細談軟件需求分析過程:提取、抽象、昇華

軟件的需求分析必須要有對原業務的一個深入瞭解、提取、抽象、昇華的過程,管理軟件需求分析尤其如此。

軟件的需求分析是從用戶的業務中提取出軟件系統能夠幫助用戶解決的業務問題,通過對用戶業務問題的分析,規劃出我們的軟件產品。這個步驟是對用戶業務需求的一個昇華,是一個把用戶業務管理流程優化,轉化爲軟件產品,從而提升管理而實現的質的飛躍,這一步是否成功,直接關係到開發出來的軟件產品能否得到用戶認可,順利交付給客戶,客戶能否真正運用我們的產品幫助他解決業務或管理問題。

按照軟件工程對軟件開發過程的描述,需求階段我們可以細分爲需求調研和需求分析兩個小階段,需求調研需要充分細緻的瞭解客戶目標,用戶業務內容、流程等,這是一個對需求的採集過程,是進行需求分析的基礎準備。當我們已經瞭解、理解了用戶的業務,於是可以開始分析需求了。軟件系統的需求分析可以由產品工程師或系統分析員或兩者分階段合作完成全部的需求分析工作。

一、 提取出核心、主要、急迫的業務,明晰業務流程

通過需求調研,我們會發現用戶各方面的業務很多,從大處着眼,包括用戶的各種業務項目、業務流程,再明細到業務過程的每一個單據,每一條記錄,如生產過程中每一個環節的記錄,辦公中的每一個通知,甚至包括文件報刊的收發,計劃生育指標統計等等。如此繁雜的各類業務,我們從何下手?這時需要我們回頭去查看軟件的項目規格說明書,再次溫故客戶對軟件項目或產品的最初提出的需求目標和範圍,我們的軟件主要是爲用戶解決什麼樣的問題。從衆多的業務中提取出用戶核心的、主要的、急需的業務,這些是我們軟件需求主要關心所在。寫一篇文章需要重點突出,主次分明,我以爲規劃一個軟件產品也是同理。

從用戶繁雜的業務中進行業務、業務流程的提取,把那些分佈在各個部門的同一種業務提取出來。比如物資的管理,涉及到生產部門的需用計劃,彙總到物資部門的採購計劃,計劃的審批,採購合同,物資採購,物資部門的收發存業務,生產部門的物資領用消耗等等,我門需要分析用戶的這個業務流程中哪些是系統能幫助管理的,哪些是要在系統外處理的,充分分析了用戶現有的業務和業務流程,我們進入下一步驟。

二、 運用管理思想,優化業務流程

我們提供的是管理軟件產品,要幫助用戶解決的是管理問題,那麼用戶是這樣的業務流程,就需要我們分析這樣的流程合理嗎,還有缺陷嗎,怎樣做能提高效率、解決問題,可以運用更先進的管理思想嗎……。一般情況下,我們需要從兩個方面考慮業務流程的優化。一是我們採用了網絡計算機這些新的技術手段,較之原先手工、電話等方式在信息的傳遞、信息的共享、數據的處理等方面將會帶來新的方式,必將改變原有的業務流程。另一方面就是我們根據對用戶業務的理解,考慮是否可以運用先進的管理思想,比如MRPII、ERP、SCM、CRM、JIT、EIA、E-Business等等管理模型,進行現有業務流程的重組或優化。當然一旦牽涉到業務流程的修改一定要與客戶的中高層管理者進行充分的溝通,只有客戶認同方可確定,因爲這一定會在軟件實施時需要相應的管理制度配套執行。

三、 進行業務分類,規劃系統藍圖

以上都明確了以後,我們可以描繪系統藍圖了。系統有幾個子系統,每個子系統有哪些模塊,各個模塊處理哪些業務,很重要的一點還有各子系統模塊之間的數據接口關係,基礎數據從哪裏進入,通過哪些處理生成哪些結果等等。這個過程需要整理、抽象用戶業務,規劃軟件實現,規劃軟件系統模塊間的邏輯關係。因爲系統的頁面實現是按照系統模塊的規劃,所以應儘量採用用戶易理解、熟悉的方式、詞語進行模塊的描述。例如ERP系統中的物資管理子系統,首先明確這個子系統是ERP系統中進行物資相關的業務處理系統,同時它爲主生產系統、成本管理子系統提供生產物資供應、領用消耗覈算等的數據支持。因此在規劃子系統模塊時,按照業務過程模型,應包含物資需用計劃、物資採購計劃、出入庫管理、庫存管理等主要業務模塊,再考慮軟件運行必須的初始數據設置,增加一個基礎信息維護模塊(包括物資大類、物資編碼等信息維護),還有考慮到不同用戶對此係統的不同需求,如更多的生產人員、管理人員的需求,再單獨增加一個綜合查詢和分析模塊。另外還有與物資採購相關的業務如採購合同,可以放到合同管理子系統統一考慮,這裏只做查詢。這樣規劃出了軟件系統對物資管理業務的處理,檢查一下是否包含了物資管理中所有核心、主要的業務,這時我們發現還有比如物資採購、驗收、盤庫等業務還是需要物資管理業務人員來完成,系統可以做到的就是記錄結果。軟件系統是管理的輔助系統,不能完全代替人的所有工作。管理軟件再加上管理制度、業務人員的操作才構成一套完整的管理體系。

四、 詳細描述軟件功能點

規劃出了軟件的功能模塊,只是軟件的功能框架結構,下一步就需要明確描述每個模塊的具體內容了。包含什麼內容、能做什麼操作,每一個功能點的說明、優先級、業務規則、詳細功能描述等等。這些也是軟件需求規格必須描述的內容。

需求分析的表現方式,我們現在採用需求規格文檔,UML語言描述的用例圖、類圖、活動圖,還有實體關係圖、界面原型等等,從不同角度、不同需求描述規劃出的軟件全貌。

五、 需求分析的質量控制

軟件需求分析直接關係到軟件產品的方向,所以需求分析的質量至關重要。對於這個關鍵點的質量控制,則可以通過內部評審和同行評審的方式,然後是客戶方的評審。項目組內部評審或同行評審主要是根據公司規範和評審人員本身的經驗對需求分析中不明確、不合理、不符合邏輯、不符合規範的地方予以指正。而客戶的評審主要是對描述的軟件實現是否真正符合他們的需求,能否幫助他們解決問題等方面作出評定。

軟件的需求分析必須要有對原業務的一個深入瞭解、提取、抽象、昇華的過程,管理軟件需求分析尤其如此。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章