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

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-token-simulation:用于令牌模拟的bpmn-js扩展

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

    yaoqiang-bpmn-editor-5.5.1.jar

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

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

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

    vue项目中使用bpmn为节点添加颜色的方法

    本文主要包括vue项目中bpmn使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。 前情提要 上文我们已经实现了在外部更改节点名。此时又有新玩法:在流程图中,根据...

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

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

    bpmn-js - 在浏览器中查看和编辑BPMN 2.0图表-javascript

    bpmn-js - 在浏览器中查看和编辑BPMN 2.0图表 ... 动态附加/分离您也可以将查看器动态附加或分离到页面上的任何元素: var viewer = new BpmnJS(); // 将它附加到某个元素 viewer.attachTo('#container');

    bpmn.js 2.0流程编辑器 搭配 Activiti 7.0 进行工作流编辑器集成开发

    BPMN 无处不在,适合所有人 在浏览器中创建、嵌入和扩展 BPMN 图。单独使用它或将其集成到您的应用程序中。 1.使用基于Web 的建模组件 轻松创建您自己的 BPMN 2.0 ...这取决于您,因为 bpmn-js 是一个开放的工具包。

    python-bpmn-engine:在Python流程中解析和执行Camunda BPMN模型

    一个用于在单个流程中解析和执行BPMN模型的python模块到目前为止支持的元素: 开始/结束事件任务(手动,用户,服务)-暂时执行虚拟网关(专有,并行) 有条件的顺序流BPMN模型示例: 用法示例: import asynciofrom...

    BPMN2.0 图形元素解释

    BPMN论坛中下载的资料,由北京交通大学软件学院、华胜天成集团摩卡软件(MochaSoft) 、炎黄盈动技术有限公司(ActionSoft) 参与翻译。供参考,侵权删除

    bpmn-js-i18n:bpmn-js的国际化资源

    bpmn-js翻译该存储库收集用户界面元素,消息和工具提示的社区维护的翻译。可用翻译使用翻译遵循并用此存储库中的一种语言文件替换。贡献创建一个并提供翻译。 检出以获取可用消息的列表。执照麻省理工学院

    BPMN2新规范 中文版

    BPMN2新规范 业界牛逼,流程建模设计,自动化,的工作流引擎

    BPMN2.0规范中文文档

    这里较为详细的介绍了BPMN2.0: 1.1. BPMN 2.0是什么 1.2. 历史和目标 1.3. JPDL vs BPMN 2.0 1.4. Bpmn 2.0 执行 1.5. 配置 1.6. 实例 1.7. 流程根元素 1.8. 基本结构(事件、顺序流、网关、任务) 1.9. ...

    bpmn-elements:基于BPMN 2.0的可执行工作流元素

    bpmn元素 同构JavaScript BPMN 2.0工作流程元素,适合捆绑到前端脚本中或仅需要在您的nodejs项目中使用。支持的元素以下元素已经过测试和支持。 :可执行的BPMN 2定义:执行并跟踪活动元素BpmnError 边界事件...

    BPMN2.0规范文档

    BPMN2.0规范,详细描述了bpmn的元素以及相关信息。是了解Activiti等开源工作流的必备条件。

    bpmn-js-bpmnlint:基于Bpmn-js的流程设计器校验实现

    基于bpmn-js的流程设计器校验实现简介它根据一组已定义的规则来验证您的图表,并将其报告为错误或警告。它可以从命令行检查您的BPMN图,或者通过将其集成到我们的:核心规则库的核心是用于检测BPMN图中某些模式的...

    BPMN2.0规范.zip

    BPMN 2.0是什么呢,JPDL vs BPMN 2.0,Bpmn 2.0 执行,配置,实例, 流程根元素,基本结构,网关,任务,Java服务任务,内部捕获事件:定时器,完全的实例(包括控制台任务表单)

    Activiti BPMN 2.0 designer

    工作流系统activiti绘制BPMN图片的eclipse插件,使用方法,解压后将其内容放在eclipse目录下的dropins文件夹即可。

    bpmn-jsonator:显示给定BPMN元素的所有直接子类

    bpmn-jsonator 显示给定BPMN元素的所有直接子类安装npm install 用法node bpmn-jsonator.js /path/to/bpmn.json element

    bpmn-engine:BPMN 2.0执行引擎。 开源JavaScript工作流引擎

    该引擎仅支持BPMN 2.0方案中包括的元素和属性,但可以扩展为了解其他架构和元素。 至少要有BPMN 2.0。 除错 该模块使用因此可以使用环境变量DEBUG=bpmn-engine:*或者提供您自己的记录器。 过程的漂亮图像 致谢 ...

    BPMN-Reference-Validator:用于检查 BPMN 文件中引用正确性的工具

    BPMN 参考验证 注意:项目现在是- 此处不再维护 检查 BPMN 2.0 流程文件中所有引用的工具: 指向现有元素的引用? 引用的元素是否为允许的有效类型? (例如,引用一个messageRef属性实际上是一个message ) 软件...

Global site tag (gtag.js) - Google Analytics