軟件需求是軟件開發(fā)前期的重要工作,如果將軟件需求方面的工作準(zhǔn)備好了,能開發(fā)出很出色的產(chǎn)品,同時會使客戶感到滿意,開發(fā)者也倍感滿足、充實。
討論軟件需求的文章有很多,對于需求的標(biāo)準(zhǔn)也不盡相同,這里臨沂軟件開發(fā)公司針對軟件需求的問題進(jìn)行了分析,分析內(nèi)容如下:
1、清楚:目前大多數(shù)的需求分析采用的仍然是自然語言,我們對需求分析中采用的語言做某些限制。例如盡量采用主語+動作的簡單表達(dá)方式。需求分析中的描述要簡單易懂。
2、完整:需求的完整性是非常非常重要的,更多的問題發(fā)生在用戶那里,他們不知道該做些什么。要做到需求的完整性是很艱難的一件事情,它涉及到需求分析過程的各方各面,貫穿了整個過程,從最初的計劃制定到最后的需求評審。
3、一致:一致性也是一個比較大的概念,很難用幾句話講清楚。簡單的來說,就是用戶需求必須和業(yè)務(wù)需求一致,功能需求必須和用戶需求一致。嚴(yán)格的遵守不同層次間的一致性關(guān)系,就可以保證最后開發(fā)出來的軟件系統(tǒng)不會偏離最初的實現(xiàn)目標(biāo)。我們必須把一致性關(guān)系細(xì)化。比如說用戶需求不能超出先前指定的范圍。
4、可測試:大家覺得一個項目的測試從什么時候開始呢?有人說從編碼完成后開始。更清楚一點的說是編碼的時候同時進(jìn)行單元測試,編碼完成后進(jìn)行系統(tǒng)測試。這些都沒有錯。但是實際上測試是從需求分析過程就開始了。需求分析是測試計劃的輸入和參照。這就要求需求分析是可測試的。什么是可測試呢?“我們要用新的系統(tǒng)完成報表自動化處理”,你覺得這個需求是可測試的嗎?當(dāng)然不是,報表包括哪些?自動化處理的標(biāo)準(zhǔn)是什么?這些在需求中都沒有說明。因此這項需求是無法測試的,就是不具有可測試性。
軟件的需求分析奠定了軟件工程和項目管理的基礎(chǔ),處理不好,會導(dǎo)致誤解、挫折、障礙以及潛在質(zhì)量和業(yè)務(wù)價值上的威脅,所以不要小看了需求分析的工作。