Activiti 7 —— BPMN —— Visual Paradigm —— BPMN工作流程图组件了解应用、绘图、结构组成、案例学习

📖 本文目录

  • 📖 BPMN
    • 📑 BPMN 简要概述
    • 📑 BPMN 基本结构类型
      • ⭐ 泳道对象
        • 🔖 泳池
        • 🔖 泳道
        • 🌰 案例学习:The True Aqua Distilled Water Company 1
      • ⭐ 流元素 与 连接
        • 🔖 活动
        • 🔖 事件
        • 🌰 图示例 —— 信用额度订单处理流程
        • 🔖 网关
          • 🎈 排他性网关
          • 🎈 包容性网关
          • 🎈 并行性网关
          • 🎈 基于事件型网关
        • 🔖 序列流
        • 🔖 消息流
        • 🌰 案例学习:The True Aqua Distilled Water Company 2
      • ⭐ 数据 与 工件
        • 🔖 数据
        • 🔖 分组
        • 🔖 文本注解
        • 🌰 案例学习:The True Aqua Distilled Water Company 3

📖 BPMN

📑 BPMN 简要概述

概述以及作用

BPMN 使我们能够以清晰和一致的方式捕捉并且记录一个有组织的业务流程,以确保相关的使用者,如流程所有者和业务用户参与到流程当中。因此,团队可以更有效地应对流程中发现的任何问题。BPMN 提供了全面而丰富的符号,技术和非技术的使用者都可以轻松理解。

BPMN 的优缺点

  • 由OMG联盟开发的行业标准,该联盟是一个非营利性的行业组织
  • 通过业务流程图定义和理解其程序的能力为企业提供一个所有企业内的使用者都能轻易理解的标准符号来弥补业务流程设计和实施之间经常出现的沟通障碍。
  • 简单易学,但功能强大,足以描绘出业务流程的潜在复杂性、供应商中立,有广泛的工具支持

本文分为四个部分,旨在提供对业务流程模型和符号(BPMN)的介绍。

将描述BPMN符号的基础知识——即构成该符号的图形对象的类型以及它们如何作为业务流程图的一部分一起工作。

📑 BPMN 基本结构类型

BPMN元素有五个基本类别。它们中的每一个都代表业务流程一个特别的方面。

⭐ 泳道对象

在这里插入图片描述

泳道对象是表示进程参与者的一种图形化容器。泳池和泳道是两种泳道,我们将在后续详细讨论它们。

什么是泳道对象?

BPMN中的泳道对象(又称:Swimlanes)是代表业务流程参与者的矩形框。

一个泳道可以包含由该泳道(参与者)执行的流程对象,但黑箱子除外,它必须有一个空的主体(我们将在本教程的后面讲到黑箱子)。泳道可以水平或垂直地排列。它们在语义上是相同的,只是表现形式不同。对于水平泳道,流程从左到右流动,而垂直泳道的流程从上到下流动。泳道中的例子包括客户、客户部、支付网关和开发团队。

其中包括两种泳道:泳池和泳道

🔖 泳池

泳池代表了一个业务流程中的参与者。它可以是一个特定的实体(如部门)或一个角色(如经理助理、医生、学生、供应商)。

在一个泳池当中,有流动元素。它们表示池子在被建模的过程中需要执行的工作。然而,有一种泳池完全没有内容。它被称为黑箱池。黑盒池通常在建模业务流程外部的实体时使用。由于它是外部的,它的内部流程对被建模的流程没有任何影响,因此可以被跳过,产生一个黑箱。下面的BPD(业务流程图)给了你一个黑盒池的例子。客户是一个黑匣子。由于流程的重点是厨师如何准备一顿饭,客户做什么与流程无关。黑箱的使用取决于流程的角度。如果你需要对顾客如何下订单的过程进行建模,那么将对顾客的流程进行建模,使厨师池成为黑箱。

在这里插入图片描述

🔖 泳道

泳道是泳池的子分区。例如,当你有一个部门池时,你可以把部门主管和普通职员作为泳道。与泳池一样,你可以使用泳道来代表参与流程的特定实体或角色。

📚 注意点:在需要的时候,泳道可以包含其他泳道以形成一个嵌套结构。然而,BPMN 主要帮助你对业务流程进行建模。不要试图为建模你的组织结构而建立嵌套泳道。如果你想对组织结构进行建模,请使用组织结构图来代替。

🌰 案例学习:The True Aqua Distilled Water Company 1

案例起因:

The True Aqua蒸馏水公司是该市一个年轻的蒸馏水供应商。他们销售商业和家庭使用的蒸馏水。现在,True Aqua蒸馏水公司希望在未来12-18个月内将其市场份额从5%提高到10%。为了达到这个目标,他们正在努力寻找提高经营效率的方法,以满足更高水平的客户满意度。

因此,True Aqua蒸馏水公司已经决定改进他们的蒸馏水订购流程。现在,你是一名负责这项任务的业务分析员。在与True Aqua蒸馏水公司会面后,你已经收集了以下关于订购流程的信息。让我们看一看。


流程概述:

客户可以拨打订购热线或向我们发送电子邮件来订购蒸馏水。目前,90%的订单来自于电话,而10%的订单是通过Email下单的。收到订单的客户服务助理会检查客户是现有客户还是新客户。如果客户以前从未下过订单,客户服务助理将在处理订单之前为他或她创建一个客户账户。

蒸馏水的交付是每周一次,定在每个星期三进行。因此,在每个星期三的上午,客户服务助理将会把订单转交给物流部门进行配送。一旦物流部门的经理收到订单,他将通过分配工人管理不同的订单、打印和张贴时间表来安排交货。工人们接到电话后,会相应地把水送到客户手中。


步骤一:从应用程序工具栏上选择项目>新建,创建一个新的项目。在新项目窗口中,点击创建空白项目。

步骤二:从应用程序工具栏中选择 Diagram > New,创建一个新的工作流程图。

步骤三:在 "新建图表 "窗口中,选择 "业务流程图 "并点击 “下一步”。

在这里插入图片描述

步骤四:输入蒸馏水订购流程作为图的名称,然后点击确定来创建图。你会看到以下窗口。

在这里插入图片描述

下面是对用户界面不同部分的描述。

区域 功能作用
区域一 应用程序工具栏 应用程序工具栏为您提供Visual Paradigm中各种操作的入口。
区域二 图表编辑器 你编辑图表的区域。
区域三 工作目录、组件、图表日志、配置文件等

步骤五:简单模型建模

通过阅读从用户那里收集到的订购流程的细节,你了解了客户和The True Aqua蒸馏水公司之间的合作,并且能够确定需要在 BPD 中建模的以下实体,因为它们参与了这个流程。客户、客户服务助理、物流部门、经理(在物流部门)和工人(在物流部门)你应该用 BPMN 泳池和泳道对它们进行建模。让我们先创建客户池。在图表工具条上选择水平池。

在这里插入图片描述

步骤六:点击BPD(在图表编辑器中),创建一个池。输入 Customer 作为泳池的名称,并按回车键确认。

在这里插入图片描述

请注意,一个泳池在水平方向上延伸了整个图表的长度。

步骤七:创建 The True Aqua Distilled Water Company 泳池来代表物流部门和客户服务助力所属公司下

你可以为客户服务助理和物流部门创建单独的池子。但为了突出他们在同一公司下的事实,最好为 The True Aqua Distilled Water Company 创建一个泳池,并使客户服务助理和物流部门成为该泳池的泳道。在客户下面创建一个泳池 The True Aqua Distilled Water Company

在这里插入图片描述

步骤八:在泳池中创建泳道

右键单击泳池 The True Aqua Distilled Water Company,从弹出菜单中选择添加泳道。

在这里插入图片描述

步骤九:输入 Customer Service Assistant 作为泳道的名称,同时回车完成配置

步骤十:在 Customer Service Assisant 之后 插入一条泳道 物流部门 泳道

Create the lane Logistics Department below the Customer Service Assistant lane. Right-click on Customer Service Assistant and select Insert Lane After from the popup menu

步骤十一:输入 Logistics Department 作为泳道的名称,同时回车完成配置

在这里插入图片描述

Up to now, the diagram should look like this:

在这里插入图片描述

步骤十三:由于在物流部门内部,有两个实体参与了这个工程,他们分别是经理和工人。出于这个原因,你应该在物流部门的泳道内创建这些实体作为嵌套泳道。 Right-click on the lane Logistic Department and select Add Child Lane from the popup menu.

在这里插入图片描述

步骤十四:输入 Manager 作为泳道的名称,同时回车完成配置

步骤十五:在 Manager 泳道中右键 并且从弹出的菜单中选择 在其之后插入泳道

步骤十六:输入 Worker 作为泳道的名称,同时回车完成配置

Up to now, your BPD should look like this:

在这里插入图片描述

⭐ 流元素 与 连接

流元素

在这里插入图片描述

流程元素是相互连接以形成业务工作流程的元素。流程元素是定义一个流程行为的主要元素。有三种流元素。事件、活动和网关。我们将在后续谈论它们。


连接

在这里插入图片描述

流动对象不是孤立的,而是为了形成流动而连接起来的。连接流动对象的连接器被称为连接对象。有四种类型的连接对象:序列流、消息流、关联和数据关联。


流程元素指的是连接在一起形成一个完整流程的元素。连接流程元素的连接器被称为连接对象。BPD的读者跟随元素的流向,可以看到一个业务流程如何被执行和完成。

🔖 活动

什么是活动?

活动是在一个业务流程中执行的工作。它们被显示为圆角矩形,其名称描述了要执行的工作。

活动的分类?

有两种类型的活动。任务和子流程。当我们想对一个不能进一步分解或没有意义的原子工作进行建模时,我们使用一个任务。

任务

在这里插入图片描述

子流程

当我们想对一个非原子性的、复杂的工作进行建模,并可将其细化为更小的工作时,我们使用子过程。一个子过程可以被分解为另一个层次的细节。由于这个原因,一个子过程通常包含另一个为其细节建模的BPD。

在这里插入图片描述

📚 注意点: 选择任务或子流程不仅仅是指一项工作可以有多复杂,而且也是指你需要了解这项工作的详细程度。如果你是顾客,你可能不想知道你的付款是如何被处理的。然而,如果你是商店,如何处理客户的付款就变得很重要。

🔖 事件

什么是事件?

事件是需要或者正在发生的事情,其可能对当前业务流程产生影响。一个事件可以是外部的,也可以是内部的。

当事件能够影响建模的过程时,这些事件就应该也被定义建模。

其中事件的图形化图标为圆圈,在某些情况下,圆圈内也有图标,代表事件触发的类型。

事件的分类

有三种类型的事件。开始事件、中间事件和结束事件。可以为它们中的每一个指定触发器,以表明在什么条件下触发一个事件。

每个流程都应该有一个开始事件,以显示业务流程的开始。它允许读者在BPD中找到流程开始的位置。此外,结束事件被用来表示业务流程的完成,中间事件负责根据它所指定的事件来驱动业务流。中间事件可以被附加到一个活动上,以模拟在该活动执行过程中可能发生的事件,它也可以被一个连接对象所连接,以模拟在执行流程元素之后可能发生的事件。我们将在本教程的后面更详细地讨论。

🌰 图示例 —— 信用额度订单处理流程

图中说的是当我们收到一个订单时,我们开始处理它。如果并且只有在没有剩余信用消费额度的情况下,我们才检查问题。当订单被处理完毕或问题被发现时,处理过程结束。

在这里插入图片描述

🔖 网关

网关在 BPM 中的作用

网关负责控制业务流程的流动方式。它们被显示为菱形。在一个流程中,在不同的外部或内部条件下,要做的工作和产出可能有所不同

举个小🌰

一个折扣只提供给 VIP 买家,而不提供给其他人。网关就是对条件进行评估并作出决定工作流程的流向。

🎈 排他性网关

什么是排他性网关

基于数据的排他性网关,也被称为排他性网关,用于根据给定的过程数据控制过程流。每个从网关连接出来的流都对应着一个条件。满足条件的流被可以访问对应流程,反之会被拒绝访问。

在这里插入图片描述

🎈 包容性网关

什么是包容性网关?

包容性网关可用于创建平行路径。所有请求条件都会进行评估判定。所有具有正确结果的流程将顺利执行下一步流程。因此,如果其满足多个条件,同时进入到多个平行路径当中,它可能导致执行多个工作流程。

在这里插入图片描述

🎈 并行性网关

什么是并行性网关?

平行网关用于模拟并行工作流的执行,不需要检查任何条件。简言而之,就是所有流出的工作流必须在同一时间同时执行。

在这里插入图片描述

🎈 基于事件型网关

什么是基于事件型网关?

基于事件的网关被用来模拟基于事件的替代路径。例如,要等待某人的回复,需要 Yes 或 No 来决定穿越的路径。因此,该网关由两个带有消息触发器的连接的中间事件跟随,一个代表Yes消息,另一个代表No。所有其他的事件和它们跟随的流量将不再有效。

在这里插入图片描述


🔖 序列流

什么是序列流

序列流是用来连接流动元素的。它以带箭头的实线显示。它显示了流动元素的顺序。

在这里插入图片描述

📚 使用时需要注意的:

你只能使用序列流来连接同一泳池内的流元素对象:要么在同一泳池/泳道内,要么在同一泳池内跨泳道。如果你想跨泳池连接元素,你不能使用序列流,而是使用消息流。

🔖 消息流

在 BPMN 中消息流的作用及应用

在BPMN中,泳池之间的通信是通过使用消息实现的。消息流被用来显示泳池之间的消息流或泳池之间的流元素。消息流以虚线和箭头的形式显示。一些在池之间流动的消息的例子:传真、电话、电子邮件、信件、通知、命令。

在这里插入图片描述

🌰 案例学习:The True Aqua Distilled Water Company 2

在之前已经创建好了对应的泳池以及对应实体的泳道绘制了 BPD 的雏形,现在来绘制对应的工作流程

步骤一:根据从蒸馏水公司获得的流程描述,我们知道当客户下订单购买蒸馏水时流程就开始了。因此,在客户池中创建一个开始事件以显示流程的开始。在图表工具栏中选择 “开始事件”。

在这里插入图片描述

步骤二:点击对应的 Customer 泳池

在这里插入图片描述

步骤三:在开始事件之后创建一个任务,用于下订单。将鼠标指针移到刚刚创建的开始事件上。按下右上方的资源目录图标,将其拖出。

在这里插入图片描述

步骤四:松开右手边的鼠标按钮。在资源目录中,选择任务。

在这里插入图片描述

步骤五:输入 "Place Order "作为名称,按回车键确认。这将创建一个任务 “下订单”。

在这里插入图片描述

步骤六:收到订单的客户服务助理需要核实客户的身份。为这项活动创建一个任务。注意,该任务应放在客户服务助理池内。按下资源目录图标并向下

在这里插入图片描述

步骤七:在客户服务助理池中释放鼠标按钮。在资源目录中选择任务,并将任务命名为 “Verify Customer Identity”。注意,在下订单和验证客户身份之间会自动创建一个消息流,而不是一个序列流。这是因为它们被放在两个不同的池中。

在这里插入图片描述

步骤八:如果客户以前从未下过订单,客户服务助理将为他/她创建一个账户。否则,它将在下周三将订单转给物流部门。为了模拟这两种可能的流程–老客户或新客户–我们需要使用一个网关。使用资源目录,从验证客户身份创建一个网关。

在这里插入图片描述

步骤九:命名网关 Customer Exists ?

在这里插入图片描述

步骤十:如果客户记录不存在,则创建一个账户。让我们对这个流程进行建模。使用资源目录从网关创建一个任务。

在这里插入图片描述

步骤十一:命名任务为 Create Customer Account 。这意味着,如果条件No 被满足,则采取该流程并执行Create Customer Account 的任务。

在这里插入图片描述

步骤十二:如果客户记录确实存在,怎么办?客户服务助理将在下周三转发他/她的订单。为了模拟等待到星期三的需要,我们需要使用一个中间事件。使用资源目录,从网关创建一个中间事件。

在这里插入图片描述

步骤十三:命名中间事件On Next Wednesday。命名序列流 为 Yes 。

在这里插入图片描述

步骤十四:中间事件将在指定的日期/时间被触发。因此,这是一种定时器事件(例如,带有定时器触发的事件)。为了表示这一点,在事件上点击右键,从弹出的菜单中选择触发器>定时器触发器。

在这里插入图片描述

步骤十五:该订单将在下周三转发到物流部门。为了表示这一点,在中间事件后创建一个任务转发订单。使用资源目录,从事件中创建一个任务。

在这里插入图片描述

步骤十六:Name the task Forward Order

在这里插入图片描述

步骤十七:不要忘记创建客户账户后要做的活动。在客服助理为新客户创建账户后,订单也将被转发到下周三。因此,我们需要添加一个从创建客户账户到中间事件On Next Wednesday的序列流。不要直接连接到转发订单。否则,这意味着等待到星期三的需求将被跳过,这不是用户想要的。同样,你可以使用资源图标从创建客户账户创建一个连接。这一次,在中间的位置释放鼠标按钮来添加连接器。

在这里插入图片描述

步骤十八:送水的订单将被转发给物流部的经理,以安排送货。使用资源目录,在经理通道中,从转发订单创建一个任务。

在这里插入图片描述

步骤十九:Name the task Arrange Delivery

在这里插入图片描述

步骤二十:这里我们有一个问题。安排交付的活动实际上涉及几个子活动。用一个子过程而不是任务来模拟它是否更合适?答案是肯定的。但是我们现在应该怎么做?删除任务并创建一个子流程?我们不需要删除该任务。相反,我们可以把它转换成一个子进程。让我们尝试一下,右击任务 “安排交付”,从弹出菜单中选择 “转换为子流程”。

在这里插入图片描述

步骤二十一:一个子过程包含另一个BPD,供你绘制其细节。加号使您能够通过打开BPD深入到子流程中。点击子流程安排交付上的加号,从下拉菜单中选择新的业务流程图。

在这里插入图片描述

步骤二十二:它打开一个空白的BPD。你应该看到一对开始和结束事件的出现。它们在那里供你连接到父图中建模的主流程和本图中要建模的子流程。应用上面讲的技术。尝试在这两个事件之间创建三个任务: Assign Workers, Print Schedule and Post Schedule 。

在这里插入图片描述

📚 注意点:在某些情况下,你可能想在子流程图中呈现之前创建的水池和车道。如果你想这样做,只需右击BPD的背景,在弹出的菜单中选择从父图中添加池/车道…。在 "选择池/车道 "窗口中,选择经理车道并点击 “确定”。

步骤二十三:让我们回到父BPD的位置。点击图表上方的快捷链接。

在这里插入图片描述

步骤二十四:该子进程处于折叠状态。你可以通过点击形状主体底部的 "+"图标,选择性地显示其内容。这样做,子流程BPD的缩略图就会显示在子流程形状内。如果您将子流程的尺寸调整到更大,缩略图也将随之显示。然而,我们不建议在这里显示子流程BPD的内容。首先,这是因为父图的复杂性。其次,当你使用子流程时,这意味着有不同层次的流程细节。如果细节非常重要,你必须在父图中显示,你可能要重新考虑是否应该直接在父BPD中对 "子流程 "建模,而不是使用子流程BPD。因此,我们建议你在这里保持子流程的折叠。

在这里插入图片描述

步骤二十五:在安排交付后,工人将负责交付。在安排送货后,在工人通道内创建 Deliver Water 任务,该通道是底层通道。‘’

在这里插入图片描述

步骤二十六:这是关于送水过程的结束。就像我们在子流程BPD中所做的那样,在这里创建一个结束事件来表示流程的结束。使用资源目录从送水中创建一个结束事件。

在这里插入图片描述

步骤二十七:Finally, you should have a BPD similar to this one:

在这里插入图片描述

⭐ 数据 与 工件

什么是数据?

在这里插入图片描述

数据主要是在执行业务流程时需要或生成的信息。有四种类型的数据:数据对象、数据输入、数据输出和数据存储。我们将在后续讨论它们。


什么是工件?

工件提供有关于工作进程的额外信息,我们将详细介绍两种工件——即组和文本注释

在这里插入图片描述


传统建模技术的一个共同特点是允许在一个过程的执行过程中创建、读取和更新数据的建模。一个经典的例子是数据流图(DFD)。尽管BPMN主要不是为数据建模而设计的,但仍有一套符号让你对业务流程中涉及的数据进行建模。

BPMN还为建模者提供了几个工件符号,以便更详细地描述一个业务流程。例如,用于分组相关活动的组对象和用于详细解释流程对象的文本注释对象。

🔖 数据

数据对象 在 BPMN 中的作用

很多时候,当执行一个业务流程时,可能会有数据产生,无论是在流程中还是在流程结束后。例如,成功执行 "下订单 "任务将产生诸如采购订单、发票、收据等数据。在BPMN中,数据可以通过几种类型的 "数据 "对象来建模,如数据对象、数据输入、数据输出和数据存储。有一种定义明确的方式来管理数据的状态,如实例化、完成、删除等。

在这里插入图片描述

🔖 分组

组是一个带有虚线边框的盒子,为建模者提供了一个按不同类别对形状进行分组的机制。

在这里插入图片描述

🔖 文本注解

文本注释可用于为BPD中的流程对象添加额外的细节。它不影响流程,但提供流程内对象的细节。

在这里插入图片描述

🌰 案例学习:The True Aqua Distilled Water Company 3

现在,我们将添加数据和注释,以进一步描述该流程。

步骤一:蒸馏水订购过程的执行将导致采购订单的产生。让我们对采购订单的创建和操作进行建模。我们知道,当客户服务助理收到客户的订单请求时,就会创建采购订单,这是由任务Verify Customer Identity模拟的。因此,我们将从任务Verify Customer Identity中创建一个采购订单数据。将鼠标指针放在它上面,拖出右上方的资源目录图标。

在这里插入图片描述

步骤二:Release the mouse button and select Data Object from Resource Catalog.

在这里插入图片描述

步骤三:Name the data Purchase Order.

在这里插入图片描述

步骤四:一个采购订单在流程内有其生命周期,从创建到完成。我们可以通过定义状态来进行建模。右击采购订单,从弹出的菜单中选择状态>创建…。

在这里插入图片描述

步骤五:In the input window, enter Create as name of state and click OK

步骤六:创建标签被添加到采购订单的名称中。正如我所说,采购订单有其生命周期。当客户服务助理完成了转发订单的任务后,采购订单将等待物流部门的分配。我们可以通过重新使用相同的数据和改变状态来建立这个模型。从任务 "转发订单 "中,按下并拖出资源目录图标。

在这里插入图片描述

步骤七:Release the mouse button and select Data Object from Resource Catalog.

步骤八:输入 Purchase Order 作为数据的名称。请注意这个步骤。你必须输入 Purchase Order 作为名称,以便重新使用之前创建的采购订单数据对象。当您确认编辑时,会提示您是否要让数据对象引用现有数据。选择 Yes。

在这里插入图片描述

步骤九:右键单击与转寄订单相关的采购订单数据,从弹出菜单中选择状态>创建…。

在这里插入图片描述

步骤十:输入To be Assigned作为状态名称并确认。到目前为止,同一采购订单数据在流程中显示了两次,有两种不同的状态。

在这里插入图片描述

步骤十一:当物流部门的经理完成 Arrange Delivery 任务后,采购订单将被分配给一个工人并等待交货。应用上面教的技术。添加一个 Purchase Order 数据,并定义一个待交付的状态。

在这里插入图片描述

步骤十二:最后,当交付完成后,采购订单被称为完成。试着在图中建立这个模型

在这里插入图片描述

步骤十三:在我们结束本教程之前,让我们创建一个文本注释。看一下 "Place Order "这个任务。根据从The True Aqua蒸馏水公司收集到的信息,我们知道,虽然有些订单要求是通过电话提出的,但有些是通过电子邮件提出的。让我们用文本注释来描述这个额外的细节。使用资源目录从 "Place Order "任务中创建一个文本注释。

在这里插入图片描述

步骤十四:Enter the body of text annotation: Over 90% of requests are made by phone call, 10% by Email.

在这里插入图片描述

步骤十五:确认编辑并调整文本注释的大小,使文本出现在多行中。这里是最终的BPD。

在这里插入图片描述

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注