活動圖有助於描述目標系統的控制流程,例如探索複雜的業務規則和操作、描述用例以及建模業務流程。
簡介
活動圖是統一建模語言(UML)的基本組成部分,用於建模系統的動態方面。它們著重於 協調底層行為的順序與條件,而非這些行為由哪些分類器所擁有。這些通常被稱為 控制流程 以及 物件流程模型.
這些模型所協調的行為可以因為以下原因而啟動:
-
其他行為完成執行
-
物件與資料變得可用
-
流程外部發生事件

visual Paradigm 活動圖工具
目的與應用
活動圖具有多種建模用途:
🔹 程序式計算:活動作為方法,對應於物件導向模型中類別上的操作。
🔹 業務流程工程:應用於組織建模以設計工作流程,其中事件可能來自系統內部(任務完成)或外部(客戶互動)。
🔹 資訊系統建模:用於指定系統層級的流程並協調複雜的業務規則。
🔹 用例詳述:協助描述用例情境中的內部操作流程。
活動圖範例

一個典型的活動圖範例,顯示控制流程、決策點和並行處理。
完整的符號參考
以下是所有活動圖符號的完整參考,包括視覺圖示、定義和關鍵屬性。
核心元素
活動

定義: 活動指定使用控制與資料流程模型來協調次級行為的執行。執行流程被建模為透過活動邊連接的活動節點。
關鍵屬性:
| 屬性 | 描述 |
|---|---|
| 名稱 | 活動的名稱 |
| 使用的建模語言 | 使用的建模語言 |
| 調用時必須滿足的約束條件 | 調用時必須滿足的約束條件 |
| 執行完成後滿足的約束條件 | 執行完成後滿足的約束條件 |
| 單一執行 | 若為真,所有呼叫均由同一執行處理 |
| 唯讀 | 若為真,活動無法進行非本機變更 |
| 可重入 | 行為是否可在執行中再次被調用 |
| 參數 | 調用時參數的順序與類型 |
活動參數節點

定義: 流程起點和終點的物件節點,透過活動參數提供接受活動輸入和提供活動輸出的方式。
主要屬性:
| 屬性 | 描述 |
|---|---|
| 參數 | 節點接受/提供值的參數 |
| 上限 | 節點允許的最大標記數 |
| 排序類型 | 標記選擇時的排序方式 |
| 方向 | 指示參數是輸入還是輸出(預設:輸入) |
| 類型 | 活動參數節點的類型 |
| 必須隔離 | 若為真,則動作會獨立執行(預設:假) |
動作

定義: 表示活動中不可再分解的單一步驟。只有當所有輸入條件都滿足時,動作才會開始執行。
主要屬性:
| 屬性 | 描述 |
|---|---|
| 名稱 | 動作的名稱 |
| 可見性 | 命名空間內的可存取性 |
| 類型 | 呼叫行為動作或呼叫操作動作 |
| 效果 | 完成動作的影響 |
| 必須隔離 | 將群組外動作的影響隔離 |
事件處理動作
接受事件動作

定義: 一種等待符合指定條件之事件發生的動作。
接受時間事件動作

定義: 如果發生的是時間事件,結果值會包含該事件發生的時間。非正式地稱為「等待時間動作」。
發送訊號動作

定義: 從輸入建立訊號實例,並傳送到目標物件,可能導致狀態機轉換或活動執行。請求者立即繼續;忽略回應。
控制節點
初始節點

定義: 當活動被調用時,流程開始的控制節點。一個活動可以有超過一個初始節點。
活動結束節點

定義: 一個活動可以有超過一個活動結束節點。第一個到達的會停止所有流程活動中的所有流程。
流程結束節點

定義: 流程結束節點會銷毀所有到達的標記。它對活動中的其他流程無影響無影響活動中的其他流程。
判斷節點

定義: 接收來自傳入邊的標記,並將其呈現給多個傳出邊。所 traversed 的邊取決於傳出邊上守衛的評估結果。
合併節點

定義: 將多個替代流程合併。不用于同步並行流程,而是用於接受 多個中的其中之一 替代流程。
分叉節點

定義: 一個將流程分割成 多個並行流程。有一個進入邊和多個輸出邊。
匯聚節點

定義: 一個用於 同步多個流程。有多個進入邊和一個輸出邊。
物件節點與流程
物件節點

定義: 指示某個特定分類器的實例,可能在活動中的某個特定點處於某種狀態,可供使用。
輸入針

定義: 通過物件流程從其他動作接收值的物件節點。
輸出針

定義: 通過物件流程將值傳遞給其他動作的物件節點。
值針

定義: 提供值給動作的輸入針,該值並非來自進入的物件流程邊。不 來自進入的物件流程邊。
中央緩衝節點

定義: 接收來自上游物件節點的標記,並將其傳遞給下游物件節點。作為多個輸入/輸出流程的緩衝。不直接連接到動作。
資料儲存節點

定義: 代表活動流程中物件的持久化儲存位置。
控制流程

定義: 在前一個節點完成後啟動活動節點的邊。
主要屬性:
| 屬性 | 描述 |
|---|---|
| 來源/目標 | 由流程連接的節點 |
| 權重 | 必須同時通過的最少標記數 |
| 守衛 | 用於判斷可 traversability 的執行時期規範 |
物件流程

定義: 可以讓物件或資料沿其傳遞的活動邊。
主要屬性:
| 屬性 | 描述 |
|---|---|
| 選擇 | 從來源物件節點選擇標記 |
| 轉換 | 更改或替換沿邊流動的資料標記 |
| 多播/多接收 | 控制物件傳遞方法 |
結構化活動節點
條件節點規格

定義: 代表一種結構化活動節點,用以表示一個排他性選擇在多個選項之間的選擇。
主要屬性:
| 屬性 | 描述 |
|---|---|
| 確保 | 若為真,則至少有一個測試會成功(預設值:假) |
| 明確 | 若為真,則最多只有一個測試會成功(預設值:假) |
| 子句 | 構成條件的子句 |
| 結果 | 構成資料流輸出的輸出接腳 |
迴圈節點

定義: 代表一個具有設定、測試和主體區段的迴圈。測試區段可位於主體區段之前或之後。
主要屬性:
| 屬性 | 描述 |
|---|---|
| 決策者 | 其值決定迴圈是否繼續的輸出接腳 |
| 首先進行測試 | 如果為真,則在第一次執行主體之前進行測試 |
| 設定/測試/主體部分 | 迴圈元件的子區域 |
| 迴圈變數 | 在迭代之間維持的值 |
擴展區域

定義: 一個嚴格嵌套的區域,具有明確的輸入/輸出(以擴展節點建模)。針對輸入集合中的每個元素執行一次。
執行模式:
-
平行: 所有互動都是獨立的
-
迭代: 互動按照元素的順序發生
-
串流: 一串值流進單一執行
擴展節點

定義: 用於指示擴展區域邊界上流動的物件節點。輸入集合在內部被拆分成單獨的元素;輸出將元素重新組合為集合。
序列節點

定義: 一個結構化活動節點,依序執行其動作依序.
結構化活動節點

定義: 一個容器節點,用於將具有明確執行語義的其他活動節點分組。
進階構造
可中斷活動區域

定義: 一個支援終止活動中部分流程的流程群組。當流程代幣透過中斷邊緣離開時,所有代幣與行為該區域內的所有項目均被終止。
例外處理程序

定義: 指定當受保護節點執行期間發生指定例外時要執行的程式碼區塊。
主要屬性:
| 屬性 | 描述 |
|---|---|
| 受保護節點 | 由處理程序保護的節點 |
| 處理程序主體 | 若處理程序捕獲例外,則執行的節點 |
| 例外輸入 | 接收例外代幣的物件節點 |
| 例外類型 | 處理程序所捕獲例外的分類 |
支援元素
泳道

定義: 用於在活動圖中分割子元素,通常用以顯示由參與者、部門或系統組件所承擔的責任。
屬性:
-
水平分割
-
垂直分割
註解

定義: 一種可附加註解至元素的註解。不具語義意義,但可能包含有用的建模資訊。
約束

定義:以自然語言或機器可讀語言表達的條件或限制,用於宣告元素的語義。
屬性:
| 屬性 | 描述 |
|---|---|
| 名稱 | 約束的可選名稱 |
| 表示式 | 滿足條件時必須為真的條件 |
相關的UML圖表
活動圖在與其他UML圖表類型搭配使用時效果最佳:
| 圖表類型 | 目的 | 連結 |
|---|---|---|
| 用例圖 | 捕捉功能需求與參與者互動 | 檢視 |
| 類別圖 | 模擬靜態結構與關係 | 檢視 |
| 序列圖 | 顯示物件在時間上的互動 | 檢視 |
| 通訊圖 | 強調互動中的物件關係 | 檢視 |
| 狀態機圖 | 模擬物件狀態與轉換 | 檢視 |
| 組件圖 | 顯示實體組件及其依賴關係 | 檢視 |
| 部署圖 | 模擬硬體拓撲結構與元件部署 | 檢視 |
| 套件圖 | 將模型元素組織成命名空間 | 檢視 |
| 物件圖 | 顯示某一時刻的實例與連結 | 檢視 |
| 複合結構圖 | 顯示分類器的內部結構 | 檢視 |
| 時序圖 | 著重於時間限制與狀態變更 | 檢視 |
| 互動概觀圖 | 結合活動圖與互動圖 | 檢視 |
參考資料
- 活動圖 – Visual Paradigm UML圖庫:Visual Paradigm官方文件中關於UML活動圖符號、定義與屬性的完整參考資料。
- 用例圖 – Visual Paradigm UML圖庫:使用用例圖來模擬功能需求與參與者-系統互動的指南。
- 類圖 – Visual Paradigm UML圖庫:用於模擬靜態結構、類別、屬性、操作與關係的參考資料。
- 序列圖 – Visual Paradigm UML圖庫:用於模擬物件與生命線之間時間順序互動的文件。
- 通訊圖 – Visual Paradigm UML圖庫: 專注於物件連結與訊息傳遞的協作/通訊圖指南。
- 狀態機圖 – Visual Paradigm UML圖庫: 用於建模單一物件的狀態、轉移、事件與動作的參考資料。
- 元件圖 – Visual Paradigm UML圖庫: 用於建模系統中實體元件、介面與相依性的文件。
- 部署圖 – Visual Paradigm UML圖庫: 用於建模硬體節點、實體與部署設定的指南。
- 套件圖 – Visual Paradigm UML圖庫: 用於將模型元素組織成套件並管理命名空間的參考資料。
- 物件圖 – Visual Paradigm UML圖庫: 用於在特定時刻建模類別實例及其連結的指南。
- 複合結構圖 – Visual Paradigm UML圖庫: 用於顯示分類器的內部結構、元件、埠與連接器的文件。
- 時序圖 – Visual Paradigm UML圖庫: 用於建模基於時間的限制與生命線之間狀態變化的參考資料。
- 互動概觀圖 – Visual Paradigm UML圖庫: 用於結合活動圖流程控制與互動圖片段的指南。
- 物件管理小組 – UML規格: 統一模型語言標準與規格的官方來源。
- 統一模型語言(OMG UML)超結構 v2.2: 定義 UML 符號語義的基礎規格,本指南中符號定義皆引用自該規格。
ℹ️符號定義引用自物件管理小組 統一模型語言(OMG UML)超結構版本 2.2 及舊版(適用於最新規格中已不存在的符號)。
本指南旨在為尋求使用 UML 活動圖來建模複雜工作流程與業務流程的軟體架構師、業務分析師與系統設計師而設。所有視覺資產與定義皆源自 Visual Paradigm 官方 UML 圖庫。











