瀑布模型
ide
把每一個階段當成瀑布中的一個階梯,強調由上而下,互相銜接、逐級下落,固定次序。工具
優勢:開發階段清晰,便於評審、審計、跟蹤、管理和控制編碼
缺點:不可逆或很難可逆spa
問題會積累,錯誤會傳遞發散擴大,致使成本和質量失控設計
快速原型模型(原型模型)orm
快速原型模型的第一步是快速創建一個能反映用戶主要需求的原型系統,讓用戶在計算機上試用它,經過實踐來了解目標系統的概貌。對象
優勢:克服瀑布模型的缺點,減小因爲軟件需求不明確帶來的開發風險資源
缺點:所選用的開發技術和工具不必定符合主流的發展,快速創建起來的系統結構加上連續的修改可能會致使產品質量低下。開發
增量模型
文檔
增量模型也稱爲漸增模型。增量模型融合了瀑布模型的基本成分和原型實現的迭代特徵,該模型採用隨着日程時間的進展而交錯的線性序列,每個線性系列產生軟件的一個可發佈的增量。
優勢:人員分配靈活,開始不用投入大量的人力資源。若是核心產品很受歡迎,則可增長人力實現下一個增量。增量可以有計劃的管理技術風險。
缺點:因爲各個構件是逐漸併入已有的軟件體系結構中,因此加入構件必須不破壞以構好的的系統部分,這須要軟件具有開放式的體系結構。
在開發過程當中,需求的變化是不可避免的。增量模型的靈活性可使其適應這種變化的能力大大優於瀑布模型和快速原型模型,但也很容易退化爲邊作邊改的模型,從而使軟件過程的控制失去總體性。
若是增量包之間存在相交的狀況且未很好處理,則必須作全盤系統分析,這種模型將功能細化後分別開發的方法較適應於需求常常改變的軟件開發過程。
螺旋模型
螺旋模型採用一種週期性的方法來進行系統開發。
優勢:設計上的靈活,能夠在項目的各個階段進行變動。
以小的分段來構建大型系統,使成本計算變得簡單容易。
客戶始終參與每一個階段的開發,保證了項目部偏離正確方向以及項目的可控性。
缺點:建設週期長,而軟件技術發展比較快,因此常常出現軟件開發完畢後,和當前的技術水平有了較大的差距,沒法知足當前用戶需求。
噴泉模型
噴泉模型是一種以用戶需求爲動力,以對象爲驅動的模型,主要用於採用對象技術的軟件開發項目。
優勢:須要分析活動結束後纔開始設計活動,設計活動結束後纔開始編碼活動。該模型各個階段沒有明顯的界限,開發人員能夠同步進行開發。其優勢是能夠提升軟件項目開發效率,節省開發時間,適應於面向對象的軟件開發過程。
缺點:因爲噴泉模型在各個開發階段是重疊的,所以在開發過程當中須要大量的開發人員,所以不利於項目的管理。
此外這種模型要求嚴格管理文檔,使得審覈的難度加大,尤爲是面向可能隨時加入各類信息、需求與資料的狀況。