軟體開發模型之瀑布模型

2022-06-01 04:21:09 字數 1014 閱讀 5662

軟體開發模型(software development model)是指軟體開發全部過程、活動和任務的結構框架。軟體開發包括需求、設計、編碼和測試等階段,有時也包括維護階段。 軟體開發模型能清晰、直觀地表達軟體開發全過程,明確規定了要完成的主要活動和任務,用來作為軟體專案工作的基礎。對於不同的軟體系統,可以採用不同的開發方法、使用不同的程式語言以及各種不同技能的人員參與工作、運用不同的管理方法和手段等,以及允許採用不同的軟體工具和不同的軟體工程環境

2023年winston royce提出了著名的"瀑布模型",直到80年代早期,它一直是唯一被廣泛採用的軟體開發模型。

瀑布模型

瀑布模型

瀑布模型將軟體生命週期劃分為制定計畫、需求分析、軟體設計、程式編寫、軟體測試和執行維護等六個基本活動,並且規定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。

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

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

(1) 各個階段的劃分完全固定,階段之間產生大量的文件,極大地增加了工作量;

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

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

我們應該認識到,"線性"是人們最容易掌握並能熟練應用的思想方法。當人們碰到乙個複雜的"非線性"問題時,總是千方百計地將其分解或轉化為一系列簡單的線性問題,然後逐個解決。乙個軟體系統的整體可能是複雜的,而單個子程式總是簡單的,可以用線性的方式來實現,否則幹活就太累了。線性是一種簡潔,簡潔就是美。當我們領會了線性的精神,就不要再呆板地套用線性模型的外表,而應該用活它。例如增量模型實質就是分段的線性模型,螺旋模型則是接連的彎曲了的線性模型,在其它模型中也能夠找到線性模型的影子。

軟體開發模型之瀑布模型

軟體開發模型 software development model 是指軟體開發全部過程 活動和任務的結構框架。軟體開發包括需求 設計 編碼和測試等階段,有時也包括維護階段。瀑布模型 該模型給出了固定的順序,將生存期活動從上乙個階段向下乙個階段逐級過渡,如同流水下瀉,最終得到所開發的軟體產品,投入使...

軟體開發模型之瀑布模型

1970年winston royce提出了著名的 瀑布模型 直到80年代早期,它一直是唯一被廣泛採用的軟體開發模型。瀑布模型將軟體生命週期劃分為制定計畫 需求分析 軟體設計 程式編寫 軟體測試和執行維護等六個基本活動,並且規定了它們自上而下 相互銜接的固定次序,如同瀑布流水,逐級下落。在瀑布模型中,...

開發模型 瀑布模型

1 是線性模型的一種,在所有模型中占有重要的位置,是其他模型的乙個基礎。2 每乙個階段執行一次,按線性順序進行軟體開發。測試切入點 測試階段屬於軟體後期階段,必須在 完成時留出足夠的時間給測試活動,否則導致測試不充分,很多問題在後期暴漏。瀑布模型優點 1 開發各個階段比較清晰 2 強調早期計畫及需求...