瀑布模型
在20世紀80年代之前,瀑布模型一直是唯一被廣泛采用的生命周期模型。
傳統的瀑布模型如圖所示
特點
階段間具有順序性和依賴性。
其中包含兩重含義:
① 必須等前一階段的工作完成之后,才能開始后一階段的工作;
② 前一階段的輸出文檔就是后一階段的輸入文檔。
推遲實現的觀點:
① 瀑布模型在編碼之前設置了系統分析和系統設計的各個階段,分析與設計階段的基本任務規定,在這兩個階段主要考慮目標系統的邏輯模型,不涉及軟件的物理實現。
② 清楚地區分邏輯設計與物理設計,盡可能推遲程序的物理實現,是按照瀑布模型開發軟件的一條重要的指導思想。
質量保證的觀點
① 每個階段都必須完成規定的文檔,沒有交出合格的文檔就是沒有完成該階段的任務。
② 每個階段結束前都要對所完成的文檔進行評審,以便盡早發現問題,改正錯誤。
優點
可強迫開發人員采用規范化的方法。
嚴格地規定了每個階段必須提交的文檔。
要求每個階段交出的所有產品都必須是經過驗證的。
缺點
由於瀑布模型幾乎完全依賴於書面的規格說明,很可能導致最終開發出的軟件產品不能真正滿足用戶的需要。
如果需求規格說明與用戶需求之間有差異,就會發生這種情況。
瀑布模型只適用於項目開始時需求已確定的情況。