前页 | 后页 |
示例-贷款分期付款计算
业务知识模型(BKM)的分期付款计算以盒装上下文形式实现。
- BKM定义了四个参数:产品类型,费率,期限和金额
- Boxed Context定义了两个变量表达式对条目。这些变量用作“局部变量”,可以在以后的表达式中使用
- 返回值:表达式可以使用“局部变量”的值
- Boxed Context中的任何表达式都可以使用内置函数,这些函数在可自定义的Template — DMN Library中定义;在此示例中使用了函数PMT(...)和十进制(...)
指定类型作为上下文输入变量
通常,表达式和变量不必指定类型,该类型可以从提供的值中推断出来。 JavaScript通常支持此功能,JavaScript用于Enterprise Architect的DMN仿真。
但是,如果要从DMN模型生成代码以编译语言(例如Java,C ++或C#),则必须为每个上下文输入变量指定类型。否则,如果您验证模型,则会看到如下警告:
右键单击此模型中的上下文条目变量(月费,月还款)。
选择“显示变量类型”选项。
现在输入变量类型,将其附加到变量名称后,并用冒号分隔,如下所示。
然后单击工具栏上的保存按钮以保存表达式,然后单击按钮再次验证模型。
表达式编辑器和智能感知支持
根据FEEL语言规范,参数和上下文条目的变量名可以包含空格。此功能使表达式易于阅读。为了帮助您以更少的输入和更少的错误来编辑表达式, Enterprise Architect提供了智能感知支持来编辑表达式:
要编辑表达式,请右键单击该表达式(在右侧字段中),然后选择“编辑表达式”菜单选项。显示“表达式”对话框。单击所需的行,然后按Ctrl + Space以显示Intelli-sense菜单:
- 将包括所有早于当前变量的上下文条目变量(排除早于当前变量的上下文条目变量)
- 对于BKM,将包含所有参数
- 对于一项决定,将包括所有必需的决定
在生成的代码中,变量名内的空格将由下划线代替。
业务知识模型的仿真
选择“模拟的输入参数值”选项卡,并填写每个字段。
单击保存按钮,然后单击工具栏上的模拟按钮;测试结果将显示在Boxed Context表达式中。
- 将显示运行时参数值;例如,“费率= 0.00375”
- 将显示“上下文条目”变量的运行时值;例如,“每月还款= 1520.06”
- BKM的结果将由最后一个条目评估,并在声明行上显示值;例如,“ return = 1540.06”