適用范圍:系統需求明確,技術成熟、工程管理較為嚴格的場合。
由Winston Royce在1970年最早提出的軟件開發模型。軟件開發過程與軟件生命周期是一致的,也稱經典的生命周期模型。
規定了各項軟件工程活動,以及它們自上而下,互相銜接的固定次序,如同瀑布流水逐級下落。
是一種使用廣泛,以文檔為驅動的模型。
特點:
1,階段間具有順序性和依賴性。
2,推遲實現的觀點。
3,每個階段必須完成規定的文檔,每個階段結束前完成文檔審查,及早改正錯誤。
主要問題:線性過程太過理想化
1,各個階段的划分完全固定,階段之間產生大量的文檔,極大地增加了工作量。
2,由於開發模型是線性的,用戶只有等到整個過程的末期才能見到開發成果,從而增加了開發的風險。
3,早期的錯誤可能要等到開發后期測試階段才能發現,進而帶來了嚴重的后果。