一個(gè)軟件項(xiàng)目的開發(fā)主要分為五個(gè)階段:需求分析階段、設(shè)計(jì)階段、編碼階段、測(cè)試階段和維護(hù)階段。
而需求分析階段所得到的結(jié)果,是軟件項(xiàng)目開發(fā)中其他四個(gè)階段的必備條件。從以往的經(jīng)驗(yàn)來(lái)看,需求分析中的一個(gè)小的偏差,就可能導(dǎo)致整個(gè)項(xiàng)目無(wú)法達(dá)到預(yù)期的效果,或者說(shuō)最終開發(fā)出的產(chǎn)品不是用戶所需要的。何謂軟件需求分析。先舉個(gè)例子來(lái)說(shuō)明,對(duì)于建造房子這個(gè)問題相信大多數(shù)人都知道,用戶要建一幢房子,建房者一定會(huì)與用戶詳細(xì)討論各種細(xì)節(jié),樓層高多少?構(gòu)架如何?圖紙樣式等等,每個(gè)環(huán)節(jié)都有詳細(xì)的過(guò)程文檔,雙方都明白假如完工后修改帶來(lái)的損失以及變更細(xì)節(jié)的危害性。同樣在軟件需求分析中也需要有詳細(xì)的文檔,軟件開發(fā)者要從用戶的業(yè)務(wù)中提取出軟件系統(tǒng)能夠幫助用戶解決的業(yè)務(wù)問題,通過(guò)對(duì)用戶業(yè)務(wù)問題的分析,規(guī)劃出開發(fā)者的軟件產(chǎn)品。這個(gè)步驟是對(duì)用戶業(yè)務(wù)需求的一個(gè)升華,是一個(gè)把用戶業(yè)務(wù)管理流程優(yōu)化,轉(zhuǎn)化為軟件產(chǎn)品,從而提升管理而實(shí)現(xiàn)質(zhì)的飛躍,這一步是否成功,直接關(guān)系到開發(fā)出來(lái)的軟件產(chǎn)品能否得到用戶認(rèn)可,順利交付給客戶,客戶能否真正運(yùn)用開發(fā)者的產(chǎn)品幫助他解決業(yè)務(wù)或管理問題。
軟件需求分析的任務(wù)不是確定系統(tǒng)怎樣完成的工作,而是確定系統(tǒng)必須完成那些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。它所做的工作是深入描述軟件的功能和性能,確定軟件設(shè)計(jì)的限制和軟件同其他系統(tǒng)的接口細(xì)節(jié),定義軟件的其他有效性要求。