BPMN、UML与流程图:如何选择?
BPMN与UML:各自适合建模什么?用一张表做出选择,并了解我们为何采用BPMN 2.0,而不另创一套符号。
BPMN、UML和流程图有什么区别?关键在于您要描述什么。BPMN用于描述业务流程及参与者之间的工作流转;UML用于描述软件的结构和行为;流程图则适合快速、非正式地呈现步骤与决策。三者形式可能相似,但用途各不相同,不能互换。
本文比较了每种符号规范的用途,提供一张表帮助您作出选择,并说明我们为何使用BPMN 2.0建模,而不是自创符号规范。
每种符号规范分别用于建模什么?
BPMN 2.0是业务流程模型与符号规范(Business Process Model and Notation)的缩写,由对象管理组织(OMG)维护,用于描述业务流程,包括参与者、活动、顺序、决策,以及触发或中断工作的事件。它定义了符号及其连接规则,因此可以据此验证模型。BPMN 2.0还定义了用于在工具间交换模型的XML格式。如需了解符号规范的基础知识,请参阅什么是BPMN 2.0。
UML是统一建模语言(Unified Modeling Language)的缩写,同样是OMG标准,用于描述软件系统及其行为。它包含类图、组件图、部署图、顺序图、活动图、状态机图和用例图。其中,活动图与流程建模的重合度最高。
流程图用图形和箭头展示步骤与决策。它没有统一的管理标准,也没有固定规则,因此团队只能依靠各自的惯例:绘制快捷,但不同人可能有不同理解。英文名称也有多种写法,包括flow chart、flow-chart,以及常见的误拼flow charter,但指的都是同一种非正式图表。
BPMN、UML和流程图:如何选择?
先确定您要交付的成果,再选择中间列对应的符号规范。
| 如果您需要建模…… | 使用 | 原因 |
|---|---|---|
| 涉及人员、团队或系统的业务流程 | BPMN 2.0 | 参与者、泳道、消息流和事件都是该符号规范的内置概念,模型还可以验证并以BPMN 2.0 XML格式交换。 |
| 软件结构或行为 | UML | UML提供适用于软件的图表类型,包括类、组件、部署、顺序和状态机。活动图并非流程标准。 |
| 单个过程、研讨会草图或单项决策 | 流程图 | 无需安装工具,也没有规则要遵守,因此也不适合作为长期维护的模型。 |
| 需要验证或在工具间交换的流程 | BPMN 2.0 | 该符号规范提供了模型验证规则和文件交换格式。 |
| 决策树、计算或数据流 | 两者都不适用 | 请选择专为该成果设计的符号规范;强行将其放进流程图,会让熟悉的方框掩盖实际逻辑。 |
关键不在于哪种符号规范看起来更熟悉,而在于流程图需要传达什么,以及绘制完成后谁要使用它。
如何与团队一起推进?先用一句话明确要交付的成果,再避免按工具来选择:供应商或旧许可证偏好什么,并不能说明哪种符号规范更合适。如果两种规范都适用,就选择更多读者无需帮助也能理解的那一种,并记录您在此基础上采用的约定,例如命名、布局和细节程度,避免下一张模型另起一套规则。一个简单的检验方法是,把流程图交给未参加研讨会的人,问他们接下来会发生什么。如果他们答不上来,问题通常不在符号规范。
为什么BPMN和UML看起来相似?
UML活动图和BPMN流程图都可能使用圆角矩形表示活动、菱形表示决策、横线表示并行路径。乍看之下,两者可能非常相似。
图形背后的含义并不相同。UML活动图描述软件或系统环境中的行为。BPMN流程图描述参与者执行的工作,参与者可以是人员、部门和系统。BPMN有专门表示参与者、泳道、消息流和事件的元素,而UML活动图没有以同样方式提供这些业务流程概念。
流程智能工具往往使用自有符号规范。我们决定采用BPMN 2.0,因为它是唯一真正的标准。它完美吗?并不完美。但它已成为业界通用标准。模型能够在绘制工具之外继续使用,比图表更美观却无人能读更有价值。
可以混用BPMN、UML和流程图吗?
可以,但每张图都要注明使用的符号规范:
- **用BPMN记录业务流程,用UML描述支持该流程的软件。**明确标注两者的关联,例如使用相同名称或标识符。
- **即使BPMN流程包含软件设计,也应使用UML描述软件。**两种模型回答的是不同问题。
问题不在于一个组织使用多种符号规范,我们自己也这样做。问题在于不作说明就在同一张图中混用:如果读者无法判断某个图形表示活动、软件元素还是非正式步骤,就无法信任这张图。
什么时候流程图更合适?
BPMN与流程图的比较,是同一个问题在更小范围内的体现,答案通常与维护有关。简短过程、研讨会草图或一次性说明,使用流程图更合适:步骤不多,只涉及一个决策,也没有团队暂时不需要的复杂结构。
当流程图需要便于一致解读、按符号规则检查、在下个季度再次审核或在团队间共享时,就应选择BPMN。如果您还不确定,可以先画草图,等流程需要正式建模时再用BPMN规范化。如需了解更多图表类型,请参阅什么是流程映射;如果您正准备弃用旧的绘图工具,请阅读Visio的BPMN替代工具。
团队已有的流程图该如何处理?把它们当作输入,而不是最终模型。研讨会草图通常是快速确定范围的好方法。流程变得重要后,再花一两个小时将其重绘为BPMN即可。因此,流程图可以作为初稿,而不是竞争方案。我们要避免的是用两种符号规范重复维护同一流程:这样一来,两个版本都不具权威性,会议讨论的重点也会变成哪个版本才是最新的。
如何让BPMN模型保持可移植性?
选择符合标准且支持文件导出的工具。ProcessMind可在浏览器中建模BPMN 2.0,并导入和导出BPMN文件,让流程图不受创建它的产品限制。您还可以将模型与挖掘出的流程放在一起,对比预期流程与系统记录的实际流程。
了解ProcessMind建模工作空间的运作方式,或查看支持的BPMN元素。
Where to Go From Here
You have picked the notation that fits the artifact, and the next question is whether the tool keeps it standard, validatable and exportable.