BPMN2.0文档:BPMN 2.0
BPMN定义
BPMN(Business Process Modeling Notation,即业务流程建模符号),是一种流程建模的通用和标准语言,用来绘制业务流程图,以便更好地让各部门之间理解业务流程和相互关系。
它有两个版本:
BPMN 1.0 规范由标准组织BPMI(后并入到OMG)于2004年5月发布;
BPMN 2.0 标准由OMG于2011年推出。
BPMN基础元素类别
BPMN 2.0 只要充分了解以下四类基础元素,基本就能掌握BPMN 2.0 的核心:
流对象(Flow Objects)
是定义业务流程的主要图形元素,包括三种:事件、活动、网关
事件(Events)
指的是在业务流程的运行过程中发生的事情,分为
- 开始:表示一个流程的开始
- 中间:发生的开始和结束事件之间,影响处理的流程
- 结束:表示该过程结束
活动(Activities)
在工作流中所有具备生命周期状态的都可以称之为“活动”,如原子级的任务(Task)、流向(Sequence Flow),以及子流程(Sub-Process)等活动用圆角矩形表示,一个活动多个活动组成,活动的类型分为Task和Sub-Process。
网关(Gateways)
用于表示流程的分支与合并。
- 排他网关:只有一条路径会被选择
- 并行网关:所有路径会被同时选择
- 包容网关:可以同时执行多条线路,也可以在网关上设置条件
- 事件网关:专门为中间捕获事件设置的,允许设置多个输出流指向多个不同的中间捕获事件。当流程执行到事件网关后,流程处于等待状态,需要等待抛出事件才能将等待状态转换为活动状态。
数据(Data)
数据主要通过四种元素表示
- 数据对象(Data Objects)
- 数据输入(Data Inputs)
- 数据输出(Data Outputs)
- 数据存储(Data Stores)
连接对象(Connecting Objects)
流对象彼此互相连接或者连接到其他信息的方法主要有四种
Sequence Flows 序列流:用实线实心箭头表示,代表流程中将被执行的活动的执行顺序。
Message Flows 消息流:用虚线空心箭头表示,用于2个分开的流程参与者直接发送或者接收到的消息流。
Associations 结合关系:用点状虚线表示,用于显示活动的输入输出。
Data Associations 数据结合关系
泳道(Swimlanes)
通过泳道对主要的建模元素进行分组,将活动划分到不同的可视化类别中来描述由不同的参与者的责任与职责。
Pools 池
池描述流程中的一个参与者。可以看做是将一系列活动区别于其他池的一个图形容器,一般用于B2B的上下文中
Lanes 道
道就是在池里面再细分,可以是垂直的也可以是水平的。道也是用于组织和分类活动。
BPMN2.0流程示例
BPMN2.0为所有业务元素定义了标准的符号,不同的符号代表不同的含义,以OA应用中请假流程为例,使用标准的BPMN2.0图元定义示意如图:
在上述的流程示意图中,所涉及到的执行语义图元主要有下表中的8类:
除了上述Start Event、User Task、Exclusive Gateway、Parallel Gateway、Service Task、End Event标准的BPMN2.0图元外,上述流程图还使用了Lane Set(业务部门、人力资源部、考勤系统),分别表示流程活动所涉及到的部门或角色,Lane的概念和jBPM4中“泳道”的概念一样,都用来表示同一类相似任务的归属者。应用BPMN2.0标准的一个最显著的特色是,不同阶段的人员,无论是需求分析、概要设计、详细设计或是具体的业务实现,都可在一个流程图上开展工作,避免业务理解存在偏差。
一个系统的实现,需求分析人员可以利用BPMN2.0标准图元草绘一下搜集到的需求;然后可以拿给设计人员,讨论出具体的业务需求进行功能设计,由设计人员在草图的基础上逐步细化,并得到需求人员的认同;设计人员又将细化后的流程图交给开发人员,罗列要实现的功能点,指出流程图上各活动节点所具备的行为,设计人员与开发人员依据此图达成共识,进入具体的开发阶段;如果后期请假流程发生更改,仍然是在现有流程图上更改,随着项目的推进,流程图也在不断的演进,但至始至终,项目受众都使用同一个流程图交流,保障需求理解的一致性,一定程度上推动了项目的敏捷性。