模型一致性和自动质量评估 - 应用程序开发 | Mendix 评估指南

Skip navigation

Model Consistency

Mendix 如何确保开发阶段应用程序质量和一致性?

Mendix Studio Pro 通过下述方法和机制来确保使用 Mendix 平台构建的应用程序的内在质量和一致性。

一致性检查

相较于传统编程平台中的编译器,Mendix 通常可执行 10–20 倍的一致性检查。因此,测试主要需要在功能级别上进行。这样做的好处是,通过广泛的质量和一致性检查,非技术领域的专家可以开发强大而复杂的应用程序。

一致性检查分为三类:错误警告弃用。例如,将新属性添加到应用程序后,Mendix 会检查所有安全性配置和访问规则是否已正确配置。否则,这将导致用户指南中关于问题是什么以及如何解决问题的错误。必须先解决错误,才能再次运行该应用程序。这样可以确保该应用在逻辑级别上始终保持一致。

同时,Mendix 使专业开发人员有可能在偏离检查结果的情况下做出权衡。例如,由于用户有关于要触发此查询的频率的上下文,因此可以忽略关于某个查询的性能的警告。

以下是在 Mendix 平台上进行一致性检查的一些示例:

  • Mendix Studio 和 Mendix Studio Pro 可以防止应用程序的输入字段连接到错误键入或不再存在的属性(例如,连接到布尔属性的文本框)。
  • Mendix 会自动对用户隐藏当前无权限访问的页面导航菜单选项。
  • 如果给定角色的用户可以导航到显示由于安全设置该角色无法访问的实体和/或属性的页面,则 Mendix Studio 和 Mendix Studio Pro 会显示错误信息。
  • 在应用程序中定义数据检索时,Mendix 会验证生成的数据库查询在语法和语义上是否正确,并将对数据库成功执行。

测试的含意是,这些一致性检查可以指出或防止在非 Mendix 开发工作中容易漏掉的缺陷。这样减少了要处理的缺陷问题。在某些情况下,也可以主动进行检查(例如,在更改属性名称时,Mendix Studio 和 Mendix Studio Pro 会调整该属性的所有引用)。这再次降低了模型存在缺陷的可能性。

单建模环境

Mendix 中的所有应用程序模型都在一个环境中进行管理。Mendix 会检查整个模型的完整性和一致性。通过这种干事,Mendix 可以确保模型一旦部署就不会存在技术不一致问题。实际上,在解决不一致问题之前,系统不允许部署模型。

阵列识别

Mendix 执行分析功能以检测可能导致生产环境中运行的应用程序出现问题的模式。例如,平台会检查出不完整的决策树或检查在其他地方未使用的流中变量的使用,并在发布模型之前发出警告。

回归分析

使用相同的机制执行回归检查,从而易于分析更改对模型产生的影响。Mendix 使用的回归检查示例包括“在何处使用”分析,该分析突出显示了在数据对象上执行提交的位置,以及对可能损害性能的查询的检测。

Mendix 的内在质量和一致性检查机制是高生产率发展的关键因素。

模型重构

Mendix Studio 和 Mendix Studio Pro 广泛支持模型重构。例如,当用户重构页面或微流变量的名称时,Mendix Studio 和 Mendix Studio Pro 将在所有模型部件中传播重构,从而保持模型的一致性。这种重构会自动且一致地传播到整个模型中。

当需要用户有意识地做出重构决定(例如,向微流签名添加其他输入参数)时,模型一致性检查会提供直接反馈信息,说明在再次部署应用程序之前,需要对模型的哪些部分采取进一步的措施。

Mendix 如何确保 UI 和 API 中数据访问权限得到尊重?

数据访问权限是 Mendix 模型不可或缺的一部分,这些数据访问权限会在整个应用程序中传播。因此,Mendix 用户不必在每个应用程序入口点上编写其他自定义安全性逻辑。

例如,当仅限域模型中特定实体上的管理员角色具有编写权限时,用户界面和服务 API 也会尊重数据安全权限。这意味着,对于没有写访问权限的用户角色,将自动禁用诸如编辑按钮之类的编辑功能。

哪些分析工具可用于提高模型的质量?

除了集成模型分析和一致性检查之外,Mendix Studio Pro 还具有高级查找功能,此功能可用于分析和查找各种模型元素(例如,未使用的文档、需要重构的大型微流以及使用特定集成类型的所有微流的概述)。