三級信息管理技術(shù)分章節(jié)考試要點:軟件工程(結(jié)構(gòu)化生命周期方法之系統(tǒng)需求)
結(jié)構(gòu)化生命周期方法
結(jié)構(gòu)化分析與設(shè)計方法在軟件工程中應(yīng)用已很普遍,并且越來越成熟。有許多大、中型項目都采用了這種方法進行開發(fā)并取得了顯著的成果。
按B.W.Boehm的描述,瀑布模型的的軟件生命周期可劃分七個階段:系統(tǒng)需求分析、軟件需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼、測試和運行維護。
系統(tǒng)需求
“系統(tǒng)需求”包括:問題定義、可行性研究及軟件計劃。
1.問題定義
軟件開發(fā)的第一步就是進行問題定義。問題定義階段必須回答的關(guān)鍵問題:“軟件要解決的問題是什么?”如果不知道問題是什么就試圖解決這個問題,顯然是盲目的,只會白白浪費時間和金錢,最終得出的結(jié)果很可能是毫無意義的。盡管確切地定義問題的必要性是十分明顯的,但是在實踐中它卻可能是最常被忽視的一個步驟。這里所說的問題,就是指用戶的基本要求。說得通俗些,問題定義實際上就是了解用戶到底要建立什么系統(tǒng),并確定分析員下一步應(yīng)該做什么。因此,問題定義的來源是用戶。
通過問題定義階段的工作,系統(tǒng)分析員應(yīng)該提出關(guān)于問題性質(zhì)、工程目標(biāo)和規(guī)模的書面報告。這一階段的分析員應(yīng)盡可能站在較高的角度去抽象、概括所要干的事情,不要拘泥于問題實現(xiàn)的細(xì)節(jié)。盡管用戶可能總是習(xí)慣于這樣做,但分析員在這一階段必須超脫出來,居高臨下鳥瞰系統(tǒng)的全貌。通過對系統(tǒng)的實際用戶和使用部門負(fù)責(zé)人的訪問調(diào)查,分析員扼要地寫出他對問題的理解,并在使用部門負(fù)責(zé)人的會議上認(rèn)真討論這份書面報告,澄清含糊不清的地方,改正理解不正確的地方,最后得出一份雙方都滿意的文檔。
當(dāng)用戶的要求不是很多并且不太復(fù)雜時,一兩個分析員用上一兩天就可以完成這一工作了。但當(dāng)系統(tǒng)比較大,且復(fù)雜時,恐怕就要組織一個問題定義小組,花上一兩個星期,甚至數(shù)月來定義用戶的問題。
如果分析員和用戶及使用部門的負(fù)責(zé)人對所要解決的問題取得完全一致的看法,而且使用部門的負(fù)責(zé)人同意開發(fā)工程繼續(xù)進行下去,那么開發(fā)工程將轉(zhuǎn)入生命周期的下一個階段———可行性研究。
2.可行性研究
并不是所有問題都有簡單明顯的解決辦法,事實上,許多問題不能在預(yù)定的系統(tǒng)規(guī)模之內(nèi)解決。如果問題沒有可行的解,那么花費在這項開發(fā)工程上的任何時間、資源、人力和經(jīng)費和都是無謂的浪費。
可行性研究的目的在于用最小的代價確定在問題定義階段所確定的系統(tǒng)的目標(biāo)和規(guī)模是否現(xiàn)實,所確定的問題是否可以解決,系統(tǒng)方案在經(jīng)濟上、技術(shù)上和操作上是否可以接受?尚行匝芯恐貙θ缦戮唧w方案考慮:
(1)經(jīng)濟可行性。估計開發(fā)費用以及新系統(tǒng)可能帶來的收益,將兩者進行權(quán)衡,看結(jié)果是否可以接受。
(2)技術(shù)可行性。對要求的功能、性能以及限制條件進行分析,是否能夠做成一個可接受的系統(tǒng)。所考慮的因素通常還應(yīng)包括開發(fā)的風(fēng)險,是否能夠得到需要的軟件和硬件資源和一個熟練的有能力的開發(fā)隊伍,與系統(tǒng)開發(fā)有關(guān)的技術(shù)是否足以支持系統(tǒng)的研制。技術(shù)可行性的估計,需要有經(jīng)驗的人員去完成。
(3)操作可行性。判斷系統(tǒng)的操作方式在該用戶組織內(nèi)是否可行。
分析、設(shè)計人員應(yīng)以新系統(tǒng)的目標(biāo)和作用范圍為依據(jù)提出一種以上的設(shè)計方案,從技術(shù)可行性、經(jīng)濟可行性、操作可行性等方面進行比較,并選擇出綜合最優(yōu)的方案。
Examda提示: 根據(jù)可行性研究結(jié)果要做出的決定是:是否繼續(xù)按預(yù)定目標(biāo)進行這項開發(fā)工程,可行性分析人員必須清楚地表明他對這個關(guān)鍵性決定的建議。如果認(rèn)為值得繼續(xù)進行這項開發(fā)工程,則應(yīng)提供選擇一種最好的解法并說明理由?尚行苑治鍪窃趩栴}的目標(biāo)和約束之間的一種權(quán)衡,還可能有的結(jié)果則是修改目標(biāo)或放寬約束。
3.軟件計劃
分析人員應(yīng)該為推薦的系統(tǒng)草擬一份軟件計劃,其中描述的是為了成功地進行一個軟件項目,其所需要做的工作、需要的資源、需要的工作量和費用以及應(yīng)遵循的進度安排。
軟件計劃由兩項任務(wù)組成:分析和估算。分析是對系統(tǒng)內(nèi)各軟件功能的界限的劃定。估算是指根據(jù)已有的定性數(shù)據(jù)和已往的經(jīng)驗對系統(tǒng)開發(fā)的資源、費用和進度進行定量的估計。
軟件開發(fā)項目的進度安排可以從兩種觀點來考慮:一是項目的交付日期已定,負(fù)責(zé)開發(fā)工作的軟件機構(gòu)被限制在一個規(guī)定的時間范圍內(nèi)分配其工作量。二是項目最后的交付日期由軟件機構(gòu)自已確定,可以從最佳的利用各種資源的角度出發(fā)來分配工作量,項目最后的交付日期經(jīng)過對軟件各部分仔細(xì)分析后才確定。在多數(shù)項目中,遇到的往往是第一種情況。
軟件計劃的閱讀者可以包括軟件主管部門、用戶和技術(shù)人員。所確定的成本與進度可供主管部門復(fù)審。它同時也給出了整個軟件生命周期的基本成本預(yù)算的進度安排。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |