Unified Method Architecture (UMA) Meta 模型的用意是統一各種不同的方法和流程工程語言,例如在軟體流程工程方面從 UML 延伸的 SPEM、RUP 2003 版使用的語言、統一流程、IBM Global
Services Method 及 IBM Rational Summit Ascendant。因此,提供這些來源模型的概念和功能,統一為一致的方式,但仍然可以表達每一種來源方法的特性。這項概念提供 UMA 功能的整體概觀。
方法內容與流程的區隔
UMA 明確地區隔「方法內容」定義與在「流程」中運用的情形。這是經由分開定義下列項目來達成
-
可重複使用的核心「方法內容」,採用一般內容說明的形式,例如「角色」、「作業」、「工作成果」及「指引」
-
在環境定義中,專案類型特定的「方法內容」運用,採用參照「方法內容」的流程說明形式
「方法內容」提供逐步說明,描述如何達成特定的開發目標,與這些步驟在開發生命週期內的定位無關。流程會採用這些「方法內容」元素,並依特定專案類型所自訂的順序來組織元素。例如,從頭開始開發應用程式的軟體開發專案所執行的開發步驟,就像延伸現有軟體系統的專案一樣。不過,這兩種專案會在不同的時間點執行類似的步驟,且各有不同的重點,或許還有各自的變化。
內容重複使用
UMA 可讓每一個「流程」參照共通「方法內容」儲存區中的共通「方法內容」。基於這些參照,「方法內容」的變更將自動反映在所有使用它的「流程」中。不過,UMA
仍然允許在「流程」內改寫特定方法的相關內容,以及為每一個「流程元素」定義個別流程的特定關係 (例如,將額外的輸入「工作成果」新增至「作業」、重新命名「角色」,或從「作業」中移除不應執行的「步驟」)。
流程系列
UMA 的目標不僅是支援表示一個特定的開發流程或維護數個不相關的流程,也提供一套工具讓流程工程師一致有效地管理整個系列的相關「流程」。UMA
定義「功能型樣」和「交付流程」的概念及這些類型的流程之間特定的重複使用關係,藉以實現這項目標。這些概念可讓流程工程師維護一致的「交付流程」系列,這些「交付流程」依專案類型而定,且從相同的基礎「方法內容」和「功能型樣」中變化而來。經由動態地重複使用相同的「方法內容」和「型樣」,但採用不同的詳細程度和規模,所建置的特定流程就衍生出不同的變體;例如,小型與大型開發專案的「流程」變體。
多重生命週期
通用的方法架構必須支援流程定義生命週期模型的各種不同的變化,甚至是組合。其中包括「瀑布式」、「反覆式」、「漸進式」、「進化式」等。UMA Meta
模型就是為了兼容各種方法而設計。提供一套豐富的概念和自訂屬性,可規定「流程元素」的時態語意,例如階段、反覆、相依關係、持續進行或事件驅動的工作等。
靈活的延展性與外掛程式機制
UMA 的「方法外掛程式」提供獨特的方式來自訂「方法內容」和「流程」,不用直接修改原始內容。相反地,只是指出相對於原始內容的差異(新增的內容稱為附加和取代)。此「外掛程式」概念可讓使用者輕鬆升級至新版的「方法內容」,不會喪失自訂的結果。
多重流程「觀點」
UMA 定義在流程上多個一致維護的觀點。這些觀點可讓流程工程師根據個人喜好來編寫流程。 流程工程師可以選擇基於下列任何重點來定義「流程」:
-
工作分解 - 以工作為重心的觀點,定義特定高階「活動」相關的「作業」
-
工作成果用法 - 以結果為基礎的觀點,定義特定「交付項目」和「構件」在流程中不同時間點的狀態
-
團隊分配 - 以責任為基礎的觀點,定義「角色」及其工作成果責任
UMA 在這些觀點之間達成一致性,因為這些觀點都以一套整合的物件結構為基礎。其中一個觀點的改變會立即反映在其他觀點上。
可重複使用的流程型樣
UMA 的「功能型樣」是在建立新的開發流程時可重複使用的建置區塊。選取並套用「功能型樣」 可以下列兩種靈活方式的其中一種來完成:
-
型樣可用於複雜的複製和修改作業中,讓流程工程師在運用型樣時可以個別地自訂型樣的內容,以符合個人的需求。
-
型樣可透過動態連結來套用。這種重複使用流程知識的獨特方式,可以將經常重複出現的「活動」分解為型樣,再反覆地套用在「流程」中。修訂或更新型樣時,所有變更會自動反映在所有套用此型樣的「流程」中。
|