Ch03

55
智智智智智智智智智智智智 智智智智 ( 智智 ) 智智智‧智智智‧智智智 智 ISBN 957-729- 552-5 智智智 智 智智智智

Transcript of Ch03

Page 1: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

第三章 軟體開發模式

Page 2: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

本章大綱 3.1 導論 3.2 瀑布模式 3.3 雛型法 3.4 漸進模式 3.5 演化雛型模式 3.6 螺旋模式 3.7 同步模式 3.8 軟體開發程序模式 3.9 結論

Page 3: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

學習目標 (1/2)

軟體生命週期模式與程序模式 軟體生命週期模式的運作方法及管理意義,包括:

瀑布模式雛型法漸進模式演化雛型模式螺旋模式同步模式

Page 4: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

學習目標 (2/2)

軟體生命週期模式的選擇策略 程序模式的運作方法及管理意義,包括:

開發程序模式反覆定義與改善程序模式連續改善程序模式

Page 5: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

導論 (1/4)

軟體開發模式描述軟體開發一系列的步驟或階段。 軟體開發模式可分為生命週期模式 (Life Cycle Models)

和程序模式 (Process Models) 。 生命週期模式

將軟體開發的階段及各階段的關係以概念性的模式表示。

隱含著開發程序的時間順序。瀑布模式、雛型法、漸進模式、演化雛型模式、螺旋模式和同步模式,每一種方法代表一種系統開發的策略。

Page 6: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

導論 (2/4)

程序模式為了某一特定目的而設計一系列的活動。程序模式範例

– 軟體開發程序– 品質改善程序– 專案管理程序– 顧客導向程序– 需求程序– 維護程序– 同步程序– 演化程序

Page 7: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

導論 (3/4)

生命週期模式的最終結果是軟體系統﹔程序模式的最終結果則是某一管理目標。

註:生命週期模式也可視為程序模式的一種,當程序模式所指為開發程序時,兩者所表示的是相同的概念。但也有學者將兩名詞互用。

Page 8: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

導論 (4/4)

軟體專案依循某一開發模式有多方面的優點:統一的名詞及概念有助於溝通、規劃及管理。有利於標準、規範與政策的建立及推行。可提供評估、檢核及里程碑的參考時點。簡要描繪重要的功能、活動及特性。開發過程更結構化、更容易管理。提供一個不斷改善的基礎。

Page 9: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

瀑布模式 (1/3)

瀑布模式瀑布模式是基於下列的構想而設計:

– 軟體開發應依照一序列的階段進行。– 一個階段的產出必須經過驗證或確認才能視為完成。

– 任何更改、錯誤或爭議都必須回溯到前面相關的階段加以修正。

– 若發現錯誤或新需求時,必須回溯到前面的相關階段。

Page 10: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.1 瀑布模式

Page 11: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

瀑布模式 (2/3)

瀑布模式的管理意義它鼓勵依生命週期階段來進行規劃。每一階段的結束正好成為管理控制的里程碑。

每一階段的產出都必須經過確認、驗證或測試。– 確認是用來檢驗產出是否符合顧客的需求,以真實世界的問題為檢驗的對象。

– 驗證 是檢驗系統是否依規格正確地執行。從事前階段工作的人,有責任將正確、完整、可行且容易瞭解的產出移交給下一階段的人員。

開發的程序變得更結構化且更容易管理。

Page 12: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

瀑布模式 (3/3)

瀑布模式的缺點必須到了最後階段才能看到可執行的軟體系統,風險太高。

過於複雜與費時。若需求不明確,而每一階段又要求非常結構化、嚴謹、完整的開發方法,將使得開發時程拉得很長。

Page 13: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

雛型法 (1/9)

雛型法雛型法主要是基於下列的構想而設計的:

– 需求變更無可避免。– 一個可看得到、可操作的雛型是開發者與使用者溝通的良好工具。

– 雛型的建造及修改應該要非常快速,以因應顧客的要求。

– 提高使用者參與的意願,進而提高顧客滿意度。

Page 14: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

雛型法 (2/9)

雛型法的層次Cherveny 等人 (1986) 提出了以下之架構:

– 第一階雛型:又稱輸入/輸出設計,它只產生輸入/輸出的螢幕及列印的報表。

– 第二階雛型:包含使用介面及系統功能,經由第四代語言及關聯式資料庫快速地設計一個可執行的系統。

– 第三階雛型:發展一個適應環境的雛型,這種策略將系統永遠當作一個雛型,以因應外在環境的變動。

Page 15: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.2 需求分析雛型

Page 16: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

雛型法 (3/9)

需求分析雛型依下列步驟進行: 快速地分析使用需求,並建立雛型。此雛型包括使用介面和互動的功能,讓使用者可以操作並試驗。

蒐集試驗後的意見和需求的更改,並依此修改雛型。此循環重複數次直到滿意或可接受的程度為止。

將需求凍結並捨去雛型,再依傳統的瀑布模式進行設計、編碼、測試和操作維護。

Page 17: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

雛型法 (4/9)

分析與設計雛型在建造雛型之前先做詳細的需求分析與初步設計,此法可降低重大需求變更和雛型修改的次數。

雛型經使用者的試驗和修改後,接下來的細部設計、編碼、測試和操作維護,與瀑布模式的作法一樣。

雛型系統的架構和主要功能模組都加以保留,經修改後成為最終的產品。

Page 18: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.3 分析與設計雛型

Page 19: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

雛型法 (5/9)

子系統雛型需求分析和初步設計依照傳統的瀑布模式進行。初步設計時將系統分為數個子系統。針對每一個子系統建立一個雛型。子系統都完成後,便可進行整合。各子系統雛型不予拋棄,而是演化為最終的產品。

Page 20: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.4 子系統雛型

Page 21: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

雛型法 (6/9)

整體系統雛型經需求分析、設計、編碼、測試等階段建造一個可運作但並不完美的雛型系統,這個快速發展的系統經使用者的操作與試驗,得以發掘更完整的需求,系統也漸趨完整而成熟。

Page 22: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.5 整體系統雛型

Page 23: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

雛型法 (7/9)

選擇策略雛型法可以和傳統的瀑布模式混合或獨自運作, Burns 與 Dennis(1985) 提出了一個二維的架構,將專案依不確定性與複雜性兩個維度來區分選擇的策略。

Louadi等人 (1991) 合併 Burns 與 Dennis 的架構及 Chrveny 的 三 階 層 分 類 , 提 出 了 權 變 (Contingency)架構。

Page 24: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.6 開發策略與專案特性

Page 25: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.7 系統開發策略的權變架構

Page 26: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

雛型法 (8/9)

雛型法的優點雛型法可增進使用者參與。可看得到、可操作的雛型成為開發者與使用者溝通的基礎。

需求分析的時間及成本可以降低。系統的正確性提高。

Page 27: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

雛型法 (9/9)

雛型法的缺點由於溝通較複雜、專案開發較動態,因此,專案管理及控制也較為困難。

較難建造大型系統的雛型。缺乏深入的分析及開發的工具,因此系統的效率較差。

Page 28: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

漸進模式 (1/2)

漸進模式 (Incremental Model)

漸進模式是基於下列的構想而設計:– 將一個軟體系統分割成數個子系統,每個子系統執行一部分功能。

– 設計一個彈性、開放的系統架構,使後續的功能能夠加入,而不需修改基本的架構。

–後續的子系統陸續與已完成的部分整合在一起。

Page 29: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.8 漸進模式

Page 30: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

漸進模式 (2/2)

漸進模式適用於下列的情況:預算分期編列的限制下,系統在一開始先做整體規劃,往後再分期執行。

一個組織需要時間來熟悉和接受新科技。不必一次大量投資,可降低財務負擔及風險。初期的成功使得往後的工作容易推動,且投資報酬率較高。

不可避免的需求更改及維護可併入漸進模式的開發方法中。

Page 31: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

演化雛型模式 考量系統開發將延伸至很長的時間,在軟體使用的期

間預期將會成長、變動。先建造一個可運作的雛型,經使用、試驗及環境的變

化後,發現新的需求,此時系統將演化到另一個雛型。

每一代的雛型都視為新系統的開發,有如階梯式的演進。

Page 32: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.9 演化雛型模式

Page 33: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

螺旋模式 (1/2)

螺旋模式是基於下列的構想而產生:在生命週期的每一階段,應該主動發覺風險並設法解決。

運用模擬、雛型、模式建立、標竿 (Benchmarks)

等方法來降低風險。每一階段都必須經過確認或驗證。考量每一階段的目標、可行的方案及限制條件。

Page 34: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.10 螺旋模式

Page 35: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

螺旋模式 (2/2)

螺旋模式的特性結合瀑布模式、雛型模式、風險分析和逐步規劃的精神。

強調每一階段的風險分析。考慮因素非常廣泛,適用於大型而高風險的專案,對於小型或定義明確的系統,此法會太複雜,且成本太高。

Page 36: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

同步模式 (1/2)

同步模式的目的是,縮短產品開發時間以提高市場競爭力

同步模式是基於下列構想以縮短開發時間:多個團隊同時開發,稱為活動同步。做法可以是一個階段內的工作、多個階段的工作、或多個專案的工作,或軟硬體的工作平行進行。

Page 37: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

同步模式 (2/2)

不同團隊的資訊互相交流共享,稱為資訊同步。做法可以將後階段的重要議題提前讓前階段的人知道;將前階段的開發情況傳遞給後階段的開發團隊,或建立一個有效的資訊交換網路或群體工作環境。

開發一個管理系統以協調人員、資源、程序和產品間複雜的互動關係。

Page 38: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.11 同步模式

Page 39: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.12 同步模式與循序模式之比較

Page 40: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.13 同步開發模式

Page 41: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

軟體開發程序模式 (1/9)

軟體開發程序模式 (Software Process Model) 是為達成某一特定目標之一系列活動,其定義如下:程序是一個系統,它將輸入、活動、工作流程、資訊流程及其他相關項目轉換成特定的結果與產品。

程序是一系列經過特殊安排的步驟以達到特定的目標,軟體開發程序的目標是完成或改進符合品質要求的軟體產品。

軟體程序是一組的工具、方法、做法以製造軟體產品。

程序模式描述一個開發階段中的工作,各工作間的關係,以及啟動工作的條件。

Page 42: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

軟體開發程序模式 (2/9)

程序模式的類型開發者依不同的目的而設計不同類型的程序模式。

– 開發程序模式– 反覆定義與改進程序模式– 連續改善程序模式

Page 43: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.14 程序模式

Page 44: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

軟體開發程序模式 (3/9)

開發程序模式開發程序模式就像生命週期模式,其重要概念為:

– 程序是一個連續的循環,是一個持續進行、不斷改進的過程。

– 一個階段的輸出成為下一階段的輸入。– 程序中的每一階段都包含一系列的活動。– 每項活動都有負責的人員。– 每項活動都必須依循設定的標準與程序,每一階段都必須定義它所包含的活動。

Page 45: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.15 軟體開發程序模式

Page 46: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

軟體開發程序模式 (4/9)

反覆定義與改進程序模式又稱反覆模式 (Iteration Model) ,是基於下列構想所設計:

– 將程序視為產品。程序產品 (Process Product) 可包含套裝軟體、文件指引、訓練、諮詢顧問與工具開發等。

– 程序產品應配合顧客的特殊需求以達成其企業目標。

Page 47: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

軟體開發程序模式 (5/9)

–強調反覆的定義和改進,並透過下列方法來達成:

使用者使用程序產品後將資訊回饋。對程序問題的即時反應。 專案計畫與專案程序間密切地協調。適應環境的改變並引進新科技以創造優勢。

– 程序的定義必須符合組織的目標並適合所處的環境。組織的目標如時程控制、成本降低、品質提升;環境因素如科技、組織型態、產品類別等。

Page 48: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.16 反覆定義與改進程序模式

Page 49: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

軟體開發程序模式 (6/9)

定義階段此階段將程序的輸入與輸出明確定義。輸入的重要資訊為程序的目標與可用的科技;輸出則為工作的定義、工作的規格及樣板。

包含的項目 (Gelman, 1994) :作業名稱、訓練、樣板、平台架構、品質保證、人員、工具、時間估計。

Page 50: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

表 3.2 單元測試計畫作業規格

Page 51: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

軟體開發程序模式 (7/9)

交付階段移交階段將程序產品移交給使用者。此階段應做好程序產品的版本控制,並向使用者清楚說明新版本可能造成的影響。

應用階段應用階段必須要準備所需的資源與人員的訓練,使得程序產品可以順利的應用。此外也要蒐集資料以做為改善之用,例如,遺漏的程序、錯誤的程序、更詳細的資料等。

Page 52: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

軟體開發程序模式 (8/9)

評量階段蒐集與分析資訊以瞭解程序的品質、程序改善的效果、程序對最終產品的貢獻等,以做為不斷改善的依據。

精練階段依評估階段所提供的資訊來改善程序、重新分配資源,使這五個步驟成為一個不斷改善的循環。

Page 53: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

軟體開發程序模式 (9/9)

連續改善程序模式此模式共分為八個階段,用以反覆且連續地改善程

序:– 定義程序– 建立所有權– 確定使用需求– 衡量– 評估– 找尋改善的機會– 安排改善的順序– 執行改善

Page 54: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

圖 3.18 連續改善程序模式

Page 55: Ch03

智勝文化事業有限公司製作

軟體專案管理 ( 再版 ) 林信惠‧黃明祥‧王文良 著

ISBN 957-729-552-5

結論 軟體開發的概念模式分為生命週期模式與軟體開發程

序模式兩大類。 生命週期模式:以軟體專案的開發為目標。 軟體開發程序模式:為了完成特定的目標而設計。 開發模式提供一個指引與方法,使開發者不致於重蹈

覆轍,它也有提高品質及生產力的效果。