Chapter 2 資訊系統開發模式 - Ian-Liu-1990/Systems-Analysis-Design GitHub Wiki
1. 瀑布模式
-
定義 : 系統開發必須經歷一個"完整週期",一個週期嚴格的"分成數個階段和其目標",又稱為SDLC
-
週期 : 清楚定義一個週期有哪些階段,只少3階段包括:分析,設計,實施且各階段都必須同時考量"整個專案的所有需求"
-
-
特色 : 開發過程中強調必須要有完整的規劃,分析,設計,測試,階段結束前必須經過確認,完全成功才會進入下一階段作為管理控制的手段
2. 漸增模式
-
定義 : 系統開發的需求被切割成數個子需求,每個部分需求被制訂成一個週期
-
週期 : 清楚定義一個週期有哪些階段,只少3階段包括:分析,設計,實施,每一個週期可依序或平行開發,各階段不必再同時考量"整個專案的所有需求"
-
階段 : 清楚定義那些工作及需交付文件,各階段循序執行,並只可以循環一次
-
-
特色 : 每一個週期獨立依序或同步開發,增加新功能,模組或子系統,子系統不再如同瀑布一樣"需全部同時完成",而是分好幾個週期,每個週期就是一個新版本
3. 雛型模式
演進式策略
- 定義 : 將所有需求看成一個整體,從需求最清楚明確的,技術最成熟的部分。快速經歷一開發週期來完成初版雛型系統,再以初版雛型系統為基礎,與使用者溝通,以修改和擴充需求,再成為下一週期雛形演進之依據,同時需要考量上一週期的需求與新需求,雛型系統不斷演進直到雙方合約結束。
用後丟棄式策略
-
定義 : 要求快速而粗糙的方式建立雛型,促使使用者與之互動來"決定需求項目",或"允許資訊人員藉以解決問題與導入資訊科技"。每次雛型開發的回饋成為資訊人員探索問題與導入科技應用可行性的參考
模式比較
4. 螺旋模式(Spiral Model)
-
定義 :漸增和雛型無法完全解決瀑布模式執行上的問題(需求變動,技術支援,開發時間),強調每個週期結束後的風險評估與規劃,以此為基礎做為下一次週期的模式選擇
-
週期 : 每個週期均包含以下步驟
目標一. 找出系統的目標,可行性之實施方案與限制
- 動機 : 每一週期,不管需求或技術引進都有可能變動,目標與可施行方案與限制都會因週期而異
目標二. 依目標與限制評估方案
- 動機 : 替新的目標與方案找出重要風險,並解決風險
目標三. 由剩下之相關風險決定下一步驟或模式選擇
-
動機 : 依據風險有無解決,風險高低決定下一步驟
- 風險無法解決,預算短缺和時程控制差
風險高低 說明 高 用後丟棄式策略,目的再找到解決方法 低 演進式策略,繼續解決主要風險,若性能佳且夠強韌再採一系列雛型逐步完成該週期 - 風險解決且預算和時程控制差掌握度佳 : 下個週期可再依循瀑布模式或適當地修飾以整合漸增式
5. 同步模式
-
定義 :將每個版本(Release)的系統的多個工作分成數個功能組,交由多個團隊同時開發縮短開發時間,同一個版本的功能組全部開發完成再交由一團隊整合和測試,其他開發團隊再繼續進行下一版本的開發
-
功能組 : 由多個功能集合,基於多個團隊平行開發來縮端開發時程,加速版本更新