业务流程模型和标记法(BPMN, Business Process Model and Notation)是一套图形化表示法,用于以业务流程模型详细说明各种业务流程。
它最初由业务流程管理倡议组织(BPMI, Business Process Management Initiative)开发,名称为"Business Process Modeling Notation",即“业务流程建模标记法”。BPMI于2005年与对象管理组织(OMG, Object Management Group)合并。2011年1月OMG发布2.0版本,同时改为现在的名称。
业务流程模型和标记法(BPMN, Business Process Model and Notation)是对象管理组织(OMG, Object Management Group)维护的关于业务流程建模(英语:Business process modeling)的行业性标准。它创建在与UML的活动图非常相似的流程图法(flowcharting)基础上,为“业务流程图”(BPD, Business Process Diagram)中的特定业务流程提供一套图形化标记法。BPMN的目标是,通过提供一套既符合业务人员直观又能表现复杂流程语义的标记法,同时为技术人员和业务人员从事业务流程管理提供支持。BPMN规范还提供从标记法的图到执行语言基础构造的映射,尤其是业务流程执行语言(英语:Business Process Execution Language)(BPEL)。
BPMN的首要目的是提供全体业务相关者易于理解的标准标记法。业务相关者包括创造与梳理流程的业务分析师(英语:Business analyst)、负责实施流程的技术开发者、以及管理和监督流程的经理人。BPMN旨在充当公共语言,跨越业务流程设计和实施之间常见的鸿沟。
当前有多种竞争的业务流程建模语言标准供建模过程和工具选用。广泛采用BPMN将有助于统一基本的业务流程概念的表达(例如:公共或私有的流程、编排),就像一些高级的业务概念一样(例如:例外处理、事务补偿)。
BPMN最初由业务流程管理倡议组织(BPMI, Business Process Management Initiative)开发,该组织于2005年与对象管理组织(OMG, Object Management Group)合并,从那时起,由OMG维护。BPMN最初的名称为"Business Process Modeling Notation",即“业务流程建模标记法”,2011年1月OMG发布2.0版本,同时改为现在的名称。
BPMN仅限于支持对业务流程有用的建模概念。这意味着组织所做的非业务目的其他类型建模将排除在BPMN之外。例如,以下方面的建模不属于BPMN的一部分:
此外,虽然BPMN会显示数据的流(消息)以及活动与数据器物的关联,但它并非数据流图(data flow diagram)。
BPMN用很小一套图形要素做简单的图来建模,这将令业务用户与开发者一样容易理解其中的过程和流。它的四种基本要素如下:
这四大类对象令我们有机会做出简单的业务流程图(BPD, business process diagram)。同时,BPMN也允许在BPD中创建你自己的流对象、器物类型,使图更好理解。
事件 Event
活动 Activity
关口 Gateway
连接 Connections
流对象(Flow Objects)是BPMN的主要描述对象,由三种核心要素(事件、活动、关口)组成。
“流对象”通过“连接对象”(Connecting objects)互相连接。连接对象包括三个类型(顺序、消息、关联):
泳道 Swimlanes
数据对象 Data objects
组 Groups
注释 Annotation
泳道(Swimlanes)是从视觉上对活动加以组织或分类的机制。它基于交叉功能流程图基础,在BPMN中有两种类型:
器物(Artifacts)使开发者可以带给模型/图更多的信息,通过这一方式,使模型/图更可读。预定的三种器物如下:
带正常流的流程
讨论循环
电子邮件投票流程
采集投票
在BPMN的三种子模型之内和之间,可以创建各种类型的图。以下列出的是能够用BPMN建模的业务流程类型(其中带星号的可能无法映射到执行语言):
BPMN的设计目标是允许上述全部类型的图。然而,需要小心的是,包含了太多的子模型类型,例如三种或更多的私有流程之间都有消息流连接,这样的图可能会变得难以理解。因而,我们建议建模者为诸如私有流程、协作流程的BPD创建明确的目标。
BPMN 2.0为新的业务流程模型和标记法创建单一规范,对标记法、元模型(英语:Metamodeling)和交换格式做出界定。2.0版的名称有所修改,但仍会维持“BPMN”这个标志。特征包括:
BPMN 2.0在2011年1月发布。
业务流程建模用于传达广泛而多样的信息给广泛而多样的受众。BPMN的设计就是为了覆盖这种广泛的用途,并且允许端到端的业务流程建模,从而令图的观察者能够方便地区分一个BPMN图上的不同部分。在一个端到端的BPMN模型中有三种基本的子模型:“私有”(内部的)业务流程、“抽象”(公共的)流程,和“协作”(全局的)流程:
BPMN的弱点涉及以下方面: