业务过程建模

介绍

比起业务分析与建模来,UML在过去与软件工程和系统设计的联系更加紧密。并且,UML2.X标准提供了丰富的行为模型,这对于过程、活动、及对每一个业务都重要的人与信息等的建模非常有用。

除标准的UML规范外,还有两个备受关注的UML扩展,它们进一步强化了对业务过程和相关结构的建模。第一个是业务过程建模标注,它已经广受欢迎,并迅速成为业务过程建模与设计的新标准。第二个是 Eriksson-Penker Profile,虽然不那么流行,但在可视化、业务过程间通信、以及企业(组织)内部的信息流方面,仍然是独一无二的。

本文将对这两种扩展提供深入介绍,阐述如何在Enterprise Architect 中使用它们以及他们所用的通用模型结构。

业务过程建模标注(BPMN)

BPMN 定义了一种业务过程图(BPD),该图是基于一种专门绘制流程图技术,用于业务过程的图形化建模。无论是创建业务过程草图的业务分析师,还是负责实现这个过程的技术开发人员,或者管理、监督业务过程的相关人员,所有的业务人员都容易理解这种标柱。

一个BPMN 模型是由一组简单图构成,每一个图又包含一组图形元素。

流程元素

  1. 活动(Activity):一个活动是业务过程中执行的一个作业,用圆角矩形表示。
  2. 事件(Event):一个事件是在业务过程的流程中发生的,并影响业务过程中活动的执行顺序与执行时间的事情。事件用带有不同边界的小圆表示,以区别初始事件(细实线)、中间事件(双实线)和终止事件(粗实线)。在图形内部显示图标以便于区分触发器和事件结果。
  3. 关口(Gateway):关口用来控制顺序流如何在过程内进行合并和分岔。关口可用来表示判断点,可以表示一个或多个路径在此处不能通过。关口也可以表示一条路径在此分岔。
  1. 顺序流:顺序流用来表示活动在业务过程中的执行顺序。顺序流用有实箭头的线表示。
  2. 消息流:一个消息流用来表示两个实体之间的消息流向。实体用池来表示,消息用虚线在源端连接浅颜色的圆并在目标端连接箭头。
  3. 关联:关联是用流对象将信息与制品联系起来。关联采用虚线表示并在目标端有或者没有箭头,根据需要而定。

泳道 (分割)

  1. 泳池:表示一个业务过程中的参与者。一个参与者可能是业务实体或者角色。泳池表示了对业务过程的一种划分。
  2. 泳道:是泳池的再划分,用于组织和分类泳池内的活动。

过程要素

  1. 数据对象:一个数据对象对一个业务过程没有直接的影响,但提供信息给相关的过程。数据对象用一个上角折叠的矩形来表示。
  2. 组:组提供了对过程内的元素进行分组的非正式手段,用虚线的矩形表示。
  3. 注解:注解提供一种机制使得BPMN的模型建立者为BPMN模型的用户提供附加信息。它是用一个开口的矩形表示,注解文字写入其中。

BPMN 示例

例 1:

Example 1

上面的图展示了BPMN的几个主要功能。特别是将一任务过程进行层次分解成较小的任务。以及能表示循环结构和外部事件干扰正常过程流程。

"上行活动"和"下行活动"是连接触发的中间事件,换句话说,是页面间承上启下的连接器。

"对每个供应商重复执行" 是一循环活动,它对每一个供应商重复执行所包含的三个活动,或者直到时间限制已到。固定在活动下边沿的终止事件是一时间事件触发器。

例 2:

Example 2

上面的图表示一个业务过程由一个事件开启,在本例中,一个消息触发器产生一个事件,该事件通知业务过程活动组处于活动状态。该图也显示一个由时间事件控制的循环,并显示一个决策关口(在本例中是“异或” 决策关口)控制什么时候循环该结束。

例 3:

Example 3

该图例示使用泳池来表达过程间的交互以及使用消息流连接器来表示消息在泳池间进行传递的方法

Eriksson-Penker 业务建模 Profile

本节介绍业务过程模型所使用的术语与图标。并简要介绍一些基本UML建模语言概念以及如何在EA的业务过程建模中如何使用它们。

一个业务过程:

  1. 有一个目标
  2. 有指定的输入
  3. 有指定的输出
  4. 使用资源
  5. 有按某种顺序进行的一组活动
  6. 可能影响多个组织单元 ,造成横向组织影响
  7. 为客户创造某种价值,客户可能是内部的,也可能是外部的。

Eriksson-Penker Business Modeling Profile

过程模型

一个业务过程是一个活动的集合,用于为特定的客户或市场产生指定的输出。与产品所强调的“过程是什么”不同,业务过程强调作业在组织内部是如何进行的。指定在不同时间和地点的作业活动顺序,带有一个开始和一个结束,并清楚地定义输入和输出:一个动作结构。

始于对象信息供应链。供应链是指连接到过程的信息或对象在处理阶段没有被使用完。例如,订单模板可能重复使用,并提供特定样式的新订单。作为这个活动的一部分,这个模板不会更改和被消耗光。

  • 始于对象资源的供应链: 一个输入供应链是指所连接的对象或资源将在处理过程中被消耗。例如,当消费者的订单在被处理后,它们将标记为完成并签字,并且每个资源仅使用一次。
  • 终于对象目标的目标链: 一个目标链是指连接到业务过程的对象描述业务过程的目标。目标是执行活动的业务宗旨。
  • 对象流连接对象输出
  • 始于事件的对象流:一个对象流连接是指在一个业务过程一些对象被传递。它强调对在实体之间或过程之间所传递信息的控制。

 

目标

一个业务过程有一些定义完备的目标。这也是组织制定业务过程的原因所在。并且这些目标的制定代表组织的整体利益和满足组织的业务需要。

业务过程始于过程的目标链:一个目标链是指连接到业务过程的对象用于描述该过程的目标。目标是执行活动的宗旨。

信息

业务过程使用信息执行和完成它们的活动。信息不象资源,在过程中是不可消费的,它被用来做过程转换。信息或许来自外部,或许来自客户,或来自内部组织,甚至是其它过程所产生。

连接到业务过程的信息项:一个供应链是指连接到过程的信息和对象在处理阶段不会被使用完。例如,订单模板可能一用再用,一提供某种特定类型的新订单。作为该活动的一部分,模板是不会改变或耗尽的。

输出

典型地,一个业务过程将产生一个或多个多业务有价值的输出,输出可能供内部使用,也可能是为了满足外部需求。输出可能是物理对象(如一份报告或者发票),可是一种从原始资源到安排的转换,也可能是一个全体的业务处理结果,如完成处理一份订单请求。

一个业务过程的输出可能是下一个业务过程的输入,或者作为请求项或触发项来触发新活动。

资源

资源是一个业务过程的输入,并且不像信息,在业务过程处理中要被消耗。例如:火车每天运行服务和实况记录,服务资源将随着处理记录火车运行时刻的不断进行而被用完。

连接到业务过程的资源:一个输入连接是指所连接的对象或资源在处理过程中被消耗。例如:当消费者的订单在被处理后,它们将标记为完成并签字,并且每个资源(订单)仅使用一次。

 

附加资源

Enterprise Architect 资源

Enterprise Architect评定指南:
http://www.sparxsystems.cn/downloads/whitepapers/enterprise_architect_reviewer_guide_cn.pdf

Enterprise Architect 视频观看:
http://www.sparxsystems.com/resources/demos/eaoverview/index.html