目錄 :
前言:
1什麼是需求,需求分析在整個開發週期的作用。
2 在需求過程中的三個裡程碑
2.1 第一階段 確定項目的大背景
2.2 第二階段 項目本階段的核心需求定義和確定
2.3 第三階段 項目詳細需求分析
前言:
需求對於我們IT人來講是一個再熟悉不過的名詞了,如何在項目開發週期做需求,那就是各有各的道了,下面是我對軟體開發過程中對做需求的理解和總結。希望能給大家帶來一點不同的感官。
1什麼是需求,需求分析在整個開發週期的作用。
對於需求概念來講就是功能+品質+約束。在整個開發週期中,需求是整個開發的基礎。需求分析成功,則軟體風險就減少了一半。
這麼一講,還是蠻空洞的,對於我們來講如何進行需求分析,它的流程是什麼,每步流程的標準又是什麼呢?
本人在需求操作中,主要分為三個階段。
第一階段 確定項目的大背景。第二階段 項目本階段的核心需求定義和確定,第三階段 項目詳細需求分析。
2 在需求過程中的三個裡程碑
2.1 第一階段 確定項目的大背景
確定項目的大背景,就是充分的瞭解項目的領域,客戶對項目的期望值。其次,對於企業專案來講,在確定項目目標後,還要進一步的瞭解客戶的企業架構。當前項目在企業架構中位置,第三方介面定義等等。
在考慮到完成業務上的預景後,接下來就是項目實現技術實現方案,選擇實現項目的技術架構(通常包含 開發平台,第三方組件,硬體環境,測試環境,部署環境等)
第一階段的配置項 為
《企業建設方案》
2.2 第二階段 項目本階段的核心需求定義和確定
在確定了需求的大背景下,下一步,我們需要做的內容就是確定項目的核心功能,關鍵的品質,和相關的約束。在這邊我要著重向大家說明一下溫昱老師的二維需求表。
表的格式為
|
功能 |
品質 |
約束 |
業務及需求 |
|
|
|
使用者級需求 |
|
|
|
開發級需求 |
|
|
|
功能:
軟體功能又分關鍵功能,次要功能等。在第二階段,我們要做的就是分辨並整理關鍵功能,和次要功能。根據項目的規劃,找出當前需要實現的關鍵功能,與此同時,對於高風險,技術風險大的功能,或者關鍵功能中相互衝突的功能進行前期取捨。(當然啦,在取捨和確定具體的功能範圍,還是要和客戶之間相互溝通的)
最後要補充一點的,就是確定關鍵功能這個過程是不停遞迴的一個過程。
品質:
一般品質分類包含 效能,安全性,可靠性,易用性,可擴充,可維護,可移植等。
在需求分析中,和關鍵功能一樣,要根據項目的願景,進行關鍵品質的篩選。
在某種情況下軟體的品質之間還是有衝突,魚和熊掌不可兼得的情況,如 可維護性和效能是一對對立的兩兄弟。我們還需要對這樣的關鍵品質進行必要的取捨。在作出這樣的取捨,依據的標準就來源於我們需求的第一階段的工作。
約束:
軟體的約束分好多的角度,
業務級約束:舉例:項目的組織圖和人員資訊來源於企業人事系統
使用者級約束:舉例:使用客戶用一部分是殘障人事等,其包含了藏語使用者等
開發級約束:舉例:開發人員的技術水平等。
在調研並完成這樣的二維需求表後,及時的和客戶溝通,確定關鍵功能,關鍵品質和約束等。對二維需求表中的內容進行取捨和確定。
在第二階段出的配置項
二維需求表
2.3 第三階段 項目詳細需求分析
在第二階段的基礎上,我們就可以對項目核心功能進行資料流需求調研分析,商務邏輯分析。並在這基礎上編寫使用者用例 ,資料流轉圖,商務邏輯圖等
在完成了以上業務核心功能的詳細調研分析後,將全部用例和其他內容組合在一起,制定《項目需求規格說明書》。
在第三階段出的配置項
《項目需求規格說明書》。