BPMN和UML活动图对比

  由于UML活动图与BPMN BPD具有相同的基础,因此问题自然而然地出现了,“哪个图表'更好'”?事实上,每个方法都支持和反对 - 因此值得探讨。

UML(管理活动图的标准)所吹捧的主要优点之一是通过在整个生命周期中提供单一标准,避免了翻译错误;通过这种推理,将业务流程建模和自动化软件流程的逻辑建模用于活动图是有意义的。另一方面,BPMN标准通常被视为用于建模业务流程的特定目的的更自然的候选者。事实上,普遍接受的最佳实践是使用BPMN(除非有令人信服的理由使用活动图 - 例如在整个项目中使用UML工具)并将UML用于其他图 - 主要是类图。

让我们考虑支持和反对每个选项的论据,试图找出真相。

#1:活动图是技术性的,而BPMN BPD是业务性的

  • 因为UML标准来自开发世界,所以它的图表被认为是面向代码的。但这更像是一个感知问题而不是事实问题。实际上,UML是一种支持实际和技术建模的全谱标准,虽然确实存在技术导向的活动图的特征,但事实是,当与业务利益相关者进行通信时,应该只使用其一小部分特征 - 并且该子集与通常理解的流程图符号密切对应。

2:作为一个整体,BPMN图比业务图更容易让业务利益相关者理解

  • 为了克服这些修辞,让我们比较一下对于BA最有用的建模元素。图2和图3显示了常用的BPMN符号及其活动图对应。快速浏览表明很难区分两者。当你并排地看着这些元素时,你真的不得不怀疑所有的大惊小怪,事实上,有一种情况在活动图中以更清晰的方式(从利益相关者的角度)表达,而不是BPMN BPD:并行活动。图4比较了用于表示可能并行发生的两个活动的BPD和活动图符号(意味着它们可以按任何顺序发生)。我想大多数人会同意BPD符号 - 带有封闭'+'符号的钻石,

 

图2 - BPD流对象与UML活动图类似符号

 

图3 - BPD连接对象与UML等效符号

 

图4 - BPD并行fork与UML等价符号

 

#3:BPMN包含特殊的建模元素,使其更适合业务目的而不是活动图

  • 支持BPMN的论点有一些优点,活动图未能很好地处理的一种情况是Inclusive-OR,这是用于对公共表达式'和/或'进行建模的逻辑构造 - 如:'A'和/或'B'和/或'C' - 取决于各种条件。图5说明了两种标准中使用的方法。BPMN BPD明显优于活动图所需的混乱符号。BPMN具有专用符号的另一种情况涉及事件的处理。图6说明了两种标准之间的差异。BPMN依赖于循环事件符号的放置来向读者传达对事件的响应时间:活动上的事件符号表示事件中断它,而活动后的事件表示活动首先完成,然后记录并响应事件。活动图对此有一个简单的替代符号 - 但对于读者来说,传达的内容可能并不那么明显。

 

图5 - BPMN包含网关与UML等效符号

 

图6 - BPD事件与UML等效符号

 

#4:BPMN比活动图更好地建模B2B交互

  • 在“现实世界”中,企业以有限的方式与其他企业进行交互,而单个企业中的组织单位则具有更复杂的交互。在BPMN中,这是使用池和泳道建模的。业务表示为池,业务中的组织单位表示为泳道。池之间的交互仅限于消息的传递 - 有效地镜像企业将请求(消息)传递给彼此的方式,同时不知道彼此的内部进程。图7说明了这种方法。在活动图中没有专门用于这个概念的形式主义,尽管通过规定企业通过发送和接收信号进行通信来相当容易地建模。尽管如此,

图7 - 使用池的BPMN B2B模型

结论
对于业务流程建模而言,所有参与者都在一个单一的业务中,这两种标准都没有令人信服的理由。虽然每个标准都有一些小的优点,但它们往往相互抵消。(例如,当BPMN更好地处理包容性或情况时,活动图更清楚地模拟并行活动。)但是,BPMN确实有更清晰的方法来建模B2B交互。

流程专题