




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程 普通高等學校計算機科學與技術專業(yè)規(guī)劃教材鐵道出版社第三章:軟件需求分析n軟件需求分析是軟件工程中的一個極為重要的環(huán)節(jié)。需求分析做得好壞與否,直接關系到以后所開發(fā)軟件質(zhì)量的高低。一個不完善的需求分析,即使有再強大的軟件開發(fā)隊伍和熟練的開發(fā)技術,也難以開發(fā)出一個高質(zhì)量的軟件??梢哉f,需求分析的好壞將直接影響到軟件開發(fā)的成敗。因此,做好軟件需求分析是軟件開發(fā)的一個極其關鍵的環(huán)節(jié)。n本章主要介紹了軟件需求分析的基本內(nèi)容、需求規(guī)格的內(nèi)容、特征及其評審,重點介紹了需求收集的內(nèi)容和方法、需求分析的步驟及其描述工具;另外,還對軟件需求管理的任務與工具、變更與跟蹤都做了仔細的說明。3.1 軟件需求概述
2、n3.1.1 軟件需求的涵義與三個層次n1軟件需求概念的涵義n所謂軟件需求,是指用戶對目標軟件系統(tǒng)在功能、性能、行為、設計約束等方面的期望。這個定義比較簡單。為此,IEEE(電器電子工程師協(xié)會)為軟件需求做了詳細的定義:用戶解決問題或達到系統(tǒng)目標所需要的條件。為滿足一個協(xié)議、標準、規(guī)格或其他正式制定的文檔,系統(tǒng)或系統(tǒng)構件所需滿足和具有的條件或能力。對上述條件的文檔化描述。n這個定義包括從用戶角度(系統(tǒng)的外部行為),以及從開發(fā)者角度(一些內(nèi)部特性)來闡述“需求”,比較完整地表達了軟件需求的內(nèi)涵與外延,便于用戶全面的理解。3.1 軟件需求概述n3.1.1 軟件需求的涵義與三個層次n2軟件需要的三個
3、層次n軟件需求包括3個不同的層次,即業(yè)務需求、用戶需求和功能需求(有的也包括非功能需求)。不同的層次在從不同角度與不同程度上反映軟件需求的細節(jié)問題。n業(yè)務需求反映了組織機構或客戶對系統(tǒng)、產(chǎn)品高層次的目標要求,它們在項目視圖與范圍文檔中予以說明。3.1.2 需求分析的涵義與重要性n1需求分析的涵義n所謂需求分析,是指根據(jù)使用者的需求來描述系統(tǒng)和軟件的外部特性,它采用一系列的分析方法和技術,將用戶的需求逐步精確化、完全化、一致化,最終形成需求規(guī)格說明文檔。n需求分析期間的主要工作:歸納和整理用戶提出的各種問題和要求,然后在需求獲取方法的驅(qū)動和指導下,從非形式需求陳述中提取用戶的實際需求,并由此確定
4、軟件的功能、性能、接口關系及有關屬性、軟件條件、限量和邊界等,確定軟件的作用范圍,確認支持性的軟、硬件環(huán)境及輔助工具與條件。此階段還為需求分析過程提供了相應的過程控制機制。3.1.2 需求分析的涵義與重要性n2需求分析的重要性n需求分析是設置系統(tǒng)和軟件開發(fā)的最初階段。需求分析階段的成果主要是形成需求規(guī)格說明,該成果是軟件設計、編碼、測試直至維護的主要基礎。因此,需求分析是系統(tǒng)分析和軟件設計的重要橋梁,是軟件生存周期的關鍵性階段。良好的分析活動能夠減少錯誤和遺漏,從而可以提高軟件生產(chǎn)率和產(chǎn)品質(zhì)量,并降低開發(fā)與維護的成本。n需求分析這項任務完成的好壞不僅對后續(xù)工程的質(zhì)量有影響,而且還在一定程度上決
5、定開發(fā)系統(tǒng)的價值,因此需求分析在軟件開發(fā)過程中是最重要的工程。3.1.2 需求分析的涵義與重要性n3軟件分析的兩個主要階段n需求分析可分成兩個主要階段,如圖1-3-1所示。 問題點 需求 需求分析 需求 條件 需求 文檔化 需求 文檔 模糊的 第一階段 第二階段 真正的 完全的 3.1.2 需求分析的涵義與重要性n3軟件分析的兩個主要階段n需求分析可分成兩個主要階段,如圖1-3-1所示。 問題點 需求 需求分析 需求 條件 需求 文檔化 需求 文檔 模糊的 第一階段 第二階段 真正的 完全的 3.1.3 需求分析的難點與任務n1需求分析的難點n需求分析是軟件定義時期的最后一個階段,也是軟件生存
6、周期中相當重要的一個階段。由于軟件開發(fā)人員熟悉計算機但不熟悉應用領域的業(yè)務,用戶熟悉應用領域的業(yè)務但不熟悉計算機,因此對于同一個問題,開發(fā)人員和用戶之間可能存在認識上的差異。在需求分析階段,用戶和軟件人員要雙方討論協(xié)商,分析人員在其中起到組織和協(xié)調(diào)的作用。有下列幾種原因會使需求分析變得困難:n一是客戶說不清楚需求。n二是需求自身經(jīng)常變動。n三是分析人員或客戶理解有誤。3.1.3 需求分析的難點與任務n2需求分析的具體任務n(1)確定軟件系統(tǒng)的綜合要求n(2)分析軟件系統(tǒng)的數(shù)據(jù)要求n(3)導出系統(tǒng)的邏輯模型n(4)修改項目開發(fā)計劃n(5)如有必要,開發(fā)一個原型系統(tǒng)3.1.3 需求分析的難點與任務
7、n2需求分析的具體任務 當前系統(tǒng) 模型化 目標系統(tǒng) 物理模型 物理模型 具體化 抽象化 實例化 邏輯模型 邏輯模型 理解需求 表達需求 做什么 怎么做 導出 3.1.4 需求分析的原則n(1)能夠表達和理解問題的信息域和功能域n所有軟件定義與開發(fā)工作最終是為了更好地解決數(shù)據(jù)處理問題,也就是將一種形式的數(shù)據(jù)轉(zhuǎn)換成另一種形式的數(shù)據(jù)。其轉(zhuǎn)換過程必定經(jīng)歷輸入數(shù)據(jù)、加工數(shù)據(jù)和產(chǎn)生結果數(shù)據(jù)等 步驟。n對于經(jīng)計算機程序處理的數(shù)據(jù),其信息域應包括信息流、信息內(nèi)容和信息結構。信息流即數(shù)據(jù)通過一個系統(tǒng)時的變化方式。輸入數(shù)據(jù)首先轉(zhuǎn)換成中間數(shù)據(jù),然后轉(zhuǎn)換成輸出數(shù)據(jù)。在此期間可以從已有的數(shù)據(jù)存儲(如磁盤文件或內(nèi)存緩沖區(qū)
8、)中引入附加數(shù)據(jù)。對數(shù)據(jù)進行轉(zhuǎn)換是程序中應有的功能或子功能。兩個轉(zhuǎn)換功能之間的數(shù)據(jù)傳遞就確定了這兩個功能間的接口。3.1.4 需求分析的原則n(2)能夠?qū)栴}進行分解和不斷細化,建立問題的層次結構n通常,軟件要處理的問題如果作為一個整體來看,就會顯得太大、太復雜,很難理解。這時,可把問題以某種方式分解為幾個較易理解的部分,并確定各部分間的接口,從而實現(xiàn)整體功能。n在需求分析階段,軟件的功能域和信息域都能做進一步的分解。這種分解可以是同一層次上的分解,稱為橫向分解;也可以是多層次上的縱向分解。例如,把一個功能分解成幾個子功能,并確定這些子功能與父功能的接口,就屬于橫向分解。但如果繼續(xù)分解,把某些
9、子功能又分解為更小的子功能,這就屬于縱向分解了。3.1.4 需求分析的原則n(3)需要給出系統(tǒng)的邏輯視圖和物理視圖n給出系統(tǒng)的邏輯視圖和物理視圖,這對系統(tǒng)滿足處理需求所提出的邏輯限制條件和系統(tǒng)中其他成分提出的物理限制條件來說,是必不可少的。n軟件需求的邏輯視圖給出的是軟件要達到的功能和要處理信息之間的關系,而不是實現(xiàn)的細節(jié)。例如,一個商店的銷售處理系統(tǒng)要從顧客那里獲取訂單,系統(tǒng)讀取訂單的功能并不關心訂單數(shù)據(jù)本身的物理形式和用什么設備讀入,也就是說無須關心輸入的機制,而只是讀取顧客的訂單。類似的,系統(tǒng)中檢查庫存的功能只關心庫存文件的數(shù)據(jù)結構,而不用關心其在計算機中的具體存儲方式。軟件需求的邏輯描
10、述是軟件設計的基礎。3.2 需求收集:內(nèi)容與方法n3.2.1 需求收集的內(nèi)容n針對需求分析的目標,需求收集工作主要有以下幾個方面的內(nèi)容:n1功能需求n2性能需求n3環(huán)境需求n4可靠性需求n5安全保密要求n6用戶界面需求n7資源使用需求3.2 需求收集:內(nèi)容與方法n3.2.2 需求收集的方法n1訪談與會議n2觀察用戶工作流程n3用戶和開發(fā)人員共同組成聯(lián)合小組n4需求專題討論會n5原型化方法n6基于用例的方法3.3 需求分析過程 軟件原型 可行性研究 可行性報告 需求導出 和分析 需求描述和 文檔編寫 需求有效 性驗證 系統(tǒng)模型 需求規(guī)格說明文檔 3.3.1 需求分析過程的步驟n1可行性研究n2需
11、求導出和分析2.1 軟件可行性分析概述n2可行性分析的任務n可行性分析是對開發(fā)軟件的系統(tǒng)分析和系統(tǒng)設計進行高度抽象并進行客觀分析的過程。可行性分析的基礎和出發(fā)點是問題定義階段的結果,可行性分析的結果則是提高可行性分析報告。n進行可行性分析的首要工作,就是要進一步分析和理解問題定義。在問題定義階段初步確定的規(guī)模和目標,如果是正確的就進一步加以肯定,如果有錯誤就及時改正,如果對目標系統(tǒng)有任何約束和限制,就必須把它們清楚地列舉出來。2.1 軟件可行性分析概述n(1)技術可行性分析n(2)經(jīng)濟可行性分析n(3)法律可行性分析n(4)操作可行性分析n(5)市場可行性分析2.1.2 軟件可行性分析的步驟n
12、可行性分析的步驟 問題定義文檔的復查 研究目前正在使用的系統(tǒng) 導出新系統(tǒng)的高層邏輯模型 重新定義問題 導出和評價供選擇的解法 做出結論和推薦最佳方案 草擬開發(fā)計劃 書寫文檔提交審查 2.1.2 軟件可行性分析的步驟n可行性分析的步驟n1問題定義文檔的復查n問題定義文檔是待開發(fā)軟件項目的概括性說明,分析員應該仔細閱讀有關材料,訪問用戶或使用部門的關鍵性人員,進一步了解分析軟件項目的性質(zhì)、規(guī)模、目標,將正確定義的內(nèi)容加以確認,找出定義中的偏差以及含糊不清的敘述加以修正,對系統(tǒng)規(guī)模、目標的約束條件和制約作出肯定而清晰的描述。總之,復查的目的就是要確認正確有效的定義,修正和完善不準確的定義。2.1.2
13、 軟件可行性分析的步驟n可行性分析的步驟n2研究目前正在使用的系統(tǒng)n對目前正在使用的系統(tǒng)必須了解兩個方面的問題:系統(tǒng)的功能和系統(tǒng)運行的代價。目前正在使用的系統(tǒng)(可能是人工系統(tǒng),也可能是舊的軟件系統(tǒng))是分析工作的重要信息來源。n這一步驟的主要任務是對現(xiàn)有系統(tǒng)的優(yōu)缺點進行分析。了解舊系統(tǒng)所具備的有用功能,分析舊系統(tǒng)存在的問題,分析舊系統(tǒng)的運行成本,了解舊系統(tǒng)與其他系統(tǒng)之間的接口。其使用的工具是系統(tǒng)流程圖。2.1.2 軟件可行性分析的步驟n可行性分析的步驟n3導出新系統(tǒng)的高層邏輯模型n對原有系統(tǒng)的描述得到的結果是構造新系統(tǒng)的一個參照物,新系統(tǒng)現(xiàn)在并沒有建立,那么,新系統(tǒng)應該是什么樣子的?分析并導出新
14、系統(tǒng)的高層邏輯模型就是回答這個問題的過程。n分析人員要根據(jù)問題定義對新系統(tǒng)的規(guī)模、目標等要求,對比原有系統(tǒng),結合用戶業(yè)務處理的具體情況,分析數(shù)據(jù)在系統(tǒng)中流動和處理過程,用數(shù)據(jù)流程圖和數(shù)據(jù)字典描述新系統(tǒng)的邏輯模型。2.1.2 軟件可行性分析的步驟n可行性分析的步驟n4重新定義問題n新系統(tǒng)的邏輯模型表達了分析員對新系統(tǒng)必須做什么的看法:這個看法和用戶的看法是否吻合呢?用戶對系統(tǒng)的要求有什么遺漏呢?發(fā)生了理解偏差和遺漏怎么解決?n重新定義問題就是依據(jù)新系統(tǒng)高層邏輯模型復查問題定義,找出理解的錯誤或者用戶的遺漏要求,然后修正問題定義。2.1.2 軟件可行性分析的步驟n可行性分析的步驟n5導出和評價可供
15、選擇的方案n新系統(tǒng)的邏輯模型是對新系統(tǒng)的高度概括,它并不表達系統(tǒng)的具體操作和系統(tǒng)的物理實現(xiàn)。分析員應該從其建議的系統(tǒng)邏輯模型出發(fā),推導出若干個抽象的可行的物理解法,提供給用戶進行比較和選擇。分析員提供的物理模型,都應對模型實現(xiàn)的各個條件做出具體分析,分析的內(nèi)容包括技術可行性、經(jīng)濟可行性、操作可行性、法律可行性以及系統(tǒng)實現(xiàn)的大致時間進度表。2.1.2 軟件可行性分析的步驟n可行性分析的步驟n5導出和評價可供選擇的方案n新系統(tǒng)的邏輯模型是對新系統(tǒng)的高度概括,它并不表達系統(tǒng)的具體操作和系統(tǒng)的物理實現(xiàn)。分析員應該從其建議的系統(tǒng)邏輯模型出發(fā),推導出若干個抽象的可行的物理解法,提供給用戶進行比較和選擇。分
16、析員提供的物理模型,都應對模型實現(xiàn)的各個條件做出具體分析,分析的內(nèi)容包括技術可行性、經(jīng)濟可行性、操作可行性、法律可行性以及系統(tǒng)實現(xiàn)的大致時間進度表。2.1.2 軟件可行性分析的步驟n可行性分析的步驟n6做出結論推薦最佳方案n這一步驟主要是向客戶推薦可行的最佳解決方案,即可不可以做;如果不可以做,是為什么;如果可以做,哪種解決方案最好,做的時機是否成熟,是否可以馬上操作,還是需要等待若干時間以準備資源,等等。2.1.2 軟件可行性分析的步驟n可行性分析的步驟n7草擬開發(fā)計劃n有了一個好的開發(fā)方案而沒有項目實施的計劃,是不可能完成系統(tǒng)建設的。當用戶認可分析員推薦的方案后,分析員要提供實現(xiàn)方案的初步
17、計劃,使用戶明確在開發(fā)過程中的地位與作用,提供必要的條件和協(xié)作,同時也使開發(fā)者的實施過程具有可控制性、可約束性、可預見性。開發(fā)計劃內(nèi)容包括:工程進度規(guī)劃;任務分解,確定負責人;資源規(guī)劃;財務預算;風險分析及對策等。2.1.2 軟件可行性分析的步驟n可行性分析的步驟n8書寫文檔提交審查n可行性分析階段的一個重要的結束標志是形成可行性分析文檔??尚行苑治鑫臋n是下一階段開發(fā)開始的依據(jù)??尚行苑治鑫臋n以“可行性分析報告”的形式書寫,可行性分析報告提供給用戶和使用部門的負責人進行審查,以決定此項工程是否繼續(xù)以及是否接受分析員推薦的方案。2.2 軟件可行性分析的主要內(nèi)容 n2.2.1 技術可行性分析n1風
18、險分析n2資源分析n3技術分析2.2 軟件可行性分析的主要內(nèi)容 n2.2.2 經(jīng)濟可行性分析n1成本/收益分析(1)代碼行技術(2)任務分解技術n2短期/長遠利益分析n3成本與收益的計算方法2.3 方案選擇與可行性分析報告n2.3.1 方案選擇n在可行性分析階段,系統(tǒng)工程師根據(jù)系統(tǒng)分析所確定的系統(tǒng)目標開始研究問題的求解方案。對于較復雜的大型系統(tǒng),一般都要將其分解為若干個子系統(tǒng),然后精確地定義各子系統(tǒng)的界面、功能和性能,并給出各子系統(tǒng)之間的關系。分解技術可降低解的復雜性,有利于人員的組織與分工,提高開發(fā)生產(chǎn)率和開發(fā)質(zhì)量。n由于系統(tǒng)的分解方法可以有多種,因此實現(xiàn)系統(tǒng)目標的方案也可以有多種。采用的方
19、案不同,對成本、進度、技術及各種資源的要求就會不同,所開發(fā)出來的系統(tǒng)在功能和性能方面也可能有較大差異。從另一個角度來看,在系統(tǒng)開發(fā)總成本不變的前提下,由于系統(tǒng)各階段開發(fā)的成本分配方案的不同,也會影響到系統(tǒng)的功能和性能。比如,分配給測試階段的成本和時間很多,系統(tǒng)的可靠性等性能就可能較高。另外,系統(tǒng)的各功能和性能可能由多種因素組成,而某些因素之間又是相互關聯(lián)、彼此制約、不可兼得的。比如,系統(tǒng)的計算精度和系統(tǒng)的執(zhí)行時間就是互相矛盾的。2.3 方案選擇與可行性分析報告n2.3.2 可行性分析報告n這8個部分的主要內(nèi)容如下:n1引言n說明項目可行性編寫目的、背景以及參考資料。n2可行性分析的前提n對所建議系統(tǒng)的功能、性能、輸入/輸出的基本
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 通信行業(yè)采購訂單與合同風險管理
- 高端金融咨詢服務保密及成果轉(zhuǎn)化合作協(xié)議
- 車輛贈與及汽車保險理賠服務合同
- 整棟酒店式公寓租賃及運營管理協(xié)議
- 餐飲企業(yè)跨區(qū)域投資合作合同
- 廠房廢墟改造方案
- 農(nóng)業(yè)現(xiàn)代化牛場場地租賃合同范本(含環(huán)保設施建設)
- 知識產(chǎn)權全流程保護法律服務合同
- 安全叉車操作培訓與承包服務協(xié)議書
- 牛場租賃與養(yǎng)殖人才培養(yǎng)服務合同
- 電氣類實驗室安全培訓
- 場地平整項目承包合同范本
- 船舶修理行業(yè)專業(yè)實踐操作規(guī)范
- 河南省歷年中考語文現(xiàn)代文閱讀之非連續(xù)性文本閱讀5篇(截至2024年)
- 麥秸稈環(huán)保板材項目可行性研究報告
- 加工廠股東合作合同范例專業(yè)版
- 市政工程安全文明施工標準化手冊
- 水利水電工程施工機械臺班費定額
- 山東某智慧農(nóng)場項目可行性研究報告
- 新版《醫(yī)療器械經(jīng)營質(zhì)量管理規(guī)范》(2024)培訓試題及答案
- 2025年N1叉車司機考試試題(附答案)
評論
0/150
提交評論