Ch03
- 1. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
ISBN 957-729-552-5
第三章 軟體開發模式
智勝文化事業有限公司製作
- 2. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
本章大綱
ISBN 957-729-552-5
3.1 導論
3.2 瀑布模式
3.3 雛型法
3.4 漸進模式
3.5 演化雛型模式
3.6 螺旋模式
3.7 同步模式
3.8 軟體開發程序模式
3.9 結論
智勝文化事業有限公司製作
- 3. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
學習目標 (1/2)
ISBN 957-729-552-5
軟體生命週期模式與程序模式
軟體生命週期模式的運作方法及管理意義,包括:
瀑布模式
雛型法
漸進模式
演化雛型模式
螺旋模式
同步模式
智勝文化事業有限公司製作
- 4. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
學習目標 (2/2)
ISBN 957-729-552-5
軟體生命週期模式的選擇策略
程序模式的運作方法及管理意義,包括:
開發程序模式
反覆定義與改善程序模式
連續改善程序模式
智勝文化事業有限公司製作
- 5. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
導論 (1/4)
ISBN 957-729-552-5
軟體開發模式描述軟體開發一系列的步驟或階段。
軟體開發模式可分為生命週期模式 (Life Cycle Models)
和程序模式 (Process Models) 。
生命週期模式
將軟體開發的階段及各階段的關係以概念性的模式
表示。
隱含著開發程序的時間順序。
瀑布模式、雛型法、漸進模式、演化雛型模式、螺
旋模式和同步模式,每一種方法代表一種系統開發
的策略。
智勝文化事業有限公司製作
- 6. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
導論 (2/4)
ISBN 957-729-552-5
程序模式
為了某一特定目的而設計一系列的活動。
程序模式範例
– 軟體開發程序
– 品質改善程序
– 專案管理程序
– 顧客導向程序
– 需求程序
– 維護程序
– 同步程序
– 演化程序
智勝文化事業有限公司製作
- 7. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
導論 (3/4)
ISBN 957-729-552-5
生命週期模式的最終結果是軟體系統﹔程序模式的最終
結果則是某一管理目標。
註:生命週期模式也可視為程序模式的一種,當程序
模式所指為開發程序時,兩者所表示的是相同的概
念。但也有學者將兩名詞互用。
智勝文化事業有限公司製作
- 8. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
導論 (4/4)
ISBN 957-729-552-5
軟體專案依循某一開發模式有多方面的優點:
統一的名詞及概念有助於溝通、規劃及管理。
有利於標準、規範與政策的建立及推行。
可提供評估、檢核及里程碑的參考時點。
簡要描繪重要的功能、活動及特性。
開發過程更結構化、更容易管理。
提供一個不斷改善的基礎。
智勝文化事業有限公司製作
- 9. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
瀑布模式 (1/3)
ISBN 957-729-552-5
瀑布模式
瀑布模式是基於下列的構想而設計:
– 軟體開發應依照一序列的階段進行。
– 一個階段的產出必須經過驗證或確認才能視為
完成。
– 任何更改、錯誤或爭議都必須回溯到前面相關
的階段加以修正。
– 若發現錯誤或新需求時,必須回溯到前面的相
關階段。
智勝文化事業有限公司製作
- 10. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.1 瀑布模式
ISBN 957-729-552-5
智勝文化事業有限公司製作
- 11. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
瀑布模式 (2/3)
ISBN 957-729-552-5
瀑布模式的管理意義
它鼓勵依生命週期階段來進行規劃。每一階段的結
束正好成為管理控制的里程碑。
每一階段的產出都必須經過確認、驗證或測試。
– 確認是用來檢驗產出是否符合顧客的需求,以
真實世界的問題為檢驗的對象。
– 驗證 是檢驗系統是否依規格正確地執行。
從事前階段工作的人,有責任將正確、完整、可行
且容易瞭解的產出移交給下一階段的人員。
開發的程序變得更結構化且更容易管理。
智勝文化事業有限公司製作
- 12. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
瀑布模式 (3/3)
ISBN 957-729-552-5
瀑布模式的缺點
必須到了最後階段才能看到可執行的軟體系統,風
險太高。
過於複雜與費時。
若需求不明確,而每一階段又要求非常結構化、嚴
謹、完整的開發方法,將使得開發時程拉得很長。
智勝文化事業有限公司製作
- 13. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
雛型法 (1/9)
ISBN 957-729-552-5
雛型法
雛型法主要是基於下列的構想而設計的:
– 需求變更無可避免。
– 一個可看得到、可操作的雛型是開發者與使用
者溝通的良好工具。
– 雛型的建造及修改應該要非常快速,以因應顧
客的要求。
– 提高使用者參與的意願,進而提高顧客滿意
度。
智勝文化事業有限公司製作
- 14. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
雛型法 (2/9)
ISBN 957-729-552-5
雛型法的層次
Cherveny 等人 (1986) 提出了以下之架構:
– 第一階雛型:又稱輸入/輸出設計,它只產生
輸入/輸出的螢幕及列印的報表。
– 第二階雛型:包含使用介面及系統功能,經由
第四代語言及關聯式資料庫快速地設計一個可
執行的系統。
– 第三階雛型:發展一個適應環境的雛型,這種
策略將系統永遠當作一個雛型,以因應外在環
境的變動。
智勝文化事業有限公司製作
- 15. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.2 需求分析雛型
ISBN 957-729-552-5
智勝文化事業有限公司製作
- 16. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
雛型法 (3/9)
ISBN 957-729-552-5
需求分析雛型依下列步驟進行:
快速地分析使用需求,並建立雛型。此雛型包括使
用介面和互動的功能,讓使用者可以操作並試驗。
蒐集試驗後的意見和需求的更改,並依此修改雛
型。此循環重複數次直到滿意或可接受的程度為
止。
將需求凍結並捨去雛型,再依傳統的瀑布模式進行
設計、編碼、測試和操作維護。
智勝文化事業有限公司製作
- 17. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
雛型法 (4/9)
ISBN 957-729-552-5
分析與設計雛型
在建造雛型之前先做詳細的需求分析與初步設計,
此法可降低重大需求變更和雛型修改的次數。
雛型經使用者的試驗和修改後,接下來的細部設
計、編碼、測試和操作維護,與瀑布模式的作法一
樣。
雛型系統的架構和主要功能模組都加以保留,經修
改後成為最終的產品。
智勝文化事業有限公司製作
- 18. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.3 分析與設計雛型
ISBN 957-729-552-5
智勝文化事業有限公司製作
- 19. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
雛型法 (5/9)
ISBN 957-729-552-5
子系統雛型
需求分析和初步設計依照傳統的瀑布模式進行。
初步設計時將系統分為數個子系統。
針對每一個子系統建立一個雛型。
子系統都完成後,便可進行整合。
各子系統雛型不予拋棄,而是演化為最終的產品。
智勝文化事業有限公司製作
- 20. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.4 子系統雛型
ISBN 957-729-552-5
智勝文化事業有限公司製作
- 21. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
雛型法 (6/9)
ISBN 957-729-552-5
整體系統雛型
經需求分析、設計、編碼、測試等階段建造一個可
運作但並不完美的雛型系統,這個快速發展的系統
經使用者的操作與試驗,得以發掘更完整的需求,
系統也漸趨完整而成熟。
智勝文化事業有限公司製作
- 22. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.5 整體系統雛型
ISBN 957-729-552-5
智勝文化事業有限公司製作
- 23. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
雛型法 (7/9)
ISBN 957-729-552-5
選擇策略
雛 型 法 可 以 和 傳 統 的 瀑 布 模 式 混 合 或 獨 自 運
作 , Burns 與 Dennis(1985) 提 出 了 一 個 二 維 的 架
構,將專案依不確定性與複雜性兩個維度來區分選
擇的策略。
Louadi 等人 (1991) 合併 Burns 與 Dennis 的架構
及 Chrveny 的 三 階 層 分 類 , 提 出 了 權 變
(Contingency) 架構。
智勝文化事業有限公司製作
- 24. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.6 開發策略與專案特
ISBN 957-729-552-5 性
智勝文化事業有限公司製作
- 25. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.7 系統開發策略的權
ISBN 957-729-552-5 變架構
智勝文化事業有限公司製作
- 26. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
雛型法 (8/9)
ISBN 957-729-552-5
雛型法的優點
雛型法可增進使用者參與。
可看得到、可操作的雛型成為開發者與使用者溝通
的基礎。
需求分析的時間及成本可以降低。
系統的正確性提高。
智勝文化事業有限公司製作
- 27. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
雛型法 (9/9)
ISBN 957-729-552-5
雛型法的缺點
由於溝通較複雜、專案開發較動態,因此,專案管
理及控制也較為困難。
較難建造大型系統的雛型。
缺乏深入的分析及開發的工具,因此系統的效率較
差。
智勝文化事業有限公司製作
- 28. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
漸進模式 (1/2)
ISBN 957-729-552-5
漸進模式 (Incremental Model)
漸進模式是基於下列的構想而設計:
– 將一個軟體系統分割成數個子系統,每個子系
統執行一部分功能。
– 設計一個彈性、開放的系統架構,使後續的功
能能夠加入,而不需修改基本的架構。
– 後續的子系統陸續與已完成的部分整合在一
起。
智勝文化事業有限公司製作
- 29. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.8 漸進模式
ISBN 957-729-552-5
智勝文化事業有限公司製作
- 30. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
漸進模式 (2/2)
ISBN 957-729-552-5
漸進模式適用於下列的情況:
預算分期編列的限制下,系統在一開始先做整體規
劃,往後再分期執行。
一個組織需要時間來熟悉和接受新科技。
不必一次大量投資,可降低財務負擔及風險。
初期的成功使得往後的工作容易推動,且投資報酬
率較高。
不可避免的需求更改及維護可併入漸進模式的開發
方法中。
智勝文化事業有限公司製作
- 31. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
演化雛型模式
ISBN 957-729-552-5
考量系統開發將延伸至很長的時間,在軟體使用的期
間預期將會成長、變動。
先建造一個可運作的雛型,經使用、試驗及環境的變
化後,發現新的需求,此時系統將演化到另一個雛
型。
每一代的雛型都視為新系統的開發,有如階梯式的演
進。
智勝文化事業有限公司製作
- 32. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.9 演化雛型模式
ISBN 957-729-552-5
智勝文化事業有限公司製作
- 33. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
螺旋模式 (1/2)
ISBN 957-729-552-5
螺旋模式是基於下列的構想而產生:
在生命週期的每一階段,應該主動發覺風險並設法
解決。
運用模擬、雛型、模式建立、標竿 (Benchmarks)
等方法來降低風險。
每一階段都必須經過確認或驗證。
考量每一階段的目標、可行的方案及限制條件。
智勝文化事業有限公司製作
- 34. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.10 螺旋模式
ISBN 957-729-552-5
智勝文化事業有限公司製作
- 35. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
螺旋模式 (2/2)
ISBN 957-729-552-5
螺旋模式的特性
結合瀑布模式、雛型模式、風險分析和逐步規劃的
精神。
強調每一階段的風險分析。
考慮因素非常廣泛,適用於大型而高風險的專案,
對於小型或定義明確的系統,此法會太複雜,且成
本太高。
智勝文化事業有限公司製作
- 36. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
同步模式 (1/2)
ISBN 957-729-552-5
同步模式的目的是,縮短產品開發時間以提高市場競
爭力
同步模式是基於下列構想以縮短開發時間:
多個團隊同時開發,稱為活動同步。做法可以是一
個階段內的工作、多個階段的工作、或多個專案的
工作,或軟硬體的工作平行進行。
智勝文化事業有限公司製作
- 37. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
同步模式 (2/2)
ISBN 957-729-552-5
不同團隊的資訊互相交流共享,稱為資訊同步。做
法可以將後階段的重要議題提前讓前階段的人知
道;將前階段的開發情況傳遞給後階段的開發團
隊,或建立一個有效的資訊交換網路或群體工作環
境。
開發一個管理系統以協調人員、資源、程序和產品
間複雜的互動關係。
智勝文化事業有限公司製作
- 38. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.11 同步模式
ISBN 957-729-552-5
智勝文化事業有限公司製作
- 39. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.12 同步模式與循序模
ISBN 957-729-552-5 式之比較
智勝文化事業有限公司製作
- 40. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.13 同步開發模式
ISBN 957-729-552-5
智勝文化事業有限公司製作
- 41. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
軟體開發程序模式 (1/9)
ISBN 957-729-552-5
軟體開發程序模式 (Software Process Model) 是為達成
某一特定目標之一系列活動,其定義如下:
程序是一個系統,它將輸入、活動、工作流程、資
訊流程及其他相關項目轉換成特定的結果與產品。
程序是一系列經過特殊安排的步驟以達到特定的目
標,軟體開發程序的目標是完成或改進符合品質要
求的軟體產品。
軟體程序是一組的工具、方法、做法以製造軟體產
品。
程序模式描述一個開發階段中的工作,各工作間的
關係,以及啟動工作的條件。
智勝文化事業有限公司製作
- 42. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
軟體開發程序模式 (2/9)
ISBN 957-729-552-5
程序模式的類型
開發者依不同的目的而設計不同類型的程序模式。
– 開發程序模式
– 反覆定義與改進程序模式
– 連續改善程序模式
智勝文化事業有限公司製作
- 43. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.14 程序模式
ISBN 957-729-552-5
智勝文化事業有限公司製作
- 44. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
軟體開發程序模式 (3/9)
ISBN 957-729-552-5
開發程序模式
開發程序模式就像生命週期模式,其重要概念為:
– 程序是一個連續的循環,是一個持續進行、不
斷改進的過程。
– 一個階段的輸出成為下一階段的輸入。
– 程序中的每一階段都包含一系列的活動。
– 每項活動都有負責的人員。
– 每項活動都必須依循設定的標準與程序,每一
階段都必須定義它所包含的活動。
智勝文化事業有限公司製作
- 45. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.15 軟體開發程序模式
ISBN 957-729-552-5
智勝文化事業有限公司製作
- 46. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
軟體開發程序模式 (4/9)
ISBN 957-729-552-5
反覆定義與改進程序模式
又稱反覆模式 (Iteration Model) ,是基於下列構想
所設計:
– 將程序視為產品。程序產品 (Process Product) 可
包含套裝軟體、文件指引、訓練、諮詢顧問與
工具開發等。
– 程序產品應配合顧客的特殊需求以達成其企業
目標。
智勝文化事業有限公司製作
- 47. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
軟體開發程序模式 (5/9)
ISBN 957-729-552-5
– 強調反覆的定義和改進,並透過下列方法來達
成:
使用者使用程序產品後將資訊回饋。
對程序問題的即時反應。
專案計畫與專案程序間密切地協調。
適應環境的改變並引進新科技以創造優勢。
– 程序的定義必須符合組織的目標並適合所處的
環境。組織的目標如時程控制、成本降低、品
質提升;環境因素如科技、組織型態、產品類
別等。
智勝文化事業有限公司製作
- 48. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.16 反覆定義與改進程
ISBN 957-729-552-5 序模式
智勝文化事業有限公司製作
- 49. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
軟體開發程序模式 (6/9)
ISBN 957-729-552-5
定義階段
此階段將程序的輸入與輸出明確定義。輸入的重要
資訊為程序的目標與可用的科技;輸出則為工作的
定義、工作的規格及樣板。
包含的項目 (Gelman, 1994) :作業名稱、訓練、樣
板、平台架構、品質保證、人員、工具、時間估
計。
智勝文化事業有限公司製作
- 50. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
表 3.2 單元測試計畫作業
ISBN 957-729-552-5 規格
智勝文化事業有限公司製作
- 51. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
軟體開發程序模式 (7/9)
ISBN 957-729-552-5
交付階段
移交階段將程序產品移交給使用者。此階段應做好
程序產品的版本控制,並向使用者清楚說明新版本
可能造成的影響。
應用階段
應用階段必須要準備所需的資源與人員的訓練,使
得程序產品可以順利的應用。此外也要蒐集資料以
做為改善之用,例如,遺漏的程序、錯誤的程序、
更詳細的資料等。
智勝文化事業有限公司製作
- 52. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
軟體開發程序模式 (8/9)
ISBN 957-729-552-5
評量階段
蒐集與分析資訊以瞭解程序的品質、程序改善的效
果、程序對最終產品的貢獻等,以做為不斷改善的
依據。
精練階段
依評估階段所提供的資訊來改善程序、重新分配資
源,使這五個步驟成為一個不斷改善的循環。
智勝文化事業有限公司製作
- 53. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
軟體開發程序模式 (9/9)
ISBN 957-729-552-5
連續改善程序模式
此模式共分為八個階段,用以反覆且連續地改善程
序:
– 定義程序
– 建立所有權
– 確定使用需求
– 衡量
– 評估
– 找尋改善的機會
– 安排改善的順序
– 執行改善
智勝文化事業有限公司製作
- 54. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
圖 3.18 連續改善程序模式
ISBN 957-729-552-5
智勝文化事業有限公司製作
- 55. 軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著
結論
ISBN 957-729-552-5
軟體開發的概念模式分為生命週期模式與軟體開發程
序模式兩大類。
生命週期模式:以軟體專案的開發為目標。
軟體開發程序模式:為了完成特定的目標而設計。
開發模式提供一個指引與方法,使開發者不致於重蹈
覆轍,它也有提高品質及生產力的效果。
智勝文化事業有限公司製作