采用簡化原型法進行需求分析-轉載并分析- -
采用簡化原型法進行需求分析
http://www.chinaunix.net 作者:一無所有 發表于:2003-11-03 09:21:18
1 前言
需求分析階段是管理信息系統(MIS)開發最重要的階段。MIS開發的需求階段首先是了解和澄清用戶的需求,然后嚴格地定義被開發的軟件系統的需求規格說明書[1]。常用的軟件需求分析方法有面向數據流的結構化分析方法、面向數據結構的Jackson方法、面向對象的方法和原型法等。原型法由于改變了系統的分析、設計和實現三個順序階段的觀點[2],改變了傳統的自頂向下的開發模式,降低了軟件需求的風險,因此得到了廣泛的應用,特別是在致力于某一領域MIS開發的軟件公司,如致力于電力MIS開發的公司。但作者在長期的MIS需求分析過程中,發現原型法有以下缺陷:
1)原型的設計和修改工作量大,增加了系統的開發成本;
2)由于用戶不關心或不理解原型的概念和實現,而且存在較大期望,使得與實際系統差別較大的原型增加了需求分析人員與用戶的交流難度;無論是水平原型,還是垂直原型都不能反映實際系統的全貌;
3)軟件需求主要包括:功能需求、界面需求、性能需求、環境需求、可靠性需求、安全保密需求、資源使用需求、軟件成本消耗與開發進度需求和目標需求[3]。原型法中的原型難以表達軟件的后七項需求;
4)原型法強調用戶和開發人員不斷對原型進行不斷修改和補充,直到用戶感到滿意為止。在時間緊和任務重的大型MIS項目中,這種情況實際難以保證,特別是在用戶單位和開發單位距離較遠時。
本文結合管理信息系統項目實施的實踐,提出一種新的需求分析方法-簡化原型法。這種方法根據數據庫應用的特點,將需求分析分為兩個階段,并簡化了作為需求分析工具的系統原型。
2 簡化原型法需求分析的第一個階段
管理信息系統屬于數據庫應用。數據庫應用需求分析應該圍繞數據,而不是功能展開,因此應該首先解決"有什么",然后再明確"做什么"[4]。第一個階段就是要解決"有什么",即由項目經理與用戶進行協商,確定系統的技術協議,因此可以稱為技術協議階段。技術協議需要開發方的項目經理與用戶單位的技術主管簽字并蓋章,并以合同附件的形式存在。技術協議的主要內容有:系統的邊界、系統處理的業務、與其它系統的接口、工程的進度控制、培訓安排和技術服務承諾。
2.1 系統的邊界
系統的邊界規定系統覆蓋的作業范圍,主要有地理邊界(規定系統運行的部門、分支單位等)、操作員范圍(規定操作系統的所有操作員身份、分布和大致權限)和業務范圍(規定系統處理的業務,對于不處理的邊沿業務特別明確指出)。
2.2 系統處理的業務
系統處理的業務涵蓋系統處理的所有業務,包括各種業務的描述、數據來源、實現要求。但是業務規定不要求過細,可以對應實際系統中的一個模塊。如:電力MIS中輸電設施管理子系統中的線路設備管理,不詳細描述線路設備管理中的所有功能。
2.3 與其它系統的接口
與其它系統的接口明確規定接口的系統、功能和實施單位。在接口的實施單位中明確是由開發方完成,還是由開發方協助第三方完成。
2.4 工程的進度控制
工程的進度控制規定工程的開始、結束日期和具體工程項目的名稱、完成時間、地點、完成標志及責任分工。具體項目一般包括:采購設備到達現場、采購設備安裝調試、完成網絡布線、開發準備階段、業務需求調查、系統分析和設計、軟件編制、現場調試、數據準備及錄入、功能確認、試運行和系統驗收。責任分工規定雙方對于具體項目的工作內容和配合方式。在配合方式中規定人員組織方式、人員素質要求、提供的設備和場所。完成標志規定具體項目完成提供的文件名稱和要求,如:網絡布線驗收報告和硬件設備驗收報告等。
2.5 培訓安排
訓包括操作員和系統維護人員的培訓。培訓安排包括每種培訓的人員數量、培訓內容、培訓時間、地點、組織方式和教材,并規定教員和學員的素質要求,及培訓后學員達到的水平。
3 簡化原型法需求分析的第二個階段
如果說第一個階段解決"有什么"的問題,那么第二個階段解決"做什么"的問題。主要工作有需求調查準備、到用戶單位進行需求調查分析和進行需求評審。
3.1 需求調查準備
需求調查準備工作,在系統的技術協議簽訂后,嚴格依照技術協議進行,主要有向用戶單位發放業務調查表、建立需求分析文檔原型和建立系統簡化原型。業務調查表在系統的技術協議簽訂后,立即通過傳真發送到用戶單位,要求用戶單位在需求調查人員到達現場之前完成。業務調查表內容包括:具體業務的名稱、上級業務、下級業務、發生條件、處理的數據和詳細流程(處理崗位、處理方式和審核細節等)。需求分析文檔原型是根據技術協議編寫的需求分析說明書原型,它的格式與標準的需求分析說明書相同。其中的狀態遷移圖和各種表證單書等不明確的內容,采用相似系統的或由系統分析人員根據技術協議和以往經驗設計。
系統的簡化模型根據技術協議的要求,仿照相似系統設計。簡化模型采用可視化的數據庫編程語言設計,一般采用數據庫應用開發人員熟悉的PowerBuilder(PB)或Delphi。簡化模型的主要設計要求有:1)充分考慮系統的設計與實現,不得與實際系統脫節;2)盡量仿真實際系統的操作界面,與實際系統的操作過程完全相同;3)可以單機安裝運行,不與實際數據庫連接;4)演示數據的存儲可以通過文本文件、單機的數據庫或PB外部數據源的數據窗口;5)對于界面中容易誤解或難以理解的操作,在功能幫助按鈕中給出說明;6)界面中難以實現或工作量很大的功能,以標注方式詳細說明;7)運行穩定,并比實際系統對硬件要求低。
3.2 需求調查分析
需求調查分析在確認需求調查準備的三項工作完成后,由開發單位的系統分析人員到用戶單位進行。系統分析人員與用戶單位安排的業務主管共同討論業務調查表和系統簡化原型,并不斷修改完善系統簡化原型和文檔原型,最終形成共識,并要求業務主管在需求分析說明書上簽字。最終系統簡化原型和源代碼留在用戶現場,便于系統的操作員進一步理解分析,直到最終掌握;而且有利于提出進一步的改進意見。改進意見可以隨時通過郵件或傳真直接發到開發單位,或由用戶單位的系統維護人員修改簡化原型后,隨時發到開發單位,從而便于開發人員及時修改系統的設計和編碼。
3.3 進行需求評審
需求評審一般由用戶單位組織,評審團成員由同行專家、系統分析、設計和測試人員組成。評審的依據不僅有需求分析說明書,還有系統簡化原型;同時在評審過程中,系統簡化原型不斷進行優化。評審的目標是要求需求分析說明書具有正確性、可行性、必要性、具有優先級屬性、可驗證性和無二義性[5]。需求評審報告作為對需求分析的補充和修正,由雙方負責人簽字,以需求分析說明書附件的形式存在,同樣指導下一步的系統設計工作。
4 幾點說明
1、此方法適合各種MIS工程的需求分析,特別適合致力于某一領域MIS開發的軟件公司。采用此方法,開發同類項目越多,需求分析工作的效率越高。
2、在需求分析過程中,由于需要設計系統簡化原型和文檔原型,并充分考慮到系統的設計與實現,因此與其它需求分析方法向比,提高了對需求分析人員的要求。在實際工作中,一般由資深的軟件分析和設計人員進行。
3、此方法不僅適合MIS軟件工程,同樣適合其它大型軟件工程。
4、由于需求分析工作本身的難度和重要性,此方法同樣要求用戶單位和需求分析人員對需求分析所有工作內容,引起足夠重視;科學安排需求分析工作步驟,某些步驟可以同時進行;所有工作步驟不得應負或疏忽。
5 結束語
目前簡化原型法已經在多個電力MIS工程中應用,大大提高了需求分析的工作效率。實踐證明,簡化原型法具有以下特點:1)簡化的系統原型開發工作量大大降低,修改和補充方便;2)簡化原型大大縮短了需求分析人員與業務主管之間的距離,便于交流;并大大加強了需求分析人員與業務主管對系統的認識,有利于發現和解決問題;3)簡化原型的設計提前考慮了系統的設計與實現,大大降低了軟件工程的風險;4)簡化原型增加了系統操作員對實際系統的認識,大大簡化了工程實施后系統的操作培訓;5)簡化原型可以直接指導工程的設計和編碼,便于系統開發的組織。這種方法也可以用于其它軟件工程,對于其它需求分析方法的改革也具有指導意義.