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