2. BPMN 基本符号概览:事件、活动、网关、流、泳道与泳池、数据
2.1 概念解释
BPMN 2.0 定义了五类基础符号,覆盖流程建模的全部场景。每一类符号都有明确的语义和图形约定,确保不同建模者读图一致。
- 事件(Event):流程中发生的事物,用圆形表示。分为开始事件(单细线)、中间事件(双细线)、结束事件(单粗线)。可附加触发器(消息、定时器、错误等)。
- 活动(Activity):流程中执行的工作,用圆角矩形表示。包括任务(Task,不可拆分)和子流程(Sub-Process,可展开)。
- 网关(Gateway):控制流程的分支与合并,用菱形表示。常用类型:排他网关(X)、并行网关(+)、包容网关(O)、事件网关(五边形)。
- 流(Flow):连接其他元素的带箭头线。顺序流(实线+实心箭头)表示控制流向;消息流(虚线+空心箭头)表示跨泳道/跨组织通信。
- 泳道与泳池(Lane & Pool):泳池代表一个参与者(组织/系统),泳道是泳池内的子划分,用于归类角色或部门。
- 数据(Data):数据对象(卷角矩形)、数据存储(数据库圆柱)、输入/输出关联(带箭头的虚线)。
2.2 流程拆解:请假审批示例
下图展示了一个简化后的请假审批流程,将上述符号串联在一起。
- 流程从开始事件(圆形)触发。
- 员工填写请假申请,这是一个任务(圆角矩形)。
- 任务完成后经过排他网关(菱形),判断假期天数:≤3 天转主管审批,>3 天转经理审批。
- 审批通过后,更新考勤系统数据对象(卷角矩形)。
- 最后到达结束事件(圆形),流程终止。
其中 “主管审批” 和 “经理审批” 分别放置在两个不同的泳道中,表示不同角色。
2.3 案例分析:发票处理流程
某企业采购发票处理流程中,各符号的实际应用:
| 符号类别 | 具体使用 | 建模要点 |
|---|---|---|
| 事件 | 收到发票(消息开始事件);发票校验失败(错误结束事件) | 用消息事件捕获外部输入,用错误事件终止异常分支 |
| 活动 | “发票校验”“财务入账”为任务;“三单匹配”为子流程(内部需展开) | 子流程可降低主图复杂度 |
| 网关 | 排他网关:金额≤5000 自动审批,否则转人工;并行网关:同时触发税务登记和存档 | 用并行网关表示无先后依赖的并行任务 |
| 流 | 顺序流连接各节点;消息流从“发票系统”泳池到“财务系统”泳池 | 消息流必须跨越不同泳池 |
| 泳道/数据 | 泳池:“供应商系统”“财务系统”;数据对象:“发票明细”“审批意见” | 数据对象与任务之间使用数据关联(无箭头虚线) |
2.4 表格总结:BPMN 2.0 符号分类与图示
| 类别 | 子类型 | 图形 | 主要用途 |
|---|---|---|---|
| 事件 | 开始事件 | 单线圆⭕ | 流程起点 |
| 中间事件 | 双线圆⭕⭕ | 等待/捕获/抛掷 | |
| 结束事件 | 粗线圆⭕ | 流程终止 | |
| 活动 | 任务 | 圆角矩形 | 原子工作单元 |
| 子流程 | 圆角矩形 + 加号 | 可展开的子流程 | |
| 网关 | 排他网关 | 菱形 + X | 条件分支(仅一路) |
| 并行网关 | 菱形 + + | 并行分支/合并 | |
| 流 | 顺序流 | 实线箭头 → | 控制流转 |
| 消息流 | 虚线空心箭头 ⇢ | 跨泳池通信 | |
| 泳道/数据 | 泳池/泳道 | 矩形大框 / 窄条 | 区分参与者与角色 |
| 数据对象 | 卷角矩形 | 流程中使用/产生的文档 |
📌 记忆技巧:圆圈是“事件”,圆角方是“活动”,菱形是“网关”,箭头是“流”,大框是“泳池”,卷角纸是“数据”。初学时可将这些符号画在卡片上反复识别。
2.5 实践清单
在开始第一次建模之前,请确认已掌握以下要点:
- □ 能默写 5 类基础符号的名称与图形
- □ 区分开始/中间/结束事件的线条粗细
- □ 知道排他网关与并行网关的形状差异及含义
- □ 能够在流程图中识别顺序流与消息流
- □ 理解泳池与泳道的层级关系(泳池 ≧ 泳道)
- □ 会绘制最简单的“开始 → 任务 → 结束”流程
⚠️ 常见误区:不要把消息流用于同一泳池内部;泳池内不同泳道之间用顺序流而非消息流。数据对象不要直接连到控制流上,应使用数据关联(带箭头虚线)。