一個系統(tǒng)的目的是為了考察某一方面的可行性,如算法的可行性,技術(shù)的可行性,或考察是否滿足用戶的需求等.如,為了考察是否滿足用戶的要求,可以用某些軟件工具快速的建造一個原型系統(tǒng),這個系統(tǒng)只是一個界面,然后聽取用戶的意見,改進這個原型.以后的目標系統(tǒng)就在原型系統(tǒng)的基礎上開發(fā).
原型主要有三種類型(軟考考過):探索型,實驗型,進化型.探索型:目的是要弄清楚對目標系統(tǒng)的要求,確定所希望的特性,并探討多種方案的可行性.實驗型:用于大規(guī)模開發(fā)和實現(xiàn)前,考核方案是否合適,規(guī)格說明是否可靠.進化型:目的不在于改進規(guī)格說明,而是將系統(tǒng)建造得易于變化,在改進原型的過程中,逐步將原型進化成最終系統(tǒng)。
在使用原型化方法是有兩種不同的策略:廢棄策略,追加策略.廢棄策略:先建造一個功能簡單而且質(zhì)量要求不高的模型系統(tǒng),針對這個系統(tǒng)反復進行修改,形成比較好的思想,據(jù)此設計出較完整,準確,一致,可靠的最終系統(tǒng).系統(tǒng)構(gòu)造完成后,原來的模型系統(tǒng)就被廢棄不用.探索型和實驗型屬于這種策略。
追加策略:先構(gòu)造一個功能簡單而且質(zhì)量要求不高的模型系統(tǒng),作為最終系統(tǒng)的核心,然后通過不斷地擴充修改,逐步追加新要求,發(fā)展成為最終系統(tǒng)。進化型屬于這種策略.[page]
五、需求分析的20條法則(本節(jié)摘自軟件工程專家網(wǎng))
客戶與開發(fā)人員交流需要好的方法。下面建議20條法則,客戶和開發(fā)人員可以通過評審以下內(nèi)容并達成共識。如果遇到分歧,將通過協(xié)商達成對各自義務的相互理解,以便減少以后的磨擦(如一方要求而另一方不愿意或不能夠滿足要求)。
1、 分析人員要使用符合客戶語言習慣的表達
需求討論集中于業(yè)務需求和任務,因此要使用術(shù)語。客戶應將有關(guān)術(shù)語(例如:采價、印花商品等采購術(shù)語)教給分析人員,而客戶不一定要懂得計算機行業(yè)的術(shù)語。
2、分析人員要了解客戶的業(yè)務及目標
只有分析人員更好地了解客戶的業(yè)務,才能使產(chǎn)品更好地滿足需要。這將有助于開發(fā)人員設計出真正滿足客戶需要并達到期望的優(yōu)秀軟件。為幫助開發(fā)和分析人員,客戶可以考慮邀請他們觀察自己的工作流程。如果是切換新系統(tǒng),那么開發(fā)和分析人員應使用一下目前的舊系統(tǒng),有利于他們明白目前系統(tǒng)是怎樣工作的,其流程情況以及可供改進之處。
3、 分析人員必須編寫軟件需求報告
分析人員應將從客戶那里獲得的所有信息進行整理,以區(qū)分業(yè)務需求及規(guī)范、功能需求、質(zhì)量目標、解決方法和其他信息。通過這些分析,客戶就能得到一份“需求分析報告”,此份報告使開發(fā)人員和客戶之間針對要開發(fā)的產(chǎn)品內(nèi)容達成協(xié)議。報告應以一種客戶認為易于翻閱和理解的方式組織編寫??蛻粢u審此報告,以確保報告內(nèi)容準確完整地表達其需求。一份高質(zhì)量的“需求分析報告”有助于開發(fā)人員開發(fā)出真正需要的產(chǎn)品。
4、 要求得到需求工作結(jié)果的解釋說明
分析人員可能采用了多種圖表作為文字性“需求分析報告”的補充說明,因為工作圖表能很清晰地描述出系統(tǒng)行為的某些方面,所以報告中各種圖表有著極高的價值;雖然它們不太難于理解,但是客戶可能對此并不熟悉,因此客戶可以要求分析人員解釋說明每個圖表的作用、符號的意義和需求開發(fā)工作的結(jié)果,以及怎樣檢查圖表有無錯誤及不一致等。
5、 開發(fā)人員要尊重客戶的意見
如果用戶與開發(fā)人員之間不能相互理解,那關(guān)于需求的討論將會有障礙。共同合作能使大家“兼聽則明”。參與需求開發(fā)過程的客戶有權(quán)要求開發(fā)人員尊重他們并珍惜他們?yōu)轫椖砍晒λ冻龅臅r間,同樣,客戶也應對開發(fā)人員為項目成功這一共同目標所做出的努力表示尊重。
6、 開發(fā)人員要對需求及產(chǎn)品實施提出建議和解決方案
通常客戶所說的“需求”已經(jīng)