瀑布模型
瀑布模型是應用廣泛的一種軟件開發模型,易於理解和掌握。 瀑布模型是將軟件生命周期的各項活動規定為按照固定順序相連的若干階段性工作,形如瀑布流水,最終得到軟件產品。因形如瀑布,故此得名。該模型比較適用於需求穩定並易於准確理解的軟件項目開發。
瀑布模型把軟件開發過程划分成若干階段,每個階段的任務相對獨立,便於不同人員分工協作,從而降低了整個軟件開發工程的困難程度。在軟件生存期的每個階段都采用科學的管理技術和良好的方法與技術,而且每個階段結束之前,都從技術和管理兩個角度進行嚴格的審查,經確認之后才開始下一階段的工作。---- 項目是按照一定的順序執行。
瀑布模型是文檔驅動的,各個階段不連續也不交叉。
特點:
(1)階段間具有順序性和依賴性。
(2)推遲程序的物理實現。
(3)質量保證:每個階段必須完成規定的文檔;每個階段結束前完成文檔審查,及早改正錯誤。
(4)易於組織,易於管理:因為你可以預先完成所有計划。
(5)是一種嚴格線性的、按階段順序的、逐步細化的過程模型(開發模式)
適用場合:
(1)有一個穩定的產品定義和很容易被理解的技術解決方案時,純瀑布模型特別合適。
(2)當你對一個定義得很好的版本進行維護或將一個產品移植到一個新的平台上,瀑布模型也特別合適。
(3)對於那些容易理解但很復雜的項目,采用純瀑布模型比較合適,因為可以用順序方法處理問題。
(4)在質量需求高於成本需求和進度需求的時候,它尤為出色。
(5)當開發隊伍的技術力量比較弱或者缺乏經驗時,瀑布模型更為適合。
優點:
瀑布模型的優點:易於理解、開發具有階段性、強調早期的計划及需求分析、基本可確定何時交付產品及進行測試。
缺點:
(1)需求調查分析只在最初進行,不能適應需求的新變化;
(2)順序開發流程使開發經驗教訓不便進行前向反饋;
(3)不能反映出開發過程的反復性和迭代特性,無任何類型的風險評估,出現或隱藏的問題直到開發后期才會顯露,失去了及早糾正錯誤或缺陷機會。