`
ronghao
  • 浏览: 456028 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
E9473dd5-1985-3883-ac98-962354ca10b3
张小庆,在路上
浏览量:8779
社区版块
存档分类
最新评论

BPMN这点事-BPMN基本元素(上)

阅读更多

 

10.1.1   基本元素

什么是BPMN基本元素?我们为什么要从BPMN元素中界定出一个基本元素的子集?BPMN基本元素是我们认为可以进行实际建模的BPMN元素的最小子集,使用BPMN基本元素我们可以创建非常简单的流程(编制)和协作模型,这些元素非常容易学习,对于没有技术背景的业务人员也很容易理解,适合草图和非正式的沟通。

BPMN基本元素包括了这些元素,如下图所示:

 

  • 泳道:池和道;
  • 三种连接对象:序列流、消息流和关联;
  •  一种活动:任务(Task),其中包括了子流程任务(Sub-ProcessTask);
  •  两种事件:普通开始事件(NoneStart Event)和普通结束事件(None End Event);
  •  两种网关:排他网关(Exclusive)和并发网关(Parallel);
  •  一种人工制造物:附注。 


图10‑11BPMN的基本元素

         在下面对BPMN基本元素的介绍里,我们分为了两部分,第一部分我们从整体上了解BPMN元素几个大的分类:泳道、流对象、连接对象和人工制造物,其中也包括了对流程执行语义的说明;在第二部分里,我们则具体了解流对象的分类:事件、活动和网关,我们只介绍其中的基本元素。

10.1.1.1        泳道、流对象、连接对象、人工制造物和流程执行语义

泳道

我们使用泳道来区分不同部门或者不同参与者的功能和职责。泳道包含两种类别:池和道。我们使用池来表示流程的参与者,应用在公开流程和协作模型里(还记得我们BPMN的三种流程模型吗?如果没有印象了,它们就在10.2小节)。

池与池之间的交互只能使用消息流表示。


图10‑12池表示流程的参与者

         我们使用道对池内的活动进行分组,我们可以根据活动所属的部门或办理所需的职责(角色)来对活动进行分组。


图10‑13使用道表示不同的部门



图10‑14使用道表示不同的角色

如果流程是私有流程并且活动没有分组的需要,那么通常我们会省略池。


图10‑15在活动没有分组的私有流程里忽略池

流对象

流对象是定义业务流程的主要图形元素。它进一步细分为三个大的类别,分别是事件、活动和网关。具体到事件、活动和网关里,流对象有很多的类别,BPMN元素的复杂性体现在流对象的众多类别上。

 

  •  事件:发生在流程执行过程中的事情;
  •  活动:在流程执行过程中执行的工作;
  • 网关:控制流程的分支和聚合。

 


图10‑16流程中的流对象

连接对象

连接对象用来把各个流对象或流对象与其他信息连接起来,它分为四种类别:顺序流、消息流、关联和数据关联。

 

  • 顺序流:表示流对象的前后执行顺序;
  •  消息流:表示公开流程或协作模型里参与者之间的消息、交互;
  •  关联:为流程中的元素关联信息或数据;
  •  数据关联:表示数据在流程、活动和数据对象之间的传递。

 


图10‑17流程中的连接对象


图10‑18数据关联

人工制造物

人工制造物用以给流程附加一些额外的信息,不影响流程的流转,它分为两种类别:组和附注。

 

  •  组:对元素进行分类;
  •  附注:给元素附加信息,便于阅读。

 

流程执行语义

我们可以将流程的执行看作是Token的流转,Token从一个源流对象经过顺序流流转到一个目标流对象,当一个流对象拿到一个Token时即开始执行,当执行完成后再把Token通过顺序流流转出去。类似于我们小时候玩的击鼓传花游戏,拿到花(Token)才能行动。


图10‑19把流程执行看成是Token的流转

每次流程接受到一个新的开始事件,就会启动一个新的案例(流程实例)开始执行。一个流程在同一时间可能有多个案例正在执行。


图10‑20案例

 

  • 大小: 81.3 KB
  • 大小: 46.1 KB
  • 大小: 29.3 KB
  • 大小: 29.4 KB
  • 大小: 51.3 KB
  • 大小: 49.4 KB
  • 大小: 46.3 KB
  • 大小: 21.3 KB
  • 大小: 27.5 KB
  • 大小: 59.2 KB
2
3
分享到:
评论

相关推荐

    bpmn-js-examples, 关于如何使用bpmn的示例.zip

    在深入学习bpmn-js-examples之前,首先需要了解BPMN的基本元素和符号,包括活动(Activity)、事件(Event)、网关(Gateway)、数据对象(Data Object)等。这些元素通过特定的连接线(Sequence Flow)组合在一起,...

    flowable-bpmn---idea的插件--超级好用

    Flowable BPMN插件提供了丰富的图形元素,包括开始事件、结束事件、任务(用户任务、服务任务等)、网关(平行网关、 Exclusive网关等)以及各种连接线。这些元素都符合BPMN 2.0规范,确保了流程图的标准化和可读性...

    bpmn-js-seed-master

    1. **BPMN元素**:BPMN包括多种元素,如活动(Task)、事件(Event)、网关(Gateway)、流程线(Sequence Flow)等。这些元素组合起来,可以构建出复杂的工作流程模型。 2. **BPMN图**:BPMN图由图形化的符号表示...

    bpmn-js-token-simulation:用于令牌模拟的bpmn-js扩展

    bpmn-js令牌模拟 用于令牌模拟的bpmn-js扩展。 安装 通过安装。 npm install bpmn-js-token-simulation 作为附加模块添加到 。 造型师 var BpmnModeler = require ( 'bpmn-js/lib/Modeler' ) ; var ...

    前端利用bpmn-js实现工作流

    BPMN图包括各种元素,如开始事件、结束事件、任务、网关和连接线,这些元素共同描绘出流程的逻辑。 BPMN-js库的核心功能是解析和渲染BPMN模型,以及处理用户与图表的交互。它基于Diagrams.js,一个用于创建可交互的...

    yaoqiang-bpmn-editor-5.5.1.jar

    拼写检查元素标签 内置的版本控制库 BPMN 2.0的图形交互信息自动生成 扩展BPMN片段库 可扩展的插件体系结构 可执行的BPMN模拟 自动分割/合并边缘 柔性装配/拆卸的子 直接部署到现有的BPMN 2.0的发动机。 包括LDAP...

    workflow-bpmn-modeler-jeecgboot V0.1.0

    而workflow-bpmn-modeler-jeecgboot 则是在这个框架上进行的扩展,它对原生的workflow-bpmn-modeler组件进行了深度定制和优化,以更好地适应Jeecg-Boot的开发环境。 Workflow-bpmn-modeler 是一个开源的BPMN 2.0...

    BPMN2.0标准规范-机器翻译中文版

    2. 核心概念:BPMN的基本概念,包括流程、活动、事件、网关、任务等。 3. 图形符号:BPMN的图形符号,包括流程图、泳道图、事件图等。 4. 元模型:BPMN的元模型,包括流程meta模型、活动meta模型、事件meta模型等。 ...

    vue使用 bpmn.js

    bpmn.js 是一个开源库,专门用于在Web上渲染和编辑BPMN 2.0流程图。这个库提供了丰富的API和工具,使得开发者能够方便地将BPMN流程图集成到自己的应用中,无论是简单的显示还是复杂的交互编辑功能都能轻松实现。 在...

    bpmn-js汉化文件.zip

    这个“bpmn-js汉化文件.zip”包含了汉化的主要步骤和所需文件。 1. **汉化过程概述** 汉化BPMN-JS主要涉及到用户界面的文本和提示信息,通常这些信息存储在JavaScript文件或外部资源中。在这个压缩包中,包含了`...

    Python库 | BPMN_RPA-4.3.0-py3-none-any.whl

    - **安装**:由于资源是`.whl`格式,这是一种Python的二进制包,可以通过`pip`工具进行安装,命令通常是`pip install BPMN_RPA-4.3.0-py3-none-any.whl`。 - **学习BPMN图示**:熟悉BPMN的各种元素和它们在流程图中...

    BPMN 2.0 规范 PDF

    1. **元模型**:这是BPMN的核心,定义了所有元素的抽象结构,包括活动、事件、网关等基本构建块。 2. **图形符号**:提供了视觉上的表达方式,使得业务流程易于理解和沟通。 3. **XML Schema**:定义了BPMN模型的...

    bpmn+vue-bpmn+vue

    1. **组件化设计**:在Vue.js中,每个BPMN元素(如任务、事件)都可以作为一个独立的组件来实现,这样可以复用代码,提高开发效率。 2. **拖放功能**:利用Vue的事件处理机制,我们可以实现BPMN元素的拖放操作,...

    bpmn-js-example-custom-elements:如何在确保BPMN 2.0兼容性的同时支持bpmn-js中的自定义元素的示例

    bpmn-js中的自定义元素 如何在确保BPMN 2.0兼容性的同时支持自定义元素的示例。关于本示例创建一个BPMN编辑器,该编辑器知道一些QA相关的元数据。 这样,它结合了我们之前发布的所有先前示例 : 通过数据定制元素...

    flowable-bpmn-intellij-plugin:可流动的Activiti(6.x)BPMN引擎IntelliJ的流程编辑器插件

    BPMN流程编辑-添加/删除元素,更改其属性,撤消/重做,批量拖放,批量删除元素 代码导航-从Delegate Expression或Class属性直接跳转到代码中的bean /函数/类 IntelliJ重构传播到流程的后备XML文件(即,重命名Bean)...

    bpmn-auto-layout:布置BPMN图,生成丢失的DI信息

    var diagramXML = '<bpmn></bpmn>' ; var autoLayout = new AutoLayout ( ) ; ( async ( ) => { var layoutedDiagramXML = await autoLayout . layoutProcess ( diagramXML ) ; console . log ( ...

    BPMN 2.0.gstencil-v05.zip

    **OmniGraffle** 是Mac OS和iOS上的一个图形设计应用程序,它提供了丰富的图形元素和模板,使用户能够轻松创建专业级别的图表。**BPMN 2.0.gstencil** 文件是OmniGraffle的模板文件,其中包含了一系列预定义的BPMN...

    BPMN-JS.rar

    1. **BPMN模型**:理解BPMN的基本元素至关重要,包括任务(Task)、事件(Event)、网关(Gateway)和泳道(Lane),以及它们之间的关系和交互。例如,开始事件表示流程的起点,结束事件表示流程的终点,任务表示...

    web项目引入bpmn-js

    BPMN-js提供了模型元素的图形化表示,包括任务、事件、网关等,它们通过连线(Sequence Flows)连接,形成一个完整的业务流程模型。这个库允许开发者通过编程方式创建和操作这些元素,以实现流程图的动态交互。 1. ...

Global site tag (gtag.js) - Google Analytics