軟件開發瀑布模型


定義

瀑布模型是將軟件生存周期的各項活動規定為按固定順序而連接的若干階段工作,形如瀑布流水,最終得到軟件產品。

1970年溫斯頓·羅伊斯(Winston Royce)提出了著名的瀑布模型,直到80年代早期,它一直是唯一被廣泛采用的軟件開發模型

核心思想

瀑布模型核心思想是按工序將問題化簡,將功能的實現與設計分開,便於分工協作,即采用結構化的分析與設計方法將邏輯實現與物理實現分開。將軟件生命周期划分為制定計划、需求分析軟件設計、程序編寫、軟件測試和運行維護等六個基本活動,並且規定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。

重要地位

瀑布模型是最早出現的軟件開發模型,在軟件工程中占有重要的

瀑布模型

地位,它提供了軟件開發的基本框架。其過程是從上一項活動接收該項活動的工作對象作為輸入,利用這一輸入實施該項活動應完成的內容給出該項活動的工作成果,並作為輸出傳給下一項活動。同時評審該項活動的實施,若確認,則繼續下一項活動;否則返回前面,甚至更前面的活動。對於經常變化的項目而言,瀑布模型毫無價值。

模型優缺點

瀑布模型有以下優點

1)為項目提供了按階段划分的檢

瀑布模型

查點。

2)當前一階段完成后,您只需要去關注后續階段。

3)可在迭代模型中應用瀑布模型。

增量迭代應用於瀑布模型。迭代1解決最大的問題。每次迭代產生一個可運行的版本,同時增加更多的功能。每次迭代必須經過質量和集成測試

4)它提供了一個模板,這個模板使得分析、設計、編碼、測試和支持的方法可以在該模板下有一個共同的指導。

 

(官方)瀑布模型有以下缺點

1)各個階段的划分完全固定,階段之間產生大量的文檔,極大地增加了工作量。

2)由於開發模型是線性的,用戶只有等到整個過程的末期才能見到開發成果,從而增加了開發風險。

3)通過過多的強制完成日期和里程碑來跟蹤各個項目階段。

4)瀑布模型的突出缺點是不適應用戶需求的變化。

模型客戶需求

盡管瀑布模型招致了很多批評,但是它對很多類型的項目而言依然是有效的,如果正確使用,可以節省大量的時間和金錢。對於您的項目而言,是否使用這一模型主要取決於您是否能理解客戶的需求以及在項目的進程中這些需求的變化程度,對於經常變化的項目而言,瀑布模型毫無價值,對於這種情況,您可以考慮其他的架構來進行項目管理,比如名為螺旋模型spiral model)的方法。

在瀑布模型中,軟件開發的各項活動嚴格按照線性方式進行,當前活動接受上一項活動的工作結果,實施完成所需的工作內容。當前活動的工作結果需要進行驗證,如果驗證通過,則該結果作為下一項活動的輸入,繼續進行下一項活動,否則返回修改。

瀑布模型強調文檔的作用,並要求每個階段都要仔細驗證。但是,這種模型的線性過程太理想化,已不再適合現代的軟件開發模式,幾乎被業界拋棄,其主要問題在於:

1) 各個階段的划分完全固定,階段之間產生大量的文檔,極大地增加了工作量。

2) 由於開發模型是線性的,用戶只有等到整個過程的末期才能見到開發成果,從而增加了開發的風險。

3) 早期的錯誤可能要等到開發后期的測試階段才能發現,進而帶來嚴重的后果。

按照瀑布模型的階段划分,軟件測試可以分為單元測試集成測試系統測試

 

 

 

(俗語)需求分析:把用戶的需求以及界面所使用的功能展示出來

 用戶要怎么用顯示出來

 

概要設計:總體設計   接口設計    數據結構設計   運行設計   出錯設計

大致的設計展示出來

 

詳細設計:各個軟件模塊詳細的划分 功能概述  界面概述 類設計  關系邏輯與算法說明    訪問的表或其他數據庫實體  調用外部接口說明  提供調用接口說明  模塊內部使用的公用函數/包等的說明

 

 

 

軟件開發瀑布模型

 

需求規格說明書

概要設計說明書

詳細設計說明書

測試計划說明書


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM