设计模型驱动应用

已完成

作为应用制作者,在开始构建 Power Apps 解决方案之前,您需要规划应用需要具备的功能。 首先要确定您希望通过该应用实现什么目标,换句话说,您的业务需求或用户需求是什么? 其次,模型驱动应用程序始于数据,因此您需要定义和开发数据模型。 牢记您的业务需求,将业务逻辑添加到设计中,最后确定如何将业务逻辑的结果描绘为输出。

模型应用设计要考虑的因素如下:

  • 业务要求
  • 数据模型
  • 业务逻辑
  • 输出

通过完成简单的设计流程,您可以解决任何次要问题,避免这些问题在应用处于生产状态时演化为更严重的问题。

使用应用程序设计器便可创建模型驱动应用。 您需要选择想在应用中显示的表、仪表板、业务流程流、窗体及其他组件,然后 Power Apps 便会为您创建应用。 设计模型驱动应用时,重点是了解您的用户需要什么,而非应用的外观。

业务要求

流程的第一步是了解业务要求。 与应用利益干系人一同考虑安全性、辅助功能、数据和设计需求。

如上一个单元所述,Dataverse 拥有强大的安全模型。 考虑对应用数据的保护会对应用产生什么影响,以及哪种安全模型最能满足您的业务需求。 很多选项可供使用,包括层次结构安全性、行级别安全性等。 您需要确认数据安全且能满足需求,这样应用就能遵从该安全性。

此外,您希望确定任何政府法规或身份验证/授权要求(如果适用)。 您可能需要实现多重身份验证,但需要考虑此类要求会对连接到应用程序的用户产生什么影响。 您不必在这里找到所有问题的答案,只需弄清楚所有要求。

最后,您的应用是否需要在用户与 Internet 断开连接时也能使用? 这种可用性称为脱机模式,在使用 iOS 或 Android 客户端时由 Dataverse 和模型驱动应用提供支持。 在设计过程中还需要考虑更多因素。

数据模型

进行数据建模时,需要确认清楚以下几个重要问题:

  • 您的解决方案将存储和/或收集哪种类型的数据?
  • 这些数据将如何与您正在处理的其他数据相关联?

数据模型需要考虑以下三个最重要的元素:关系。 明确定义要创建的表、每个表中的列以及表之间的关系之后,您就可以开发和调整窗体、视图和可视化效果。 数据是模型驱动应用的基础。

请记住,模型驱动应用使用元数据驱动的体系结构。 模型驱动应用很大程度上基于数据建模方式,您无需编写自定义代码来更改应用设计。 更进一步来讲,元数据其实就是“有关数据的数据”,定义系统中存储的结构。

Power Apps 允许您在 Power Apps 门户查看表,进而查看/修改应用元数据。

您还可以通过使应用处于播放模式来查看/修改应用的元数据。

在上述示例中,“Pet”表需要收集多项元数据,包括但不限于:

  • 宠物名称
  • 预约日期
  • 种类
  • 品种

种类是 Dataverse 表中的一个选项,连接(或关联)到另一个称为种类的 Dataverse 表。 Pet 表可以访问种类表中的元数据,因为两个表之间存在某种关系,因此,不必在 Pet 表中额外创建用于保存种类表元数据的行。

在考虑数据模型时,还要考虑列类型。 向 Dataverse 中的表添加列时,您所选的列类型将决定用户在您的模型驱动应用中输入和查看该列类型的方式。 选项集显示为下拉列表,货币显示为货币符号,小数则不显示。 表列设置中的细微更改可能会对您的应用的用户体验产生深远的影响。

注意

如果需要将列类型更改为其他列类型(即将文本列更改为选择列),您需要删除该列并用正确的列类型重新创建。 但是,这会导致您丢失与该列相关联的所有数据。

用户界面 (UI) 和用户体验 (UX)

在构建模型驱动应用时,大多数 UI 和 UX 由 Power Apps 确定。 您定义要从中构建应用的数据模型,然后 Power Apps 会确定应用中会使用的控件。 您可以通过确定包含的表资产来影响这些控件。 在应用程序设计器中定义应用要使用的窗体、视图、图表和仪表板。 此外,还可以控制导航选项。 计划应用时,确定所需组件,然后从表创建这些组件,再构建应用。

以下是一个用于数据输入的简单模型驱动窗体。

业务逻辑

当您在应用中加入业务逻辑时,有两个主要选项可供选择。 可以在 Dataverse 表中设置业务规则,也可以构建业务流程流

借助业务规则,您可以在数据层中定义行为。 业务规则非常适合更改需要列的时间、设置默认值,甚至根据条件显示或隐藏列。 例如,用于跟踪支出的表。 您可以创建旅行类型列,然后建立一个业务规则,说明如果用户选择汽车,则里程列为必需列,否则为可选列。 业务规则使您能够确保所有场景中的数据一致性。

业务流程流用于指导用户使用您的应用。 它们内置于 Power Automate,但是仅适用于模型驱动应用。 这些工作流可以根据数据的状态提供可视的后续步骤,并为您希望在用户使用应用时执行的其他操作提供便利。 借助业务流程流,您可以将自动化引入您的应用中,并使其成为一种引导式体验,而不仅仅是一个输入数据的地方。

输出

应用的一个常见输出需求是数据可视化。 针对本要求,您可以使用自定义筛选器和视觉对象图形来实现仪表板,以便在应用中将所有这些数据联系起来。 当您创建仪表板时,请确保用户使用方便,防止用户面对大量数据无从下手。 请提供数据的概要快照,并允许根据需要使用筛选器来深入研究数据。

行业加速器

Microsoft 正与各个行业的代表紧密合作,让 Dataverse 数据模型更加贴合他们的需求。 根据您所在的行业,例如医疗健康、金融业、银行业、教育、非营利组织、汽车业或媒体等,Microsoft 已发布多个加速器或基础组件,以帮助您快速设置解决方案。 有关详细信息,请参阅本模块汇总单元中的链接。