天天看點

「業務架構」如何在BPMN中正确使用泳道

在BPMN術語中,“泳道”代表兩個主要分組BPMN元素-池和泳道。

池是設定業務流程邊界的基本BPMN元素。池最多包含一個業務流程。這意味着兩個流程程必須在兩個不同的池中模組化。池可以以将要執行的流程的形式具有可見的内部詳細資訊(稱為“白盒池”),或者池可能沒有可見的内部詳細資訊(稱為“黑盒池”)。應該使用的池類型取決于所需的詳細程度和特定的上下文。

“白盒”池通常以相應的業務流程(如“需求管理流程”、“幫助台流程”或“服務傳遞流程”)命名,而“黑盒”池通常以相應的組織、人員或系統(如“供應商”)命名,“客戶”或“内容管理系統”)。

泳道

Lane是池中的子分區,用于組織和分類流程的活動。最常見的是,lane代表一個組織角色(例如開發人員、分析師和經理)。但是,泳道也可用于其他目的(例如第一階段、第二階段和第三階段)

「業務架構」如何在BPMN中正确使用泳道

常見誤解

遊泳池和泳道的含義和語義常被誤解。例如,一組池可能被錯誤地視為單個池中的一組泳道,反之亦然。這會導緻文法和語義上錯誤的流程模型。

由于池和通道之間的語義差異,BPMN流元素(活動、網關和事件)的連接配接方式不同,這取決于它們是在池中使用還是在池之間使用。在池中,BPMN流元素以以下方式與序列流連接配接,如圖2所示。

「業務架構」如何在BPMN中正确使用泳道

“池之間”通信時隻能使用消息流。消息流表示兩個池或流程之間的消息交換,包括它們的同步。可以按照圖3中的定義使用消息流:

「業務架構」如何在BPMN中正确使用泳道

請注意,在這兩種情況下,隻允許元素之間的連接配接,如前兩幅圖所示。基于這些誤解,在模組化BPMN時,以下三個錯誤是常見的:

錯誤1:缺少序列流

問題。在對多個池進行模組化時(例如,在業務對業務的情況下,兩個或多個流程互動),一個常見的錯誤是池中的活動沒有連接配接到序列流。

這種錯誤最常見的原因是模組化者可能将多個池視為單個流程,并錯誤地将消息流解釋為訓示活動序列的方式。這種流程模型是無效的,因為沒有明确定義活動的順序。

「業務架構」如何在BPMN中正确使用泳道

解決方案。模組化者應該始終對單個池進行模組化和驗證,并記住一個池不能包含多個流程。這意味着池中的所有流元素都應該使用圖2和圖3中定義的序列流進行連接配接。

「業務架構」如何在BPMN中正确使用泳道

錯誤2:序列流的錯誤使用

問題。模組化多個池時的另一個常見問題是,模組化者可能會将一組池視為具有多個通道的單個池。在這種情況下,模組化者使用池之間的序列流。最終結果将是一個不正确的模型(參見圖2),該模型散布在池的邊界上。

「業務架構」如何在BPMN中正确使用泳道

解決方案。此問題最常見的解決方案是在單個模型中使用泳道交換池,如下所示。如果需要使用多個池(可能存在多個獨立流程時),則應使用錯誤1的解決方案。

「業務架構」如何在BPMN中正确使用泳道

錯誤三:泳道使用不當

問題。有時,模組化者可能會錯誤地将一個通道視為一個池,進而在單獨的通道中表示各個流程。這是錯誤的,因為通道隻是一種“活動分類機制”。下圖顯示了這個錯誤。

「業務架構」如何在BPMN中正确使用泳道

解決方案。這個問題最常見的解決方案與前一個類似;在兩個流程中定義一個(如圖9所示)。這意味着備援的開始和結束事件将從模型中删除。如果實際需要多個池(存在多個獨立流程),則應使用錯誤1的解決方案。

「業務架構」如何在BPMN中正确使用泳道

盡管如此,重要的是要指出,如果一個流程有兩個開始或兩個結束事件,在文法上并不是錯誤的!例如,幾個不同的事件可以在不同的地方啟動一個流程,例如,通過消息觸發器異步啟動一個流程,或者每天早上定期啟動一個流程。另一方面,一個流程通常以不同的結束狀态結束(例如“成功治療”或“不成功治療”)。

結論