念和可能發(fā)生的事更為直觀明了。用戶通過評價原型將使項目參與者能更好地相互理解所要解決的問題。注意要找出需求文檔與原型之間所有的沖突之處。
3)分析可行性:分析需求可行性在允許的成本、性能要求下,分析每項需求實施的可行性,明確與每項需求實現(xiàn)相聯(lián)系的風(fēng)險,包括與其它需求的沖突,對外界因素的依賴和技術(shù)障礙。
4)確定需求優(yōu)先級:確定需求的優(yōu)先級別應(yīng)用分析方法來確定使用實例、產(chǎn)品特性或單項需求實現(xiàn)的優(yōu)先級別。以優(yōu)先級為基礎(chǔ)確定產(chǎn)品版本將包括哪些特性或哪類需求。當(dāng)允許需求變更時,在特定的版本中加入每一項變更,并在那個版本計劃中作出需要的變更。
5)為需求建立模型:為需求建立模型需求的圖形分析模型是軟件需求規(guī)格說明極好的補充說明。它們能提供不同的信息與關(guān)系以有助于找到不正確的、不一致的、遺漏的和冗余的需求。這樣的模型包括數(shù)據(jù)流圖、實體關(guān)系圖、狀態(tài)變換圖、對話框圖、對象類及交互作用圖。
6)編寫數(shù)據(jù)字典:創(chuàng)建數(shù)據(jù)字典數(shù)據(jù)字典是對系統(tǒng)用到的所有數(shù)據(jù)項和結(jié)構(gòu)的定義,以確保開發(fā)人員使用統(tǒng)一的數(shù)據(jù)定義。在需求階段,數(shù)據(jù)字典至少應(yīng)定義客戶數(shù)據(jù)項以確??蛻襞c開發(fā)小組是使用一致的定義和術(shù)語。分析和設(shè)計工具通常包括數(shù)據(jù)字典組件。
7)應(yīng)用質(zhì)量功能調(diào)配:使用質(zhì)量功能調(diào)配質(zhì)量功能調(diào)配是一種高級系統(tǒng)技術(shù),它將產(chǎn)品特性、屬性與對客戶的重要性聯(lián)系起來。該技術(shù)提供了一種分析方法以明確那些是客戶最為關(guān)注的特性。它將需求分為三類:期望需求,即客戶或許并未提及,但如若缺少會讓他們感到不滿意;普通需求;興奮需求,即實現(xiàn)了會給客戶帶去驚喜,但若未實現(xiàn)也不會受到責(zé)備。
3. 編寫規(guī)格說明書
項目視圖和范圍文檔包含了業(yè)務(wù)需求,而使用實例文檔則包含了用戶需求。你必須編寫從使用實例派生出的功能需求文檔,還要編寫產(chǎn)品的非功能需求文檔,包括質(zhì)量屬性和外部接口需求。軟件需求規(guī)格說明闡述一個軟件系統(tǒng)必須提供的功能和性能以及它所要考慮的限制條件,它不僅是系統(tǒng)測試和用戶文檔的基礎(chǔ),也是所有子系列項目規(guī)劃、設(shè)計和編碼的基礎(chǔ)。它應(yīng)該盡可能完整地描述系統(tǒng)預(yù)期的外部行為和用戶可視化行為。除了設(shè)計和實現(xiàn)上的限制,軟件需求規(guī)格說明不應(yīng)該包括設(shè)計、構(gòu)造、測試或工程管理的細節(jié)。
采用軟件需求規(guī)格說明模版: 采用需求規(guī)格說明書模板在你的組織中要為編寫軟件需求文檔定義一種標準模板。該模板為記錄功能需求和各種其它與需求相關(guān)的重要信息提供了統(tǒng)一的結(jié)構(gòu)。注意,其目的并非是創(chuàng)建一種全新的模板,而是采用一種已有的且可滿足項目需要并適合項目特點的模板。許多組織一開始都采用IEEE標準830-1998(IEEE 1998)描述的需求規(guī)格說明書模板。要相信模板是很有用的,但有時要根據(jù)項目特點進行適當(dāng)?shù)母膭印?
4. 需求驗證
1)審查需求文檔:對需求文檔進行正式審查是保證軟件質(zhì)量的很有效的方法。組織一個由不同代表(如分析人員,客戶,設(shè)計人員,測試人員)組成的小組,對需求規(guī)格說明書及相關(guān)模型進行仔細的檢查。另外在需求開發(fā)期間所做的非正式評審也是有所裨益的。
2)依據(jù)需求編寫測試用例:根據(jù)用戶需求所要求的產(chǎn)品特性寫出黑盒功能測試用例??蛻敉ㄟ^使用測試用例以確認是否達到了期望的要求。還要從測試用例追溯回功能需求以確保沒有需求被疏忽,并且確保所有測試結(jié)果與測試用例相一致。同時,要使用測試用例來驗證需求模型的正確性,如對話框圖和原型等。
3)編寫用戶手冊:在需求開發(fā)早期即可起草一份用戶手冊,用它作為需求規(guī)格說明的參考并輔助需求分析。優(yōu)秀的用戶手冊要用淺顯易懂的語言描述出所有對用戶可見的功能。而輔助需求如質(zhì)量屬性、性能需求及對用戶不可見的功能則在需