瀑布模型:它將軟件生存周期的各項活動規定為依固定順序連接的若干階段工作,這些工作之間的銜接關系是從上到下、不可逆轉,如同瀑布一樣,因此稱為瀑布模型。
每項開發活動都具有以下特征:
1.以上一項活動方產生的工作對象作為輸入;
2.利用這一輸入,實施本項活動應完成的內容;
3.給出該項活動的工作結果,作為輸出傳給下一項活動;
4.對實施該項活動的工作結果進行評審。若工作得到確認,則繼續進行下一項活動,否則返回前項,甚至更前項的活動進行返工。
瀑布模型的優點:
1.可強迫開發人員采用規范化的方法。
2.嚴格地規定了每個階段必須提交的文檔。
瀑布模型的缺點:
1.由於瀑布模型幾乎完全依賴於書面的規格說明,很可能導致最終開發出的軟件產品不能真正滿足用戶的需要。
2.瀑布模型只適用於項目開始時需求已確定的情況。
總的來說,瀑布模型是一種應付需求變化能力較弱的開發模型。
快速還原模型(演化模型):快速還原模型的第一步是建造一個快速原型,通過對原型的評價,進一步細化待開發軟件的需求,由此通過逐步調整原型而進一步滿足客戶的要求。
快速原型模型的優點:快速原型方法可以克服瀑布模型的缺點,減少由於軟件需求不明確帶來的開發風險。快速原型模型的關鍵在於盡可能快速的建造出原型,一旦確定了客戶的真正需求,所建造的原型將被丟棄。
螺旋模型:
螺旋模型沿着螺線進行若干次迭代,四個象限分別代表以下活動:
1、制定計划
2、風險分析
3、實施工程
4、客戶評估
螺旋模型的限制條件:螺旋模型強調風險分析,但要求許多客戶接受和相信這種分析,這種模型往往適應於大規模軟件開發
噴泉模型:噴泉模型與傳統模型比較,具有更多的增量和迭代性質,生存期的各個階段可以相互重疊和多次反復,而且在項目的整個生存期中還可以嵌入子生存期。