连接对象
什么是连接对象
在BPMN 2.0中,连接对象用于定义流程模型中各元素之间的关系和信息流。它们连接活动、事件和网关,用于引导流程或传递数据和消息。主要连接对象包括顺序流、消息流和关联。
顺序流
顺序流定义流程中活动、事件和网关的执行顺序,展示任务从一个步骤到下一步骤的逻辑推进。
顺序流表示任务的执行顺序,以末端带箭头的实线表示。它可以表示条件路径或默认路径。
- 示例:顺序流将“Submit Application”任务连接到“Review Application”任务,表示审核发生在提交之后。
- 顺序流类型:
- 普通顺序流:活动之间的默认顺序流。
- 条件顺序流:仅在满足特定条件时继续的顺序流(以小菱形表示)。
- 默认顺序流:条件均不满足时采用的备用顺序流(起点处以斜线表示)。
- 使用场景:使用顺序流引导流程逐步推进,确保活动按正确顺序执行。
消息流
消息流表示不同参与者或流程之间的通信,通常用于它们属于不同池的情况。消息流用于展示独立运行的流程之间的信息交换。
消息流连接器用于展示不同池之间或组织边界(例如部门)之间的通信。不应使用它连接同一池内的事件或活动。该连接器以虚线表示,起点为圆形,终点为开放箭头。
- 示例:消息流将一个池中的“Send Invoice”任务(供应商)连接到另一个池中的“Receive Invoice”任务(客户),表示发票在双方之间传递。
- 使用场景:使用消息流展示不同实体或业务参与者之间的通信,例如一家公司向另一家公司发送订单请求。
关联
关联将构件(如数据对象、文本注释或组)与流程对象(活动、事件和网关)连接起来,用于补充上下文或说明关系。关联不会影响流程顺序,主要用于文档说明和补充细节。
该元素以没有箭头或圆形端点的点线表示,用于连接事件、活动或网关与构件。
- 示例:关联将“Generate Report”任务连接到“Report Document”(数据对象),表示该任务会生成该文档。
- 关联类型:
- 普通关联:将任务与数据对象或注释等元素连接起来。
- 有向关联:展示数据流向任务或从任务流出(以箭头表示)。
- 双向关联:表示元素之间的双向关系(以两个箭头表示)。
- 使用场景:使用关联将数据对象或文本注释等补充信息连接到任务或事件,同时不影响流程。
导出的BPMN文件中的关联
关联会与其连接的构件一起导出为标准bpmn:association元素,因此通过导出和导入进行双向导入导出后仍会保留。活动与数据对象或数据存储之间的连接是例外:它会写入该活动的bpmn:dataInputAssociation或bpmn:dataOutputAssociation,因此其方向能够保留。ProcessMind不会对普通关联建模方向:从导入文件中读取的有向关联或双向关联会恢复为普通关联。
示例
设想一个管理客户订单的流程:
- 顺序流:收到订单后,系统处理订单,然后将其发送配送。每个步骤(接收、处理和配送)都通过顺序流连接。
- 消息流:订单处理完成后,系统向外部运输公司发送消息,由其负责配送。双方之间的通信通过消息流表示。
- 关联:“Customer Order”数据对象与“Receive Order”任务建立关联,表示该任务处理订单数据。