信息系統(tǒng)需求分析階段的實踐經(jīng)驗
(一)軟件需求分析的定義
IEEE軟件工程標準中將需求分析(Requirement Analysis)定義為:(1)用戶為了解決問題或達到某些目標所需的條件或權能(Capability)。(2)系統(tǒng)或部件為了滿足合同、標準、規(guī)范或其它正式規(guī)定文檔所規(guī)定的要求而需要具備的條件或權能。(3)反映上面(1)或(2)所描述的條件或權能的文檔化表述。
需求分析是解決“做什么”的問題,是定義“做”的范圍和尺度,是將用戶要求我們做什么,變成我們書面承諾為用戶做什么的過程。需求分析結果應確保所有的風險承擔者都明白其含義,并形成文檔,從而作為下一步工作的基礎。概括來說,需求分析包括三個要素需求、分析和文檔。需求分析員是指負責收集分析客戶需求并編寫文檔,以及負責客戶與開發(fā)者之間溝通的人。
?。ǘ┸浖枨蟮娜齻€層次
軟件需求一般分為三個層次:
1、業(yè)務需求:反映了組織或客戶(Customer)對系統(tǒng)、產(chǎn)品高層次的目標要求。業(yè)務需求通常來自項目投資者、實際用戶的管理者或產(chǎn)品策劃部門。它們在項目視圖與范圍文檔中予以說明,這些文檔通常作為合同的附件。
2、用戶需求:描述了用戶(User)使用產(chǎn)品必須要完成的任務。它們一般使用用例文檔或者方案提綱(Scenario)予以說明,這些文檔通常作為需求調研報告。
3、功能需求:定義了設計開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能夠通過軟件來完成他們的任務,從而也滿足了業(yè)務需求,用戶需求和功能需求。其中也包括非功能性需求,如產(chǎn)品必須遵從的標準、規(guī)范、性能要求等。它們一般在軟件需求規(guī)格說明書(Software Requirements Specification SRS)中說明。
在這里用一個關于超市會員多倍積分的例子來說明需求分析的三個層次:
業(yè)務需求:為了提高會員的忠誠度,使會員在其生日及重大節(jié)日當天消費可以得到多倍的會員積分。
用戶需求:為實現(xiàn)業(yè)務需求,需要首先制定會員多倍積分規(guī)則,然后將該規(guī)則宣傳給廣大會員;通過在系統(tǒng)中設置會員的多倍積分方案,在會員刷卡消費的時候,系統(tǒng)根據(jù)會員資料信息自動執(zhí)行多倍積分方案;用戶要求在POS斷網(wǎng)的時候也能執(zhí)行。
功能需求:根據(jù)用戶需求,系統(tǒng)中應該實現(xiàn)的功能是:一個設置會員多倍積分規(guī)則的界面;利用通訊機制將會員積分方案同步到前臺POS;前臺POS在會員繳款時自動計算積分;將積分計算結果同步到后臺數(shù)據(jù)庫中。相關的非功能需求:用戶應該可以自定義通訊的間隔時間(范圍:1分到24小時);每1000筆銷售數(shù)據(jù)的通訊時間不應該超過2分鐘;界面易用性等。
(三)需求分析在信息管理軟件開發(fā)中的重要地位
需求分析是軟件工程中最重要的階段。軟件項目的生命周期一般分為計劃階段(項目立項、計劃)、開發(fā)階段(需求分析、概要設計、詳細設計、編碼、測試)、維護階段(實施投產(chǎn)、維護)。需求分析作為項目開發(fā)階段的開端,具有非常重要的作用,可以說它是軟件工程的真正開始。需求分析是所有軟件成功要素發(fā)揮作用的前提,它的好壞直接影響著后面的各個階段,關系著軟件的成敗。軟件項目中百分之四十至百分之六十的問題都是在需求分析階段留下的隱患。在軟件工程的歷史中,很長時間里人們都認為需求分析是整個軟件工程中最簡單的一個步驟,但在實踐中人們才越來越認識到它是整個軟件生命周期中最關鍵的一個過程。優(yōu)秀的信息管理軟件產(chǎn)品必須建立在優(yōu)秀的需求基礎之上。
需求分析階段又是在軟件工程中所有的風險承擔者都關注的階段。這些風險承擔者包括客戶、用戶、商務及業(yè)務人員、需求分析員、設計人員、編碼人員、測試人員、用戶文檔編寫者、項目經(jīng)理等。這部分工作如果處理不好,可能導致需求誤解、開發(fā)挫折、項目延期、甚至糾紛和失敗;若處理好了,能開發(fā)出很出色的項目,幫助客戶實現(xiàn)價值,項目團隊成員也有成就感。
原文鏈接:http://www.cnblogs.com/jasperzhu/archive/2011/12/20/2294674.html
【編輯推薦】