BPMN 2.0实用指南:读懂流程图符号
了解BPMN 2.0如何表示流程,以及事件、活动、网关、池、泳道和其他元素的作用。
BPMN 2.0实用指南:标准、符号与应用方法
BPMN是一种绘制业务流程的标准方式,能让人们看清发生了什么、涉及哪些人员,以及工作如何从一个步骤流转到下一个步骤。BPMN 2.0定义了符号规范和通用XML格式,便于讨论、记录和交换流程模型。
使用下方导航,跳转到您需要了解的符号类别。您也可以参阅BPMN、UML和流程图指南,比较BPMN与其他符号规范。
您不必先通读本页。打开BPMN 2.0建模器,用一句话描述您熟悉的流程,让工具绘制初稿;然后参考下文,逐个符号修正草稿。这比单独学习符号规范更快,而且您可以立即开始建模,无需安装任何软件。
跳转至BPMN符号参考
什么是BPMN 2.0?
BPMN是业务流程模型与符号规范的缩写。该标准由对象管理组织(OMG)发布并维护。它为建模人员提供一套通用的可视化语言,用于描述流程,包括起点和终点,以及中间的任务、决策和交接。
BPMN 2.0于2011年发布。其中一项重要更新是XML序列化:通过标准化的模型存储方式,让不同工具能够读取和交换模型。这套符号规范不依赖特定厂商,因此符号不属于某个建模工具。这也是组织和供应商最终采用它作为业务流程管理符号规范,而不是另创一套内部标准的原因。
BPMN流程图可以帮助您向同事说明流程、记录预期的工作方式,或建立精确到足以供工作流引擎使用的模型。所需的详细程度取决于您的用途。用于沟通的模型无需列出每项技术实现细节。
为什么使用BPMN 2.0?
BPMN为业务和技术团队提供了讨论流程步骤与职责的通用方式。其符号含义明确,读者无需为每张流程图重新学习图例;此外,BPMN流程图也能在绘制它的工具之外使用。
BPMN模型可以帮助您:
- **说明工作如何流转。**在一张流程图中展示活动顺序、决策点和结果。
- **明确职责。**使用池和泳道展示参与者及相关角色。
- **记录异常情况。**在主流程旁呈现替代路径、事件和不同的结束状态。
- **交换模型。**使用BPMN 2.0 XML在不同工具之间迁移模型,同时确认工具特有的细节是否也能一并迁移。
- **审查并改进流程。**将文档中的模型与实际工作方式进行比较。流程挖掘可以利用事件数据提供依据,但不会自行改变流程。
如果您正在选择工具,请参阅BPMN工具概览。ProcessMind还整合了流程建模和流程挖掘,让您可以将已记录的流程与运营数据关联起来。
我们采用BPMN 2.0和价值流映射,因为它们是大家都在使用的标准。它们完美吗?并不完美。但已经足够好,而且合作伙伴、审计人员和其他工具都能读懂这些标准,比我们自行改进几个细节更有价值。统一的符号规范能让两个团队共同改进同一流程。
BPMN 2.0元素一览
BPMN将元素分为四类。下表便于快速查阅,您也可以跳转至相应章节了解详情。
| 类别 | 元素 | 用途 |
|---|---|---|
| 流程对象 | 事件、活动、网关 | 展示发生的事情、执行的工作,以及流程分支的位置 |
| 连接对象 | 顺序流、消息流、关联 | 展示元素之间的连接,以及工作或信息的流转方式 |
| 泳道 | 池和泳道 | 展示流程涉及的参与者和角色 |
| 附加元素 | 数据对象、数据存储、组、文本注释 | 提供有助于说明流程的信息和背景 |
如需查看完整元素列表,请参阅BPMN构建模块参考和BPMN元素图标指南。您也可以下载您所用语言版本的BPMN 2.0海报。
事件
事件表示流程中发生的事情,以圆形表示,不同边框用于标明事件发生的位置:
- 开始事件的边框较细。
- Intermediate Event的边框为双线。
- End Event的边框较粗。
开始事件
开始事件标明流程或路径的起点。如果流程可以由不同触发条件启动,就可以设置多个开始事件。例如,订单流程可以由客户在线、通过电话或当面下单启动。
Intermediate Event
Intermediate Event发生在流程的起点和终点之间。根据事件类型和位置,它可以接收或抛出事件,例如消息或信号。其他事件类型包括Timer、Error、Escalation、Compensation、Conditional、Cancel、Link、Terminate、Multiple和Parallel Multiple。
例如,订单流程可能需要等待客户确认消息后才能继续。事件符号会显示流程正在等待或发送什么。
End Event
End Event标明流程路径的终点。流程可以设置多个End Event,以表示不同结果,例如订单已完成或被拒绝。请为每种结果使用清晰的名称,方便读者区分。
事件符号
| 开始 | 中间 | 结束 | ||||||
|---|---|---|---|---|---|---|---|---|
| Type | 常规 | 事件子流程 | 非中断事件子流程 | 捕获 | 边界 | 非中断边界 | 抛出 | |
| 无 | | |||||||
| 消息 | | | | | | | | |
| 计时器 | | | | | | | ||
| 条件 | | | | | | | ||
| 链接 | | | | |||||
| 信号 | | | | | | | | |
| 错误 | | | | |||||
| 升级 | | | | | | | ||
| 终止 | | |||||||
| 补偿 | | | | | ||||
| 取消 | | | ||||||
| 多个 | | | | | | | | |
| 多个并行 | | | | | | | ||
活动
活动表示流程中执行的工作,主要分为任务和子流程。任务是一个独立的工作单元;子流程则包含一系列自身的步骤。
任务类型
BPMN使用不同的任务类型来表示工作如何执行。类型描述的是模型中的活动,并不代表ProcessMind会执行这项工作。
Task
Task是通用活动。需要记录某个步骤,但尚未确定是否适用更具体的类型时,可以先使用通用Task。
Manual Task
Manual Task由人员执行,流程引擎不会管理该活动。例如,整理文件或通过电话解决发票问题。
User Task
流程引擎会将User Task分配给人员,由其完成任务并记录结果。例如,审核发票、批准休假申请或处理支持工单。
Receive Task
Receive Task表示将等待消息作为流程中的一项独立活动,以空信封符号表示。
Receive Task(启动型)
启动型Receive Task收到消息后会启动流程。其符号左上角带有一个小型事件标记。
Send Task
Send Task表示在流程中发送消息。
Script Task
Script Task表示流程引擎可以执行的脚本,脚本使用引擎支持的语言编写。
Service Task
Service Task表示由软件服务执行的工作,例如调用Web服务。模型展示活动类型;具体实现取决于运行流程的系统。
Business Rule Task
Business Rule Task表示评估或应用业务规则的活动。
子流程与活动标记
子流程包含自身的顺序流。您可以展开它以显示其中的步骤,也可以将其折叠,让上级流程图更聚焦。标记还可以表示活动会重复、针对多个项目运行或处理补偿。
子流程
折叠的子流程会在上级流程图中将多个步骤归为一项活动。读者需要查看内部顺序流时,可以将其展开。
AdHoc Subprocess
AdHoc Subprocess表示没有固定顺序的活动。模型说明这些活动可以按灵活的顺序执行。
循环标记
循环标记表示活动会重复执行,直到满足退出条件。
多实例标记
多实例活动会针对一组已定义的项目重复执行。竖线表示并行实例,横线表示顺序实例。
补偿标记
补偿活动表示撤销或抵消先前活动所产生影响的工作。请使用关联将其连接到流程图,而不是使用顺序流。
组合标记
您可以将补偿标记与循环或多实例标记组合使用,以表示活动如何重复执行或应用于多个项目。
网关
网关用于控制流程的分支或合并,以菱形表示。菱形内部的标记用于识别网关类型及其处理路径的方式。
排他网关
排他网关会选择一条输出路径。菱形内可以包含X标记,也可以不带标记。
包容网关
包容网关会根据条件启用一条或多条输出路径。流程后续位置的匹配网关可以同步已启用的路径。
并行网关
并行网关拆分顺序流时,会启用所有输出路径;合并路径时,则会等待所有输入分支完成。
事件网关
事件网关根据最先发生的事件确定流程走向,例如收到一条消息。
连接对象
连接对象用于表示BPMN元素之间的关系。请根据要表达的关系选择合适的连接线。
顺序流
顺序流用于表示流程中活动和事件的先后顺序。它以带箭头的实线表示,可代表条件路径或默认路径。
Message Flow
Message Flow用于表示不同参与者之间的通信,通常对应不同的池。它以虚线表示,起点是圆圈,终点是空心箭头。请勿用它连接同一池中的活动。
Association
Association用于将活动或事件与构件(如Data Object或Text Annotation)相连。它可以补充上下文信息,但不会改变流程走向。
池和泳道
池表示流程中的参与者,例如组织、部门或系统。泳道将池划分为不同区域,用于说明该参与者内部的职责分工。
需要展示不同参与者及其交互时,请使用不同的池。使用泳道可明确每项活动由哪个角色或系统负责。更多信息请参阅有关池和泳道的文档。
折叠的Pool
折叠的Pool显示参与者,但不展示其内部活动。若流程图需要说明某个外部组织或系统参与其中,而其内部流程不在模型范围内,这种表示方式就很有用。
构件
构件可为BPMN流程图补充信息和上下文,但不会改变其中的顺序流。主要类型包括Data Object、Data Store、Group和Text Annotation。
Data Object和Data Store
Data Object表示活动使用或生成的信息。Data Input和Data Output分别表示进入或离开流程的信息。Data Store表示流程实例结束后仍会保留的信息。
组
Group用于在视觉上归集相关元素,但不会改变流程走向。
Text Annotation
Text Annotation用于在流程图中添加说明或备注。请使用Association将其连接到相关元素。
如何创建BPMN流程图?
先明确您希望流程图回答什么问题,再从主流程开始构建模型:
- **确定范围。**选择流程、起点和终点,以及读者需要的详细程度。
- **列出活动。**先用通俗语言记录主要步骤,再添加符号。
- **添加事件和结果。**说明流程如何启动、过程中可能发生什么,以及每条路径如何结束。
- **建模决策。**在流程分支或汇合处添加Gateway。
- **展示参与者和职责。**使用池和泳道明确责任归属。
- **补充消息和上下文。**在参与者之间使用Message Flow,并用构件标注相关数据或备注。
- **检查模型。**与熟悉实际工作的人员一起逐条检查路径,确认流程图易于阅读,且符号含义符合预期。
如需按步骤了解,请参阅构建BPMN流程图的文档。您也可以在文档中查看BPMN 2.0示例,了解完整模型,并借鉴适合您流程的模式。
动手绘制有助于更快掌握这套符号。选择一个您熟悉的流程,用一句话描述,再修改建模工具生成的草稿;自动布局会整理流程图,您也可以对照上文查找符号。
让流程图保持实用的BPMN建模实践
遵循以下做法,模型会更易于审阅和维护:
- **先明确用途。**用于讨论的模型,所需细节可能少于用于实施的模型。
- **统一使用标准符号。**避免自创其他读者难以识别的形状或含义。
- **清晰命名元素。**使用流程团队熟悉的术语,并让不同结果一目了然。
- **聚焦流程图的重点。**使用Subprocesses将细节与主流程分开。
- **在职责发生变化的地方标明责任。**池和泳道应明确参与者和责任归属,而不是增加空洞的结构。
- **与流程参与者共同验证。**与实际执行或管理工作的人一起检查各条路径。
- **变更后重新检查。**流程图记录的是某个时点的流程。流程发生变化时,请及时更新。
ProcessMind的BPMN 2.0建模工具可在浏览器中使用,支持根据描述生成模型、自动布局和模型质量检查。借助工具分担部分工作,更容易坚持这些实践:从您最熟悉的流程开始,即可在同一处使用符号、开展审阅,并开启首次改进讨论。如需了解建模与运营数据如何结合,请阅读流程建模与流程挖掘的协同价值。
BPMN 1.x到BPMN 2.0有哪些变化?
如果您正在审阅较早版本的BPMN模型,符号看起来会很熟悉。主要变化在于标准定义更加精确,模型也更便于移植。
- **统一的XML格式。**BPMN 2.0定义了用于存储和交换模型的格式。BPMN 1.x没有统一的文件格式,因此模型难以在不同工具间迁移。
- **定义更加精确。**BPMN 2.0对元素及其关系作出了更详细的规定。
- **支持可执行模型。**BPMN 2.0的定义足够精确,工作流引擎可以据此执行模型。但并非每个流程模型都需要具备可执行性。
对于大多数新模型,BPMN 2.0是实用之选,因为它是现代建模工具支持的当前版本。
BPMN 2.0 XML包含哪些内容?
BPMN 2.0 XML文件会保存模型的元素、连接、名称和流程图布局。其中可以包含池和泳道结构、顺序流和Message Flow、事件和Gateway类型,以及画布上各元素的位置。
支持XML便于交换模型,但不能保证所有特定于工具的功能都能一并迁移。不同工具可能以不同方式呈现布局,自定义字段或审阅历史也可能不属于标准文件内容。
ProcessMind介绍了如何导入和导出BPMN文件。如需比较工具,请参阅我们的BPMN建模的Visio替代方案指南。
BPMN 2.0海报与符号参考
建模时可将海报作为速查资料。文档列出了按语言提供的海报下载。
开始绘制后,海报就能派上用场。将它放在手边:打开建模工具,在流程图面前随时对照海报核查符号。
下载您所用语言的BPMN 2.0海报
选择下方的海报即可打开PDF。文档页面列出了可用版本,也是下载信息的参考来源。
致谢
这张海报于2010年制作,后由研究人员和从业者翻译。感谢所有帮助海报得以发布的人士和机构。
原作者:Gero Decker、Jakob Freund、Alexander Lübbe、Jan Mendling、Frank Puhlmann、Torben Schreiter、Matthias Weidlich。
翻译贡献者:Trisotech(法语);Ildefonso Montero、Luciano García-Bañuelos和Marlon Dumas(西班牙语);哈索·普拉特纳研究所商业流程技术组(俄语);Birger Andersson和Petia Wohed(瑞典语);Thauris.nl(荷兰语);Lucinéia Heloisa Thom和Cirano Iochpe(葡萄牙语);MGX Infoservice(波兰语);Ofir Nimitz和Iftah Peretz(希伯来语);北京交通大学软件工程学院张副教授和白讲师(中文);Istvan Gerecs(匈牙利语);以及Hamidreza Sarabadani(波斯语)。
来源:BPMN 2.0海报
接下来可以做什么
您已经有了符号参考。现在就创建一个模型,并与熟悉该流程的人一起检查每条路径。
Where to Go From Here
You know the notation and you have the reference. The part that sticks is drawing a process you already know, and that can happen today rather than in the next planning cycle.
