连接对象
介绍
在 BPMN 2.0 中,连接对象 用于定义流程模型中不同元素之间的信息关系和流动。它们连接活动、事件和网关,指导流程流动或传递数据和消息。主要的连接对象包括 sequence flows、message flows 和 associations。
Sequence Flow
Sequence Flow 定义了流程中活动、事件和网关的执行顺序。它展示了任务从一个步骤到下一个步骤的逻辑推进。
它表示任务执行的顺序,显示为以箭头结束的直线。可表示条件或默认路径。
- 示例: 一个 Sequence Flow 将“提交申请”任务连接到“审核申请”任务,表明审核在提交之后进行。
- Sequence Flow 类型:
- 常规 Sequence Flow: 活动之间的默认流动。
- 条件 Sequence Flow: 仅在满足特定条件时才进行的序列流(用小菱形指示)。
- 默认 Sequence Flow: 如果没有满足条件,则使用的回退路径(起始点用斜线指示)。
- 使用场景: 使用 Sequence Flow 引导流程逐步推进,确保活动按指定顺序执行。
Message Flow
Message Flow 表示不同参与者或流程之间的通信,通常在它们属于不同池时。用于展示流程之间的信息交换,这些流程可能独立运作。
Message Flow 连接器展示了不同池之间的通信,或跨部门等组织边界。它不用于链接同一个池内的事件或活动。这个连接器用虚线表示,起始为圆形,结束为开放式箭头。
- 示例: 一个 Message Flow 连接一池中的“发送发票”任务(代表供应商)到另一池中的“接收发票”任务(代表客户),表明发票在它们之间发送。
- 使用场景: 使用 Message Flow 描述不同实体或商业参与者(代表为独立的池)之间的通信,例如一家企业发送订单请求到另一家企业。
Association
Association 用于连接工件(例如数据对象、文本注释或组)与流程对象(活动、事件、网关),提供上下文或澄清元素之间的关系。Association 不影响流程的顺序,但用于文档记录和附加细节。
此元素显示为一个虚线,既没有箭头也没有圆圈,它用于连接事件、活动或网关与工件。
- 示例: 一个 Association 连接一个“生成报告”任务到一个“报告文档”(一个数据对象),表明该任务生成文档。
- Association 类型:
- 常规 Association: 连接任务到数据对象或注释等元素。
- 方向 Association: 显示数据从任务流出或流入(用箭头指示)。
- 双向 Association: 指示元素之间的双向关系(用两个箭头指示)。
- 使用场景: 在不影响流程流的情况下,使用 Association 链接附加信息(如数据对象、文本注释)到任务或事件。
连接对象的关键点
- Sequence Flow: 定义单个流程(同一个池内)中任务或事件的顺序。用于指定活动流、条件和决策。
- Message Flow: 表示不同参与者或流程(跨不同池)之间的通信。用于流程交换信息或触发另一个流程中的动作时。
- Association: 将附加信息如数据、文档或注释链接到活动,提供上下文或解释但不控制流程流动。
示例
设想一个管理客户订单的流程:
- Sequence Flow: 收到订单后,系统处理订单,然后发送到发货。每个步骤(接收、处理、发货)通过 sequence flows 连接。
- Message Flow: 订单处理后,一条消息会被发送到外部物流公司进行发货。这一通信通过两个实体之间的 message flow 表现出来。
- Association: 一个“客户订单”数据对象与“接收订单”任务关联,表示该任务处理订单数据。
总结
- Sequence Flow: 管理单个流程内活动的顺序。
- Message Flow: 促进不同实体或池之间的通信。
- Association: 将数据或注释等工件链接到流程元素,提供额外的上下文。
这些连接对象对定义任务和事件的链接方式、数据在流程中的流动方式以及流程在BPMN模型中相互作用的方式至关重要。