瀑布式開發模型分爲若干階段:需求分析、系統設計、編碼和單元測試、系統集成,以 及運行和維護等幾個基本階段。架構
瀑布模型作了 4 個主要假設: 若是咱們花時間來理解的話,存在着一套定義至關明確的需求 在開發過程當中,需求的變化很是小,使咱們可以應付惠集網,而不用從新構思或者修改咱們的 計劃 系統集成是一個適當且必要的過程,咱們可以在架構和計劃的基礎上合理地預測系統集 成的運行狀況 建立一個大型的新軟件應用程序所須要的軟件創新和研發工做,是能夠按照預先制定的 時間表進行的 可是,很遺憾,現實狀況代表這 4 個假設都是錯誤的,很難站得住腳的。 假設 1,已經在 B 項目中被證明是不存在的了。即便是在最擅長的行業領域,客戶想法 的變化,獨特化,都是沒有辦法保證需求是能夠一會兒就全面到位的。 假設 2,肯定需求和交付系統之間的時間間隔越長,變化也就越多。若是開發速度很慢 而變化發生的太快,那狀況就很糟了。 假設 3,系統集成會順利進行?別開玩笑了,這個假設的前提是,只要進行適當的計劃 和分析,咱們就能夠預測複雜系統那個的全部組件系統工做的狀況。現實狀況,告訴咱們, 前期全部的分析,既不能預知也不能控制系統集成的過程。問題過於複雜,變化不斷髮生的淘寶網女裝夏裝; 項目進行期間技術不斷革新;關於集成的假設都是錯誤的,而且發現錯誤時已經爲時太晚。 假設 4,計劃實際上是一種預測,只能反映預測的精確程度,但並不見得可以反映實際情 況,尤爲是超大的計劃。超出 4 周,就基本上是胡說了,變化太快。 其實,不是瀑布式模型概念錯誤了,而是從瀑布式模式被提出到如今這 30 多年來,我 們都錯誤的理解瀑布式模型。其實,瀑布式模型的應用是有前提條件的。Royce 在 1970 年 發表的《管理大型軟件系統的開發》中,提到:這個模型建議在關鍵的原型階段以後應用, 在原型階段首先要充分的理解所要應用的關鍵技術以及客戶的實際需求。 瀑布式開發模式想得很美好,可是,在殘酷的現實面前祛痘產品哪一個好,卻由於缺少靈活性,適應性不 佳而漸漸被放棄。單元測試
與此同時,業界不斷探尋適合軟件項目的開發模式,其中,敏捷軟件開發 模式愈來愈獲得你們的關注和採用。接下來,讓咱們看看有何不一樣。
測試