首页- IT学院- 技术交流
IT学院

技术交流

【BPMN】BPMN2.0十分钟就够了

BPMN(Business Process Modeling Notation)是一种流程建模的通用和标准语言,用来绘制业务流程图,以便更好地让各部门之间理解业务流程和相互关系,旨在促进业务流程的沟通和理解。

BPMN 2.0 只要了解以下 三个基本建模元素,就能掌握BPMN2.0的核心。

7a35bb096eb2405fac27cf570b21f268.jpeg


一、基本概念介绍


1. 事件 (Event)

b06c7edccbae4ce795ec2c12ec81b1f6.jpeg

三种主要类型的事件:

1. 开始 - 表示一个流程的开始。
2. 中间 - 发生的开始和结束事件之间,影响处理的流程。
3. 结束 - 表示该过程结束。

注意:如果您添加一个信封的图标给上述任何某个事件,那你将触发一个消息事件。即可以是由一个消息的到达而启动一个进程,也可以是在中间的某个位置与中间事件中发送一个消息(或捕获消息),或者可以在一个过程结束时发送的消息。


2. 活动 (Activity)

f9303edf6731428898985eba5cfce88e.jpeg

活动是工作或任务的一个通用术语。首先,一个活动可以是一个任务,或者它可以是一个当前流程的子处理流程; 其次,你还可以指定不同类型的活动。

例如,任务可以是需要人工完成的任务,也可以自动完成的任务,比如由脚本完成的任务,或服务任务(交由web服务器处理的指令)。



3. 网关 (Gateway)

e95f2156fc40440ca8e1fa7bcd32a798.jpeg

网关用来处理决策,有两种常用网关需要了解:

• 排他网关 (x) ——只有一条路径会被选择。

流程执行到该网关时,按照输出流的顺序逐个计算,当条件的计算结果为true时,继续执行当前网关的输出流;

如果多条线路计算结果都是 true,则会执行第一个值为 true 的线路。如果所有网关计算结果没有true,则引擎会抛出异常。

排他网关需要和条件顺序流结合使用,default 属性指定默认顺序流,当所有的条件不满足时会执行默认顺序流。


• 并行网关 (+) ——所有路径会被同时选择。

拆分 —— 并行执行所有输出顺序流,为每一条顺序流创建一个并行执行线路。

合并 —— 所有从并行网关拆分并执行完成的线路均在此等候,直到所有的线路都执行完成才继续向下执行。

image.png

• 包容网关 (+) —— 可以同时执行多条线路,也可以在网关上设置条件

拆分 —— 计算每条线路上的表达式,当表达式计算结果为true时,创建一个并行线路并继续执行

合并 —— 所有从并行网关拆分并执行完成的线路均在此等候,直到所有的线路都执行完成才继续向下执行。


• 事件网关 (+) —— 专门为中间捕获事件设置的,允许设置多个输出流指向多个不同的中间捕获事件。当流程执行到事件网关后,流程处于等待状态,需要等待抛出事件才能将等待状态转换为活动状态。


4、子流程和调用活动

子流程是嵌入在主流程中,可以被主流程或其他流程通过ID调用,即不用重复画出子流程的细节;


子流程的限制:

1)只能且仅能包含一个空启动事件

2)至少要有一个结束事件

3)子流程中顺序流不能直接设置输出流到子流程之外的活动上,如果需要可以通过边界事件代替。


5、描述性建模符号

泳道(Pool):代表流程中的参与者,用来对活动进行组织和分类;

泳池 (Lane):泳道里的一个子划分;

信息流(message flow):虚线表示;

数据对象和仓库;

文本注释;


总结

下图就是本文所介绍的最常用的BPMN符号了。掌握了这些,就可以理解或者设计出大部分的工作流程和业务流程图了。

7d7bbb81f3f9428cab5c16ec6ec62810.jpeg

二、BPMN2.0流程示例

BPMN2.0为所有业务元素定义了标准的符号,不同的符号代表不同的含义,以OA应用中请假流程为例,使用标准的BPMN2.0图元定义示意如图:

122234416834746.png

在上述的流程示意图中,所涉及到的执行语义图元主要有8类:

122234565426907.png

除了上述标准的BPMN2.0图元外,上述流程图还使用了泳道(业务部门、人力资源部、考勤系统),分别表示流程活动所涉及到的部门或角色。