SDLC - 瀑布模型



瀑布模型是第一個被引入的流程模型。它也被稱為線性順序生命週期模型。它非常容易理解和使用。在瀑布模型中,每個階段必須在下一個階段開始之前完成,階段之間沒有重疊。

瀑布模型是最早用於軟體開發的 SDLC 方法。

瀑布模型以線性順序流的方式展示了軟體開發過程。這意味著開發過程中的任何階段只有在上一階段完成後才能開始。在這個瀑布模型中,各個階段不重疊。

瀑布模型 - 設計

瀑布方法是最早廣泛應用於軟體工程的 SDLC 模型,以確保專案的成功。“瀑布”方法將整個軟體開發過程劃分為不同的階段。在這個瀑布模型中,通常一個階段的輸出作為下一個階段的輸入,依次進行。

下圖是瀑布模型各個階段的表示。

SDLC Waterfall Model

瀑布模型中的順序階段如下:

  • 需求收集和分析 - 在此階段捕獲要開發的系統的所有可能需求,並在需求規格說明書中記錄。

  • 系統設計 - 此階段研究第一階段的需求規格說明,並準備系統設計。此係統設計有助於指定硬體和系統需求,並有助於定義整體系統架構。

  • 實現 - 根據系統設計輸入,系統首先開發成稱為單元的小程式,這些小程式在下一階段整合。每個單元都經過開發和功能測試,稱為單元測試。

  • 整合和測試 - 在對每個單元進行測試後,將實現階段開發的所有單元整合到系統中。整合後,對整個系統進行任何故障和錯誤的測試。

  • 系統部署 - 完成功能和非功能測試後,產品將部署到客戶環境或投放市場。

  • 維護 - 客戶環境中出現了一些問題。為了解決這些問題,會發布補丁。同樣,為了增強產品,會發布一些更好的版本。維護是為了在客戶環境中交付這些更改。

所有這些階段都相互級聯,進展情況像瀑布一樣穩定地向下流經各個階段。只有在先前階段的既定目標實現並簽字後,才開始下一個階段,因此得名“瀑布模型”。在這個模型中,各個階段不重疊。

瀑布模型 - 應用

每個開發的軟體都不同,需要根據內部和外部因素選擇合適的 SDLC 方法。瀑布模型最適合使用的一些情況是:

  • 需求非常充分地記錄在案,清晰且固定。

  • 產品定義穩定。

  • 技術已瞭解且不動態。

  • 沒有含糊不清的需求。

  • 有充足的具備所需專業知識的資源來支援產品。

  • 專案時間短。

瀑布模型 - 優點

瀑布開發的優點在於它允許部門化和控制。可以設定一個帶有每個開發階段截止日期的日程安排,並且產品可以一個接一個地透過開發過程模型階段。

開發從概念、設計、實現、測試、安裝、故障排除,最終到執行和維護。每個開發階段都嚴格按順序進行。

瀑布模型的一些主要優點如下:

  • 簡單易懂且易於使用

  • 由於模型的嚴格性,易於管理。每個階段都有具體的交付成果和審查流程。

  • 各個階段逐一處理和完成。

  • 適用於需求非常清晰的小型專案。

  • 階段定義明確。

  • 里程碑清晰易懂。

  • 易於安排任務。

  • 過程和結果有據可查。

瀑布模型 - 缺點

瀑布開發的缺點是它不允許進行太多反思或修改。一旦應用程式進入測試階段,就很難返回並更改在概念階段沒有充分記錄或考慮的內容。

瀑布模型的主要缺點如下:

  • 直到生命週期後期才產生可執行的軟體。

  • 風險和不確定性很高。

  • 不適合複雜的和麵向物件的專案。

  • 不適合長期和持續的專案。

  • 不適合需求存在中等或高風險變化的專案。因此,此流程模型的風險和不確定性很高。

  • 難以衡量各階段的進度。

  • 無法適應變化的需求。

  • 在生命週期中調整範圍可能會終止專案。

  • 整合是在最後階段作為“大爆炸”完成的,這使得無法儘早識別任何技術或業務瓶頸或挑戰。

廣告