【发布时间】:2016-06-18 13:23:20
【问题描述】:
如何在BPMN图中表示状态?
我有一个描述实体行为的 BPMN 图。动作之间有一些动作和箭头。我想表达在两个给定动作之间,实体处于特定状态。
在 BPMN 中可以吗?
【问题讨论】:
标签: bpmn
如何在BPMN图中表示状态?
我有一个描述实体行为的 BPMN 图。动作之间有一些动作和箭头。我想表达在两个给定动作之间,实体处于特定状态。
在 BPMN 中可以吗?
【问题讨论】:
标签: bpmn
在 BPMN 中,数据建模就是用于这样的目的。在流程建模中,必须对流程执行期间操作和使用的项目(对象)进行建模。在 BPMN 中执行此操作的最常见元素是 数据对象,通常如下图所示
根据 BPMN 2.0 规范:
在流程流中对数据进行建模的主要结构是 DataObject 元素。 DataObject 具有明确定义的生命周期,并具有由此产生的访问约束。
数据对象类是一个项目感知元素。数据对象元素必须包含在 Process 或 Sub- 流程元素。
此外,如果我们坚持你的问题,数据对象有一个特殊的属性,称为DataState。根据规范:
Data Object 元素可以选择引用 DataState 元素,它是包含在 数据对象。这些状态的定义,例如, 可能的值和任何特定的语义都超出了本国际标准的范围。
如您所见,这些状态并没有得到很好的记录,并且并非所有供应商都实施了。例如,Camunda 支持。
【讨论】:
另一种常用的方法是使用描述状态变化的动词-名词组合来命名活动。如果“发货订单”已经完成(并且没有带环回的网关),则可以推断订单状态为“发货”。
我认为 BPMN 流程主要是面向活动的。活动是直接表达的,而对象状态通常是间接表达的。 BPMN 流程图不是状态图。 (差异一直是我和业务分析师等用于为经典以数据为中心的应用程序建模状态的几次讨论的主题。)
【讨论】: