軟件開發(fā)軟件開發(fā)生命周期包含需求、設(shè)計、編碼和測試四個過程階段,其中需求過程是第一個也是最重要的一個階段。軟件需求包括三個不同的層次:業(yè)務(wù)需求,說明了提供給客戶和產(chǎn)品開發(fā)商的新系統(tǒng)的利益,反映了組織機構(gòu)或客戶對系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,它們將在項目視圖與范圍文檔中予以說明;用戶需求,描述了用戶使用系統(tǒng)必須要完成的任務(wù),這在使用實例文檔或方案腳本說明中予以說明;功能需求和非功能需求,定義了開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能順利完成他們的任務(wù),從而滿足了業(yè)務(wù)需求。
軟件需求過程包括了5個主要活動:需求獲取、需求分析和確認、編寫需求規(guī)格說明書、需求驗證和需求管理。
需求獲取
需求的收集、分析、細化、核實并組織的步驟,并將它編寫成文檔。這個活動包括了編寫項目視圖和范圍文檔、用戶群分類、選擇用戶代表、建立核心隊伍、確定使用實例、召開聯(lián)合會議、分析用戶工作流程、確定質(zhì)量屬性、檢查問題報告和需求重用10個具體任務(wù),文章將在后面進行詳細的闡述。
需求分析
根據(jù)需求獲取中得到的需求文檔,分析系統(tǒng)實現(xiàn)方案。這個活動需要完成下面幾個任務(wù):
1、繪制關(guān)聯(lián)圖,用于定義系統(tǒng)與系統(tǒng)外部實體間的邊界和接口的簡單模型;
2、創(chuàng)建開發(fā)原型,當(dāng)開發(fā)人員或用戶不能明確某些需求時,開發(fā)一個系統(tǒng)原型,這樣使得許多概念和可能發(fā)生的事更為直觀明了;
3、分析可行性,在允許的成本、性能要求下,分析每項需求實施的可行性,明確每項需求實現(xiàn)相聯(lián)系的風(fēng)險,包括與其它需求的沖突,涉及各類用戶的利益平衡,對外界因素的依賴和技術(shù)障礙;
4、確定需求優(yōu)先級:分析方法來確定使用實例、系統(tǒng)特性或單項需求實現(xiàn)的優(yōu)先級別,以優(yōu)先級為基礎(chǔ)確定產(chǎn)品版本將包括哪些特性或哪類需求;
5、為需求建立模型,為需求建立圖形分析模型是軟件需求規(guī)格說明極好的補充說明,可以為系統(tǒng)需求從多個角度建模;
6、編寫數(shù)據(jù)字典,創(chuàng)建數(shù)據(jù)字典數(shù)據(jù)字典是對系統(tǒng)用到的所有數(shù)據(jù)項和結(jié)構(gòu)的定義,以確保開發(fā)人員使用統(tǒng)一的數(shù)據(jù)定義;
7、應(yīng)用質(zhì)量功能調(diào)配,將系統(tǒng)特性、屬性與對客戶的重要性聯(lián)系起來,提供了一種分析方法以明確哪些是客戶最為關(guān)注的特性。