BPMN池与泳道详解
介绍
在BPMN 2.0中,Pools和Swimlanes(也叫Lanes)结构化管理流程,直观展现业务流程涉及的角色、部门或实体。通过这些元素,可以明确各任务负责方及参与者间的互动关系。
Pools
作用:Pool 代表流程中的主要参与方或较大实体,如组织、系统或业务伙伴。用于定义流程边界,每个Pool可表示不同企业、部门或合作方。
视觉表现:大矩形容器包裹完整流程,可含多个Swimlane(Lane),每个Pool为独立的参与者或流程。
示例:在某流程中,“Company A”和”Company B”分别用两个Pool呈现,展示双方业务协作。
应用场景:用于建模不同实体间协作,如企业与外部Vendor、Partner或Customer。每个实体拥有独立Pool,Pool间若有交流用Message Flow表现。
Swimlanes(Lanes)
用途:Swimlane(泳道,或称 Lane)是在 pool 内的子分区,用于根据角色、部门或系统进一步整理活动。Swimlane 有助于清晰展示 pool 内各任务的负责人。
可视化表现:在 pool 内横向或纵向分区,每个区块代表不同的参与者(如某部门、角色或系统)。
示例:公司 pool 中可以设有 “Sales”、“Finance”、“Customer Support” 的 lanes,各自负责相应部门任务。
应用场景:Swimlane 用于分配 pool 内任务责任,明确每项活动的责任人。例如,发票处理相关任务归属 “Finance” lane,客户咨询任务归于 “Customer Support” lane。
Collapsed Pool
作用:Collapsed Pool 用于表示流程中的参与方(如企业、部门或系统),但不会展示其内部流程细节。用于表现不同参与方之间的交互,而无需公开其内部workflow。
视觉表现:以大矩形展示,无内部活动内容。通常只含参与方名称,并可通过Message Flow进出,表示与其他方的互动。
示例:如业务流程图中,公司与供应商协作。公司的内部流程会显示,供应商则用Collapsed Pool突出其参与,内部流程不展开。
应用场景:适合展示多个参与方的交互,但无需显示所有的详细流程。例如,展示客户与外部Vendor的互动,而无需展开Vendor内部流程。
主要特征
Pools:
- 流程间交互:建模多个Pool时,通过Message Flow表现参与方之间的交流。例如,客户对供应商发出订单,即用Pool间的Message Flow体现。
- 独立流程:每个Pool有独立流程,互不干扰,仅通过Message Flow相互连接。
Swimlanes(Lanes):
- 职责与组织:Pool中的Lane代表不同参与方、角色或部门,明确各自任务责任。
- 任务分配:将任务按Swimlane整理,方便看清各部门或个人负责的环节。
Collapsed Pool:
- 参与方表示:Collapsed Pool代表某参与方但不展示其内部workflow,适用于外部组织、部门或与其他参与方沟通的实体。
- 无内部活动:Pool内不显示任何活动,即内部流程被隐藏或与当前流程图无关。
- 交互为核心:聚焦通过Message Flow与其他参与方的互动,而不是其内部步骤。
- 边界明确:虽流程隐藏,参与方边界清晰,体现其整体流程中的角色。
- 简化视图:Collapsed Pool有助于简化复杂流程,聚焦重要外部交互与通讯。
示例
Pool 示例:供应链流程中:
- 一个Pool代表“Supplier”,另一个代表“Customer”;
- “Customer” Pool可能包含下单流程,“Supplier” Pool包括订单处理和发货;
- Pool之间用Message Flow沟通,如发订单请求、收发货确认。
Swimlane 示例:公司内部流程中:
- 一个Pool代表“Company XYZ”;
- Pool内Swimlane为不同部门,如“Sales”、“Operations”、“Accounting”;
- “Generate Invoice”任务分配给“Accounting” Lane,“Prepare Shipment”交由“Operations” Lane,职责划分直观。
Collapsed Pool 示例:国际业务协作场景:
- 一个Collapsed Pool表示“International Partner A”,另一个为“International Partner B”;
- 双方内部流程不展示,无关当前流程图;
- Collapsed Pool间通过Message Flow沟通,如“Partner A”发出合同,“Partner B”收到并签署合同;
- 重点突出双方的交互与沟通,非各自内部合同处理细节。
关键点
Pools:
- 表示独立参与方,如企业、部门或系统;
- 用于建模不同组织或实体之间的互动关系;
- 内含完整流程,通过Message Flow与其他Pool通讯。
Swimlanes(Lanes):
- Pool内的细分,代表同一组织里的角色、部门或系统;
- 用于任务结构化分配,明确具体活动责任;
- 通过任务归类,提高流程责任清晰度。
Collapsed Pools:
- 表示流程中未展示或当前视图不相关的参与方;
- 聚焦参与方间交互,省略内部细节,流程图更简洁;
- 适用于主要建模高层通讯或外部交互场合;
- 用Message Flow展现Collapsed Pools和其他参与方的信息流;
- 降低流程复杂度,同时突出交互清晰明了。
应用场景
- Pools:用于建模不同实体间的交互,如企业与供应商或客户。
- Swimlanes:用于建模单一组织内部流程,展示不同角色或部门在 workflow 中的分工。
- Collapsed Pools:用于描述外部参与者且无需显示其内部流程,例如客户与服务商互动,重点只在双方沟通,不涉及服务商的内部细节。
示例
[IMAGE PLACEHOLDER FOR POOLS AND SWIMLANES EXAMPLE]
Pool 1:“Customer”
- Lane 1:“Sales Department”(Task:“Submit Order”)
- Lane 2:“Accounting Department”(Task:“Send Payment Confirmation”)
Pool 2:“Supplier”
- Lane 1:“Warehouse”(Task:“Prepare Shipment”)
- Lane 2:“Billing”(Task:“Issue Invoice”)
在此流程图中,Customer Pool通过Message Flow与Supplier Pool沟通(如下单和收发发票),各任务根据部门划分到具体Lane。
Pools与Swimlanes有助于结构化复杂业务流程,清晰展现不同实体和角色在workflow中的分工,确保组织内部及外部的责任明确。