PlantUML ArchiMate 圖表語法指南

什麼是 ArchiMate 圖表?

一個ArchiMate 圖表是一種高階企業架構建模視覺化工具,可追蹤組織內的策略、業務流程、軟體應用與實體資料基礎設施。與深入探討軟體執行流程的傳統 UML 圖表不同,ArchiMate 協助業務分析師、解決方案架構師與 CTO 等人員,繪製高階企業目標如何依賴底層 IT 系統的關係。

雖然基本的 PlantUML 包含原生的基礎元件,但生產級企業佈局需要官方的Archimate-PlantUML標準函式庫擴充。透過使用宣告式巨集與標準化色彩帶,可讓您維持一致且符合 TOGAF 標準的模型。搭配VPasCode,您可完全以文字定義您的架構模組與關聯性線條,讓引擎動態處理方框的色彩配置與對齊。

核心語法指南:元素與構造

要在 PlantUML 中安全使用官方 ArchiMate 擴充功能,您必須包含標準函式庫檔案、正確實作類別巨集、處理巢狀區塊,並明確應用結構性關係。

1. 初始化 ArchiMate 標準函式庫

為解鎖官方巨集、色彩調色盤與結構性樣式,您的指令碼區塊必須在啟動標籤下方直接匯入標準函式庫檔案。您可選擇性地套用官方主題之一,以確保高對比度的可見性:

@startuml
!include <archimate/Archimate>
!theme archimate-standard from <archimate/themes>

2. 使用類別巨集宣告元素

標準函式庫透過在類別前置巨集內包覆原生形狀,簡化了元素的建立。元素遵循嚴格的類別_元素名稱(ID, "標籤")命名慣例。前置詞決定結構層級,並自動注入正確的色彩標籤:

  • 策略與動機(紫色): 動機_利害關係人(), 策略_能力()
  • 業務層(黃色): 業務_參與者(), 業務_流程(), 業務_服務()
  • 應用層(藍色): 應用元件(), 應用服務()
  • 技術層(綠色): 技術節點(), 技術系統軟體()
!include <archimate/Archimate>
動機利益相關者(CEO, "首席執行官")
應用元件(CRM, "Salesforce CRM 系統")

3. 定義群組邊界與結構性嵌套

企業地圖高度依賴視覺包含來表示所有權或執行時隔離。您可以使用以下方式建立邊界資料夾:Group()Grouping()巨集,或使用大括號將元素彼此嵌套:

!include <archimate/Archimate>
Grouping(應用子系統, "客戶管理套件") {
    應用元件(AuthMod, "OAuth 權杖模組")
    應用服務(UserReg, "使用者註冊 API")
}

4. 建立標準化企業關係

ArchiMate 對連接強制使用嚴格的詞彙。除了原始箭頭外,標準程式庫提供專用的關係巨集,格式為Rel_關係類型(來源_ID, 目標_ID, "標籤")。若要強制手動調整方向,可附加空間方向提示(例如_上, _下, _左,或_Right):

!include <archimate/Archimate>

動機_利益相關者(CEO, "首席執行官")
應用元件(CRM, "Salesforce CRM 系統")

群組(AppSubsystem, "客戶管理套件") {
    應用元件(AuthMod, "OAuth 憑證模組")
    應用服務(UserReg, "使用者註冊 API")
}

' 結構與行為關係範例
Rel_實現(UserReg, AuthMod, "實作安全性")
Rel_提供權限(CRM, CEO, "提供儀表板")

分層架構圖的最佳實務

  • 隔離明確的層級: 將您的腳本依序從上到下組織(動機 > 營業 > 應用 > 技術),以使您的架構配置對利益相關者而言更具直覺性。
  • 善用簡短的元件 ID: 請保持內部巨集追蹤字串簡短(例如使用AP_01Srv_Auth),同時將描述性、面向客戶的文字保留給雙引號標籤參數。
  • 在跨層級連線中強制使用明確方向: 當跨越結構邊界時,佈局路徑可能會不可預測地移動。使用方向性巨集如Rel_存取_向下() 可確保您的資料流在跨層級分割時順暢地向下移動。

真實世界的 PlantUML ArchiMate 範例

範例 1:經典的戰略能力對應(動機與策略層級)

此功能藍圖記錄了組織的戰略層,說明企業利益相關者如何與業務能力及實現的技術成果對齊。

@startuml
!include <archimate/Archimate>
!theme archimate-standard from <archimate/themes>

title 戰略企業對齊地圖

動機_利益相關者(CFO, "首席財務官")
動機_驅動因素(CostEfficiency, "營運成本降低")
策略_能力(AutomatedBilling, "企業發票自動化")
業務流程(InvoiceRun, "每月末帳目結算")

' 連結戰略依賴關係
Rel_關聯(CFO, CostEfficiency, "致力於改善")
Rel_影響(AutomatedBilling, CostEfficiency, "正面影響")
Rel_實現(InvoiceRun, AutomatedBilling, "實現能力")
@enduml

語法解析: 透過執行紫色的戰略巨集,引擎能清晰地呈現元件。明確的關係巨集將人類利益相關者與組織動機連結,使企業策略與底層執行行為清晰對齊。

範例 2:端到端的三層企業系統(跨層級網狀結構)

此進階藍圖展示了全面且跨層的架構拓撲。它將運營中的業務流程從支援性的應用程式微服務層,映射至底層的雲端基礎設施主機。

@startuml
!include <archimate/Archimate>
!theme archimate-standard from <archimate/themes>

title 多層應用架構對齊

Grouping(BizLayer, "業務運作") {
    Business_Actor(Agent, "客戶服務支援人員")
    Business_Process(Ticketing, "處理企業支援工單")
}

Grouping(AppLayer, "應用生態系統") {
    Application_Service(TicketSvc, "Zendesk 整合 API")
    Application_Component(DataRouter, "事件處理引擎")
}

Grouping(TechLayer, "基礎設施層級") {
    Technology_SystemSoftware(K8sCluster, "Kubernetes 編排叢集")
    Technology_Node(CloudVM, "AWS EC2 m6i.xlarge 計算目標")
}

' 使用方向提示順暢建立跨層映射
Rel_Assignment(Agent, Ticketing, "每日執行")
Rel_Serving_Down(TicketSvc, Ticketing, "支援網頁桌面介面")

Rel_Composition(DataRouter, TicketSvc, "接收來自")
Rel_Realization_Down(K8sCluster, DataRouter, "主機應用程式容器")

Rel_Composition_Down(CloudVM, K8sCluster, "提供核心虛擬化裸機")
@enduml"

語法剖析: 此圖表突顯了結構化分組 元件的威力。元件會根據其巨觀家族自動獲得獨特的層級色彩陰影(黃色、藍色、綠色)。方向性關係覆寫,例如Rel_Serving_DownRel_Realization_Down 會促使依賴關係優雅地沿企業網格向下傳遞。

返回頂端