SDLC - 瀑布模型



瀑布模型是一個經典的 SDLC 模型,它廣為人知、易於理解且常用。它由 Royce 於 1970 年提出,至今仍被作為軟體開發的常用方法,在業界各種組織中被廣泛採用。

在瀑布模型中,每個生命週期階段只有在之前的生命週期階段完成後才能開始。因此,它是一個沒有反饋迴圈的線性模型。

Waterfall Lifecycle

瀑布模型 – 優點

瀑布模型的優點如下:

  • 易於理解,易於使用。
  • 為缺乏經驗的開發團隊提供結構。
  • 里程碑易於理解。
  • 設定需求穩定性。
  • 非常適合管理控制(計劃、監控、報告)。
  • 當質量比成本或進度更重要時,它非常有效。

瀑布模型 – 缺點

瀑布模型的缺點或不足之處如下:

  • 理想化 - 它與現實並不完全匹配。

  • 不切實際 - 無法期望在專案早期獲得準確的需求。

  • 沒有反映探索性開發的迭代性質,而探索性開發更為常見。

  • 難以且成本高昂地進行更改。

  • 軟體僅在專案結束時交付。因此 -

    • 延遲發現嚴重缺陷。

    • 可能交付過時的需求。

  • 管理開銷很大,對於小型團隊和專案來說可能成本很高。

  • 每個階段都需要經驗豐富的資源 - 分析師、設計師、開發人員、測試人員。

  • 測試僅在開發完成後開始,測試人員不參與任何早期階段。

  • 跨職能團隊的專業知識未得到共享,因為每個階段都是獨立執行的。

何時使用瀑布模型?

如果您滿足以下條件,可以使用瀑布模型:

  • 需求非常明確。

  • 產品定義穩定。

  • 技術充分理解。

  • 現有產品的更新版本。

  • 將現有產品移植到新平臺。

  • 大型組織,擁有結構化的跨職能團隊。

  • 組織內部以及與客戶之間的溝通渠道已建立。

演化原型模型

在使用演化原型模型進行軟體開發時,開發人員在需求階段構建原型。然後,終端使用者評估原型並提供反饋。反饋可以是原型更正或附加功能。根據反饋,開發人員進一步完善原型。

因此,產品透過原型→反饋→改進原型迴圈演化,因此得名演化原型。當用戶對產品的功能和工作方式感到滿意時,原型程式碼將提升至最終產品交付所需的標準。

Final Product Delivery

演化原型模型 – 優點

演化原型模型的優點或優勢如下:

  • 客戶/終端使用者可以透過檢視原型來直觀地瞭解系統需求。

  • 開發人員從客戶那裡學習,因此在領域或生產環境方面沒有歧義。

  • 允許靈活的設計和開發。

  • 與原型的互動激發了對額外所需功能的認識。

  • 意外需求和需求變更很容易適應。

  • 產生穩定且可見的進度跡象。

  • 交付準確且可維護的最終產品。

演化原型模型 – 缺點

演化原型模型的缺點或不足之處如下:

  • 傾向於在程式碼和修復開發中放棄結構化開發,儘管這並非模型規定的內容。

  • 該模型因其快速且簡便的方法而聲譽不佳。

  • 整體可維護性可能會被忽略。

  • 客戶可能會要求將原型作為最終產品交付,而沒有給開發人員機會執行最後一步,即最終產品的標準化。

  • 專案可能會無限期地持續(隨著範圍蔓延),管理層可能不會對此表示讚賞。

何時使用演化原型模型?

您可以使用演化原型模型 -

  • 當需求不穩定或需要澄清時
  • 作為瀑布模型的需求澄清階段
  • 開發使用者介面
  • 用於短期演示
  • 用於新的或原始開發
  • 用於實施新技術
廣告