de_DEen_USes_ESfa_IRfr_FRhi_INid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

BPMN 活動類型:全面指南

簡介

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


什麼是 BPMN?

BPMN(業務流程模型與符號)是全球公認的業務流程建模標準。它提供了一種圖形化符號,對業務使用者而言直覺易懂,同時也足以支持技術實現。其主要特徵包括:

  • 普遍理解:彌合業務分析師、開發人員、架構師與利益相關者之間的溝通橋樑
  • 標準化符號:使用一致的視覺元素來表示流程流、事件、網關與活動
  • 可執行模型:與符合 BPMN 標準的引擎搭配時,支援流程自動化
  • 可擴展的細節:允許從高階概覽建模至詳細的實現規格

什麼是 BPMN 活動?

一個BPMN 活動代表業務流程中執行的「工作」。活動可以分為:

類型 描述 使用案例
任務 原子性、不可再分解的工作單元 單一動作,例如「批准請求」
子流程 包含嵌套任務/子流程的複合活動 將相關步驟歸類以提高清晰度
呼叫活動 對全域定義的可重用流程的引用 在不同圖表中調用共享流程


BPMN 任務類型

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

🔧 服務任務

定義:一種在無需人工干預的情況下調用自動化服務、網路服務或應用程式的任務。

符號表示:任務矩形,左上角有一個齒輪/扳手圖示。

範例用途:透過 API 將論壇回答發佈到 Twitter。

關鍵概念:完全自動化;觸發外部系統呼叫。


📤 發送任務

定義:一種將訊息發送給另一參與者(池)的任務,發送後立即完成。

符號表示:任務矩形,帶有向外的信封圖示。

範例用途:版主將拒絕通知發送給文章作者。

關鍵概念:發送即忘記的訊息;無需等待回應。


📥 接收任務

定義:一種在繼續前等待接收訊息的任務;訊息收到後即完成。

符號表示:任務矩形,帶有進入的信封圖示。

範例用途:快遞系統等待取件請求訊息。

關鍵概念: 阻塞等待狀態;流程暫停,直到收到訊息為止。


👤 使用者任務

定義: 由人類使用者與軟體應用程式互動所執行的任務。

符號表示: 帶有人像圖示的任務矩形。

範例用途: 買家透過電子商務介面批准訂單。

關鍵概念: 人機互動;需要使用者介面互動。


✋ 手動任務

定義: 完全不依賴軟體協助或流程引擎支援所執行的任務。

符號表示: 帶有手部圖示的任務矩形。

範例用途: 物理手推車檢查與紙本簽核程序。

關鍵概念: 完全由人工執行;無數位系統參與。


⚖️ 商業規則任務

定義: 一種根據商業規則引擎評估輸入並返回決策或輸出的任務。

符號表示: 帶有表格/格線圖示的任務矩形。

範例用途: 使用規則引擎分析問卷資料以產生洞察。

關鍵概念: 宣告式邏輯評估;將規則與流程分離。


💻 腳本任務

定義: 一個由流程引擎解釋並執行預定義腳本的任務。

符號表示法: 帶有腳本/文件圖示的任務矩形。

使用範例: 在貸款申請處理過程中執行信用檢查腳本。

關鍵概念: 引擎執行的程式碼;適合輕量級自動化邏輯。


BPMN 子流程

一個子流程是一種複合活動,將詳細流程封裝於單一活動符號中。子流程可實現:

  • 抽象化: 在高階圖表中隱藏複雜性
  • 重用性: 定義一次,多次引用
  • 模組化: 將流程組織成邏輯元件
  • 協作: 允許團隊分別處理不同的子流程

子流程標記

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

迴圈子流程

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

多實例子流程

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

補償子流程

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

臨時子流程

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


BPMN 呼叫活動

一個呼叫活動引用目前圖表以外全域定義的流程或活動。

主要優勢:

  • ✅ 提升標準化流程的重複使用
  • ✅ 透過抽象常見工作流程,減少圖表雜亂
  • ✅ 確保多個流程模型之間的一致性
  • ✅ 簡化維護作業(更新一次,即可傳播至所有地方)

符號表示:具有粗邊框及「加號」或參考指示符的任務矩形。

範例: 「註冊使用者」呼叫活動,調用跨入門、結帳和支援工作流程共用的註冊程序。


關鍵模型概念與最佳實務

🎯 活動選擇指南

  1. 從任務開始: 首先建模原子工作;當複雜度增加時,再重構為子流程
  2. 精確選擇任務類型: 將圖示與執行機制相符(人工 vs. 自動化 vs. 訊息驅動)
  3. 使用子流程建立層級結構: 收斂詳細流程,以維持高階層級的可讀性
  4. 善用呼叫活動以實現重用: 將常見模式(例如「核准」、「通知」、「驗證」)提取為全域流程

🔗 流程與連接性

  • 活動透過以下方式連接順序流程(實線箭頭)顯示執行順序
  • 訊息流程(虛線箭頭)連結參與者池之間的活動
  • 關聯線(點線)附加資料物件或註解等實體

📐 記號一致性

元素 符號 目的
任務 圓角矩形 原子工作單元
子流程 帶有 +/標記的圓角矩形 收斂/展開的流程
呼叫活動 具有粗邊框的圓角矩形 外部流程參考
網關 菱形 決策/合併點
事件 圓形 觸發或結果

參考清單

  1. BPMN活動類型說明:BPMN 2.0活動類型的完整指南,包含任務、子流程和呼叫活動,並附有視覺範例。
  2. 什麼是BPMN:商業流程模型與符號簡介,包括其目的、目標受眾,以及促進跨功能溝通的優勢。
  3. 什麼是BPMN活動:對BPMN活動的基礎說明,將其視為商業流程中的原子或複合工作單元。
  4. BPMN任務:原子任務元素的概覽,以及七種專用的BPMN 2.0任務類型,用於精確的行為建模。
  5. 服務任務:關於調用自動化服務、網路API或應用程式而無需人工干預的任務詳情。
  6. 發送任務:說明在向另一流程參與者發送訊息後即完成的訊息發送任務。
  7. 接收任務:描述等待訊息的任務,會阻斷流程執行,直到收到傳入訊息為止。
  8. 使用者任務:關於需要與軟體應用程式進行人機互動才能完成的任務指引。
  9. 手動任務:明確說明完全不依賴軟體或流程引擎協助的手動任務。
  10. 商業規則任務:介紹與商業規則引擎介接以進行宣告式決策的任務概覽。
  11. 腳本任務:解釋執行引擎解譯腳本以實現輕量級自動化邏輯的任務。
  12. BPMN 子流程:指導複合活動,這些活動封裝嵌套的流程邏輯,以實現抽象化與模組化。
  13. 循環:描述標記子流程,用以指示封閉活動的順序重複。
  14. 多實例:解釋可啟用多個相同子流程實例並行執行的標記。
  15. 補償:詳細說明專為事務工作流程中的撤銷/回滾邏輯而設計的子流程。
  16. 臨時:概述靈活的子流程,其中任務可選擇性執行且不按順序進行。
  17. BPMN 調用活動:指導如何引用外部可重用的流程定義,以確保一致性和可維護性。
  18. 額外資源:精心整理的連結,包含 BPMN 軟體工具與基礎學習指南。

💡 專業提示:始終從最簡單且能準確代表工作的活動類型開始建模。過早使用複雜的子流程或標記進行過度設計,會降低圖表的清晰度並影響利益相關者的接受度。