引言
业务流程模型与符号(BPMN)已成为可视化、分析和优化业务工作流的全球标准。每个BPMN图的核心都包含活动——代表待执行工作的基本构建模块。理解如何使用任务和子流程来正确建模活动,对于创建清晰、可维护且可执行的流程图至关重要。

无论您是在记录简单的审批工作流,还是协调复杂的企事业系统集成,掌握BPMN活动的细节都能让您:
-
将复杂流程分解为可管理的逻辑单元
-
向利益相关者有效传达流程需求
-
通过精确的行为规范实现自动化
-
通过准确的文档支持流程改进项目
本全面指南将带您了解绘制、配置和记录BPMN任务与子流程所需掌握的所有知识,包括标记、类型、层次分解和程序化文档。让我们开始吧。
BPMN任务与子流程基础
一个业务流程(BPMN)主要由需要执行以完成流程的活动构成。在业务流程建模中有两种活动:任务和子流程.
-
任务:当流程中的工作无法进一步细化时,您应绘制任务。BPMN任务是一种原子活动,表示未进一步分解的工作。
-
子流程:当您希望在较低层级的流程图中建模工作内部细节时,应使用子流程。子流程表示被细化到更详细层次的工作。
![]() |
|---|
| 任务与子流程 |
任务标记
您可以为任务分配标记,以表示特殊执行行为。主要有三种标记:循环, 多实例,以及 补偿一个任务可以有一个或两个这些标记。标记的分配通过任务的规范对话框完成。
| 名称 | 表示 | 描述 |
|---|---|---|
| 循环 | ![]() |
此标记表示任务将循环执行,只要循环中定义的条件为真。条件在每次迭代开始或结束时进行评估。此标记可与补偿标记结合使用。 |
| 多实例(并行实例) | ![]() |
此标记表示任务将以指定数量的实例执行,或以数据驱动的方式执行。这些实例将同时启动。 |
| 多实例(顺序实例) | ![]() |
此标记表示任务将以指定数量的实例执行,或以数据驱动的方式执行。这些实例将依次执行。 |
| 补偿 | ![]() |
用于撤销(取消)已成功完成的另一项活动的结果。补偿任务的执行是由于另一项活动产生的不良结果和可能的副作用,需要被逆转。补偿任务由补偿处理器执行,该处理器执行必要的步骤以逆转活动的影响。 |
添加循环标记
-
右键单击任务并选择 打开规范… 从弹出菜单中选择。
-
选择 标准循环 用于 循环类型。单击 确定 以确认更改。
注意: 您可以单击 … 旁边的按钮 循环类型 用于设置循环条件、计数器以及最大迭代次数。
添加多实例标记
-
右键单击任务并选择 打开规范… 从弹出菜单中选择。
-
选择 多实例循环 用于 循环类型。单击 确定 以确认更改。
注意: 您可以单击 … 旁边的按钮 循环类型 以设置循环的顺序,可以是并行或串行。
添加补偿标记
-
右键单击任务并选择 打开规范… 从弹出菜单中选择。
-
勾选 补偿 在规范底部,然后单击 确定 以确认更改。
任务类型
在业务流程建模中,有几种不同类型的任务,用于区分不同任务的行为。您可以通过右键单击任务并选择来设置类型类型,然后从弹出菜单中选择类型。
| 名称 | 表示 | 描述 |
|---|---|---|
| 服务 | ![]() |
服务任务是一种使用某种服务的任务,例如 Web 服务。 |
| 发送 | ![]() |
发送任务是一种向外部参与者发送消息的任务。一旦消息发送完成,该任务即被视为已完成。 |
| 接收 | ![]() |
接收任务是一种等待从外部参与者接收消息的任务。一旦消息被接收,该任务即被视为已完成。 |
| 用户 | ![]() |
用户任务是由人类在软件应用程序的协助下执行的任务。 |
| 手动 | ![]() |
手动任务是一种不依赖任何业务流程执行引擎而执行的任务。 |
| 业务规则 | ![]() |
业务规则任务允许流程向业务规则引擎提供输入,并从引擎获取输出。 |
| 脚本 | ![]() |
脚本任务涉及由建模者或实现者用业务流程引擎可理解的语言编写的脚本,并由业务流程引擎执行。 |
| 引用 | ![]() |
引用任务引用另一个任务的内容。 |
任务类型
子流程标记
您可以为子流程分配标记。有四种标记:循环, 多实例, 临时,以及 补偿子流程最多可包含三个标记(不包括折叠标记):循环/多实例标记、临时标记和补偿标记。标记的分配通过子流程的规范对话框完成。
| 名称 | 表示方式 | 描述 |
|---|---|---|
| 循环 | ![]() |
此标记表示子流程将在循环条件为真时持续循环。条件在每次迭代开始或结束时进行评估。此标记可与临时标记和/或补偿标记结合使用。 |
| 多实例(并行实例) | ![]() |
此标记表示子流程将以指定数量的实例执行,或采用数据驱动的方式执行。所有实例将同时启动。 |
| 多实例(顺序实例) | ![]() |
此标记表示子流程将以指定数量的实例执行,或采用数据驱动的方式执行。实例将依次执行。 |
| 临时 | ![]() |
此标记表示子流程是一组无固定顺序关系的活动。活动的执行顺序和次数由活动的执行者决定。 |
| 补偿 | ![]() |
用于撤销(取消)已成功完成的另一项活动所产生的结果。补偿子流程的执行是由于另一项活动产生了不期望的结果和可能的副作用,需要被撤销。补偿子流程由补偿处理器执行,该处理器执行必要的步骤以逆转活动的影响。 |
子流程的不同标记
添加循环标记
-
右键单击子流程,然后选择 打开规范… 从弹出菜单中选择。
-
选择 标准循环 用于 循环类型。单击 确定 以确认更改。
注意:您可以点击…旁边的按钮循环类型以设置循环条件、计数器和最大迭代次数。
添加多实例标记
-
右键单击子流程,然后选择打开规范…从弹出菜单中选择。
-
选择多实例循环用于循环类型。单击确定以确认更改。
注意:您可以点击…旁边的按钮循环类型以设置循环的顺序,即并行或顺序。
添加临时标记
-
右键单击子流程,然后选择打开规范…从弹出菜单中选择。
-
确保子流程的类型设置为嵌入式子流程。勾选临时在详细信息部分并点击确定以确认更改。
添加补偿标记
-
右键单击子流程并选择打开规范…从弹出菜单中选择。
-
勾选补偿在规范底部,然后点击确定以确认更改。
子流程类型
有几种子流程类型,用于区分不同子流程的行为。您可以通过右键单击子流程并选择类型,然后从弹出菜单中选择类型。
| 名称 | 表示方式 | 描述 |
|---|---|---|
| 嵌入式 | ![]() |
嵌入式子流程是在另一个流程中建模其内部细节的子流程。 |
| 可重用 | ![]() |
可重用子流程调用一个预先定义的流程。 |
| 引用 | ![]() |
引用子流程引用另一个子流程。 |
子流程的类型
分解子流程
子流程可以被展开以在更低层级建模细节。要展开子流程:
-
点击子流程中的加号标记 (+)。
-
选择 新建业务流程图.
这将创建一个新的 业务流程图 ,它属于子流程。在子流程图中,您将看到输入/输出流,这些流可让您将父流程的流程连接到子流程图。 如果想了解更多关于输入/输出流的信息,请点击此处.
![]() |
|---|
| 分解子流程 |
注意: 一旦创建了子流程图,其详细信息将以子流程形状的缩略图形式显示。要隐藏缩略图,请点击子流程底部的减号标记 (-) 以将其关闭。
从父流程图中复用元素
在子流程图中,您可以复用父流程图中出现的池、泳道和流程对象。操作方法如下:
-
右键单击子流程图。
-
选择 从父流程图添加池/泳道/子流程/网关… 从弹出菜单中选择。
-
选择要复用的元素。
被复用的元素在其角落会出现一个狗耳标记。
![]() |
|---|
| 一个从父流程图复用泳道的子流程图 |
您可以通过以资源为中心的界面,从复用的元素跳回父流程图。
![]() |
|---|
| 跳转到父流程图 |
定义活动的流程
流程中的一个活动代表需要完成的工作。每个活动可以由多个步骤组成。例如,一个任务 流程申请 涉及两个步骤:验证申请和确认申请。要记录活动的步骤,可以使用流程编辑器。
![]() |
|---|
| 任务的流程 |
流程编辑器概览
![]() |
|---|
| 流程编辑器概览 |
| 否。 | 名称 | 描述 |
|---|---|---|
| 1 | 折叠/展开 | 点击左侧的三角形以最大化编辑器。相反,点击倒三角形以最小化编辑器。 |
| 2 | 程序选择器 | 您可以在每个活动中定义多组程序。点击此下拉菜单以选择要读取/编辑的程序。 |
| 3 | 步骤 | 点击此按钮可在编辑器中所选步骤下方创建一个新步骤。 |
| 4 | 超链接… | 在所选步骤中添加链接以供参考。 |
| 5 | 字体格式选择器 | 有三个按钮。第一个按钮将字体大小增加一级,第二个按钮将字体大小减少一级,第三个按钮将字体大小设置重置为默认值。 |
| 6 | 字体大小设置选择器 | 点击此下拉菜单以选择高亮文本的大小。按 增大字体 按钮以增加一级字体大小,按 减小字体 按钮以减少一级字体大小,按 默认字体 按钮将字体大小设置重置为默认值。此外,您还可以通过滑块手动调整高亮文本的字体大小。 |
| 7 | 重新排序步骤 | 点击 向上移动按钮可将选定步骤向上移动,或向下移动按钮可将选定步骤向下移动。 |
| 8 | 减少缩进/增加缩进 | 点击减少缩进按钮可减少选定步骤的缩进,或点击增加缩进按钮可对选定步骤进行缩进。 |
| 9 | 撤销/重做 | 点击撤销按钮可撤销更改,或点击重做按钮可重做已撤销的更改。 |
| 10 | 关闭编辑器 | 点击此按钮以关闭编辑器。 |
| 11 | 步骤编辑器 | 您可以查看和编辑步骤的位置。 |
流程编辑器说明
显示/隐藏流程编辑器
流程编辑器默认在业务流程图中打开。要隐藏它:
-
右键单击业务流程图的背景,并取消选择显示流程编辑器从弹出菜单中。
-
您可以选择相同的菜单,以便在隐藏时显示它。
注意:或者,您可以通过点击编辑器面板右上角的关闭按钮来关闭编辑器。
记录流程
-
选择您想要记录其流程的任务或子流程。
-
点击标记为的首行1并输入第一步。
-
按回车以进入下一步。您可以通过按下Tab来创建子步骤。按下Shift+Tab可减少子步骤的缩进。
-
重复步骤2和3,以输入活动涉及的其余步骤。
结论
掌握BPMN任务和子流程是创建高效、可扩展且可维护的业务流程模型的基础。通过理解何时使用原子任务与分层子流程,以及如何通过标记、类型和流程文档来增强它们,您将能够构建既易于人类阅读又可被机器执行的工作流。
本指南的关键要点:
✅ 任务代表原子工作;子流程支持分层分解
✅ 标记(循环、多实例、补偿、临时)添加行为语义
✅ 任务类型(服务、用户、脚本等)明确执行上下文
✅ 子流程类型(嵌入式、可重用式、引用式)支持模块化和重用
✅ 流程编辑器允许在活动中进行详细分步的文档记录
✅ 父级-子级图示链接支持跨层级的导航和元素重用
在应用这些概念时,请记住,良好的BPMN建模需要在清晰性与完整性之间取得平衡。从高层次流程开始,然后在需要详细信息的地方使用子流程进行深入分析。有目的地使用标记和类型来传达执行行为,而不会使图表过于杂乱。并且始终在人类理解或可审计性重要的地方记录流程。
通过这些实践,您的BPMN图表将成为组织内沟通、分析、自动化和持续改进的强大工具。
参考文献
- BPMN官方规范:Business Process Model and Notation的官方网站,提供BPMN建模的标准规范和相关资源。
- BPMN教程合集:精选的逐步教程库,教授如何使用BPMN建模工具进行实际操作。
- 什么是BPMN?——入门指南:面向初学者的指南,解释BPMN基础、符号元素以及建模最佳实践。
- Visual Paradigm YouTube频道:来自Visual Paradigm的官方视频教程、产品演示以及BPMN建模技巧。
- Visual Paradigm知识库:一个知识库,包含业务流程建模中常见用户挑战的技巧、窍门、问答和解决方案。
- Visual Paradigm支持门户:为Visual Paradigm用户提供直接的技术支持、文档和社区协助入口。
- 业务流程图功能概览:关于在Visual Paradigm中创建和管理业务流程图的详细信息。
- 子流程中的流入/流出文档:技术参考文档,解释如何使用流入/流出元素连接父图与子流程图之间的流程。





































