在論壇里看到zandb提問到:“作為軟件產(chǎn)品的需求分析,我們是否應(yīng)該注重具體的實(shí)現(xiàn)?對(duì)需求文檔的撰寫、需求描述,是否應(yīng)該涉及到具體的實(shí)現(xiàn)呢?還是應(yīng)該在功能上給予說明即可?”
這是個(gè)很好的問題,關(guān)于需求分析粒度的問題。
zandb舉了一個(gè)例子,例如Office Word里的“替換”功能?!皩?duì)于這個(gè)功能的需求描述,是否應(yīng)該寫成:選擇‘編輯’,在下拉式菜單中單擊‘替換’,顯示替換窗口,在替換窗口中‘查找內(nèi)容’中輸入想要被替換的字符串,在‘替換為’編輯框中輸入希望替換的字符串,單擊‘全部替換’按鈕,軟件將會(huì)完成替換操作?!边€是“僅僅描述功能,像這樣:軟件應(yīng)實(shí)現(xiàn)‘替換’功能,允許用戶輸入被替換的內(nèi)容和要替換的內(nèi)容,進(jìn)而完成單個(gè)替換和全部替換”就可以了呢?
從大家的回帖,對(duì)于需求分析,大部分人認(rèn)為需求分析應(yīng)該僅是功能的描述。比如,simonxln就說:“應(yīng)該是功能說明吧?!?mengge認(rèn)為:“前者像設(shè)計(jì),后者像需求?!眃aniellu1231也覺得“應(yīng)該僅僅只描述這個(gè)功能是干嘛用的,因?yàn)槭窃趯ふ倚枨螅唧w實(shí)現(xiàn)沒必要在這個(gè)階段考慮”。
事實(shí)上,需求是回答“需要什么”的問題,而實(shí)現(xiàn)才是解決怎樣才能做到的問題。
針對(duì)不同的用途,需求文檔可能表現(xiàn)為不同的形式,比如:
1.售前方案書:在項(xiàng)目簽約之前為用戶提供的重點(diǎn)功能描述。
2.需求分析報(bào)告:為項(xiàng)目雙方約定設(shè)計(jì)任務(wù)的基本內(nèi)容,限定設(shè)計(jì)任務(wù)的邊界。
3.需求規(guī)格說明書:對(duì)系統(tǒng)的設(shè)計(jì)目標(biāo)與功能體系進(jìn)行相對(duì)完整的說明,在需求報(bào)告的基礎(chǔ)上,增加對(duì)設(shè)計(jì)過程的支持與約束。
前兩種方案對(duì)項(xiàng)目的實(shí)現(xiàn)過程影響不是很大,需求規(guī)格說明則經(jīng)常是系統(tǒng)架構(gòu)設(shè)計(jì)所要參照的重要文件。因此,個(gè)人淺見,在不同的階段、不同的場(chǎng)合,需求文檔的撰寫也有所不同,是簡(jiǎn)單的描述還是完整的說明,要根據(jù)實(shí)際需要來決定。但不論哪種形式,都是需求文檔的一種。