业务流程模型与符号(BPMN)提供了强大的机制,不仅可用于建模流程流,还可用于建模驱动业务流程的数据和上下文信息。本指南探讨了BPMN的数据建模功能和工件符号。
引言
传统建模技术的一个常见特征是允许在流程执行过程中对数据的创建、读取和更新进行建模。一个经典例子是数据流图(DFD)。尽管BPMN并非主要为数据建模而设计,但仍有一套符号可用于建模业务流程中涉及的数据。
BPMN还提供多种工件符号,使建模者能够更详细地描述业务流程。例如,可以使用组对象来组合相关活动,使用文本注释对象来更详细地解释流程对象。

图1:BPMN数据对象集成到流程流中的示例
BPMN数据元素
BPMN中数据建模概述
在执行业务流程时,数据通常会在流程期间或之后产生。例如,“下单”任务的成功执行将产生采购订单、发票、收据等数据。在BPMN中,可以使用多种类型的“数据”对象来建模数据:
| 元素 | 符号 | 描述 | 用途 |
|---|---|---|---|
| 数据对象 | 📄 | 表示与流程相关的资讯 | 显示由活动创建、更新或消耗的数据 |
| 数据输入 | 📥 | 活动开始前所需的数据 | 指定任务执行的前提条件 |
| 数据输出 | 📤 | 活动完成后产生的数据 | 表示交付物或结果 |
| 数据存储 | 🗄️ | 数据的持久化存储 | 表示数据库、文件或存储库 |
视觉表示
数据对象以带折叠角的文档形式显示。关联(虚线)将数据对象连接到活动,显示数据是从对象中读取还是写入对象:
-
输入关联(箭头指向活动):数据被读取/消耗
-
输出关联(箭头从活动发出):数据被创建/更新
-
双向关联:数据既被读取也被更新
数据对象状态与生命周期管理
理解数据状态
采购订单在流程中有一个生命周期,从创建到完成。BPMN允许建模者为数据对象定义状态,以跟踪其在流程中的进展。
常见状态包括:
-
创建:数据对象的初始实例化
-
待分配:等待资源分配
-
待交付:已准备好履行
-
已完成:成功处理后的最终状态
管理状态转换

图2:为数据对象创建状态
建模状态变化:
-
右键单击数据对象
-
选择状态 > 创建…从弹出菜单中
-
输入状态名称(例如:“创建”、“待分配”)
-
状态标签将与数据对象名称并列显示
跨状态重用数据对象
当同一个逻辑数据对象在流程的不同位置以不同状态出现时:

图3:引用现有数据对象
关键步骤:
-
创建一个具有以下特征的新数据对象:完全相同的名称与现有对象相同
-
当提示时,选择是以引用现有的模型元素
-
分配一个新状态以反映数据的进展
-
同一个逻辑对象现在在流程的不同节点上以不同状态出现

图4:同一采购订单数据对象以多种状态展示
工件标注
工件提供额外的上下文信息,但不影响流程执行。
分组
分组是一个带有虚线边框的框,为建模者提供了一种按不同类别对图形进行分组的机制。

图5:使用分组对相关活动进行分类
分组的使用场景:
-
按部门或角色组织活动
-
突出显示受特定法规约束的流程
-
视觉上分离可选或并行的流程分支
-
提高利益相关者对图表的可读性
实现方法:
-
在相关元素周围绘制分组容器
-
用描述性的类别名称标记该分组
-
分组不影响顺序流或执行逻辑
文本注释
文本注释可用于为BPD中的流程对象添加额外细节。它不影响流程,但可提供流程内对象的详细信息。

图6:提供上下文细节的文本注释
注释的最佳实践:
-
保持文本简洁,并专注于澄清
-
使用注释来表示业务规则、例外情况或统计数据
-
使用关联线将注释连接到特定元素
-
避免重复元素名称中已包含的信息
案例研究:真 Aqua 纯净水公司
在第一至第三部分的基础上,我们通过数据对象和注释来优化纯净水订购流程。
步骤 1:建模采购订单创建
纯净水订购流程的执行将产生一份采购订单。我们通过从 验证客户身份 任务创建一个数据对象来建模。

图 7:访问资源目录以添加元素

图 8:从目录中选择数据对象

图 9:命名为“采购订单”的数据对象已附加到任务
步骤 2:跟踪状态演变
当客户服务助理完成 转发订单 任务后,采购订单进入新状态。

图 10:为同一数据对象创建另一个引用

图 11:添加“待分配”状态
步骤 3:完成生命周期
继续建模交付过程中的状态变化:

图 12:具有“待交付”状态的采购订单

图 13:包含“已完成”状态的完整生命周期
步骤 4:添加上下文注释
一些订单请求通过电话提出,另一些通过电子邮件提出。我们使用文本注释来记录这一点。

图 14:将注释附加到“下单”任务

图 15:在注释中输入统计数据
最终图表

图 16:包含数据对象、状态和注释的完整 BPMN 图表
关键概念概要
核心原则
✅ 数据对象表示信息流: 它们展示了在流程执行过程中创建、使用或存储的数据。
✅ 状态跟踪数据生命周期: 为数据对象分配状态有助于可视化流程进展和业务规则。
✅ 引用,不要复制: 使用同名但状态不同的数据对象来表示一个逻辑实体在流程中的演变。
✅ 图示元素增强清晰度: 组和注释提供上下文信息,而不会改变可执行逻辑。
✅ 关联关系展示关系: 虚线将数据连接到活动,表示读/写操作。
BPMN 数据元素快速参考
数据对象 : 📄 流程中创建或使用的数据
数据输入 : 📥 活动开始所需的前置数据
数据输出 : 📤 活动完成后产生的数据
数据存储 : 🗄️ 持久化存储库(数据库、文件)
关联关系 : ⤏ 虚线,表示数据与活动之间的关系
组 : ▦ 虚线容器,用于视觉组织
文本注释 : 📝 附加到元素上的解释性说明
最佳实践
数据建模方面
-
清晰命名数据对象: 使用业务术语(例如,“采购订单”而非“Data1”)
-
将状态限制在有意义的转换上: 避免因琐碎的状态变化而过度复杂化
-
仅展示相关数据: 包含影响流程决策或输出的数据对象
-
使用数据存储实现持久化: 区分临时数据对象与已存储的记录
对于图示元素
-
战略性地使用分组: 按组织单元、法规或流程阶段分组
-
保持注释简洁: 聚焦于例外情况、统计数据或说明
-
合理放置图元以提高可读性: 避免使序列流过于杂乱
-
在外部文档中记录业务规则: 使用注释进行引用,而非替代详细规则说明
用于图示维护
-
保持命名规范一致: 确保数据对象名称在各状态间保持一致
-
版本控制注释: 当业务规则变更时,更新文本注释
-
验证关联关系: 确认箭头正确指示数据流方向
-
与利益相关者共同审查: 确保数据建模反映实际业务操作
参考文献
BPMN官方规范: 由对象管理组(OMG)维护的业务流程模型与符号标准的官方资源,提供关于BPMN语法、语义和建模指南的权威文档。
- BPMN入门第四部分——数据与图元(PDF): 可下载的PDF版本教程,涵盖BPMN数据对象、状态、分组和文本注释,并提供逐步案例研究指导。
- Visual Paradigm企业版: 针对大规模企业流程管理的全面BPMN建模解决方案,具备高级协作、仿真和代码生成功能。
- Visual Paradigm专业版: 功能完整的BPMN工具,支持数据建模、图元使用以及与开发工作流的集成,适用于专业业务分析师。
- Visual Paradigm标准版: 核心BPMN建模功能,包括数据对象、分组和注释,适用于中小型业务流程文档编制。
- Visual Paradigm建模师版: 轻量级BPMN编辑器,专注于图示创建和基础数据建模,适用于个人从业者和小型团队。
- 第一部分 – BPMN简介: 基础教程,涵盖BPMN基础知识、核心流程对象以及初学者的简单流程建模概念。
- 第二部分 – 游泳泳道: 中级指南,介绍如何使用池、泳道和基于角色的流程划分在BPMN中建模组织职责。
- 第三部分 – 流程与连接对象: 详细探讨序列流、消息流、网关和事件,用于在BPMN图中构建复杂的流程逻辑。
本指南将BPMN 2.0规范概念与实际建模技术相结合。对于可执行的流程自动化,应结合详细的业务规则和系统集成规范来补充BPMN图。













