本页目录
BPMN 连接对象详解
简介
在 BPMN 2.0 中,Connecting Objects 用于定义流程模型元素之间的关系和信息流。它们将 activities、event 与 gateway 连接,引导流程流向或传递 data 和消息。主要的 Connecting Objects 包括 Sequence Flow、Message Flow 和 Association。
Sequence Flow
Sequence Flow 定义流程中 activities、event 和 gateway 的执行顺序,展示任务从一步到下一步的逻辑关系。
Sequence Flow 用直线加箭头表示任务的顺序流向,可以标识条件路径或默认路径。
- 示例:Sequence Flow 连接 “Submit Application” 任务和 “Review Application” 任务,表示申请提交后进入审核。
- Sequence Flow 类型:
- 普通 Sequence Flow:活动间的默认顺序流转。
- 条件 Sequence Flow:满足特定条件时才可执行(以小菱形标示)。
- 默认 Sequence Flow:没有匹配条件时的备选流向(起点有斜杠)。
- 适用场景:用 Sequence Flow 指导流程每个步骤的执行顺序,确保业务有序推进。
Message Flow
Message Flow 表示不同参与者或流程之间的信息沟通,通常用于不同 pool 间的信息传递。适合描述独立流程之间的信息交换。
Message Flow 展示不同 pool 或组织(如跨部门)之间的通信,不用于同一 pool 内 event 或任务的连接。该符号表示为虚线,起点为圆圈,终点为空心箭头。
- 示例:Message Flow 将一个 pool(供应商)的 “Send Invoice” 任务与另一个 pool(客户)的 “Receive Invoice” 任务连接,表示发票在双方之间流转。
- 适用场景:适用于展示企业或业务参与方之间的消息沟通,如企业间订单请求。
Association
Association 用于将 artifacts(如 data object、注释或分组)与流程对象(activities、event、gateway)关联,为流程提供上下文说明或关系说明。Association 不会影响流程顺序,主要用于文档和补充细节。
该元素通常以虚线表示,没有箭头或圆圈,用于将 event、活动或 gateway 与 artifacts 关联。
- 示例:Association 将 “Generate Report” 任务与 “Report Document”(data object)连接,表示该任务输出报告文档。
- Association 类型:
- 普通 Association:任务与 data object 或注释等元素的连接。
- 有向 Association:显示 data 从/到任务的流向(用箭头表示)。
- 双向 Association:表示元素间的双向关联(显示双箭头)。
- 适用场景:用于为任务或 event 补充 data object、注释等信息而不影响流程流转时。
Connecting Objects 重点说明
- Sequence Flow:定义单一流程(同一 pool 内)中任务或 event 的执行顺序,用于描述活动、分支条件和决策的流向。
- Message Flow:表示不同参与方或流程(不同 pool 之间)的沟通。用于流程间的信息交换或触发其他流程动作。
- Association:将 data、文档或注释等信息与任务关联,为活动提供上下文解释,但不影响流程顺序。
示例
以管理客户订单的流程为例:
- Sequence Flow:客户订单接收后,系统会处理订单,然后安排发货。每一步(接收、处理、发货)都通过 Sequence Flow 串联。
- Message Flow:订单处理完成后,系统通过 Message Flow 向外部物流公司发送消息,通知其发货。该沟通通过 Message Flow 连接两个业务实体。
- Association:“Customer Order” data object 通过 Association 与 “Receive Order” 任务关联,表示该任务处理订单 data。
总结
- Sequence Flow:管理单一流程中的活动顺序。
- Message Flow:实现不同 pool 或组织之间的信息沟通。
- Association:将 data 或注释等内容与流程元素关联,提供补充说明。
这些 Connecting Objects 是 BPMN 流程建模中用于定义任务和 event 连接关系、data 流转及流程间协作的基础。