4 瀑布模型總結

1 瀑布模型怎麼來的?

(1)所謂軟件危機

瀑布模型算是現代軟件工程的起源,軟件工程的發展,很大部分都是構建於瀑布模型的基礎之上的。在校期間做的項目相對簡單,通常不會涉及到諸如性能測試等,通常爲邊寫邊改,但是一旦

項目變複雜,開發人員水平參差不齊,從而導致軟件開發與維護過程中出現一系列嚴重問題,這個現象也被稱之爲“軟件危機”。

(2)邊寫邊改的缺點

  • 開發的過程不可控
  • 項目的人數多了以後,不方便協作分工
  • 對需求分析的理解誤差,導致返工,從而影響項目交付
  • 沒有有效的測試,上線問題一堆

(3)瀑布模型的誕生

  1970 年,Winston Royce 博士借鑑了其他工程領域的思想,比如建築工程,提出了瀑布開發模型,指出軟件開發應有完整之週期,並將軟件開發過程分成了若干階段。像瀑布一樣,從上往下,完成一個階段繼續下一個階段

 

 

 2 瀑布模型案例

按照一個我曾經畢業設計的案例

(1) 項目的定義和規劃

  畢業設計是做一個c++的網絡嗅探器,所用庫爲libpcap,可行性沒問題,老師大概給我說了下需要做哪些功能,然後說兩個月完成吧。啊,你怕是在開玩笑,當時讀本科一天天都是在摸魚。。初步定下時間吧

       需求分析——1 周;
  軟件設計——1周;
  程序編碼——4 周;
  軟件測試——1周。

的確如此,軟件測試在當時開來就是功能測試,實現功能就完事,哎!!!

(2) 需求分析階段

  通過查看論文文獻,使用viso畫了一個項目的結構圖,然後去和老師討論,然後加了一些需求,並需要形成文檔,然後再和老師談論,最終確定了需求的文檔,現在的時間變成這個樣子。

       需求分析——2周;
  軟件設計——1周;
  程序編碼——3 周;
  軟件測試——1周。

       需求階段多花了一週時間,這樣子程序的編碼就被壓縮了一週,因爲需要在規定的時間儘量完成任務嘛,畢業要緊!!

(3) 軟件的設計

  這個時候,老師就對應公司裏面的架構師角色,畫了一個圖說明採用什麼架構,用什麼來界面展示,數據庫採用什麼。差不多就確定了,但是我寫了差不多一週代碼後,老師問我進展,需要我加上一些數據包統計功能等

這樣子前前後後,軟件的設計花了兩週的時間。

     需求分析——2周;
  軟件設計——2周;
  程序編碼——2 周;
  軟件測試——1周。

(4)編碼

  有了文檔,開始編碼,時間壓縮了很多,加班呀,使勁加班!!但是身體受不了,只好問老師能不能往後延遲兩週,編碼,調試,有時候老師還要加功能,前前後後差不多花了4周時間。這樣子相當於項目延期2周。

  需求分析——2周;
  軟件設計——2周;
  程序編碼——4周;
  軟件測試——1周。

(5)測試

  前期需求多了一週,軟件設計多花了一週,在既定的時間裏,只能壓縮編碼和測試的時間,加班!!

綜上可知,這樣子分層的思想,的確可以在每一步的實施上面可以效率比較高,這種編碼前先設計、編碼後測試、整個過程重視文檔的方式,開發出來的產品,質量相對是有保障的。但是一旦前面某個環節出了問題,返工的操作不是延期就是壓縮編碼測試的時間。從而成了9116.。。。。。

3 瀑布模型的優缺點

  最大的問題就是不能及時響應需求變更,越到後期變更代價越大

優點

  • 簡單易行
  • 可以進行階段檢查,能夠及時發現問題
  • 較好的分工協作,不同階段不同職位,架構師,項目經理,開發工程師,測試工程師,運維工程師
  • 對質量有一定的保障,因爲每個階段有詳細的文檔

缺點

  • 難以響應需求的變更
  • 工作量分配不均勻
  • 前期階段受阻壓縮後期進展

4 總結

  瀑布模型的出現,也解決了軟件項目開發中的幾個重要問題。進行了模塊劃分,各個階段負責各個階段的內容,所謂分工明確。質量有了保證,每個階段都有相應的文檔評審,可以幫助大家少走彎路,提高工作效率。

發佈了34 篇原創文章 · 獲贊 65 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章