常見的項目生命週期模型有六種,其中迭代、螺旋、原型、敏捷四類最容易混淆,以下我們來逐個展開討論並作出對比。
瀑布模型
強調開發工作(計劃、設計、開發、測試、維護等)各階段之間的先後順序
,不可以並行操作。
迭代模型
與瀑布模型不同,不再強調開發工作的序列化過程,而是將這些過程並行化
,分爲多個階段,每個階段都包含這些工作,只是不同階段,不同的比例。
螺旋模型
每個週期分爲四個階段:制定計劃
、風險分析
、實施工程
、客戶評估
;強調的是產品從小到大,不斷改進,不斷風險分析的過程,特別適合於龐大而複雜的、高風險的系統。
通過不斷地增量發佈,針對每次的原型或者產品不斷的進行風險評估,及時調整方案、需求、設計,以此迭代方式,最終完成產品。
雖然有迭代,但角度與迭代模型不一樣;雖然用原型,但側重點不是用戶需求分析,而是風險分析,風險不僅僅來源於需求。
原型模型
強調產品以用戶爲中心,先開發一個簡單的原型,和用戶進行持續溝通,最終確定需求,並設計出最終的產品。分爲進化型和拋棄型。
敏捷開發模型
強調以人爲核心
,這點和原型化模型很像,但是更強調程序員團隊和業務專家之間的緊密聯繫,頻繁交付新的軟件版本,緊湊的自我組織型團隊,更注重軟件開發中人的作用。
V模型
強調將測試
和開發
同等重要,對於開發階段都有與之對應的測試階段。