
簡介
活動是業務流程模型與符號(BPMN)的基本構建單元。每個業務流程都是透過不同類型的 BPMN 活動構建而成,這些活動代表組織內部執行的工作。本指南提供了一個完整的參考,用以理解 BPMN 活動類型、其符號、元素以及關鍵的建模概念。
什麼是 BPMN?

BPMN(業務流程模型與符號)是全球公認的業務流程建模標準。它提供了一種圖形化符號,對業務使用者而言直覺易懂,同時也足以支持技術實現。其主要特徵包括:
- 普遍理解:彌合業務分析師、開發人員、架構師與利益相關者之間的溝通橋樑
- 標準化符號:使用一致的視覺元素來表示流程流、事件、網關與活動
- 可執行模型:與符合 BPMN 標準的引擎搭配時,支援流程自動化
- 可擴展的細節:允許從高階概覽建模至詳細的實現規格
什麼是 BPMN 活動?
一個BPMN 活動代表業務流程中執行的「工作」。活動可以分為:
| 類型 | 描述 | 使用案例 |
|---|---|---|
| 任務 | 原子性、不可再分解的工作單元 | 單一動作,例如「批准請求」 |
| 子流程 | 包含嵌套任務/子流程的複合活動 | 將相關步驟歸類以提高清晰度 |
| 呼叫活動 | 對全域定義的可重用流程的引用 | 在不同圖表中調用共享流程 |

BPMN 任務類型
任務是無法進一步分解的原子活動。BPMN 2.0 定義了七種專用的任務類型以明確說明如何工作是如何執行的。
🔧 服務任務

定義:一種在無需人工干預的情況下調用自動化服務、網路服務或應用程式的任務。
符號表示:任務矩形,左上角有一個齒輪/扳手圖示。
範例用途:透過 API 將論壇回答發佈到 Twitter。
關鍵概念:完全自動化;觸發外部系統呼叫。
📤 發送任務

定義:一種將訊息發送給另一參與者(池)的任務,發送後立即完成。
符號表示:任務矩形,帶有向外的信封圖示。
範例用途:版主將拒絕通知發送給文章作者。
關鍵概念:發送即忘記的訊息;無需等待回應。
📥 接收任務

定義:一種在繼續前等待接收訊息的任務;訊息收到後即完成。
符號表示:任務矩形,帶有進入的信封圖示。
範例用途:快遞系統等待取件請求訊息。
關鍵概念: 阻塞等待狀態;流程暫停,直到收到訊息為止。
👤 使用者任務

定義: 由人類使用者與軟體應用程式互動所執行的任務。
符號表示: 帶有人像圖示的任務矩形。
範例用途: 買家透過電子商務介面批准訂單。
關鍵概念: 人機互動;需要使用者介面互動。
✋ 手動任務

定義: 完全不依賴軟體協助或流程引擎支援所執行的任務。
符號表示: 帶有手部圖示的任務矩形。
範例用途: 物理手推車檢查與紙本簽核程序。
關鍵概念: 完全由人工執行;無數位系統參與。
⚖️ 商業規則任務

定義: 一種根據商業規則引擎評估輸入並返回決策或輸出的任務。
符號表示: 帶有表格/格線圖示的任務矩形。
範例用途: 使用規則引擎分析問卷資料以產生洞察。
關鍵概念: 宣告式邏輯評估;將規則與流程分離。
💻 腳本任務

定義: 一個由流程引擎解釋並執行預定義腳本的任務。
符號表示法: 帶有腳本/文件圖示的任務矩形。
使用範例: 在貸款申請處理過程中執行信用檢查腳本。
關鍵概念: 引擎執行的程式碼;適合輕量級自動化邏輯。
BPMN 子流程

一個子流程是一種複合活動,將詳細流程封裝於單一活動符號中。子流程可實現:
- 抽象化: 在高階圖表中隱藏複雜性
- 重用性: 定義一次,多次引用
- 模組化: 將流程組織成邏輯元件
- 協作: 允許團隊分別處理不同的子流程

子流程標記
| 標記 | 名稱 | 行為 | 視覺指示 |
|---|---|---|---|
| 🔁 | 循環 | : 依序重複執行子流程,直到條件滿足為止 | 任務內部的圓形箭頭 |
| ≣ | 多實例 | 執行子流程的多個平行執行個體 | 任務內的三條垂直線 |
| ↺ | 補償 | 定義事務流程的取消/回滾邏輯 | 彎曲箭頭(逆時針方向) |
| ✦ | 臨時 | 任務可依案件需求選擇性地以任意順序執行 | 任務內的波浪線(~)或星號 |
迴圈子流程

當一組活動必須重複執行時使用(例如:「審核直到通過」)。
多實例子流程

用於平行處理(例如:「同時通知所有部門主管」)。
補償子流程

用於回滾情境(例如:「若付款失敗則取消預訂」)。
臨時子流程

用於彈性、以案件為導向的工作流程(例如:「處理客戶投訴,可選步驟」)。
BPMN 呼叫活動

一個呼叫活動引用目前圖表以外全域定義的流程或活動。
主要優勢:
- ✅ 提升標準化流程的重複使用
- ✅ 透過抽象常見工作流程,減少圖表雜亂
- ✅ 確保多個流程模型之間的一致性
- ✅ 簡化維護作業(更新一次,即可傳播至所有地方)
符號表示:具有粗邊框及「加號」或參考指示符的任務矩形。
範例: 「註冊使用者」呼叫活動,調用跨入門、結帳和支援工作流程共用的註冊程序。
關鍵模型概念與最佳實務
🎯 活動選擇指南
- 從任務開始: 首先建模原子工作;當複雜度增加時,再重構為子流程
- 精確選擇任務類型: 將圖示與執行機制相符(人工 vs. 自動化 vs. 訊息驅動)
- 使用子流程建立層級結構: 收斂詳細流程,以維持高階層級的可讀性
- 善用呼叫活動以實現重用: 將常見模式(例如「核准」、「通知」、「驗證」)提取為全域流程
🔗 流程與連接性
- 活動透過以下方式連接順序流程(實線箭頭)顯示執行順序
- 訊息流程(虛線箭頭)連結參與者池之間的活動
- 關聯線(點線)附加資料物件或註解等實體
📐 記號一致性
| 元素 | 符號 | 目的 |
|---|---|---|
| 任務 | 圓角矩形 | 原子工作單元 |
| 子流程 | 帶有 +/標記的圓角矩形 | 收斂/展開的流程 |
| 呼叫活動 | 具有粗邊框的圓角矩形 | 外部流程參考 |
| 網關 | 菱形 | 決策/合併點 |
| 事件 | 圓形 | 觸發或結果 |
參考清單
- BPMN活動類型說明:BPMN 2.0活動類型的完整指南,包含任務、子流程和呼叫活動,並附有視覺範例。
- 什麼是BPMN:商業流程模型與符號簡介,包括其目的、目標受眾,以及促進跨功能溝通的優勢。
- 什麼是BPMN活動:對BPMN活動的基礎說明,將其視為商業流程中的原子或複合工作單元。
- BPMN任務:原子任務元素的概覽,以及七種專用的BPMN 2.0任務類型,用於精確的行為建模。
- 服務任務:關於調用自動化服務、網路API或應用程式而無需人工干預的任務詳情。
- 發送任務:說明在向另一流程參與者發送訊息後即完成的訊息發送任務。
- 接收任務:描述等待訊息的任務,會阻斷流程執行,直到收到傳入訊息為止。
- 使用者任務:關於需要與軟體應用程式進行人機互動才能完成的任務指引。
- 手動任務:明確說明完全不依賴軟體或流程引擎協助的手動任務。
- 商業規則任務:介紹與商業規則引擎介接以進行宣告式決策的任務概覽。
- 腳本任務:解釋執行引擎解譯腳本以實現輕量級自動化邏輯的任務。
- BPMN 子流程:指導複合活動,這些活動封裝嵌套的流程邏輯,以實現抽象化與模組化。
- 循環:描述標記子流程,用以指示封閉活動的順序重複。
- 多實例:解釋可啟用多個相同子流程實例並行執行的標記。
- 補償:詳細說明專為事務工作流程中的撤銷/回滾邏輯而設計的子流程。
- 臨時:概述靈活的子流程,其中任務可選擇性執行且不按順序進行。
- BPMN 調用活動:指導如何引用外部可重用的流程定義,以確保一致性和可維護性。
- 額外資源:精心整理的連結,包含 BPMN 軟體工具與基礎學習指南。
💡 專業提示:始終從最簡單且能準確代表工作的活動類型開始建模。過早使用複雜的子流程或標記進行過度設計,會降低圖表的清晰度並影響利益相關者的接受度。













