題目:什麼是軟件生命週期模型?試比較瀑布模型、快速原型模型、增量模型、螺旋模型的優缺點,說明每種模型的使用範圍。
軟件生命週期模型:一般分爲定義,開發,維護三大階段,定義階段有可行性論證和開發計劃,需求分析,開發階段有概要設計,詳細設計和編碼,維護階段有測試,運行維護。
瀑布模型:
優點:1.強迫開發人員採用規範的開發方法。
2.嚴格規定每個階段必須的文檔
3.要求每個階段交出的作品必須經過質量保證小組的驗證
缺點:1.在軟件開發初期,指定全部需求很難
2.最初版本開發週期長
3.完全依賴規格說明,導致不能滿足用戶需求
適用於中小型項目開發
快速原型模型:
優點:1.滿足用戶需求程度高
2.用戶參與度大,返工現象少
缺點:1.不適用於大型軟件開發
適用於小型項目開發
增量模型:
優點:1.在短期內可以交付滿足部分用戶需求的功能產品
2.逐步增加功能可以讓用戶去適應新產品
3.開放式軟件維護性好
4.開始第一構建前,已經完成需求說明。
缺點:1.對現有產品造成很大程度的破壞
2.意義上的矛盾
適用於中型軟件的開發
螺旋模型:
優點:1.集成了各種模型的優點
2.支持用戶需求動態變化
3.需求分析與軟件實現緊密聯繫相互依賴
4.原型作爲形式的可執行的需求規格說明,既可以利於公戶和開發人員共同理解,又可以作爲後續開發的基礎
5.爲用戶參與決策提供方便
6.提供目標軟件的適應能力
7.降低風險
8.在大型軟件開發過程中優勢較大
缺點:1.迭代次數影響開發成本,延遲提價時間
2.找不到關鍵改進的方法,人力物力財力無謂損耗
3.成於風險分析,敗於風險分許
適用於內部開發的大規模項目