軟件需求的特性有:1、完整性,是指每一項(xiàng)需求都必須將所要實(shí)現(xiàn)的功能描述清楚,不能丟失一些信息;2、正確性,是指每一項(xiàng)需求都必須準(zhǔn)確地陳述其要開發(fā)的功能;3、可行性,是指需求是否能被正常地實(shí)現(xiàn),每一項(xiàng)目需求都必須是可以在已知系統(tǒng)和環(huán)境的權(quán)能和限制范圍內(nèi)實(shí)施的;4、必要性,是指每一項(xiàng)需求都應(yīng)把客戶真正所需要的和最終所需遵從的標(biāo)準(zhǔn)記錄下來;5、劃分優(yōu)先級;6、無二義性;7、可驗(yàn)證性。
php入門到就業(yè)線上直播課:進(jìn)入學(xué)習(xí)
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調(diào)試工具:點(diǎn)擊使用
本教程操作環(huán)境:windows7系統(tǒng)、Dell G3電腦。
什么是軟件需求
用戶解決問題或達(dá)到目標(biāo)所需的條件或者權(quán)能(capability)
系統(tǒng)或者系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或者其它正式規(guī)定文檔所需具有的條件或權(quán)能
一種能反映上面1或者2所描述的條件或者權(quán)能的文檔說明
需求不僅僅包含通常意義上的產(chǎn)品功能,還包含行業(yè)規(guī)范中定義的標(biāo)準(zhǔn),如銀行的行業(yè)技術(shù)規(guī)范、電信的入網(wǎng)標(biāo)準(zhǔn)等。
軟件需求的特性
在整個(gè)研發(fā)過程中,原始收集完成后,接下來進(jìn)行的第一個(gè)步驟就是需求評審,那么如果要將需求評審好,就必須知道什么樣的需求說明是好的說明,通常一個(gè)好的需求說明應(yīng)該具備以下7個(gè)特性。
(1)完整性
完整性是指每一項(xiàng)需求都必須將所要實(shí)現(xiàn)的功能描述清楚,不能丟失一些信息,如果有丟失信息則說明需求不夠完整,需求的完整性也是開發(fā)人員獲得設(shè)計(jì)和實(shí)現(xiàn)這些功能所需的必要信息。
(2)正確性
正確性是指每一項(xiàng)需求都必須準(zhǔn)確地陳述其要開發(fā)的功能,做出正確判斷的參考是需求的來源,如用戶或高層的系統(tǒng)需求規(guī)格說明,若軟件需求與對應(yīng)的系統(tǒng)需求相抵觸則是不正確的。只有用戶代表才能確定用戶需求的正確性,這就是一定要有用戶積極參與的原因。沒有用戶參與的需求評審將會導(dǎo)致這種現(xiàn)象出現(xiàn):“那些沒有意義不是我們想要的”,因?yàn)闆]有用戶參與的話,很多評審都可能是我們評審專家自己憑空想的。
(3)可行性
可行性是指需求是否能被正常地實(shí)現(xiàn),每一項(xiàng)目需求都必須是可以在已知系統(tǒng)和環(huán)境的權(quán)能和限制范圍內(nèi)實(shí)施的。為避免不可行的需求,最好在獲取需求過程中始終有一位軟件工程小組的組員與需求分析人員或考慮市場的人員在一起工作,由他檢查技術(shù)可行性。
(4)必要性
必要性是指每一項(xiàng)需求都應(yīng)把客戶真正所需要的和最終所需遵從的標(biāo)準(zhǔn)記錄下來,“必要性”也可以理解為每項(xiàng)需求都是用來授權(quán)你編寫文檔的“根源”,要使用每項(xiàng)需求都能回溯至某項(xiàng)客戶的輸入。
(5)劃分優(yōu)先級
劃分優(yōu)先級是對所有的需求進(jìn)行分類,分成不同等級的需求,通常需求可以分為高、中、低三個(gè)級別。需求優(yōu)先級高是指一個(gè)關(guān)鍵任務(wù)的需求,如果這個(gè)業(yè)務(wù)沒有實(shí)現(xiàn),那么這個(gè)產(chǎn)品就沒有用戶會購買。如手機(jī)的通話功能,如果手機(jī)沒有通話功能,這個(gè)手機(jī)就沒有人會買。
需求優(yōu)先級中是指這個(gè)業(yè)務(wù)一定要實(shí)現(xiàn),但質(zhì)量特性可以做得是不是很完善,如手機(jī)的攝像頭功能,現(xiàn)在的智能機(jī)都帶攝像頭,但像素不一定做得很高,如有的廠家做到3000 萬像素,但我們可以做到1000 萬像素,這樣產(chǎn)品還是有人會買,但可能價(jià)格會受到影響。
需求優(yōu)先級低是指這個(gè)業(yè)務(wù)可以實(shí)現(xiàn)也可以不實(shí)現(xiàn),如月餅包裝得很漂亮,如果我們是買給自己吃的,那么這個(gè)包裝是否很漂亮并不是主要的,通常這類需求也叫鍍金需求。
(6)無二義性
二義性是指一個(gè)描述的需求有兩種或多種理解的方式,在描述需求的過程中由于自然語言很容易導(dǎo)致二義性,所以盡量使用簡潔明了的用戶性的語言表達(dá)每項(xiàng)需求。
(7)可驗(yàn)證性
可驗(yàn)證性是指每項(xiàng)需求都可以通過具體的用例或測試步驟來驗(yàn)證其是否正確,如果我們不能使用一套有效的方法進(jìn)行驗(yàn)證,那么就無法客觀地判斷當(dāng)前的需求是否被正確地實(shí)現(xiàn)。
上面是我們評審時(shí)需要注意的一些特性,只有符合這些特性的需求,我們才認(rèn)為是一個(gè)好的需求,那么需求說明通常具備以下四個(gè)特點(diǎn):
1)完整性
完整性上面我們介紹過,是指不能遺漏任何必要的需求信息,如果有遺漏的信息很難被查出來。
在描述需求時(shí),如果我們盡量注重用戶的任務(wù),拋開系統(tǒng)的功能,可以更好地避免需求的不完整性。
2)一致性
一致性是指與其他軟件需求或高層(系統(tǒng)、業(yè)務(wù))需求不相矛盾,在開發(fā)前有必要解決所有需求之間不一致部分,只有進(jìn)行詳細(xì)的檢查才能確定某一項(xiàng)需求是否正確。
3)可修改性
在必要的時(shí)候或?yàn)榱司S護(hù)每一個(gè)需求變更歷史記錄時(shí)需要修改需求,這樣就要求每項(xiàng)需求要獨(dú)立標(biāo)識出來,并與其他需求區(qū)別開來,這樣可以保證無二義性。并且每項(xiàng)需求只應(yīng)在需求說明書中出現(xiàn)一次,這樣更改需求時(shí),可以保持需求的一致性。
4)可跟蹤性
可跟蹤性是指每項(xiàng)軟件需求與其根源和設(shè)計(jì)元素、源代碼、測試用例之間建立起鏈接,這樣可以確保每項(xiàng)需求都被實(shí)現(xiàn)和驗(yàn)證,這也是我們工作中常說的需求跟蹤矩陣。