系統開發流程有許多種模式。如瀑布模式、原型模式、螺旋模式、V 型模式 等。我們僅介紹比較常見的開發模式,比較詳細內容請參見附錄一。
2.1.1 瀑布模式(Waterfall model)
瀑布模式是最早的結構化系統開發。雖然它近幾年遭受抨擊,因為要快速、全盤了解客
的評論:
2.1.2 原型模式(Prototyping model)
原型模式從需求搜集開始至完成,可分成下列幾個步驟:
1. 需求搜集:開發者與使用者需一起討論並定義軟體的目標及所有的功能需求,同時列 出必須做深入定義的地方。
2. 快速設計:著重在使用者可看到的介面,如輸入輸出之畫面及報表等,開發者須使用 現有的程式模版(Template)或應用相關工具,如報表及格式產生器(Report or Form Generator)來達成快速設計的目的。
3. 建構一套軟體雛型。
4. 評估需求:透過使用者的實際操作與需求評估,提出需求的調整。
5. 循環:透過上述的程序週而復始的執行,直到滿足使用者之需求,才繼續進行後續分 析,設計…等階段,因此開發者在此階段即能充分了解那些功能是必須設計。
雛型模式可解決直線順序程序模式在需求變更及使用者需耐心等候之問題,其優點為使 用者在分析階段可立即對未來上線的應用軟體有所感受,缺點為由於倉促完成雛型,無法完 整考慮整體的軟體品質與長期的可維護能力。雖然如此,雛型模式最關鍵的優點乃在於在專 案進行之初,即與使用者訂下遊戲規則,『使用者與開發者必須一起討論需求並同意雛型的結 果』,這可以解決因非常多需求的變更導致時程延後、無法驗收等常見實務上的問題。
雛型式之特性:設合需求容易改變的系統
雛型式之優點:幫助使用者了解系統,並提出完整需求提升參與感具彈性 雛型式之缺點:系統可能雜亂維護不易
圖 8 原形模式
2.1.3 螺旋模式(Spiral model)
螺旋模式(Spiral model)結合了瀑布模式(Waterfall model)和原型模式(Prototyping model) 的兩種優點,還導入了一個新的階段-風險評估 Risk assessment,而螺旋意思是代表整個系 統的開發流程。螺旋模式在初期開發跟原型模式類似,都必須配合使用者的需求改變而改變;
而中後期必須遵照瀑布模式一樣,每個系統的開發階段都必須很小心地來設計。但是循環此 方法一次,所開發出來的系統會較上一版本更加完整。
風險評估指的是在開發之前都會先評估是否可行再來決定是否要繼續開發下去。
螺旋模式分成下列四個步驟:
1. 找出專案目的:相似於瀑布模式的 conception 階段。找出使用者想要之需求及限制,
並找出最快的路徑來開發。
2. 風險評估:將可能遇到的問題及解決方案找出來,並決定是否繼續,且依照發何種 方式去開發。此一步驟類似於原型模式。
3. 系統建置:依照使用者的需求,將軟體開發出來。
4. 規劃與管理:由顧客實際使用測試評估,並提出意見給開發者。
優點:
能夠在開發方向錯誤之前發現 開發與維護一次完成
缺點:
為大型軟體之開發方法
為 Internal(In-house) software 之開發方法[1]
圖 9 螺旋模式
2.1.4 極端軟體製程(Extreme programming,以下簡稱 XP)
3. 可測試性(testability)。
4. 高生產力。
XP 在規劃、設計、編寫程式及測試四個階段共提出了 28 條簡單的規則(詳見附錄二)及實 務作法。並對於如何導入 XP 提出了一些說明。這些規則、實務作法也應用了一些軟體工程 的理論如單元測試、可接受測試、整合程式碼等等。[2]