BPMN介绍
本篇主要解决问题:
1、BPMN是什么?有没有其他类似的概念?
2、BPMN有什么用?
3、BPMN怎么用?
一、概念说明
BPMN(Business Process Model and Notation)是一种标准化的业务流程模型,用于图形化地描述和文档化业务流程。
假设有一个简单的在线购物流程:
- 客户下单:客户在网站上浏览商品,选择所需商品并下单。
- 订单处理:电子商务系统接收订单,并自动将订单信息传递给仓库。
- 商品配送:仓库准备货物,安排快递发货。
- 客户收货:客户收到商品,并对购物体验进行评价。
在这个过程中,BPMN 可以用来绘制整个购物流程的流程图。
例如,使用不同的符号来表示“用户任务”(如浏览和选择商品)、“系统任务”(如处理订单、准备货物)、“网关”(如判断是否有货)、以及“结束事件”(如订单完成)。这样,整个购物流程就可以通过一张清晰的流程图展现出来,便于团队理解和优化这个过程。
二、同类概念
除了BPMN外,能满足【一种标准化的业务流程模型,用于图形化地描述和文档化业务流程】这一定义的模型还有很多,例如:
- 流程图(Flowcharts)描述:流程图是最基本的流程描述工具,用于表示一个过程中的步骤、决策点和流程的顺序。优点:简单易懂,适用于简单或初步的流程分析。缺点:相对于 BPMN,流程图在表示复杂的业务逻辑和流程互动方面有限制。例子:例如,在企业的招聘流程中,流程图可以简单地描述从发布职位、接收简历、初步筛选、面试到最终录用的每个步骤。
- UML(统一建模语言)描述:UML 是一种广泛用于软件工程的标准化建模语言,包括用例图、活动图、序列图等多种图表。优点:UML 活动图非常适合于软件开发过程中的流程建模,提供了丰富的符号集。缺点:UML 对于非技术人员来说可能比较复杂,且更侧重于软件系统的视角。例子:在软件开发的需求分析阶段,用例图可以用来描述系统的功能和用户的交互。
其中 UML 和 BPMN 都是由OMG(Object Management Group,对象管理组织)提出的设计规范,因此,下文详细比较了两个概念的区别。
2.1 概念对比
BPMN(Business Process Model and Notation)
- 专注于业务流程:BPMN 是专门为了业务流程建模而设计的。它的目的是帮助业务专家和技术专家共同理解和改进组织的业务流程。
- 符号和语义:BPMN 提供了一套丰富的图形符号,用于描述和文档化各种业务流程。这些符号专门设计来表示业务流程中的活动、决策、事件、流程顺序等。
- 适用场景:BPMN 最适合于描绘复杂的业务流程,如企业内部流程、客户交互流程等。
UML(Unified Modeling Language)
- 面向软件开发:UML 是一种用于软件开发的建模语言。它更侧重于软件系统的架构、行为和结构的建模。
- 多种图表类型:UML 包括多种不同类型的图表,如用例图、类图、活动图、序列图等。每种图表专注于不同的方面,如系统结构、对象交互、活动流程等。
- 适用场景:UML 适用于软件设计和开发,特别是当需要详细规划系统架构、类之间的关系或对象的交互时。
2.2 主要差别
- 目标领域:BPMN 针对的是业务流程管理,而 UML 主要用于软件系统的设计和开发。
- 符号和视角:BPMN 的符号和视角专注于业务活动和流程,而 UML 提供了更广泛的视角,涵盖了软件设计的多个方面,包括系统的行为和结构。
- 受众:BPMN 旨在为业务专家和技术开发者提供共同的语言,而 UML 更多被软件工程师和系统分析师使用。
2.3 实例比较
假设有一个在线购物系统:● 使用 BPMN,我们会建模整个购物流程:客户浏览商品、添加商品到购物车、结账、处理支付、发货等。● 使用 UML,我们可能会创建不同的图表:用例图描述用户和系统的交互(如浏览商品、购买商品),类图描绘系统的数据结构(如商品、订单、用户账户),活动图则展示特定功能的流程(如结账流程)。
总结:BPMN 和 UML 虽然都能用于建模流程,但它们关注的领域、使用的符号和目标受众有所不同。BPMN 更适合于纯粹的业务流程建模,而 UML 提供了更广泛的软件系统建模能力。
三、使用价值
BPMN的核心价值在于提供一套设计规范,用于构建自动化流程,在探讨BPMN的价值之前需要明确一下什么叫做【自动化流程】
3.1 自动化流程 - 实例说明
假设现在有一个场景【客户向银行申请信用卡】
原始流程:
1、客户向银行邮寄了一份申请
2、会计审查申请,通过评级机构网站查看客户的信用状况
3、客户信用良好,会计将信息记录到Banksoft(假定为银行内部软件)中
4、经理查看文件并批准
新的流程:
1、客户在线填写表单
2、系统接受表单并通过工作引擎给会计创建一个审查任务
3、会计访问任务列表,查看申请,系统自动获取评级机构网站信息一并展示
4、会计审核信息后,发现无问题,自动通过后将信息通过Banksoft传送给经理,并在经理的任务列表创建一个终审任务
5、经理最终审批通过
从上面可以看到,流程自动化的核心在于:构建一个工作流引擎,用于执行流程模型。
而工作流引擎的价值包含:
1、可以表示流程逻辑,节省大量的编码工作
2、可以将工作流程和其他应用结合在一起,整合全公司的业务
3、可以控制流程,清楚知道每个流程处于哪个阶段,以及每个任务的完成时间,结合KPI监控后,能快速分析绩效,提升效率
4、工作引擎一般是业务人员直接操作,可以有效消除业务方和IT部门的壁垒
因此,可以得出BPMN的价值在于:提供一套标准化的业务流程模型,用于图形化地描述和文档化业务流程。基于此可以构建一个工作流引擎,执行流程模型,进而实现上述价值。
四、接入场景
一般来说,想要接入BPMN的场景有三种:
1、希望通过IT来改进一个流程
例如:利用软件自动输入数据,或者通过KPI实施流程监控。
2、希望对当前流程进行文档化
例如:需要文档指导相关人员工作,或者利用文档通过某些审核(ISO 9000)
3、希望引进全新的流程
例如:需要新的渠道或新的产品
基于上述场景,camunda公司(一家基于BPMN做工作流引擎产品的公司)描绘了【流程】的生命周期
整体上,可以分为两条路径:
a、基于现有流程
- 调研目前流程
- 记录目前流程
- 分析流程中是否存在问题
- 针对问题进行分析
- 重新制定流程
- 部署流程
- 流程控制(持续监控流程并实时改进)
- 发现新问题后重新走到第四步4
b、创建一个新流程
从第五步开始。
总结:BPMN的使用场景并不复杂,简单说就是想要把某些工作内容改成自动化的流程。基于这个目标就需要分析现有工作,通过BPMN构建模型,执行流程并持续运行和监控。
本文暂时没有评论,来添加一个吧(●'◡'●)