陳曉瓊 沈一通
需求分析是系統開發的基礎。在信息系統項目的開發過程中,人們越來越體會到需求分析的重要性,含糊的需求描述,頻繁的需求變更,加重了用戶和系統開發雙方的工作任務,需求分析的偏差,將會造成設計,編碼工作的大量返工,甚至導致項目失敗。本文從信息系統項目的特點,需求分析的步驟,需求獲取和需求定義的方法幾個方面論述了如何做好信息系統項目開發中的需求分析。
【關鍵詞】需求分析 系統開發 信息系統
1 引言
需求分析是系統開發的基礎。在信息系統項目的開發過程中,人們越來越體會到需求分析的重要性,含糊的需求描述,頻繁的需求變更,加重了用戶和系統開發雙方的工作任務,需求分析的偏差,將會造成設計,編碼工作的大量返工,甚至導致項目失敗。
當一個信息系統項目的規劃獲得批準,進入開發階段后,需求分析作為系統分析的第一項工作,要解決系統“做什么”的問題,明確系統的功能,確保所開發的系統符合用戶預期,如果最終系統不能滿足用戶的需求,則一切的工作都是徒勞。
2 信息系統項目的特點
信息系統項目是根據用戶的需求,選擇適合的先進技術,進行設計開發,遵循計算機軟硬件開發的技術規范,提出全面的解決方案,為用戶最大限度的整合相關信息資源,提高用戶的工作效率。
信息系統項目通常具有如下特點:
目標不明確,用戶很難精確的描述最終系統的要求,最初提出一個大的方向后,只能在開發中漸進明細。
智力密集型,信息系統項目是典型的多學科合作項目,需要應用多個領域的知識。在針對氣象領域開發的系統中,應用地理信息系統可以直觀的描述觀測站點的狀態。
設計人員高度專業化,行業特征較明顯。比如氣象數據的傳輸對時效的要求較高,逐小時觀測數據需5分鐘內傳完,在整點的時候并發傳輸數量達到峰值。在處理文件時,氣象報文嚴格參照行業制定的編碼規范。
3 需求分析的步驟
需求分析要實現對系統功能和性能的全面描述。具體的說,需求分析的工作分以下幾個步驟來完成。
3.1 需求獲取
需要獲得各類用戶的業務需求,了解系統需要完成的工作,并預估系統可能達到的目標。
3.2 需求分析
對用戶提出的需求進行優先級分類,分析系統需要實現的功能,要達到的性能目標,提出系統的解決方案。
3.3 需求定義
編寫出需求規格說明書,對確定的需求進行詳細描述,形成文檔。該文檔作為系統開發中分析階段的重要成果,是后期系統開發和維護的基礎,也是系統設計和編碼的依據。
3.4 需求驗證
對已描述需求的完整性和正確性進行最后的評審確認。
4 需求獲取的方法
需求獲取是需求分析的前提,直接面向系統的用戶和相關干系人。需求獲取一般采用訪談,用戶調查,現場跟班,聯合討論等多種方法。其中訪談是最基本的一種手段,與項目的關鍵干系人進行特定范圍的訪談,對了解系統概況大有幫助。有了初步框架后,再結合其他方法全面收集系統的需求,爭取沒有遺漏,減少后期變更的成本。
在氣象信息系統的開發中,我們用得最多的就是聯合應用開發這種引導式研討會的方式。研討會上干系人和開發人員集中在一起討論系統的功能,鑒于開發人員也熟悉氣象業務的數據處理流程,在會上能夠與系統的用戶代表在同一個緯度和語境下順暢的進行溝通。我們將之前收集的需求逐條整理,大家一起有針對性的討論,將需求漸進明細,以保證開發團隊與用戶對需求的理解達成一致。
5 需求定義的方法
需求定義的過程就是將需求文檔化,以形成需求規格說明書,一份高質量的需求說明書有助于系統項目的成功。需求定義通常有嚴格定義和原型化這兩種方法。
嚴格定義方法主要應用于傳統的結構化開發中。結構化開發適用于需求明確,功能相對簡單的系統項目,它要求所有的需求都能夠被事先定義,通過業務流程圖等方式表現出系統的邏輯結構,但前期不能在用戶的終端顯示出系統的實際效果,用戶看到成果的周期較長,等系統已出雛型再修改功能需求的話,修改的工作量將會翻番。而保證需求不發生變更幾乎是不可能的,因為隨著用戶對系統的認識逐步加深后,會產生一些新的想法。對于初期需求不明確的項目更適合采用原型化方法來定義需求,可以彌補結構化方法中抽象的理論描述,首先快速生成一個簡單的系統模型,滿足用戶的基本要求,然后和用戶一起討論修改,逐步增加功能,最終實現系統的全部需求。
我們在氣象資料傳輸監控平臺項目的需求定義時,將結構化和原型化方法相結合,大大提高了工作效率。每個模塊的功能我們用結構化方法嚴格定義,該方法的嚴密性和精確度有效保證了需求在實現過程中沒有遺漏。在網頁顯示方面的需求定義則采用原型化方法,先取一種資料,生成一個頁面,和用戶討論,是否滿足需求,要修改的地方記錄下來進行更新,然后再次與用戶討論,如此反復,直到無疑義,便形成了網頁的模版,之后其他資料的顯示頁面都參照模版即可。
6 小結
總之,做好信息系統項目開發中的需求分析,需要開發團隊和項目干系人的有效合作,需求分析看似簡單,但要真正做到位,并不是一件容易的事,像信息系統本身采用的技術更新快,需求復雜,就要采用多種方法相結合來做好需求分析的工作。仔細掌握和管理好系統需求對促進項目的成功具有重要作用。
作者單位
云南省氣象信息中心 云南省昆明市 650034endprint