• 沒有找到結果。

之間彈性互動為主軸的敏捷開發方法漸被重視,依據由 Stabdish Group 的調查結果顯 示,敏捷專案每年可使專案效能成長 22%,但傳統的瀑布式專案每年僅能使專案效能成 長 1%(Williams et al. 2011)。

敏捷開發方式除了強調團隊中人與人之間的互動,不良設計所造成程式碼的缺失也 是該關注的一個議題,由 Martin(2003)所提到像是僵化性(Rigidity)、脆弱性(Fragility)、

固定性(Immobility)、黏滯性(Viscosity)、不必要的複雜度(Needless Complexity)、不必要 的重複(Needless Repetition)以及晦澀性(Opacity)等不良設計症狀,皆會導致專案窒礙難 行,嚴重甚至會導致專案面臨失敗,需要透過一些方法來盡量消弭這些壞味道。許多軟 體開發者以及研究員共同提出了一套物件導向設計的原則,來減少壞味道的發生,這些 原則分別是單一責任原則、開放封閉原則、Liskov 替代原則、相依性反向原則以及介面 分割原則,但要實際設計出符合這些原則的最佳軟體結構,是一件進入門檻極高且需要 投入大量的時間來進行設計工作,對於有交付時間壓力的專案是一個沉重的負擔,故我 們需要一個可以快速建立起優良軟體架構的工具或方法來提升專案產品的品質以及專 案的成功率。

2

第二節 研究目的

在使用哪種敏捷方式的調查中,2008 年 6 月和 7 月間 80 個不同國家 3061 個受訪者,

有 49%是使用 Scrum(Williams et al. 2011),這顯示 Scrum 為近年來熱門的一種敏捷專案 開發方法。為了保持 Scrum 本身的彈性使用,在技術方面並未有詳細的規範,可能造成 軟體架構的壞味道產生。框架,是一組抽象類別、實體類別和相關服務的集合,它是一 個應用系統的通用骨架,透過框架我們可以快速的建立起軟體分層以及符合物件導向設 計原則的軟體架構(葉文崎 2002)。Struts、Spring、Hibernate 框架為 J2EE(已更名為 JavaEE, 但一般稱呼仍常延用 J2EE)中的主流框架,由於每個框架各有其優缺點,整合三個框架 可以互相補足各框架不足之處並可使系統開發更具效率(Hao and Tang 2010)。本研究將 以 Scrum 敏捷開發方式為核心,並透過 SSH(Spring, Struts, Hibernate)整合框架來減少程 式碼的重複撰寫,降低系統耦合力並提昇系統內聚力,使系統的後續擴展性增加與維護 性的成本降低,再透過實作指引文件(Implementation Guide)來解決框架進入障礙,團隊 成員在反覆開發迴圈中做細部的設計,並以人力資源管理雛型系統為例,說明相關作業 內容。作為未來開發類似專案時的重要參考。

3

第三節 研究方法

資管領域之研究方法,國內外學者皆有提出眾多不同看法,像是 Scott Morton(1984) 將研究方法分成九大類型:

1. 雛形(Prototype):建立一個原型系統,模擬真實世界系統運作的概況,可以在 此原型逐步修正或增強其功能。通常此種方式可以用在理論的可行性研究。

2. 方法論(Methodology) :當所進行研究的領域,在程序上由嘗試錯誤法(Trial and Error)來歸納有困難,或在理論上無法直接求得時,研究者可以建立一個方法 論來進行研究概念的陳述。如 Sprague & Carlson 提出在決策支援系統的建構方 法論 ROMC(Representations, Operations, Memory Aids, and Control Mechanism) 即為一代表。

3. 理論發展(Theory Development) :要發展一個全新的理論不是一蹴而就的,研 究者需要對所研究的課題非常有創見,並且對現行已有的理論要有非常深入的 了解及心得。

4. 概念形成(Concept Formulation) :在此一方法中,研究者必須提出一套完整的 組織概念(Organization Ideas),即建議行動(Actions),以建立一個有用的架構 (Framework)。

5. 實驗室實證測試(Empirical Laboratory Test) :在實驗室中以測試的方式模擬真 實世界的行為模式。

6. 真實世界實證測試(Empirical Real-World Test) :此一方法是以在真實世界中實 證的方式來評估新觀念,新方法論或新系統的效益。

7. 調查(Survey) :透過對某一特定統計目標之母體(Population)進行調查,以統計 數據的方式來了解某一事件的存在性。

8. 個案(Case) :在研究之中完整地描述一個個案,以對此一應用領域提供一個深 度了解及掌握實際狀況的環境。

9. 真理(Truth) :即使在缺乏強而有力的理論及實證做為後盾的情況下,研究者

4

仍可提出所謂的真知卓見,使人一見即心領神會,奉為圭臬。

國內學者梁定澎(1997)則指出研究方法可分為研究(Case Study)、調查研究(Survey Research Method) 、實驗性研究(Experimental research method) 、模式推導(Modeling) 系 統展示(System Representation) 、彙總研究(Meta-Research)六種。

由於本研究以軟體工程中的敏捷系統開發方式做為基礎觀念並搭配開發框架進行 資訊系統雛形的開發,所以本研究將採取 Scott Morton 所提出之概念形成(Concept Formulation)以及梁定澎所提出之系統展示(System Representation)兩種方式進行研究。

第四節 研究範圍與限制

本研究採用概念形成法與系統展示法進行研究,對於敏捷開發方法與框架技術之採 用源自於文獻探討與實務觀察,並未直接進行調查分析,對於研究貢獻還無法驗證。有 待提出這樣的組合概念與雛型說明之後,持續擴充,再從使用實務體驗中進行調查研究。

5

第五節 研究架構

本論文之研究架構如下:

一、 提出研究動機

二、 對軟體工程進行文獻探討

三、 對所應用到之開發框架相關技術進行文獻探討 四、 對 UML 進行文獻探討

五、 對人力資源進行文獻探討 六、 提出一個系統開發模式

七、 依照所提出的模式開發系統雛型架構 八、 結論與未來發展方向

圖 1-1 研究架構

6

第六節 論文架構

本論文章節如下圖:

圖 1-2 論文架構

7

相關文件