业务流程建模标注(BPMN)详细介绍

news2024/11/27 20:30:32

1、基本信息

摘要:该文章的目的是对BPMN(Business Process Modeling Notation)的概要描述和介绍。描述基本的BPMN符号,包括这些图元如何组合成一个业务流程图(Business Process Diagram)

2、BPMN简介

2.1概述

该文章的目的是对BPMN(Business Process Modeling Notation)的概要描述和介绍。

描述基本的BPMN符号,包括这些图元如何组合成一个业务流程图(Business Process Diagram);讨论BPMN的各种的用途,包括以何种精度来影响一个流程图中的模型;(Also discussed will be the different uses of BPMN, including how levels of precision affect what a modeler will include in a diagram.);BPMN作为一个标准的价值,以及BPMN未来发展的远景

2.2BPMN是什么

由BPMI(The Business Process Management Initiative)开发了一套标准叫业务流程建模符号(BPMN)。在 BPMI Notation Working Group超过2年的努力,于2004年5月对外发布了BPMN 1.0 规范。BPMN的主要目标是提供一些被所有业务用户容易理解的符号,从创建流程轮廓的业务分析到这些流程的实现,直到最终用户的管理监控。BPMN也支持提供一个内部的模型可以生成可执行的BPEL4WS。因此BPMN的出现,弥补了从业务流程设计到流程开发的间隙。

BPMN定义了一个业务流程图(Business Process Diagram),该业务流程图基于一个流程图(flowcharting),该流程图被设计用于创建业务流程操作的图形化模型。而一个业务流程模型(Business Process Model),指一个由的图形对象(graphical objects)组成的网状图,图形对象包括活动(acticities)和用于定义这些活动执行顺序的流程控制器(flow controls)

2.3BPMN基础

业务流程图由一组图形元素构成。这些元素让我们很容易开发一个简单的,为大多数业务分析人员更熟悉的流程图。

对于建模者来说,这些图形都是易于区分和识别的。比如活动是长方形,路由是菱形。

需要强调的是,开发BPMN的一个动机就是创建一套简单的机制来创建业务流程模式,与此同时,还要能够应付业务流程内在的复杂性。

寻找一个可以处理这些相互冲突的需求的途径,是将这些图形符号组织并分类。

BPMN四种基本元素是:

  • Flow Objects

  • Connecting Objects

  • Swimlanes

  • Artifacts(人造物品)

2.4流对象(Flow Objects)

流对象是BPD的核心元素。

有三个流对象 Event, Activity, Gateway

Event, 事件

用一个圆圈代表事件(Event),它指的是在业务流程的运行过程中发生的事情。这些事件影响流程的流转,事件通常有一个cause (trigger)或者impact (result)。

有三种类型的事件:Start, Intermediate, and End

Activity,活动

用圆角矩形表示一个活动, is a generic term for work that company performs.一个活动可以由多个活动组成,活动的类型包括:Task 和 Sub-Process

Gateway,网关

菱形代表网关,用来控制流程的分支和聚合。

2.5连接对象Connecting Objects

在一个图中,连接对象将流程对象连接起来组成业务流程的结构。三种连接对象:

Sequence Flow 序列流

用实线实心箭头表示,代表流程中将被执行的活动的执行顺序。

Message Flow 消息流

用虚线空心箭头表示,用来表示2个分开的流程参与者(业务实体或业务角色)之间发送或者接收到的消息流。

Association 结合关系

点状虚线表示,用于显示活动的输入输出。

2.6甬道Swimlanes

用以区分不同的功能和职责。

BPMN有2中类型的甬道:

Pool

代表流程中的一个参与者。它也可以用作一个图形容器来与其他的pool相分隔。通常在交互流程中出现(B2B)。

Pool主要用于2个独立的实体或者参与者之间的物理划分。

各个pool中的活动通常是有自身的流程的。因此,顺序流(the Sequence Flow)通常不会越过多个pool的,而消息流是可以的,如下图就是一个带pool的业务流程图

Lane

Pool的子划分,可以垂直或者水平的,用来对活动的组织和分类。

Lane更加接近我们传统的甬道的概念。

Lane常用来将活动按照角色划分,流程可以在一个pool中跨Lane流转,但是在同一个pool中消息流通常不跨lane流转。

一个简单业务流程的例子

详细的部分业务流程图

2.7描述对象Artifacts

为了扩展基本符号,提供描述额外的上下文,BPMN使用了描述对象artifact

BPMN

Data Object

Data Objects are用于描述活动所需或者产生的数据。他们用连线与活动连接起来。

Group

用于描述和解释目的,不会影响流程的流转。

Annotation

提供一些附加性的文本信息给流程图的阅读者。

一个使用artifacts的例子:

2.8BPMN分类

业务流程模型(Business process modeling )提供不同的模型,以面向不同的读者,使用BPD可以有2个基本的模型

  • Collaborative (Public) B2B Processes 协作流程模型

  • Internal (Private) Business Processes 独立式流程模型

Collaborative B2B Processes 协作流程模型

该模型描述了2个以上的业务实体之间的交互,不是从某一个特殊的参与者的角度,而是从一个全局的角度描述了这些流程的交互。描述的方式是使用活动的执行顺序和参与者之间的消息的流转。

2.9BPMN 的用途(通过 BPD 创建的业务流程种类)

<1>Collaborative(Public) B2B Processes

用 Pool 的方式描述两个或多个业务实体(流程)之间的互动(参与者之间的互动);主要描述业务实体之间可视(Public)的活动之间的互动

<2>Internal(Private) Business Processes

主要描述独立的业务实体(流程),也会描述出与外部参与者的互动关系,但主要描述业务实体之间不可见(Private,独立业务实体内部)的活动

(例子:泳道内的业务实体为 Internal,泳道之间的业务实体为 Collaborative)

2.10BPMN 与 BPEL4WS 的转换

(模型)

(例子)

使用BPMN建模的价值

众多的成员保障了BPMN作为一个业务流程建模语言的标准。BPMN的发展也是减少现有过多的流程建模工具和语言的局面。同时,BPMI组织借鉴了很多已有建模语言的技术和经验,例如UML的活动图,UML EDOC的业务流程图,IDEF等等。推动BPMN发展的另一个因素是,以往的业务流程模型和系统设计开发从技术上被分开,这样就要手动的将业务流程模型转化为运行模型。这样会使流程所有者很容易出错,而且很难理解流程的升级和执行。

将一个BPMN图映射到BPEL4WF

为了减少规范之间的不兼容性,BPMN的一个关键的目标就是在面向业务流程建模语言和实现该流程的编成语言之间建立一个桥梁。由于拥有丰富的对象属性,BPMN的图形化对象可以映射到BPEL4WS v1.1。

下图标记了一个业务流程图的一部分是如何转化为BPEL4WS的。

BPMN的将来

虽然BPMN规范当前版本是1.0,很多公司已经开始或即将开始支持该规范了。

大量应用经验的积累以及用户的反馈,提供了很多有价值的东西,尤其包括映射到BPEL4WS的部分。短期内不会有大版本发布,1.1版本将在1年之后发布。该版本会使BPMN更能满足有着更多上下文的高层业务模型,比如包括,业务规则业务策略的模型。BPMI是个非正式组织,它仍在不断发展,并且致力于开发BPM系统的核心规范。

BPMI和OMG组织正在讨论一些有意思的东西,如UML中的活动图(Activity Diagrams)可能会与BPMN的业务流程图合并。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/364469.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pytest之fixture用法

特点及优势1、命令灵活&#xff1a;对于setup.teardown&#xff0c;可以不起这两个名字2、数据共享&#xff1a;在conftest.py配置里写的方法可以实现数据共享&#xff0c;不需要import导入&#xff0c;可以跨文件共享3、scope的层次及神奇的yield组合相当于各种setup和teardow…

MySQL —— 表的操作

文章目录1. 创建表2. 查看表结构3. 修改表3.1 向表中插入数据3.2删除表中的数据3.3 修改表的性质3.3.1 添加字段3.3.2 修改字段的长度3.3.3 删除字段3.3.4 修改字段名3.3.5 修改表名4. 删除表5. 备份表前言&#xff1a; 本文会详细的讲解&#xff0c;在MySQL中表的操作。1. 创建…

Linux基础命令-uname显示系统内核信息

前言 这个命令主要是显示系统内核的相关信息&#xff0c;一般需要查看内核信息才会使用到这个命令&#xff0c;一起来看看吧。 一 命令的介绍 uname命令来自于英文词组“Unix name”的缩写&#xff0c;其功能是用于查看系统主机名、内核及硬件架构等信息。如果不加任务参数&am…

UVM实战(张强)-- UVM中的寄存器模型

目录一.整体的设计结构图二.各个组件代码详解2.1 DUT2.2 bus_driver2.3 bus_sequencer2.4 bus_monitor2.5 bus_agent2.6 bus_transaction2.7 bus_if2.8 my_if2.9 my_transaction2.10 my_sequencer2.11 my_driver2.12 my_monitor2.13 my_agent2.14 my_scoreboard2.15 my_env2.16…

龙芯GS232(MIPS 32)架构cache管理笔记

1 mips32架构 MIPS架构是一种基于精简指令集&#xff08;Reduced Instruction Set Computer&#xff0c;RISC&#xff09;的计算机处理器架构。MIPS架构由MIPS Technologies公司在1981年开发&#xff0c;并在1984年发布了第一款MIPS处理器。 MIPS架构的特点包括&#xff1a; …

Alkyne choline,685082-61-5,炔基胆碱,炔基可通过铜催化的点击化学进行修饰和共轭

1、基础产品数据&#xff08;Basic Product Data&#xff09;&#xff1a;CAS号&#xff1a;685082-61-5中文名&#xff1a;炔胆碱&#xff0c;炔基胆碱英文名&#xff1a;Alkyne-choline &#xff0c;Alkyne choline2、详细产品数据&#xff08;Detailed Product Data&#xf…

深入讲解CFS组调度!(下)

接上文深入讲解CFS组调度&#xff01;&#xff08;上&#xff09; 六、task group时间片 6.1. 时间片分配 若使能CFS组调度会从上到下逐层通过权重比例来分配上层分得的时间片&#xff0c;分配函数是sched_slice()。但是从上到下不便于遍历&#xff0c;因此改为从下到上进行…

盘点全网好评最多的7款团队协同软件,你用过哪款?

能亲自带团队管理项目当然是一件开心和兴奋的事&#xff0c;但是突然成为团队负责人后开始不大适应。如何转换角色&#xff0c;还有自己和团队成员之间在心理、行为等方面的互动也变得很敏感。新手领导上任的过程&#xff0c;是团队秩序再造的过程&#xff1b;是晋升者个人职业…

Python----------字符串

1.转义字符 注&#xff1a;转义字符放在你所想效果字符前 2.原始字符串 print(r"D:\three\two\one\now") ->D:\three\two\one\now注&#xff1a; 在使用原始字符串时&#xff0c;转义字符不再有效&#xff0c;只能当作原始的字符&#xff0c;每个字符都没有特殊…

MySQL(一)基础使用

MySQL基础使用概念数据库相关概念关系型数据库SQL通用语法SQL分类DDL数据库操作表操作表操作-数据类型表操作-修改表操作-删除DML添加数据修改数据删除数据DQL基本查询&#xff08;不带任何条件&#xff09;查询多个字段&#xff1a;字段设置别名去除重复记录条件查询&#xff…

2月第3周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩平台)发布!

飞瓜数据UP主排行榜&#xff08;B站平台&#xff09;&#xff0c;通过充电数、涨粉数、成长指数三个维度来体现UP主账号成长的情况&#xff0c;为用户提供B站号综合价值的数据参考&#xff0c;根据UP主成长情况用户能够快速找到运营能力强的B站UP主。飞瓜数据UP主充电榜排行榜&…

EasyExcel 几十万导入报错问题——java.lang.NoClassDefFoundError

EasyExcel 报错 NoClassDefFoundError org/ehcache/config/builders/CacheManagerBuilder 特此郑重声明&#xff01;该文章是原创作品&#xff0c;小编编写实属不易 &#xff0c;帮忙点赞关注一下~转载小伙伴请注明出处&#xff01; EasyExcel 导入几十万数据报错 今天在执行…

【java实现Word模板导出】Xdocreport和Freemaker

如果只是生成简单的word文件的话可以使用 Hutool 上手简单使用方便。 但如果需要导出内容比较复杂的word文件的话用那个就不合适了&#xff0c;这时候就需要Xdocreport这玩意了。 制作模板 新建一个word文档在需要插入变量的地方使用快捷键 Crtl F9 来生成一个域 然后右键单…

【软件工具】Source Insight 4.0编辑keil工程代码

0.前言 最近在学习过程中&#xff0c;发现诸多课程老师均使用Source Insight 4.0进行开发演示&#xff0c;为了方便课程的学习&#xff0c;也为了提高个人开发水平及效率&#xff0c;故学习Source Insight 4.0软件&#xff0c;此文章主要作为软件使用的流程总结&#xff0c;同…

第十一章 - 模糊匹配(like)、正则匹配(REGEXP)、文本处理函数、时间处理函数

第十一章 - 模糊匹配&#xff08;like&#xff09;、正则匹配&#xff08;REGEXP&#xff09;、文本处理函数、时间处理函数模糊匹配和正则匹配like%通配符_通配符REGEXP 正则匹配文本拼接concat&#xff08;&#xff09;substring()substring_index()一些文本处理函数时间处理…

Autosar MCAL-ADC配置PWM硬件触发采样

文章目录前言ADC配置AdcGroupRequestSourceAdcGroupTriggSrcAdcHwExtTrigSelectAdcHwGatePinAdcGeneral-AdcHwTriggerApiAdcHwGateSignalAdcHwTrigSignalAdcHwTrigTypeGtmGtmConnectionsPWM实际使用总结前言 在实际项目开发过程中&#xff0c;关于ADC采样&#xff0c;大部分使…

存储器与cpu的连接

1. 只读存储器 只读存储器中一般用于保存系统程序或者系统的配置信息&#xff1b; 早期的只读存储器&#xff0c; 在厂家就写好了内容改进&#xff11;&#xff0c; 用户可以自己写&#xff0c; 一次性改进2, 可以多次写-- 要能对信息进行擦除&#xff1b;改进3,  电可擦…

【Leetcode 剑指Offer】第3天 字符串(简单)

字符串剑指 Offer 05. 替换空格字符串构造函数和析构函数操作函数剑指 Offer 58 - II. 左旋转字符串剑指 Offer 05. 替换空格 题&#xff1a;实现一个函数&#xff0c;把字符串 s 中的每个空格替换成"%20"。 class Solution { public:string replaceSpace(string s…

华为OD机试真题 用 C++ 实现 - 单词反转

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

Springcloud-Seata分布式事务

目录 一、什么是Seata&#xff1f; 二、Seata的执行流程 三、搭建Seata服务器 四、配置微服务客户端 分布式事务的解决办法: 使用消息中间件手写代码解决分布式事务使用第三方组件--->Seata阿里巴巴的产品 这里只介绍通过第三方插件-----Seata解决分布式事务的问题 一、什…