都需遵循此過程。
2)進(jìn)行需求變更影響分析。評估每項需求變更,以確定他對項目計劃安排和其他需求的影響,明確和變更相關(guān)的任務(wù)并評估完成這些任務(wù)需要的工作量。通過這些分析將有助于需求變更控制部門做出更好的決策。
3)建立需求基準(zhǔn)版本和需求控制版本文件。確定需求基準(zhǔn),這是項目各方對需求達(dá)成一致認(rèn)識時刻的一個快照,之后的需求變更遵循變更控制過程即可。每個版本的需求規(guī)格說明都必須是獨(dú)立說明,以避免將底稿和基準(zhǔn)或新舊版本相混淆。
4)維護(hù)需求變更的歷史記錄。將需求變更情況寫成文件,記錄變更日期、原因、負(fù)責(zé)人、版本號等內(nèi)容,及時通知到項目研發(fā)所涉及的人員。為了盡量減少困惑、沖突、誤傳,應(yīng)指定專人來負(fù)責(zé)更新需求。
5)跟蹤每項需求的狀態(tài)。能把每一項需求的狀態(tài)屬性(如已推薦的,已通過的,已實施的,或已驗證的)保存在數(shù)據(jù)庫中,這樣能在所有時候得到每個狀態(tài)類的需求數(shù)量。
6)衡量需求穩(wěn)定性。能定期把需求數(shù)量和需求變更(添加、修改、刪除)數(shù)量進(jìn)行比較。過多的需求變更"是個報警信號",意味著問題并未真正弄清晰。
4 需求分析評價標(biāo)準(zhǔn)
怎么判斷需求規(guī)格說明的好壞,不同的軟件工程規(guī)范都有自己的一套標(biāo)準(zhǔn),這里向大家介紹一個比較常見的NASA SEL推薦方法,他是由美國國家航空和航天局軟件工程實驗室研發(fā)的五大常用國際軟件工程規(guī)范之一,他對軟件需求過程的評價標(biāo)準(zhǔn)是:清晰、完整、一致、可測試。
(1)清晰:目前大多數(shù)的需求分析采用的仍然是自然語言,自然語言對需求分析最大的弊病就是他的二義性,所以研發(fā)人員需要對需求分析中采用的語言做某些限制。例如盡量采用主語+動作的簡單表達(dá)方式。需求分析中的描述一定要簡單,千萬不要采用疑問句、修飾這些復(fù)雜的表達(dá)方式。 除了語言的二義性之外,注意不要使用行話,就是計算機(jī)術(shù)語。需求分析最重要的是和用戶溝通,可是用戶多半不是計算機(jī)的專業(yè)人士,如果在需求分析中使用了行話,就會造成用戶理解上的困難。
(2)完整:需求的完整性是非常重要的,如果有遺漏需求,則不得不返工,在軟件研發(fā)過程中,最糟糕的事情莫過于在軟件研發(fā)接近完成時發(fā)現(xiàn)遺漏了一項需求。但實際情況是,需求的遺漏是常發(fā)生的事情,這不僅僅是研發(fā)人員的問題,更多發(fā)生在用戶那里。要做到需求的完整性是非常艱難的一件事情,他涉及到需求分析過程的各個方面,貫穿整個過程,從最初的需求計劃制定到最后的需求評審。
(3)一致:一致性是指用戶需求必須和業(yè)務(wù)需求一致,功能需求必須和用戶需求一致。在需求過程中,研發(fā)人員需要把一致性關(guān)系進(jìn)行細(xì)化,比如用戶需求不能超出預(yù)前指定的范圍。嚴(yán)格的遵守不同層次間的一致性關(guān)系,就能確保最后研發(fā)出來的軟件系統(tǒng)不會偏離最初的實現(xiàn)目標(biāo)。
(4)可測試:一個項目的測試從什么時候開始呢?有人說是從編碼完成后開始,有人說是編碼的時候同時進(jìn)行單元測試,編碼完成后進(jìn)行系統(tǒng)測試,這些結(jié)論都不完全正確。實際上,測試是從需求分析過程就開始了,因為需求是測試計劃的輸入和參照。這就需求需求分析是可測試的,只有系統(tǒng)的所有需求都是能被測試的,才能夠確保軟件始終圍繞著用戶的需要,確保軟件系統(tǒng)是成功的。