预订演示
前页 后页

决策表验证

决策决策表是用于表达决策逻辑的最常见和最有用A DMN 表达式之一。然而,对决策表建模也可能很复杂,特别是如果多个输入子句子被组合用于许多决策表规则。如本主题所述, Enterprise Architect提供了验证决策表的功能。

访问

DMN 表达式窗口

仿真>决策分析> DMN > DMN 表达式:验证按钮

DMN仿真窗口

仿真>决策分析>DMN>打开DMN仿真>配置:验证按钮

条目超出范围检测

为决策表的输入子句和输出子句定义“允许值”是一种很好的做法。 “允许值”列表用于对表规则的输入和输出条目值进行范围检查。

在这个例子中:

  • 'Age' 输入子句定义了 [20..120] 的范围;但是,规则1的输入条目指定了 [18..21] 的范围;这超出了允许值的范围,因此规则1被报告为无效
  • 'Marital状态' 子句将其允许值定义为' S , M '的枚举;规则 12 指定值“ D ”,因此该规则也被报告为无效
这些问题可以通过更新“允许值”或修改无效规则的输入条目来纠正,具体取决于实际的业务规则。

完整性检测 - 报告规则中的空白

决策表规则的差距意味着,给定输入值的组合,没有规则是匹配的。这表明可能缺少某些逻辑或规则(除非定义了默认输出)。

当决策表包含许多指定数量范围的规则时,很难直观地发现差距,并且编写和运行详尽的测试用例非常耗时。

例如:

验证报告规则中的差距。仔细检查发现规则 9 中有错误。输入条目( 580..600] 应该是[ 580..600]。

Unique命中策略的规则重叠检测

当规则重叠时,对于给定的输入值组合,匹配多个规则。如果决策决策表将其命中策略指定为“唯一”,则属于违规行为。

当决策表包含许多指定数量范围的规则时,很难直观地发现差距,并且编写和运行详尽的测试用例非常耗时。

例如:

验证报告规则中有重叠,涉及规则 4 和 5。仔细检查发现重叠存在于第三个输入“信用评分”中,其中“<610”与“[600..625]”重叠。您可以通过将规则 4 更改为“<600”或将规则 5 更改为“[610..625]”来纠正此问题,以反映实际的业务规则。

了解更多