問題一:軟件的安全功能是指什么呢?
我看了《構建之法》第七頁對飛機安全功能的的描述,想知道在軟件中是否有類似飛機的安全功能?如果有,具體是指什么功能呢?我在查閱資料后只找到對軟件安全的的總結(軟件安全總結),並未找到自己想要的答案。在現實生活中,我覺得軟件中有類似飛機的安全功能,但是每個軟件的安全需求不同,可能其安全功能也是不一樣的。比如一些帶有支付功能的軟件,其安全功能就是保障用戶的財產安全,而像一些社交軟件,其安全功能可能就是保障用戶的賬戶安全。以上只是我的看法,但我依然不能確切解決我的問題,希望老師能解決我的困惑。
問題二:在軟件項目中,哪項工作用“20%占用了80%的時間”?
我在《構建之法》書中,經常能看到這句話:“20%往往要花費80%的時間”,如在書115頁,寫到:“程序員寫完功能的時候,我們感覺好像項目完成了80%,殊不知后面的20%往往要花費80%的時間”。那么在軟件項目中,這20%具體是指什么呢?它為什么往往要花費80%的時間?我在查找資料后發現可以如何應用80:20原則(在軟件開發中應用80:20原則),在說到將80:20原則應用到軟件開發管理時也寫的比較模糊,所以,我依然沒有找到問題的答案,我覺得這20%應該是需求分析,由於我沒有軟件開發的經驗,所以我不能解決我的問題,希望老師能解決我的困惑。
問題三:在現實的軟件開發中,企業一般用哪種方式獲取用戶需求?
在8.3節(P154)中,介紹了許多獲取用戶需求的方法,那么在現實的軟件開發中,企業一般是用哪種方式獲取用戶需求的呢?是用單一的方式,還是會幾種方式結合在一起?這又要在軟件開發中占用多長的時間合適呢?我在查閱資料后只找到了軟件開發的11中模式(軟件開發的11種模式),並未找到自己想要的答案,希望老師能解決我的困惑。
模型名稱 | 技術特點 | 適用范圍 |
---|---|---|
瀑布模型 | 簡單,分階段,階段間存在因果關系,各個階段完成后都有評審,允許反饋,不支持用戶參與,要求預先確定需求 | 需求易於完善定義且不易變更的軟件系統 |
快速原型模型 | 不要求需求預先完備定義,支持用戶參與,支持需求的漸進式完善和確認,能夠適應用戶需求的變化 | 需求復雜、難以確定、動態變化的軟件系統 |
增量模型 | 軟件產品是被增量式地一塊塊開發的,允許開發活動並行和重疊 | 技術風險較大、用戶需求較為穩定的軟件系統 |
迭代模型 | 不要求一次性地開發出完整的軟件系統,將軟件開發視為一個逐步獲取用廣需求、完善軟件產品的過程 | 需求難以確定、不斷變更的軟件系統 |
螺旋模型 | 結合瀑布模型、快速原型模型和迭代模型的思想,並引進了風險分析活動 | 需求難以獲取和確定、軟件開發風險較大的軟件系統 |