軟件開發模型

1.邊做邊改模型(Build-and-Fix Model)

在這裏插入圖片描述

  • 適用性:對編寫幾百行的小程序來說還不錯,對任何規模的開發來說都是不能令人滿意的。
  • 特點:來需求就改,有問題就改。
  • 缺點
    (1) 缺少規劃和設計環節,軟件的結構隨着不斷的修改越來越糟,導致無法繼續修改;
    (2)忽略需求環節,給軟件開發帶來很大的風險;
    (3)沒有考慮測試和程序的可維護性,也沒有任何文檔,軟件的維護十分困難。

2.瀑布模型(Waterfall Model)

在這裏插入圖片描述

  • 簡介:如圖所示,瀑布模型將軟件生命週期劃分爲制定計劃、需求分析、軟件設計、程序編寫、軟件測試和運行維護等六個基本活動;每一個階段的結果驗證通過,作爲下一階段的輸入,否則修改,重點強調每個環節的文檔重要性,和結果的驗證。
  • 特點:自上而下、相互銜接、線性進行。
  • 缺點:線性過程太理想化.
    (1)各個階段的劃分完全固定,階段之間產生大量的文檔,極大地增加了工作量。
    (2)由於開發模型是線性的,用戶只有等到整個過程的末期才能見到開發成果,從而增加了開發的風險。
    (3)早期的錯誤可能要等到開發後期的測試階段才能發現,進而帶來嚴重的後果。
  • 優點:線性是一種簡潔,簡潔就是美,線性是人們最容易掌握並能熟練應用的思想方法,一個複雜的系統整體將不能使用線性思想開發,但是分解出的每個階段或細節的開發,確近似於線性,因此線性可能存在於衆多複雜模型之中,比如增量模型實質就是分段的線性模型,螺旋模型則是接連的彎曲了的線性模型,其他模型中也存在線性模型的影子。

3.快速原型模型(Rapid Prototype Model)

  • 簡介:通過原型設計工具,設計出滿足用戶需求的產品模型,準確描述用戶需求,快速修改用戶提出的需求意見,在設計好的需求基礎上進行開發。
  • 特點:需求設計方便、快速,易調整、易修改。
  • 優點:減少由於軟件需求不明確帶來的開發風險

4.增量模型(Incremental Model)

又稱演化模型。與建造大廈相同,軟件也是一步一步建造起來的。在增量模型中,軟件被作爲一系列的增量構件來設計、實現、集成和測試,每一個構件是由多種相互作用的模塊所形成的提供特定功能的代碼片段構成。
在這裏插入圖片描述

  • 簡介:將一個完整的產品分解爲若干功能模塊,按照需求的重要性,分批次上線。
  • 優點:適應變化,降低開發風險,優於瀑布。
  • 缺點
    (1) 由於各個構件是逐漸併入已有的軟件體系結構中的,所以加入構件必須不破壞已構造好的系統部分,這需要軟件具備開放式的體系結構。
    (2)在開發過程中,需求的變化是不可避免的。增量模型的靈活性可以使其適應這種變化的能力大大優於瀑布模型和快速原型模型,但也很容易退化爲邊做邊改模型,從而是軟件過程的控制失去整體性。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章