Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BPMN 基础学习 #32

Open
shaozj opened this issue Sep 2, 2019 · 0 comments
Open

BPMN 基础学习 #32

shaozj opened this issue Sep 2, 2019 · 0 comments
Assignees

Comments

@shaozj
Copy link
Owner

shaozj commented Sep 2, 2019

BPMN 基础学习

BPMN是BPM及workflow的建模语言标准之一。

什么是 BPMN

首先BPMN规范是由标准组织BPMI发布的.BPMN 1.0规范发布于2004年5月。此规范展示了BPMI组织两年多的努力成果。BPMN的主要目标就是要提供被所有业务用户理解的一套标记语言,包括业务分析者、软件开发者以及业务管理者与监察者。BPMN还将支持生成可执行的BPEL4WS语言。所以,BPMN在业务流程设计与流程实现之间搭建了一条标准化的桥梁。
BPMN定义了业务流程图,其基于流程图技术,同时为创建业务流程操作的图形化模型进行了裁减。业务流程的模型就是图形化对象的网图,包括活动(也可以说工作)和定义操作顺序的流控制。

BPMN 基础

业务流程图由一系列的图形化元素组成。这些元素简化了模型的开发,且业务分析者看上去非常熟悉。这些元素每个都有各自的特性,且与大多数的建模器类似。比如,活动是矩形,条件是菱形。应该强调的是:开发BPMN的动力就是为了在创建业务流程模型时提供一个简单的机制,同时又能够处理来自业务流程的复杂性。要处理这两个矛盾的需求的方法就是将标记的图形化方面组织分类为特定的类别。这里提供标记类别中的一小部分,以便业务流程图的读者可以简单地识别出元素的基本类型从而理解图形。以下是四种基本的类型:

  • 1)流对象(Flow)
  • 2)连接对象(Connection)
  • 3)泳道(Swimlane)
  • 4)人工信息(Artifact)

下面一一解释:

流对象(Flow)

一个业务流程图有三个流对象的核心元素。这三种流对象是:

  • 事件:一个事件用圆圈来描述,表示一个业务流程期间发生的东西。事件影响流程的流动,一般有一个原因(触发器)或一个影响(结果)。基于它们对流程的影响,有三种事件:开始,中间以及终止事件
  • 活动:一个活动用圆角矩形表示,是要处理工作的一般术语。一个活动可以是原子性的也可以是非原子性的(可以是由多个活动组合而成的更大粒度的活动)。活动的类型包括:任务和子流程。子流程在图形的下方中间外加一个小加号(+)来区分。
  • 条件:条件用熟悉的菱形表示,用于控制序列流的分支与合并。另外,它还可以作为传统的选择,还包括路径的分支与合并。其内部的标记会给出控制流的类型。

连接对象(Connection)

连接对象将流对象连接起来形成一个业务流程的基本结构。提供此功能的三个连接对象是:

  • 顺序流:顺序流用一个带实心箭头的实心线表示,用于指定活动执行的顺序。注意“控制流”这个术语一般不用于BPMN
  • 消息流:消息流用一条带有开箭头的虚线表示,用于描述两个独立的业务参与者(业务实体或业务角色)之间发送和接受的消息流动。在BPMN中,用两个独立的池代表两个参与者。
  • 关联:用一根带有线箭头的点线表示关联,用于将相关的数据、文本和其他人工信息与流对象联系起来。关联用于展示活动的输入和输出。

泳道(Swimlane)

许多建模技术利用泳道这个概念将活动划分到不同的可视化类别中来描述由不同的参与者的责任与职责。BPMN支持2种主要的泳道构件。

  • :池描述流程中的一个参与者。可以看做是将一系列活动区别于其他池的一个图形容器,一般用于B2B的上下文中。
  • :道就是在池里面再细分,可以是垂直的也可以是水平的。道也是用于组织和分类活动。

人工信息(Artifact)

人工信息添加到建模的业务流程上下文中作为信息备注,便于人员理解,当前BPMN规范的版本预定义了3种人工信息:

  • 数据对象:数据对象是一个显示活动是如何需要或产生数据的。它们通过关联与活动连接起来。
  • :组用一个虚线的圆角矩形表示,用于记录或分析的目的,但不影响顺序流。
  • 注释:注释是建模者为BPMN图的读者提供附加文本信息的一个机制。

BPMN建模的价值

BPMN的开发是减少众多已存在的业务建模工具和标记断层的重要的一步。BPMI标准化组织从许多存在的标记中展示出了专业和经验,且从这些不同的标记中找到了最好的理念形成一套标准的标记语言,众多的标记语言包括UML、Activity Diagram、UML EDOC Business Process、IDEF、ebXML BPSS、RosettaNet以及Event-Process Chains等等。一个好的标准建模标记将会减少业务与IT用户之间的混乱。
另一个驱使BPMN的开发原动力是,历史上由业务人员做出来的业务流程建模从需要系统设计与执行的流程描述中隔离出来,所以有必要将原有的业务流程模型转换为执行模型,而这个转换对于流程拥有者来说容易出错,且很艰难。
为了减少建模技术的断层,开发BPMN的重要目标就是要创建面向业务流程建模标记到面向IT执行语言的一座桥梁。以下是BPMN的图形化对象映射为BPMN v1.1的挂图。

BPMN 软件

  • ProcessOn在线流程设计器
    ProcessOn流程图设计器支持BPMN2.0的三种标准类型建模 - Process, Collaboration和Choreography. 用户在画BPMN2.0流程图的同时,还可以设置与特定图形相关的业务属性,ProcessOn内置了BPMN2.0展示层所要求的所有标准业务属性。

  • BPMN 2.0 Modeler for Visio description
    BPMN的2.0建模for Visio是微软Visio附件设计绘制和建模业务流程。这是一个全面的用户友好的软件包。2.0建模的BPMN为Visio支持的BPMN 2.0元素提出一套完整的(流对象,连接对象,泳道,文物和数据)。
    目前最新版本为支持Visio 2010的2.1版。

参考资料

@shaozj shaozj self-assigned this Sep 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant