最近正在做新產(chǎn)品的需求分析,對(duì)需求分析階段的很多問題又有了重新的認(rèn)識(shí),在此結(jié)合以前的經(jīng)驗(yàn),就軟件需求分析階段的各個(gè)任務(wù),做一下總結(jié),與大家分享。
眾所周知,軟件需求分析是軟件生命周期的第二階段,主要對(duì)前期軟件定義及計(jì)劃階段提到的任務(wù)及計(jì)劃進(jìn)行概要的補(bǔ)充,需求分析的主要任務(wù)不是確定將來的系統(tǒng)怎么完成某項(xiàng)工作,這是設(shè)計(jì)階段的事情,而是明確系統(tǒng)將要完成什么功能,對(duì)目標(biāo)系統(tǒng)將要完成的功能提出完整、準(zhǔn)確的描述等;在我們國(guó)內(nèi)很多軟件公司里,需求分析階段與設(shè)計(jì)階段沒有明確的界線,需求分析階段的很多工作,都會(huì)放到設(shè)計(jì)階段來做或干脆不做,一般很少嚴(yán)格按照軟件工程的方法來執(zhí)行(通過CMM認(rèn)證的軟件公司還好些),大多數(shù)人理解下的需求分析階段的任務(wù)主要還是分三部分:需求的收集、需求整理與編寫及最終的評(píng)審,在此就這幾個(gè)階段中經(jīng)常遇到的問題作一下大體描述。
一、需求的收集
無論是老產(chǎn)品的改造還是新產(chǎn)品的開發(fā),都需要收集大量的需求作為改造的重點(diǎn)對(duì)象,需求的收集也可籠統(tǒng)的分二大部分:內(nèi)部需求與外部需求;內(nèi)部需求一般包括軟件在維護(hù)過程中客戶反饋的未處理的需求、公司內(nèi)部其它各部門在實(shí)施軟件過程中反饋的需求及設(shè)計(jì)或研發(fā)人員在工作當(dāng)中總結(jié)的對(duì)軟件易用性、效率等方面的需求,還包括研究競(jìng)爭(zhēng)對(duì)手的軟件而得出的需求等;外部需求一般包括軟件實(shí)施人員或代理商對(duì)產(chǎn)品提出的改造建議、設(shè)計(jì)人員直接到客戶現(xiàn)場(chǎng)調(diào)研、通過與客戶溝通而得到的需求等。在收集需求的過程中常會(huì)遇到以下幾方面的問題:
1、 誤解客戶需求,一般情況下需求分析人員與客戶在業(yè)務(wù)術(shù)語表達(dá)上有所不同,交流過程中可能會(huì)理解有誤,特別對(duì)于有二義性的需求,會(huì)導(dǎo)致分析人員誤解客戶的需求,也可以理解為需求表達(dá)比較模糊,不同的人有不同的理解。
2、 需求的不確定性,一是分析人員對(duì)需求把握不準(zhǔn),有些從各個(gè)渠道反饋回來的需求有些失真,不能完全表達(dá)客戶的意愿;二是客戶需求的變動(dòng)較大,不確定,不到真正實(shí)用很難表達(dá)清楚要實(shí)現(xiàn)的功能。
3、 對(duì)時(shí)間的合理規(guī)劃,收集過程中經(jīng)常感覺時(shí)間太緊,無法完整的收集到客戶的需求,這一點(diǎn)主要還是跟事先沒有計(jì)劃好有關(guān),需求的收集是一個(gè)長(zhǎng)期的過程,而不是在某一時(shí)間段內(nèi)就能收集完的,好的需求在于平時(shí)的積累,是在日常維護(hù)工作中逐漸收集形成的。
善于主動(dòng)尋找需求,而不是坐等需求,收集需求的過程中,要通過各種途徑來收集,主動(dòng)跟客戶或同事交流,這樣才能在溝通過程中得到很多需求,這點(diǎn)主要還是在于分析人員的溝通能力。
二、需求的整理與編寫
需求收集完成后,此階段的任務(wù)主要對(duì)需求進(jìn)行過慮、分類整理及編寫需求規(guī)格,需求的整理不權(quán)是分分類、寫寫需求規(guī)格,還要對(duì)每個(gè)需求進(jìn)行分析,確定這個(gè)需求將來做不做,及實(shí)現(xiàn)的優(yōu)先級(jí)是什么(是高、中還是低),這一階段對(duì)分析人員的要求比較高,要縱觀全局來考慮,充分考慮到每個(gè)需求點(diǎn)對(duì)整個(gè)系統(tǒng)的影響等,最終形成軟件需求規(guī)格說明書。這一階段常見的問題有以下幾方面:
1、 缺乏對(duì)需求的深入理解,需求分析這個(gè)崗位在很多軟件公司都是虛擬的,沒有專人負(fù)責(zé),一般由設(shè)計(jì)或開發(fā)人員來負(fù)責(zé),這樣往往會(huì)導(dǎo)致對(duì)業(yè)務(wù)的需求不能深入理解,在系統(tǒng)把握能力上略顯不足,導(dǎo)致編寫出的需求規(guī)格不全面。
2、 要正確表達(dá)所描述的需求,需求規(guī)格作為設(shè)計(jì)階段的依據(jù),首先要保證其正確性,對(duì)每一個(gè)需求都應(yīng)有一種合理正確的解釋,不能存在二義性,所以分析人員在表達(dá)需求時(shí)要認(rèn)真嚴(yán)謹(jǐn),不能模棱兩可,更不能含糊其詞。
3、 要完整表達(dá)所描述的需求,完整性是需求規(guī)格的重要特征之一,一個(gè)好的需求規(guī)格應(yīng)該說明什么需求做,什么需求不做,而不需要說明怎么去做,需求規(guī)格只是宏觀