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