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
























