1)瀑布模型:
瀑布模型(Waterfall Model) 是一個軟件生命周期模型,開發過程是通過設計一系列階段順序展開的,從系統需求分析開始直到產品發布和維護,項目開發進程從一個階段“流動”到下一個階段,這也是瀑布模型名稱的由來。
2)快速原型型:
中心思想:
快速原型是利用原型輔助軟件開發的一種新思想。經過簡單快速分析,快速實現一個原型,用戶與開發者在試用原型過程中加強通信與反饋,通過反復評價和改進原型,減少誤解,彌補漏洞,適應變化,最終提高軟件質量。
優點:
克服瀑布模型的切點,減少由於軟件需求不明確帶來的開發風險,互動性更高更容易了解客戶需求,反復循環。
3)螺旋型:
四種象限:螺旋模型很像我們高中時候學習的四象限它分為制定計划,風險分析,實施工程和客戶評估階段,整個螺旋模型由風險驅動,強調可選方案和約束條件從而支持軟件的重用,有助於將軟件質量作為特殊目標融入產品開發之中。
優點:
1. 設計上的靈活性,可以在項目的各個階段進行變更
2. 以小的分段來構建大型系統,使成本計算變得簡單容易。
3. 客戶始終參與每個階段的開發,保證了項目不偏離正確方向以及項目的可控性。
4. 隨着項目推進,客戶始終掌握項目的最新信息 , 從而他或她能夠和管理層有效地交互。
5. 客戶認可這種公司內部的開發方式帶來的良好的溝通和高質量的產品。
缺點:
很難讓用戶確信這種演化方法的結果是可以控制的。
建設周期長,而軟件技術發展比較快,所以經常出現軟件開發完畢后,和當前的技術水平有了較大的差距,無法滿足當前用戶需求。
4)敏捷開發:
定義:敏捷開發以用戶的需求進化為核心,采用迭代、循序漸進的方法進行軟件開發。
優點:
1. 為項目提供了按階段划分的檢查點。
2. 當前一階段完成后,您只需要去關注后續階段.
3. 它提供了一個模板,這個模板使得分析、設計、編碼、測試和支持的方法可以在該模板下有一個共同的指導。
缺點:
1. 各個階段的划分完全固定,階段之間產生大量的文檔,極大地增加了工作量。
2. 由於開發模型是線性的,用戶只有等到整個過程的末期才能見到開發成果,從而增加了開發風險。
3. 通過過多的強制完成日期和里程碑來跟蹤各個項目階段。
4. 瀑布模型的突出缺點是不適應用戶需求的變化。