BPMN 图中的状态

问题描述 投票:0回答:3

如何在 BPMN 图中表示状态

我有一个描述实体行为的 BPMN 图。有一些动作和动作之间的箭头。我想表达的是,在两个给定的动作之间,实体处于特定的状态。

BPMN 可以吗?

bpmn
3个回答
6
投票

在 BPMN 中,数据建模 用于实现这一目标。在流程建模中,必须对流程执行期间操作和使用的项目(对象)进行建模。在 BPMN 中执行此操作的最常见元素是Data Object,通常如下所示

enter image description here

根据 BPMN 2.0 规范:

流程中数据建模的主要构造是 DataObject 元素。 DataObject 具有明确定义的生命周期,以及由此产生的访问限制。
数据对象类是一个项目感知元素。数据对象元素必须包含在进程或子进程中 流程要素。

此外,如果我们坚持你的问题,数据对象有一个特殊的属性,称为DataState。根据规格:

Data Object 元素可以选择引用 DataState 元素,它是包含在 数据对象。这些状态的定义,例如, 可能的值和任何特定语义均超出本国际标准的范围。

如您所见,这些状态没有得到充分记录,并且并非所有供应商都实施了。例如,Camunda支持它。


0
投票

是的,这是可能的。您可以以每个活动代表工作流程中的一个状态的方式使用 BPMN。通常,在此图表模式中,您使用事件来描述从一种状态到新状态的转换。这也称为“基于事件的工作流程”。因此,事件是触发器,活动代表流程实例的状态。 Imixs-Workflow 是一个遵循这种方法的 BPMN 工作流引擎,它是 Activiti 或 Camunda 等面向任务的工作流引擎的替代方案。 另请参阅模型示例此处

enter image description here


-1
投票

另一种常用的方法是使用描述状态变化的动词-名词组合来命名活动。如果“发货订单”已完成(且没有环回网关),则可以推断订单状态为“已发货”。

我认为 BPMN 流程主要是面向活动的。活动是直接表达的,而对象状态通常是间接表达的。 BPMN 流程图不是状态图。 (这种差异是我和业务分析师等之间多次讨论的主题,用于为经典的以数据为中心的应用程序进行状态建模。)

© www.soinside.com 2019 - 2024. All rights reserved.