在业务流程建模领域,可使用BPMN规范化表达业务流程,但复杂的业务流程,可能会有多个决策来决定业务流程的执行路径,并且决策之间可能相互关联,而每个决策都要基于各自的决策规则来输出结果,此时仅通过BPMN来表达业务流程,业务流程就会显得冗长、复杂,而且易读性差,难以维护。DMN(Decision Model and Notation)是为了解决这种问题而出现的,DMN提供了一种机制来封装决策规则,可以通过DMN将决策规则与业务流程分开,降低业务流程的复杂性,使得业务流程更加清晰和易于理解,同时,也有助于提高决策规则的灵活性和可重用性。DMN(Decision Model and Notation)由Object Management Group (OMG)制订,是一种用于精确规范业务决策和业务规则的建模语言和表示法。DMN的目的是提供决策建模所需的构图,以使决策制定可以很容易通过图表进行描述,通过人工方式对决策模型作精确定义,并且实现决策的自动化分析。现有的与决策相关的建模标准,可通过两种不同的视角来实现决策建模。BPMN标准可以通过定义发生决策的流程活动,来描述BPMN流程内部的决策制定情况。DMN提供了第三种视角——决策需求图,在BPMN标准和决策逻辑标准之间创建了一个标准化桥梁。在需要进行决策的BPMN流程中定义与决策相关的活动,可以通过决策需求图定义在这些活动中做出的决策,以及决策之间的相互关系,通过决策逻辑详细地定义决策内容。决策需求图和决策逻辑可以提供一个完整的决策模型,通过详细描述BPMN流程活动中执行的决策来补充BPMN流程模型。这三个方面的建模关系如下图所示。
图:BPMN、决策需求图和决策逻辑的关系 下面结合一个对贷款申请人进行放贷风险评级的例子为大家介绍,如何应用DMN。
贷款申请人向放贷机构申请贷款,首先贷款申请人向放贷机构提供个人信息,放贷机构基于贷款申请人提供的个人信息,进行放贷风险评分操作,得出放贷风险评分,基于所得到的放贷风险评分,放贷机构对贷款申请人进行放贷风险评级操作,得出放贷风险级别,前述内容的BPMN流程如下图所示。
2.2. 贷款申请人提供信息 按流程步骤,首先贷款申请人提供信息给放贷机构,对贷款申请人提供的个人信息,可以使用DMN标准中的“输入数据”符号进行表达。在结构化表达方面,可以使用DMN标准中的盒装上下文表达式对贷款申请人信息进行结构化表达。

图:贷款申请人信息盒装上下文
2.3. 放贷风险评分 按流程步骤,基于贷款申请人信息,放贷机构将对贷款申请人进行放贷风险评分,基于此,可以整理出“放贷风险评分决策需求图”。在放贷风险评分决策需求图中,放贷机构所执行的“放贷风险评分”操作,可使用DMN标准中的“决策”符号进行表达。图:“决策”符号 在执行“放贷风险评分”操作时,贷款申请人信息是执行放贷风险评分的输入数据,所以在放贷风险评分决策需求图中纳入了“贷款申请人信息”,作为“放贷风险评分”决策的输入数据。可将“放贷风险评级流程”与“放贷风险评分决策需求图”结合,如下图所示。图:“放贷风险评级流程”与“放贷风险评分决策需求图” 放贷风险评分将基于放贷风险评分规则进行评分,而放贷风险评分规则可以通过DMN标准中的决策表进行结构化表达,贷款申请人信息可以使用DMN标准中的盒装上下文表达式进行结构化表达。
图:放贷风险评分的相关结构化表达 放贷风险评分决策表,如下图所示。(注:1.‘-’用于表示任何输入值,即该输入值与所在行规则无关。2.‘C+’表示以任意顺序返回所有命中的输出结果,且对所有输出结果进行求和,求和结果作为决策表的输出结果。)2.4. 放贷风险评级 按流程步骤,基于贷款申请人信息和放贷机构对贷款申请人的放贷风险评分,放贷机构将对贷款申请人进行放贷风险评级,基于此,可以整理出“放贷风险评级决策需求图”。图:放贷风险评级决策需求图 在放贷风险评级决策需求图中,放贷机构所执行的“放贷风险评级”操作,可以使用DMN标准中“决策”符号进行表达。

图:“决策”符号 在执行“放贷风险评级”操作时,贷款申请人信息是执行放贷风险评级的输入数据,所以在放贷风险评级决策需求图中纳入了“贷款申请人信息”,作为“放贷风险评级”决策的输入数据。同时,执行“放贷风险评级”操作,需要依据放贷机构对贷款申请人所做的放贷风险评分结果,所以在放贷风险评级决策需求图中纳入了“放贷风险评分”决策,作为“放贷风险评级”决策的输入。可将“放贷风险评级流程”与“放贷风险评级决策需求图”结合,如下图所示。图:“放贷风险评级流程”与“放贷风险评级决策需求图” 放贷风险评级将基于放贷风险评级规则进行评级,而放贷风险评级规则可以通过DMN标准中的决策表进行结构化表达。放贷风险评级决策表,如下图所示。(注:1.‘U’用于表示决策表只能匹配一条规则作为输出结果。)图:放贷风险评级决策表 将“放贷风险评分决策需求图”和“放贷风险评级决策需求图”汇总,可建立“总决策需求图”。图:总决策需求图 DMN提供了一种友好的符号来表达决策,DMN模型既易读,又可作为决策自动化引擎的输入源,本文通过一个对贷款申请人进行放贷风险评级的例子为大家简要介绍了DMN的应用方式,所涉及内容仅是DMN中的一部分,希望能够对读者提供一些输入。 |