BPMN和DMN基本概念和使用案例

网友投稿 1585 2022-10-24

BPMN和DMN基本概念和使用案例

BPMN和DMN基本概念和使用案例

@[toc]

BPMN(Business Process Model and Notation)

业务流程模型和表示 (BPMN) 是流程建模的全球标准,也是成功实现业务-IT 协调的最重要组成部分之一。越来越多的组织正在使用 BPMN,并且越来越多的大学将 BPMN 作为一门学科来教授。原因如下:

标准

BPMN 不属于某个企业,而是属于某个机构(OMG),该机构已经通过其他世界范围的标准(例如UML)建立起来。许多软件产品都支持该标准;您对任何特定供应商的产品的依赖程度较低。

简单

BPMN 背后的原理相当简单,这就是为什么您可以很快开始使用这种表示法。

表达的力量

如有必要,您可以准确描述流程如何使用 BPMN。然而,这比仅仅粗略地描述这个过程要困难得多。这种精确建模的方式是可能的,但不是强制性的。

在 IT 中的实施

BPMN 主要用于支持流程的技术实施(“流程自动化”)。IT 在公司中越重要,使用 BPMN 就越有用。

BPMN 中的简单流程

最佳实践:命名约定
在命名任务时,我们尽量坚持使用[动词] + [对象]模式的面向对象的设计原则。例如,我们会说“购买杂货”,而不是“先处理购买杂货”。
事件是指已经发生的事情,无论过程(如果它们正在捕获事件)或作为过程的结果(如果它们正在抛出事件)。BPMN 不要求您对流程的开始和结束事件进行建模——你可以将它们排除在外——但 如果 如果您开始为事件建模,则必须为每条路径建模一个结束事件。对于需要开始事件的结束事件也是如此。我们总是使用开始和结束事件创建模型,原因有两个:首先,这样可以确定流程触发器,其次,您可以描述每个路径结束的最终状态。我们只是有时会通过子流程放弃这种做法。稍后再谈。
FAQ:水平画BPMN图是必须的吗?如果我更喜欢垂直绘制它们怎么办?
您总是可以从上到下而不是从左到右绘制图表——BPMN 2.0 标准并没有禁止它。但是,我们不建议这样做:这是非常罕见的,经验证明,如果以与书面文本相同的方式描述(从左到右,至少在西方世界),人们往往会更好地理解流程。

例子

装运流程

在这个例子中,我们只为参与这个过程的人使用了一个池和不同的通道,这自动意味着我们取消了这些人之间的通信:我们只是假设他们以某种方式相互通信。如果我们有一个流程引擎来驱动这个流程,那么该引擎将分配用户任务,因此负责这些人之间的通信。如果我们没有这样的流程引擎,但想明确地对相关人员之间的通信进行建模,我们将不得不使用下一章中描述的协作图。

比萨合作

DMN(Decision Model and Notation决策模型标记)

标准

DMN 不属于某个企业,而是属于某个机构(OMG),该机构已经通过其他世界范围的标准(例如 BPMN 和 UML)建立起来。DMN 标准受到多种软件产品的支持;您对任何特定供应商的产品的依赖程度较低。

直接执行

在 DMN 中,可以使用相同的语言对决策进行建模和执行。业务分析师可以在易于阅读的表格中对导致决策的规则进行建模,这些表格可以由决策引擎(如 Camunda)直接执行。这将业务分析师和开发人员之间产生误解的风险降至最低,甚至允许快速更改生产。

经验

DMN 作为标准还很年轻,但它是由拥有数十年业务规则管理经验的人开发的。尽管如此,该标准并没有规定任何特殊的实现模式,允许比传统业务规则引擎更现代和轻量级的实现。

一个简单的决策表

如果是秋天,您预计最多有 8 位客人,您将准备排骨。 如果是冬天,您预计最多有 8 位客人,您将为他们提供烤牛肉。 如果是春天,您预计最多可容纳 4 位客人,您可以享用非常精致的干式陈年牛排,让他们尽情享受。 如果是春天,您预计有 5 到 8 位客人,您将为他们提供一份普通的牛排。 如果是秋季、冬季或春季,并且您预计超过 8 位客人,您会去炖菜。 如果是夏天,无论如何都会有一份清淡的沙拉,当然还有一份美味的牛排。耶!

正如您可能已经猜到的那样,这只是冰山一角。正如我们在 DMN 参考指南中描述的那样,您可以在 DMN 决策表中表达更多内容。

DMN 和 BPMN 流程

决策需求图

如果您想讨论和分析可能由其他决策组成的复杂决策,决策需求图 (DRD) 可能会有所帮助。这是 DMN 标准中定义的一个非常简单的符号,基本上由

决策:使用逻辑定义从多个输入值中确定输出值的行为。这个决策逻辑是你可以在决策表中表达的。 输入数据:您“输入”到决策逻辑以确定输出值的输入数据。 决策之间的关系:您可以将决策与箭头连接起来,从而指示哪个决策输出将被视为另一个决策的输入。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Virtualview-Android- 动态化高性能的 UI 框架
下一篇:ASP.NET Core是一个跨平台的.NET框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~