軟體發展生命週期 (SDLC) 基礎概念

掌握 軟體發展生命週期 (Software Development Life Cycle) 的核心指南

弘光科技大學智慧科技應用系 助理教授 陳富國

引言

軟體發展生命週期 (Software Development Life Cycle, SDLC) 是一套結構化的流程,指導軟體從概念到上線的開發與維護。本教材介紹 SDLC 的定義、階段、模型,並以 21 點專題的線上遊戲開發為例,展示其應用。適合初學者與開發者,幫助你理解流程並熟悉英文 專業術語 (Terminology)。

一、定義

軟體發展生命週期是一套系統化的方法,用於規劃、開發、測試與部署軟體,確保品質與效率。其核心目的包括:

  • 提供清晰的開發路徑,降低風險。
  • 確保滿足 需求 (Requirements) 與 品質 (Quality) 標準。
  • 促進團隊協作與 專案管理 (Project Management)。

二、主要階段

SDLC 通常包含以下 6 個階段:

  1. 需求分析 (Requirements Analysis):收集與分析使用者的需求,定義功能與範圍。
  2. 系統設計 (System Design):設計軟體架構、介面與資料庫結構。
  3. 開發 (Development):撰寫程式碼,實現設計功能。
  4. 測試 (Testing):驗證軟體是否符合需求,修復 錯誤 (Bugs)。
  5. 部署 (Deployment):將軟體上線,交付使用者。
  6. 維護 (Maintenance):更新與修復,確保長期運作。

三、常見模型

SDLC 有不同模型,適用於各種專案需求:

  • 瀑布模型 (Waterfall Model):
    • 階段依序進行,適合需求穩定的專案。
    • 缺點:缺乏 彈性 (Flexibility)。
  • 敏捷模型 (Agile Model):
    • 分迭代開發,快速適應需求變化。
    • 強調 協作 (Collaboration) 與 反饋 (Feedback)。
  • 迭代模型 (Iterative Model):
    • 逐步完善產品,結合瀑布與敏捷優點。
    • 適合複雜專案。

四、應用於 21 點專題

以開發線上 21 點遊戲為例,SDLC 的應用如下:

  • 需求分析:與玩家訪談,確認遊戲功能(如計分、介面)。
  • 系統設計:設計遊戲邏輯、UI 與資料庫(儲存玩家分數)。
  • 開發:使用 HTML、CSS、JavaScript 撰寫遊戲程式碼。
  • 測試:模擬遊戲,檢查計分錯誤或介面問題。
  • 部署:將遊戲上線至 Vercel,開放玩家使用。
  • 維護:根據玩家反饋新增功能(如排行榜)。

使用 敏捷模型 (Agile Model) 可快速迭代,適應玩家需求變化。