瀑布模型:將軟件生存周期的各項活動規定為按固定順序而連接的若干階段工作,形如瀑布流水,最終得到軟件產品。其過程是將上一項活動的輸出作為該項活動的輸入,利用這一輸入實施該項活動應完成的內容,然后對當前活動的工作結果進行驗證,如果驗證通過,則該結果作為下一項活動的輸入,繼續進行下一項活動,否則返回修改。
傳統的瀑布模型
瀑布模型的優點(參考百度百科):
1)為項目提供了按階段划分的檢查瀑布模型查點。
2)當前一階段完成后,只需要去關注后續階段。
3)可在迭代模型中應用瀑布模型。
4)它提供了一個模板,這個模板使得分析、設計、編碼、測試和支持的方法可以在該模板下有一個共同的指導。
瀑布模型的缺點:
1)各個階段的划分完全固定,階段之間產生大量的文檔,極大地增加了工作量。
2)由於開發模型是線性的,用戶只有等到整個過程的末期才能見到開發成果,從而增加了開發風險。
3)通過過多的強制完成日期和里程碑來跟蹤各個項目階段。
4)瀑布模型的突出缺點是不適應用戶需求的變化。
5)早期的錯誤可能要等到開發后期的測試階段才能發現,進而帶來嚴重的后果。
傳統的瀑布模型過於理想化,早期的錯誤只有等到開發后期才能發現,進而帶來嚴重的后果。為盡早發現錯誤,在瀑布模型中加入迭代過程。當后面階段發現前面階段的錯誤時,需要沿圖中左側的反饋線返回前面的階段,修正前面階段的產品之后再回來繼續完成后面階段的任務。
加入迭代過程的瀑布模型