傳統(tǒng)軟件過程模型之瀑布模型
瀑布模型 定義與分類
1970年溫斯頓.羅伊斯提出了著名的“瀑布模型”(也稱經(jīng)典生命周期模型),直到80年代早期,它一直是唯一被廣泛采用的軟件開發(fā)模型
瀑布模型將軟件生命周期劃分為制定計劃、需求分析、軟件設計、程序編寫、軟件測試和運行維護等六個基本活動,并且規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落
瀑布模型是最早出現(xiàn)的軟件開發(fā)模型,在軟件工程中占有重要的地位,它提供了軟件開發(fā)的基本框架。其過程是從上一項活動接收該項活動的工作對象作為輸入,利用這一輸入實施該項活動應完成的內(nèi)容給出該項活動的工作成果,并作為輸出傳給下一項活動
從本質(zhì)來講,它是一個軟件開發(fā)架構(gòu),開發(fā)過程是通過一系列階段順序展開的,從系統(tǒng)需求分析開始直到產(chǎn)品發(fā)布和維護,每個階段都會產(chǎn)生循環(huán)反饋,因此,如果有信息未被覆蓋或者發(fā)現(xiàn)了問題,那么最好 “返回”上一個階段并進行適當?shù)男薷?,開發(fā)進程從一個階段“流動”到下一個階段,這也是瀑布開發(fā)名稱的由來
對于經(jīng)常變化的項目而言,瀑布模型毫無價值
V模型(變種)
特點
該階段具有兩重含義
必須等前一階段的工作完成后,才能開始后一階段的工作
前一階段的輸出文檔就是后一階段的輸入文檔,因此只有前一階段的輸出文檔正確, 后一階段的工作才能獲得正確的結(jié)果
對于規(guī)模較大的軟件項目來說,往往編碼開始的越早,最終完成開發(fā)所需時間越長。因為前面階段的工作沒做或做的不扎實,過早地考慮進行程序?qū)崿F(xiàn),往往導致大量返工,有時甚至發(fā)生無法彌補的問題
瀑布模型在編碼之前設置了系統(tǒng)分析與系統(tǒng)設計的各個階段,分析與設計階段的基本任務規(guī)定,在這兩個階段主要考慮目標系統(tǒng)的邏輯模型,不涉及軟件的物理實現(xiàn)
清楚的區(qū)分邏輯設計與物理設計,盡可能推遲程序的物理實現(xiàn),是按照瀑布模型開發(fā)軟件的一條重要的指導思想
瀑布模型是文檔驅(qū)動的模型,遵守這個約束可使軟件維護變得比較容易一些,從而顯著降低軟件預算
優(yōu)點 缺點 適用場合
系統(tǒng)需求明確且穩(wěn)定,技術成熟,工程管理嚴格,如軍工、航天、醫(yī)療
相關ppt可參見