第二章 文獻探討
第四節 軟體開發模式
軟體開發方式包含瀑布模式、雛形模式、漸進模式、螺旋模式和同步模式,
每項開發模式都有不同的設計構思,依照實際需求情況選擇適合軟體開發的模式,
如下簡單介紹各模式及特性:
一、瀑布模式
瀑布模式是一種系統開發之方法,該方法把系統開發的過程分成幾個階段,
每個階段清楚定義要做哪些工作及交付哪些文件,各個階段循序執行且僅循環一 次(吳仁和、林信惠,2010)。
當問題較小或較單純時,劃分的階段可能少至三個,例如分析、設計、實施 等階段,如下圖 2-5 所示:
圖 2-5 三個階段之瀑布模式
若面對較大或較複雜之問題時,其階段可能再被細分成更多個階段,例如可 能擴充至十個階段,如下圖 2-6 所示:
圖 2-6 十階段之瀑布模式
16
特性
1. 軟體開發應依照一序列的階段進行。
2. 一個階段的產出必須經過驗證或確認才能視為完成。
3. 任何更改、錯誤或爭議都必須回溯到前面相關的階段加以修正。
4. 若發現錯誤或新需求時,必須回溯到前面的相關階段。
限制
1. 必須到了最後階段才能看到可執行的軟體系統,風險太高。
2. 過於複雜與費時。
3. 若需求不明確,而每一階段又要求非常結構化、嚴謹、完整的開發方法,
將使得開發時程拉得很長。
二、雛型模式
雛型模式是一種系統開發方法,該方法先針對使用者需求較清楚的部分或資 訊人員較能掌握之部分,依分析、設計與實施等步驟快速開發雛型。
開發過程中,強調盡早以雛型作為使用者與資訊人員需求溝通與學習之工具,雙 方透過雛型之操作與回饋,釐清、修改及擴充需求,並藉以修改與擴充雛型。上 述步驟反覆進行,直到系統符合雙方約定為止,如下圖 2-7 所示:(吳仁和、林信 惠,2010)。
圖 2-7 雛型模式之系統開發程序及參與人員
特性
1. 強調雛型之快速開發及使用者高度參與。
2. 強調以雛型作為使用者及系統開發者之需求溝通與學習機制。
17
3. 從需求最清楚的部分著手開發雛型,並透過使用者對雛型之操作與回饋,
反覆修改與擴充,每次反覆時間間隔(週期)要盡可能縮短。
限制
1. 系統文件較不完備,程式亦可能較難維護。
2. 短期而言,可能較能滿足使用者需求;但對長期而言,系統較易失敗。
3. 因缺乏整體之規劃、分析與設計,故較不適用於大型及多人參與之系統 開發專案。
三、漸增模式
漸增模式是一種系統開發之方法,該方法把需求分成「幾」個部分,然後依 漸增開發計畫將每個「部分需求」之開發訂為一個開發週期,每個週期可依序或 平行開發。每個週期之階段清楚定義要做哪些工作及交付哪些文件,每個階段循 序進行且僅循環一次,如下圖 2-8 所示:(吳仁和、林信惠,2010)。
圖 2-8 漸增模式之系統開發程序
特性
1. 將一個軟體系統分割成數個子系統,每個子系統執行一部分功能。
2. 設計一個彈性、開放的系統架構,使後續的功能能夠加入,而不需修改 基本的架構。
3. 後續的子系統陸續與已完成的部分整合在一起。
限制
1. 組織的目標與需求可完全且清楚地描述。
2. 預算須分期編列,將系統做整體規劃,往後再分期執行。
3. 當組織需要時間來熟悉與接受新科技時,應用漸增模式有充裕的時間來
18
學習與轉移技術。
四、螺旋模式
螺旋模式之軟體開發程序是基於瀑布模式應用於政府大型軟體專案之 經驗,經多次修改而成,如下圖 2-9 所示:(吳仁和、林信惠,2010)。
圖 2-9 螺旋模式之開發程序
特性
1. 在高風險部分之設計尚未穩定前,規格之發展不需要一致、詳盡或正式,
以避免不必要之設計修改。
2. 在開發之任一階段,螺旋模式可選擇整合雛型模式以降低風險。
3. 當找到更吸引人之方案或需解決新風險時,螺旋模式可整合重做或回到 前面之階段。
本論文中採用雛形模式來開發長期照護系統,主要原因是系統開發需要與使 用者配合,分析臨床使用者的需求,並讓使用者高度參與能增加系統開發之實用 性以及日後他人使用的興趣,也可以因使用者的加入提供長期照護及醫療上的領 域知識,這是系統發展建置是否成功的重要關鍵。
19