進行需求分析不象情人之間的浪漫做法——“讓我摸摸你的頭發(fā),感覺它是什么顏色。”我們要圍繞兩個核心問題開展需求分析:(1)應(yīng)該了解什么?(2)通過什么方式去了解?
1 應(yīng)該了解什么
那怕是天下最無能的市長或書記,都知道在作報告時要先從宏觀上講一、二、三、四、五,再從細(xì)節(jié)上講A、B、C、D、E。需求分析不象偵探推理那樣從蛛絲馬跡著手。應(yīng)該先了解宏觀的問題,再了解細(xì)節(jié)的問題,如圖4.1所示。
一個軟件系統(tǒng)(記為 S)的涉及面可能很廣,可以按不同的問題域(記為D)分類,每個問題域?qū)?yīng)于一個軟件子系統(tǒng)。
S = { D1,D2,D3,… Dn }
問題域Di 由若干個問題(記為P)組成,每個問題對應(yīng)于子系統(tǒng)中的一個軟構(gòu)件。
Di = { P1,P2,P3,… Pm }
問題Pj有若干個行為(或功能,記為F),每個行為對應(yīng)于軟構(gòu)件中的接口。
Pj = { F1,F(xiàn)2,F(xiàn)3,… Fk }
按圖4.1結(jié)構(gòu)寫成的需求說明書,對于那些只想了解宏觀需求的領(lǐng)導(dǎo),和需要了解細(xì)節(jié)的技術(shù)員都合適。在寫需求說明書時還應(yīng)該注意兩個問題:
(1)最好為每個需求注釋“為什么”,這樣可讓程序員了解需求的本質(zhì),以便選用最合適的技術(shù)來實現(xiàn)此需求。
(2)需求說明不可有二義性,更不能前后相矛盾。如果有二義性或前后相矛盾,則要重新分析此需求。
2 通過什么方式去了解
了解需求的方式有好幾種:
(1)直接與客戶交談。如果分析人員生有足球評論員的那張“大嘴”,就非常容易侃出需求。
(2)有些需求客戶講不清楚,分析人員又猜不透,這時就要請教行家。有些高手真的很厲害,你還沒有開始問,他就能講出前因后果。讓你感到“聽君一席言,勝讀十年書。”
(3)有很多需求可能客戶與分析人員想都沒有想過,或者想得太幼稚。要經(jīng)常分析優(yōu)秀的和蹩腳的同類軟件,看到了優(yōu)點就盡量吸取,看到了缺點就引以為戒。前人既然付了學(xué)費,后人就不要拒絕坐享其成。轉(zhuǎn)貼于:http://opto-elec.com.cn
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html