一、 概述
據(jù)權(quán)威部門(mén)統(tǒng)計(jì),目前軟件的成功率約為25%,75%的軟件是失敗的。在這75%的失敗中,約有50%以上的軟件是由于需求的原因造成的。作為軟件的設(shè)計(jì)和開(kāi)發(fā)人員常抱怨用戶需求不明確,需求常處于變更狀態(tài)。新的需求往往在開(kāi)發(fā)階段才被用戶提出。造成軟件的完成日期不斷的遲后。
一般的軟件企業(yè),往往只口頭上注重用戶需求。但由于沒(méi)有科學(xué)的管理方法,實(shí)際上他們描述的用戶需求是雜亂無(wú)章的,只言片語(yǔ)的。不能有效地和系統(tǒng)設(shè)計(jì)、開(kāi)發(fā)保持同步最后開(kāi)發(fā)出來(lái)的軟件產(chǎn)品和實(shí)際有很大的差異。導(dǎo)致軟件的失敗。有證據(jù)表明,在需求階段修正錯(cuò)誤的工作量,是在系統(tǒng)設(shè)計(jì)階段修正錯(cuò)誤的1/10;是在開(kāi)發(fā)階段修正錯(cuò)誤的1/100,是在發(fā)布產(chǎn)品階段修正錯(cuò)誤的1/1000。當(dāng)然這是對(duì)大型系統(tǒng)而言,對(duì)于不同的系統(tǒng),隨系統(tǒng)的復(fù)雜程度這個(gè)比率會(huì)有所不同。
用戶的需求的增加具有漸進(jìn)的、增量的特點(diǎn)。隨著需求分析人員和用戶逐漸深入的交流,用戶在不斷地整理、規(guī)范自己的需求。需求分析人員須牢記的是用戶不可能一下子給出一個(gè)完整、清晰、規(guī)范的用戶需求。需求分析人員需從與用戶的交流中,不斷地挖掘,并加以整理,才能得到想要的需求。
需求分析一般來(lái)說(shuō)需要有一個(gè)需求分析的團(tuán)隊(duì),如用戶代表、系統(tǒng)分析人員、開(kāi)發(fā)人員、需求管理人員等,他們的分工不同各有側(cè)重點(diǎn)。對(duì)于小型或中型項(xiàng)目人員可以兼任。
基于上述原因,需要從理論上規(guī)范用戶需求的收集和整理。本文結(jié)合系統(tǒng)建模,給出了需求分析的一般性方法。它如下的包含了兩個(gè)方面:
1、 技術(shù)層面
給出需求分析的系統(tǒng)框架,它包含了需求的項(xiàng)目、參與需求分析的用戶、用戶對(duì)于需求的可操作權(quán)限(安全性)等。
2、 操作層面
給出了需求收集、整理、分析的一般性方法。
其中介紹了系統(tǒng)建模和需求分析間的相互關(guān)系,最后介紹了目前幾種流行的需求分析產(chǎn)品及它們的特點(diǎn)。
二、 需求分析的基本概念
需求分析的目的是完整、準(zhǔn)確地描述用戶的需求,跟蹤用戶需求的變化,將用戶的需求準(zhǔn)確地反映到系統(tǒng)的分析和設(shè)計(jì)中,并使系統(tǒng)的分析、設(shè)計(jì)和用戶的需求保持一致。
需求分析的特點(diǎn)是需求的完整性、一致性和可追溯性。
完整性:是準(zhǔn)確、全面的描述用戶的需求。
一致性:是通過(guò)分析整理,剔除用戶需求矛盾的方面,規(guī)范用戶需求。
可追溯性:有兩個(gè)方面的含義,整理和規(guī)范的需求,
其一,需要不斷的和用戶進(jìn)一步交流,保持和用戶最新的需求一致
其二,和系統(tǒng)分析(設(shè)計(jì))保持一致。
因此在需求分析之前我們必須建立需求分析技術(shù)層面的基本框架,從技術(shù)上保證需求分析的要求,在此基礎(chǔ)上我們進(jìn)行的需求分析才能滿足項(xiàng)目對(duì)需求分析的要求。
三、 需求分析的系統(tǒng)架構(gòu)
本節(jié)描述的是進(jìn)行需求分析之前,如何在技術(shù)層面上建立需求分析的系統(tǒng)架構(gòu)。
需求分析需要采用需求分析的軟件。上圖簡(jiǎn)要描述了需求分析軟件的架構(gòu)。需求分析軟件一般采用C/S的結(jié)構(gòu),需求分析人員作為客戶對(duì)服務(wù)器進(jìn)行操作,操作主要由四個(gè)方面:系統(tǒng)管理(含用戶的創(chuàng)建和授權(quán),定義項(xiàng)目的術(shù)語(yǔ)表等)、項(xiàng)目視圖(涉及項(xiàng)目的相關(guān)操作)、需求類型視圖(涉及需求類型的相關(guān)操作)、需求視圖(涉及需求的相關(guān)操作)。
項(xiàng)目包含一個(gè)或多個(gè)需求類型,需求類型包含一個(gè)或多個(gè)需求。里程碑是特定版本的需求的集合(需求分析軟件含有簡(jiǎn)單的配置管理的功能),它作為軟件產(chǎn)品的功能依據(jù)。自動(dòng)文檔生成是通過(guò)文檔模版將里程碑的需求,自動(dòng)生成相關(guān)文檔。
3.1 項(xiàng)目
項(xiàng)目在總體上定義了一個(gè)應(yīng)用和系統(tǒng)所涉及到的需求及需求涉及的范圍。它包含了在需求分析過(guò)程中參與需求分析的人員、需求類型、包含于需求類型中的需求。此外它還包含了