在您使用Signavio Workflow对许多业务流程建模和执行之后,您可以期望拥有许多复杂的流程模型。为了防止这成为一个问题,您应该学习如何简化您的流程模型。本文介绍了一种实现此目的的技术:使用BPMN折叠子流程活动作为自定义活动类型。

重用审批工作流

考虑一个文档审批流程它对文档作者和批准文档的经理之间的交互进行建模。

工作流通常包括这一点文档审批模式,因此,如果您不需要在每次将文档作为更大的工作流的一部分批准时都对模式进行建模,就可以节省时间。例如,准备和分发销售报告的过程可能包括与商业提案过程相同的批准步骤。

为了使文档审批可重用,首先将其建模为一个独立的流程,称为“审批文档”。该过程需要处理一些信息,因此添加一个触发器表单,其中包含用于文档作者和审阅者的User字段,以及用于审阅者将检查的文档的File字段。使用相应的角色—作者或审阅者分配两个用户任务。

现在,发布' Approve document '流程,这样您就可以使用它作为子流程在需要文件批准的过程中。通过使用绑定(链链接)图标来配置子流程输入,以选择合适的文档和角色进行审批。对于每个对应于三个子流程触发器表单字段之一的输入,请从父流程中选择具有正确类型的变量。

类似地,选择Outputs选项卡并配置子流程以更新原始文档。您可能还希望从批准子流程中获取额外的信息,例如评审评论。

现在,“批准销售报告”作为流程模型中的单个操作出现,这有两个重要的好处。

  1. 将审批的两个用户任务和一个网关替换为单个子流程操作简化了顶级销售报告流程,使其更易于阅读。
  2. 当您对批准流程进行更改时,将其作为子流程包含的每个流程都将获得新版本,从而确保所有文档批准的一致性。

这些好处来自于使用文档批准,就好像它是某种自定义活动,或者它是内置的BPMN。有时您可以从使用子流程中获得其他好处,因此考虑另一个示例。

将流程的一部分委派给另一个部门

银行通常有一个复杂的客户入职流程,其中包括在银行将申请人作为新客户接受之前必须满足客户申请的一系列检查。特别是,了解你的客户(KYC)立法规定了一系列检查,以帮助防止洗钱等非法活动。

这个简化的客户入职流程示例从验证姓名和地址的KYC检查开始,检查该姓名不为国际刑警组织所知或不在政治敏感人士(PEP)列表中。

独立欺诈部门的专业人员实际执行KYC检查。客户入职流程确保这些检查在正确的时间发生,但没有指定欺诈部门将如何执行检查。事实上,客户入职流程负责人可能并不确切知道需要哪些检查。

解决方案是提取“执行KYC检查”子流程,欺诈部门可以单独建模。这样,他们就可以决定包含哪些检查,并简单地将检查的结果提供给顶级流程。

当一个单独的部门执行这样的流程的一部分时,流程所有者可以使用子流程将流程建模委托给其他部门。

  1. 提取KYC流程将流程所有权分配给相关专家,这样他们就可以更有效地维护流程,而不必与父流程的所有者进行过多的协调。

这种为流程的自动化部分分离责任的想法导致了一个重要的特殊情况。有时,进程需要程序员编写一些代码。

在脚本任务中隐藏代码

假设您有一个工作流,其中包含一个用于输入出生日期的表单字段,您希望检查出生日期是否在过去,以帮助防止出现错误。在Signavio工作流,您可以通过使用脚本任务编写代码来执行对工作流变量的检查,而这些变量是无法通过独占网关中的条件实现的。

通常,工作流可能需要特殊的业务逻辑或与其他需要一些代码的系统集成。例如,下面的脚本任务配置显示了执行生日验证的(少量)代码。

理想情况下,程序员将能够实现所需的功能,而不需要访问父流程模型。与前面一样,解决方案是一个子流程,它只包含代码的单个脚本任务。

从父流程建模者的角度来看,他们可以使用‘Validate birthdate’子流程,该子流程接受一个输入的出生日期并提供一个Yes/No结果。同样,此子流程类似于自定义活动类型。这个场景带来了另一个好处。

  1. 流程分析人员或程序员可以创建和发布可重用的子流程,而不知道将使用它的父流程。

这些示例一起展示了子流程如何具有一种微妙的力量,您可以利用它来帮助简化流程模型及其设计和维护。

使用子流程作为自定义活动类型

总之,维护许多复杂的业务流程包括许多挑战。

  1. 模型尺寸-单个流程模型变得难以管理,导致需要大量时间来发现和修复错误。
  2. 重复-许多流程包含相同的常见流程模式,导致流程之间不一致和额外的时间进行重复更改。
  3. 协调-复杂的模型需要来自多个人员或部门的专业知识,导致共享所有权的问题。
  4. 访问—需要给业务流程的一部分所涉及的每个人编辑整个流程模型的权限,从而导致意外中断的风险。

识别公共建模模式和独立的职责区域,并将相应的流程模型部分提取到子流程中有几个好处。

  1. 简化-子流程隐藏模型实现细节,使顶层流程模型更好地表达业务流程。
  2. 一致性—子流程提供了重复模式的单一共享实现,从而提供更好的整体质量。
  3. 代表团—拥有正确专业知识的人可以维护子流程模型,即使它只被一个父流程使用。
  4. 抽象-子流程可以建模自包含的任务,这些任务不需要父流程的知识,因此更容易维护。

因此,子流程活动是BPMN流程建模调色板中必不可少的工具。使用子流程活动来调用行为类似于自定义活动类型的流程,为您提供了一种简单易懂的方式。

发布日期:2016年9月13日——最后修改日期:2020年11月13日