需求分析的目的不是分析系統如何實現用戶的需要,而是業務分析,以業務為線將需求串起來形成完整的框架,知道后續系統的設計與開發。
如何進行需求分析?
- 分解:自上向下將項目分解,確定需求規格說明書的大綱后,將對應信息獲取并填充。
- 以業務流程為主線的分解結構
目標系統到主題域的分解是目標決定范圍,
主題域到業務事件、報表類型是瀝青脈絡
業務事件到業務活動、報表類型到報表所做是填充細節
image.png
- 程序結構為主線的分解結構,缺點在于過早引入程序結構,容易與問題域割裂開來
image.png
- 基于場景的分解結構(相比基于業務流程更設身處地,需考慮不同角色的需求和痛點)
image.png
- 基于數據的分解結構:適合數據倉庫等的數據類項目
image.png
- 提煉:自下將上將交疊的情況提煉,如將每個業務中的公共類抽取提煉
- 消除矛盾:對相互沖突、矛盾的需求找到 相關業務人員進一步獲取,消除矛盾
需求建模的目的是按照實際情況將系統可視化,為系統提出一個說明方法,給出一個指導系統的模板,對所做決策進行文檔化。切記模型是用來溝通的,僅當需要時才構建它。并根據任務選擇合適的建模工具。
需求階段所使用的UML圖
image.png
——《軟件需求最佳實踐》