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