需求分析實際上是業務分析,選擇一種業務導向的線索將零散的需求串起來,形成一個體系完整、內容清晰的框架,以指導后續的設計和開發工作。中培課堂《需求分析與管理最佳實踐》專家王老師在這里就需求分析具體的工作流程進行了詳細介紹。
需求分析方法
需求分析做什么呢?需求分析就是先分解,再提煉,在這個過程中消除矛盾。
分解是人類控制復雜性,認識復雜事物的最佳實踐,無論采用結構化分析方法還是面向對象分析方法,分解是必然采用的手段。
常見的分解方式:
1、業務流程為主線索的分解結構:按“事”的角度進行分解,目標系統主題域業務事件報表類型;
2、程序結構為主線索的分解結構:目標系統子系統功能模塊子模塊功能點,最常用的一種分解方式;
3、基于數據的分解結構:以數據位主線的分解結構;
提煉,分解是自頂向下的方法,會破壞其他線索的完整性。提煉是自底向上的方法,提取共性,建立全局的領域模型。
消除矛盾
分析過程中可能會發現一些需求是矛盾沖突的,需要予以解除。
需求分析建模
模型是用于溝通的,其過程的意義遠大于其結果。需求建模幫助我們將系統需求可視化,說明系統的結構和行為。
常見的建模方法論:1、程序數據結構算法;、結構化分析方法;、面向對象分析和設計。
UML作為統一建模語言,已成為需求分析建模的一項重要支持技術,在實際工作中廣泛應用。
需求分析過程
第一階段,理清框架和脈絡,分析業務流程和業務實體,建立用例模型、抽象類模型,初步形成需求規格說明書;
第二階段,進一步完善需求細節,確定行為需求和結構需求的細節。
其他需求分析:
1、接口需求,有分解就必然有接口;
2、質量特性分析,從功能型、可靠性、易用性和效率角度進行分析;
實際工作情況
王老師總結道,實際工作中,由于算量類軟件一項專業性很強,常見的情況是業務人員無法深入理解軟件系統,開發人員無法深入理解業務系統,因此雖然需求規格說明書是業務人員編制的,但第一版往往可實現性會有問題。軟件最終實現成什么樣子,往往是雙方互相討論出來的。