瀑布模型:
計划 → 需求分析 → 設計 → 編碼 → 測試 → 運行維護
特點:①軟件開發的各項活動嚴格按照線性方式進行。
②當前活動接受上一項活動的工作結果。
③當前活動的工作結果需要進行驗證。
缺點:①由於開發模型是線性的,增加了開發的風險。
②早期的錯誤可能要等到開發后期的階段才能發現。
原型模型:
客戶與開發公司緊密聯系,開發周期長。開發會受到需求變更的影響。
特征:①實現客戶與系統的交互。
② 進一步細化待開發軟件需求。
③開發人員可以確定客戶的真正需求是什么。
螺旋模型:
制定計划 → 風險分析 → 實施工程(需求確認、軟件需求、軟件產品設計、設計確認與認證、詳細設計、開發、測試) → 客戶評估
特點:①螺旋模型是將瀑布模型與快速原型模型結合起來。
②強調了其他模型所忽視的風險分析。
③每一次螺旋包括4個步驟:制定計划、風險分析、實施工程、客戶評估。
缺點:①強調風險分析,但要求許多客戶接受並相信這種分析,是不容易的。
敏捷開發模型:
特點:①短周期開發。
②增量開發。
③ 由程序員和測試人員編寫的自動化測試來監控開發進度。
④通過口頭溝通、測試和源代碼來交流系統的結構和意圖。
⑤編寫代碼之前先寫測試代碼。也叫做測試先行。
缺點: ①團隊的組建較難,人員素質要求較高。
②對測試員要求完全掌握各種腳本語言編程,會單元測試。