BPMN中的泳道可幫助您顯示每個活動的負責人在業務流程中。它們被分為:
-
泳道: 分離參與者、組織、系統或獨立流程。
-
泳道: 根據角色、部門、團隊或系統將泳道劃分。
一個有用的規則是:泳道 = 參與者;泳道 = 該參與者內部的責任。

範例流程:處理線上訂單
我們將建模這個簡單流程:
-
客戶下訂單。
-
客戶服務部門核對訂單。
-
財務部門確認付款。
-
倉庫發出訂單。
-
客戶收到出貨通知。
步驟 1:定義流程範圍
在繪製任何內容之前,先決定您要建模的流程。
在本教程中,流程範圍為:
處理線上客戶訂單
主要參與者是處理訂單的公司。客戶位於公司外部,因此您可以將客戶表示為一個獨立的池。
步驟 2:識別參與者
列出參與的個人、部門或系統。
| 參與者 | BPMN 元素 |
|---|---|
| 客戶 | 獨立的池 |
| 線上商店公司 | 主要池 |
| 客戶服務 | 泳道 |
| 財務 | 泳道 |
| 倉庫 | 泳道 |
| 訂單管理系統 | 可選泳道 |
池代表參與者,而泳道則用於組織參與者內部的活動。
步驟 3:建立主要池
畫一個大矩形並標示它:
線上訂單流程
這是包含您想要分析流程的主要泳道。
泳道可以詳細顯示內部流程,也可以在僅需顯示參與者存在時收起。收起的泳道通常對外部參與者很有用,因為這些參與者的內部動作超出了您的流程範圍。
步驟 4:為泳道添加泳道
將主要泳道分成水平或垂直的區段。
在此範例中,加入以下泳道:
-
客戶服務
-
財務
-
倉儲
水平布局可能看起來像這樣:

水平與垂直泳道具有相同意義;選擇讓流程最容易閱讀的方向。
步驟 5:加入開始事件
將開始事件放置在負責接收第一個請求的泳道中。
如果訂單由客戶服務接收,請在該泳道中放置一個開始事件:
客戶服務: (開始)
BPMN 的開始事件通常繪製為一個細圓圈。
清楚地標示它,例如:
訂單已收到
步驟 6:加入活動
將任務新增至執行該任務的個人、部門或系統的欄位中。
以本範例為例:
| 欄位 | 任務 |
|---|---|
| 客戶服務 | 審核訂單 |
| 財務 | 確認付款 |
| 倉庫 | 揀貨與包裝訂單 |
| 倉庫 | 發貨訂單 |
任務通常以圓角矩形顯示。

任務在欄位中的位置表示責任歸屬。將任務放置於財務欄位中,表示財務部門負責或擁有該任務。
步驟 7:使用順序流程連接活動
使用順序流程將同一個資源池內的任務連接起來:順序流程,以實線箭頭表示:

箭頭顯示活動發生的順序。順序流程會停留在同一個資源池內。
當流程在相同資源池內從一個欄位移動到另一個欄位時,應繼續使用順序流程。更換欄位並不代表需要使用訊息流程。
步驟 8:在需要做出決策時添加網關
假設財務部門必須決定付款是否已獲批准。
在付款檢查後添加一個互斥網關:
菱形代表一個網關。為每個輸出路徑標上標籤,以確保決策清晰明確。
一種可能的佈局是:

步驟 9:添加結束事件
在最後一個活動後放置一個結束事件。
對於成功的訂單:
[發貨訂單] → (訂單完成)
對於被拒絕的付款:
[通知客戶] → (訂單取消)
如果流程有多種可能的結果,請使用具有明確標籤的獨立結束事件。
步驟 10:將客戶作為一個獨立的池
如果您想顯示與客戶的溝通,請創建第二個池:
+-----------------------------+
| 客戶 |
| |
+-----------------------------+
+------------------------------------------------------+
| 在線訂單流程 |
| 客戶服務 | 財務 | 倉儲 |
+------------------------------------------------------+
使用訊息流,以虛線箭頭表示。訊息流用於不同參與者之間的溝通,而非活動內部的順序。
範例:
客戶
[提交訂單]
- - - - - - - - - - - >
公司
(訂單已收到)
稍後:
公司
[發送出貨通知]
- - - - - - - - - - - >
客戶
(接收通知)
已完成的簡化模型
已完成流程的文字版本如下所示:

常見的初學者錯誤
為外部參與者使用泳道
如果客戶是獨立的參與者,應使用獨立的泳道,而不是將客戶放在公司泳道中。不同參與者之間的溝通應以訊息流表示。
在泳道之間使用順序流
不要使用順序流連接不同泳道中的任務。應改用訊息流。順序流僅用於泳道內流程的內部進展。
以個人名稱命名泳道
建議使用角色或部門名稱,例如:
-
客戶服務代表
-
財務部門
-
倉儲人員
-
訂單管理系統
避免使用「Alex」或「Jordan」等名字,因為當職責變更時,圖表可能變得不準確。
創建過多泳道
僅在區分能提供有用資訊時才創建泳道。將每個人、應用程式和部門都分別放入泳道,可能會使圖表難以閱讀。
混淆責任與順序
泳道告訴你執行活動的人。箭頭告訴你它發生的時間。單一欄位本身並不會表示順序。
在一個泳道內繪製訊息流程
訊息流程旨在用於不同泳道之間的溝通。若要在同一泳道內的欄位之間進行交接,請使用順序流程。
一個快速檢查清單
在最終確定您的圖表之前,請檢查以下事項:
-
流程範圍明確。
-
泳道代表獨立的參與者。
-
欄位代表角色、部門或系統。
-
每個任務都放置在負責該任務的欄位中。
-
順序流程連接泳道內的活動。
-
訊息流程連接不同的泳道。
-
網關的路徑都有明確標示。
-
包含開始與結束事件。
-
欄位名稱描述的是角色,而非單一員工。
-
圖表可從左至右或從上至下理解。













