先級(jí)?
5 是否定義了功能說(shuō)明的內(nèi)在算法?
6 是否包含了所有已知的客戶需求或系統(tǒng)需求?
7 是否遺漏了必要的信息?如果有遺漏的話,把他們標(biāo)記為待確定的問(wèn)題(TBD) ?
8 是否對(duì)所有預(yù)期的錯(cuò)誤條件所產(chǎn)生的系統(tǒng)行為都編制了文檔?
需求說(shuō)明的完整性主要體現(xiàn)在需求說(shuō)明的詳細(xì)程度上,我們?cè)鯓优袛嘣撔枨蟮拿枋鍪欠裨敿?xì)呢?我認(rèn)為需求需要精化,而不是僅僅提出精化功能、對(duì)象要考慮涉眾參與者、做些什么、需要什么數(shù)據(jù)信息、受什么業(yè)務(wù)規(guī)則和條件限制、系統(tǒng)會(huì)有什么響應(yīng),等等。
讓我們看一個(gè)功能需求例子,“FR1: 銷(xiāo)售出貨要考慮到信用額度”。
乍看顯得過(guò)于簡(jiǎn)單和含糊,我們把它修改成”FR1: 1 銷(xiāo)售出貨的前提是該客戶擁有超過(guò)出貨價(jià)值的信用額度, 否則,系統(tǒng)提示‘該客戶信用額度不足,不予出貨!’ 2 正式出貨后系統(tǒng)將扣減其信用額度” 。
很顯然,修改后的需求把出貨和信用額度的來(lái)由去向和系統(tǒng)的具體反應(yīng)都說(shuō)明清楚了。
當(dāng)然傳統(tǒng)的需求描述也能夠與用例中的參與者和系統(tǒng)響應(yīng)等內(nèi)容映射的。
四、 注意對(duì)需求方案的可行性和成本預(yù)算進(jìn)行評(píng)審
需求方案的可行性和成本預(yù)算也是需求評(píng)審中的兩個(gè)重要方面。
需求方案的可行性和成本預(yù)算評(píng)審的目的,是從需求的多項(xiàng)方案中選擇最優(yōu)化的或者是性價(jià)比最高的方案。一般而言,需求說(shuō)明書(shū)可以給出同一個(gè)問(wèn)題的幾種方案,并給出各自的優(yōu)缺點(diǎn)和成本差異,經(jīng)過(guò)比較由決策者作出最終選擇。
當(dāng)我們理解了需求說(shuō)明,我們下一步需要對(duì)其分析是否有可行性。
如果可行性高,則還要考慮它需要哪些資源和預(yù)算。我們需要確定技術(shù)是否確實(shí)滿足業(yè)務(wù)需求,同時(shí), 也要考慮整個(gè)產(chǎn)品成本,包括開(kāi)發(fā)人員、服務(wù)器、許可和升級(jí)費(fèi)用,還需要考慮初始硬件、軟件和支持、基礎(chǔ)結(jié)構(gòu)和培訓(xùn)的費(fèi)用。
五、 注意對(duì)需求的質(zhì)量屬性進(jìn)行評(píng)審
我們需要評(píng)審需求規(guī)格說(shuō)明是否合理地確定了所有的性能目標(biāo),是否合理地確定了安全性方面要考慮到的問(wèn)題。
系統(tǒng)性能需求之所以在概念階段即被要求,是因?yàn)楝F(xiàn)實(shí)的教訓(xùn)。君不見(jiàn)很多功能已經(jīng)完善的系統(tǒng)因?yàn)樾阅苌喜贿_(dá)標(biāo),而被用戶束之高閣——用戶通常難以忍受運(yùn)行或響應(yīng)速度過(guò)慢的系統(tǒng)。
系統(tǒng)的安全性也是一個(gè)很重要的指標(biāo),尤其是作為企業(yè)級(jí)的系統(tǒng),它的安全考量完全繼承于組織對(duì)安全的基本訴求 。除了功能權(quán)限、字段級(jí)別權(quán)限外,數(shù)據(jù)間的授權(quán)關(guān)系也是必須考慮的,這本身也是一種業(yè)務(wù)規(guī)則。在”商機(jī)管理系統(tǒng)”需求分析中,“業(yè)務(wù)員A不能夠查看業(yè)務(wù)員B下達(dá)的訂單或相關(guān)信息”。所以,諸如此類(lèi)的安全性需求在需求規(guī)格說(shuō)明中是否被完整的描述,也是需求評(píng)審過(guò)程的一個(gè)硬性指標(biāo)??偟恼f(shuō)來(lái),安全性包含了身份驗(yàn)證、訪問(wèn)控制、加密和審核等考慮事項(xiàng)。
六、 注意對(duì)需求的可實(shí)施性進(jìn)行評(píng)審
是否對(duì)每個(gè)需求都設(shè)置了惟一性并且可以正確地識(shí)別它?是否每個(gè)功能需求都可以跟蹤到高層需求(比如系統(tǒng)需求或用例)?
需求必須可以測(cè)試,每個(gè)需求在特定的輸入條件下應(yīng)當(dāng)能給出已知的輸出結(jié)果。同時(shí),需求應(yīng)當(dāng)層次分明,需要把單個(gè)需求下面的相關(guān)需求綜合在一起形成一組需求功能。
需求的可實(shí)施性除了可跟蹤性還包括可測(cè)試性。事實(shí)上, 分析人員和測(cè)試人員在編寫(xiě)代碼以前把需求模型,分析模型和測(cè)試用例綜合起來(lái)通盤(pán)考慮,檢查出遺漏的、錯(cuò)誤的和不必要的需求。軟件需求在概念上的測(cè)試是一種很必要的技術(shù),它可以在項(xiàng)目早期階段發(fā)現(xiàn)需求的歧義和錯(cuò)誤。
正如Ross Collard所言:“用例和測(cè)試用例以兩種方式協(xié)同作, 如果系統(tǒng)用例是完整的,準(zhǔn)確而清晰的。那么測(cè)試用例的衍生過(guò)程就簡(jiǎn)明易懂。如果系統(tǒng)用例條理不清,那么要從中測(cè)試出來(lái)測(cè)試用例這一做法本身也將會(huì)幫助我們排除用例中的錯(cuò)誤” 。
七、 注意對(duì)需求包含的用例文檔進(jìn)行評(píng)審
用例是參與者對(duì)系統(tǒng)和參與者的
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線啦!快來(lái)測(cè)測(cè)你排多少名吧~
http://m.opto-elec.com.cn/pmqhd/index.html