UML(統一建模語言)活動圖是一種用於表示系統動態特性的行為圖。它著重於活動之間的控制流和資料流,以視覺化方式呈現工作流程、程序或演算法。與流程圖類似,活動圖強調系統或業務流程中動作、決策和並行執行的順序。
活動圖是UML 2.5標準的一部分,特別適用於建模程序邏輯、業務流程和系統行為,而無需深入探討物件的內部結構(這由其他UML圖如類圖處理)。它們有助於利益相關者理解系統如何回應輸入、處理條件並產生輸出。

活動圖由幾個核心元素組成,用以定義結構與流程。以下是最重要的概念分解:
活動與動作:
一個活動是一種可分解為較小步驟的高階行為或程序。
一個動作是活動中的一個原子且可執行的步驟,以圓角矩形表示。動作可包括「發送電子郵件」或「驗證輸入」等操作。
控制流:
這些是帶方向的箭頭(實線),顯示從一個動作到另一個動作的執行順序。它們表示流程所經過的路徑。
初始節點與終止節點:
活動終止節點(實心黑圓點)標示活動的起始點。(實心黑圓點)標示活動的起始點。
活動終止節點標示活動的結束點。(內部帶有實心黑點的圓圈)表示整個活動的結束。
還有一個流程終止節點(內部帶有 X 的圓圈),用於終止特定流程,而不結束整個活動。
判斷與合併節點:
一個判斷節點(菱形)表示一個分支點,流程根據條件分叉(例如,流出流程上的 [是] 或 [否] 條件守衛)。
一個合併節點(同樣為菱形)將多個流程無條件地重新合併為一個。
分叉與合併節點:
一個分叉節點(粗的水平或垂直條)將單一流程拆分成多個平行流程,允許並行活動。
一個合併節點(類似條狀)將平行流程同步回一個流程,確保所有分支完成後才繼續。
物件流程:
虛線箭頭,表示資料或物件在動作、插槽或節點之間的流動。插槽(動作上的小方塊)可顯示輸入/輸出。
區隔(泳道):
垂直或水平的泳道,根據責任將活動分組,例如角色(如使用者、系統)或部門。這有助於明確指出每項動作由誰或何物執行。
例外與中斷:
可中斷區域(虛線圓角矩形)定義流程可被事件中斷的區域。
擴展區域處理集合的重複或並行處理。
標記:
概念上的「標記」會在圖表中流動,代表控制或資料。這種基於標記的語義能確保正確的執行順序,尤其是在平行情境下。
這些元素讓活動圖能夠模擬複雜行為,同時保持直覺易懂。
為了說明這些概念,我們將使用 PlantUML,這是一種基於文字的工具,可用於產生UML 圖表。PlantUML 允許您使用簡單語法描述圖表,並渲染為影像(例如透過線上 PlantUML 伺服器或整合工具)。以下是包含 PlantUML 程式碼片段的範例。您可以將這些內容複製貼上至 PlantUML 渲染器中以進行視覺化。
此範例展示處理線上訂單的基本工作流程,包含決策與順序動作。
PlantUML 程式碼:
@startuml
開始
:接收訂單;
:驗證付款;
如果 (付款有效?) 則 (是)
:包裝商品;
:寄出訂單;
否則 (否)
:通知客戶;
結束如果
:更新庫存;
停止
@enduml
此程式碼會產生一個從初始節點開始的圖表,接著是「接收訂單」等動作,以及用於付款驗證的決策節點。若付款有效,則進入包裝與寄送流程;否則通知客戶。最後以庫存更新與終止節點結束。
以下是類似付款處理的簡單活動圖的視覺化表示:
此圖模擬一個 CI/CD 管道,包含平行建置、決策,以及針對不同角色(開發者、建置伺服器)的區隔。
PlantUML 程式碼:
@startuml
區塊 開發者 {
開始
:推送程式碼;
}
區塊 "建置伺服器" {
:偵測變更;
分叉
:建置客戶端;
分叉再次
:建置伺服器;
結束分叉
如果 (建置成功?) 則 (是)
:部署應用程式;
否則 (否)
:傳送失敗郵件;
結束如果
}
停止
@enduml
此圖包含泳道(區塊)、用於平行建置的分叉、分叉後隱含的合併,以及部署決策。若建置失敗,則改發送郵件。
以下為類似部署或建置流程的視覺化表示:
此範例展示一個包含迴圈的審核流程。
PlantUML 程式碼:
@startuml
開始
:建立文件;
重複
:審核文件;
:核准?;
重複直到 (否) → 是
:存檔文件;
停止
@enduml
流程從建立開始,進入重複迴圈進行審核與核准,一旦核准便退出並進行存檔。
文件管理的類似圖表:
這些範例突顯了 PlantUML 如何透過程式碼簡化圖表的建立,使其可進行版本控管,並容易在文件中分享。
活動圖在IT開發的各個階段中扮演著關鍵角色,有助於提升溝通、分析和設計。以下是主要應用:
需求分析:建模業務流程以捕捉用戶需求。例如,繪製用戶註冊流程圖有助於早期識別步驟、決策點和潛在錯誤。
系統設計:詳細描述軟體組件的內部工作流程,例如API請求處理或資料處理管道。它們通過提供場景的具體實現,補充了用例圖。
業務流程建模:在敏捷或瀑布模型方法中,用於繪製IT服務管理(例如ITIL流程)中的工作流程,如訂單履行或工單解決。
演算法可視化:表示複雜的演算法、迴圈和條件判斷,協助開發人員實現程式邏輯。
測試與驗證:通過概述路徑(例如正常流程與錯誤路徑),指導測試用例的建立,確保所有分支都得到覆蓋。
整合與部署:在DevOps中,建模CI/CD管道,顯示並行任務(如測試與建構),以優化自動化腳本。
文件編寫與培訓:作為使用者手冊或入職培訓材料中的視覺輔助工具,使複雜系統對非技術利益相關者更易理解。
透過將活動圖整合至Jira或Confluence等工具中,團隊能夠使開發與業務目標保持一致,減少誤解,並加快迭代速度。
Visual Paradigm,一款領先的UML建模工具,透過其AI圖形生成器。此功能利用自然語言處理技術,將文字描述轉換為完全可編輯且符合標準的UML圖形,包括活動圖。使用者可輸入類似「建模一個帶有付款驗證與運送功能的線上購物結帳流程」的提示,立即生成包含動作、決策、分叉與流程的圖形。
在IT開發流程中的主要優勢:
加速創建:AI自動化初始圖形生成,將手動繪製時間從數小時縮短至數秒。這非常適合在需求收集階段進行腦力激盪或快速原型設計。
智能佈局與建議:該工具確保佈局整潔、平衡,並具備適當的間距與對齊。它能推斷關係、補全遺漏細節,並提出改進建議,例如為分支添加合併節點。
完全可編輯性與整合:生成的圖形為Visual Paradigm原生格式,可進行進一步優化,例如添加泳道或物件流程。可與其他UML圖形(例如連結至類圖)整合,並匯出為PlantUML或圖片格式以便分享。
協作與迭代:在團隊環境中,AI 透過根據更新的文字提示生成變體來加速審查流程。對於非技術用戶(如業務分析師)而言尤其有幫助,他們無需具備深入的 UML 知識即可參與貢獻。
端到端工作流程支援:從分析報告到驗證,AI 提供評論與摘要,確保圖表符合最佳實務。這簡化了從設計到部署的整個開發週期。
總體而言,Visual Paradigm 的 AI 能減少錯誤、提升生產力,並讓 UML 更易於使用,從而改變團隊在 IT 專案中處理活動圖的方式。
逐步指南:TOGAF ADM 企業架構:一份全面的教程,說明架構開發方法(ADM)的各個階段,並示範 Visual Paradigm 如何透過說明、技巧與案例研究,協助產出標準化交付成果。
C4-PlantUML Studio 完全指南:革新軟體架構設計:此資源說明該工作室如何結合AI 驅動的自動化、C4 模型的結構清晰度,以及C4 模型與PlantUML的彈性,以解決文件編撰的瓶頸問題。
ArchiMate 入門指南:運作原理、優勢,以及如何利用 AI 克服挑戰:本指南探討如何由 AI 驅動的 ArchiMate 圖表生成解決傳統建模的缺點,並強調有效使用的最佳實務。
完整教程:結合 TOGAF ADM 使用 ArchiMate,以及 AI 在企業架構建模中的角色:詳細的逐步說明,探討 Visual Paradigm 作為認證工具,如何透過其AI 圖表生成器在 TOGAF 框架內促進企業架構建模。
C4 模型圖表入門指南:逐步介紹四個抽象層級——情境、容器、組件與程式碼——以實現有效的軟體架構溝通。
完整 ArchiMate 觀點指南(含範例):完整參考資料,包含23 個官方 ArchiMate 範例觀點 搭配清晰的圖示說明與認證工具供應商的見解。
全面指南:如何在 TOGAF ADM 中應用差距分析:技術概覽,提供系統化方法以識別 現有架構與目標架構之間的差異 在 TOGAF 生命周期內。
全面教程:使用 AI 聊天機器人生成與修改 C4 模組圖:實務導引,示範如何使用對話式 AI 助手來 建立並逐步優化 軟體系統的內部結構。
無縫整合 ArchiMate 至 TOGAF 的架構開發方法:本文說明如何 自動化 TOGAF ADM 流程 利用標準圖示與視覺化流程導航器,簡化架構師的旅程。
為什麼選擇 ArchiMate?企業架構通用語言指南:探討 ArchiMate 作為獨立建模語言,在描述、分析與視覺化 企業架構.
AI 驅動的 C4 圖示生成器 – 功能與核心層級:文件詳述對四個核心 C4 層級(上下文、容器、模組、部署)的支援,以及必要的 支援性架構視圖.
TOGAF ADM 階段 A:架構願景交付成果:專注於技術導引,詳述 ADM 初始願景階段中預期的特定活動與 強制性交付成果 在 ADM 初始願景階段中預期的成果。
掌握 ArchiMate:企業架構師的全面教程:結構化導覽,旨在協助架構師使用標準符號來分析與視覺化 跨層級關係.
介紹 Visual Paradigm 中的 AI 驅動 ArchiMate 觀點生成器: 此版本說明涵蓋了一項由人工智慧驅動的工具,可自動化建立觀點以提升建模速度與標準合規性.
TOGAF ADM:需求管理交付成果: 一項專注於維護和管理架構需求所需流程與成果的指南架構需求貫穿整個ADM週期。