1.需求VS功能
需求:客戶想要的效果,對客戶有價值的事情
功能:系統(tǒng)為了實現(xiàn)客戶的價值而提供的能力/功能
舉例:
汽車:駕駛是需求,剎車、加速、轉(zhuǎn)彎是功能
打印機:打印是需求,進紙、設(shè)定、與電腦連接等是功能
pos機:買單是需求,商品掃描、金額匯總、收銀等是功能
2.需求的重要性
1/3的項目失敗或陷入困境是因為需求原因?qū)е碌?/p>
garbagein,garbageout
垃圾上了生產(chǎn)餅干的流水線,最后產(chǎn)出的是像拉吉一樣的餅干
修復(fù)需求錯誤的問題成本極高
1編碼階段修復(fù)發(fā)現(xiàn)一個錯誤耗費人類是1個單位
2測試階段修復(fù)需求錯誤的成本是5-10倍
3維護階段(產(chǎn)品上線后),修復(fù)需求錯誤成本是20倍
ps:在需求階段修復(fù)錯誤,成本只需要0.1-0.2即可
結(jié)論:需求錯了,幾乎要把軟件項目重做一遍
3.需求分析的目的
1記錄員,記錄客戶的需求
2分析員,和客戶一起分析,完善需求
3引導(dǎo)員,能夠引導(dǎo)客戶的需求
4.需求分析的方法
1需求分析518方法,簡稱我要發(fā),具體就是5w1h8c
5w+1h屬于功能屬性8c屬于質(zhì)量屬性
5w:
when:用戶想在什么時間用,例如半夜備份的任務(wù),很明顯我們得知該需求需要自動化執(zhí)行
where:用戶想在什么地方用,例如垃圾桶室內(nèi)和室外的區(qū)別,同樣的事物放到不同地方用肯定不一樣
who:用戶想讓誰來用,不僅是人,也可以是一個系統(tǒng)
what:用戶想要我們程序的輸出結(jié)果是什么,如圖片,文檔,系統(tǒng)
why:問一問用戶為什么要這么做,(你不問,他基本不說),包括客戶所有覺得不爽的事情
ps:why是核心
1h:how
8c:8個constraint約束
性能performance
性能是系統(tǒng)提供相應(yīng)服務(wù)的效率。主要包括響應(yīng)時間、吞吐量
性能是很多系統(tǒng)架構(gòu)設(shè)計的關(guān)鍵約束條件之一
例如,同樣一個web網(wǎng)站,雖然都是提供信息給用戶流量,設(shè)計一個日訪問量1w的網(wǎng)站與
日訪問量10億的網(wǎng)站,二者的設(shè)計截然不同
成本cost
成本指為了實現(xiàn)系統(tǒng)而需要付出的代價
成本也是很多系統(tǒng)架構(gòu)設(shè)計的關(guān)鍵約束之一
例如客戶只愿意花100w,而我們卻設(shè)計了一個耗費1000w的系統(tǒng)
時間time
指客戶要求什么時候交付
可靠性reliability
指系統(tǒng)長時間正確運行的能力,銀行、證券、電信這些公司,對宕機時間要求很嚴(yán)格
安全security
指對信息安全的保護能力,涉及到錢、身份證、社會保險號等需求對這個要求很高
合規(guī)性compliance
指滿足各種行業(yè)標(biāo)準(zhǔn)、法律法規(guī)、規(guī)范等,例如3C、SOX、3GPP,ITUT
技術(shù)性technology
有的客戶可能要求我們采用某種技術(shù)
例如客戶現(xiàn)在都是windows服務(wù)器,要求我們基于windows平臺開發(fā)
兼容性compatibility
指我們的產(chǎn)品與客戶其他已有的產(chǎn)品或系統(tǒng)的兼容能力,要知道現(xiàn)在很少有產(chǎn)品是孤立運行的,特別是在大企業(yè)、大公司中,多個系統(tǒng)都是相互交互、互相配合的。新的系統(tǒng)必須能夠和已有的系統(tǒng)配合,否則將無法運行
以上內(nèi)容為大家介紹了Python需求模型,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。