題解:做了多個系統(tǒng)的需求分析之后,有做總結(jié)的必要了。
在需求分析階段,甚至是整個軟件開發(fā)階段,需求的變化是唯一不變的東西。項目中最難做的也是如何去控制需求。這個有點(diǎn)復(fù)雜,放到后續(xù)文章去說,先說說如何
將客戶的問題信息轉(zhuǎn)化為需求:
1.分清客戶的問題是“需要”還是一個“需求”
需要,指問題已明確。需求則表示問題未明確
2.分清最好有與必須有。
必須有,這個是硬性需求;最好有,非硬性需求。根據(jù)項目的實際情況,如成本,時間(計劃),范圍的約束來綜合評定。
3.客戶對問題的描述是為了說明問題還是提供一種解決方案
在收集和分析客戶需求時,一定要搞清楚客戶是在描述問題本身還是問題的解決方案
4 有哪些人使用這個系統(tǒng)
俗語說,有什么樣的客戶,就有什么樣的系統(tǒng)。客戶的能力以及偏好,包括理解力,對系統(tǒng)的設(shè)計至關(guān)重要。
5.有那些人不喜歡這個系統(tǒng)
是辦公室政治?是易用性?是穩(wěn)定性?maybe something else
6.挖掘潛在問題,形成問題鏈
客戶大都沒有系統(tǒng)訓(xùn)練,他們對問題的描述往往比較零散和隨意。如何將問題竄成鏈,挖掘更深層次的問題是需求分析人員需要幫助他們完成的。記住是幫助,不是
強(qiáng)迫他們按照你的思維思考問題。這里面最難的部分屬于如果從軟件專業(yè)人員的角度提出建議。同時又要讓自己的的建議不干擾到客戶的原始需求。
根據(jù)個人的經(jīng)驗,需求階段最大的悲哀在于你出于最好的目的卻造成了最壞的結(jié)果——建議客戶如何如何,建議有時會掩蓋客戶的真實想法。客戶信任我們的建議,
他們誤以為我們的建議可以解決他們的問題,然而有時事與愿違。所以,我們應(yīng)該多聽客戶的想法,延遲你的建議與引導(dǎo)。
7.非功能性需求的采集
易用性,擴(kuò)展性,交互性,性能,安全性等等。