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:
- 流程间交互:建模多个 pools 时,可用 Message flows 展示参与方间的沟通。如客户向供应商下单,通过各自 pool 之间的 message flow 表达。
- 独立流程:每个 pool 拥有独立的流程,彼此相对独立,消息流可用于关联它们。
Swimlanes(Lanes):
- 职责与组织:pool 内的 lanes 表示不同参与者、角色或部门,负责不同任务,便于明确同一组织内的分工。
- 任务分配:通过 swimlanes,BPMN 模型让部门或个人的任务一目了然,清楚展现流程责任。
Collapsed Pool:
- 参与方表示:collapsed pool 表示流程参与者但不展示其内部 workflow,可代表外部组织、部门或和其他参与方互动的实体。
- 无内部活动:pool 内无任何活动或任务,意味着内部流程被隐藏或与当前流程图无关。
- 关注交互:主要看 collapsed pool 通过 message flows 怎样与其他参与方互动,不关注其内部具体步骤。
- 边界清晰:虽然内部流程隐藏,参与者边界仍清晰展示,突出其在整体流程中的角色。
- 简化视图:collapsed pool 帮助简化复杂流程图,去除外部无关细节,便于专注于交互和沟通。
示例
Pool 示例:在供应链流程中:
- 一个 pool 表示“供应商”,另一个 pool 表示“客户”。
- “客户” pool 的流程包括下订单,而“供应商” pool 的流程包括处理和发货。
- pools 之间的 Message flows 展示了订单请求发送、发货确认等沟通。
Swimlane 示例:在公司内部流程中:
- 一个 pool 表示“公司 XYZ”。
- 在 pool 内,swimlanes 代表不同部门,比如“销售”“运营”和“财务”。
- 例如“生成发票”任务分配给“财务” lane,“准备发货”分配给“运营” lane,清晰展现职责分工。
Collapsed Pool 示例:在国际业务协作中:
- 一个 collapsed pool 表示“国际合作伙伴 A”,另一个 collapsed pool 表示“国际合作伙伴 B”。
- “国际合作伙伴 A”和“国际合作伙伴 B”的内部流程未展示,因为和当前流程图无关。
- collapsed pools 之间的 Message flows 展示 A 发出合同提案、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中的分工,确保组织内部及外部的责任明确。