设计模型驱动应用

已完成

在开始生成 Power Apps 解决方案之前,您需要规划应用需要具备的功能。 首先,要确定您希望通过该应用实现什么目的? 换句话说,您的业务要求或用户需求是什么? 其次,模型驱动应用始于数据,因此您需要开发数据模型。 第三,牢记业务需求,将业务逻辑添加到设计中。 最后,您将确定输出的显示方式。

模型驱动应用设计要考虑的重要因素:

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

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

使用应用程序设计器创建模型驱动应用。 您需要选择想在应用中提供的表、仪表板、业务流程流、窗体及其他组件,然后 Power Apps 便会为您创建应用。 设计模型驱动应用时,您需要花时间了解您的用户需要什么以及您的数据如何交互,而非应用应有的外观。

业务要求

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

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

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

最后,您的应用是否需要在用户与 Internet 断开连接时也能使用? 这种可用性称为脱机模式,在使用 iOS 或 Android 客户端时由 Dataverse 和模型驱动应用提供支持。 脱机模式需要考虑其他设计注意事项。

数据模型

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

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

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

请记住,模型驱动应用使用元数据驱动的体系结构。 应用的设计基于数据建模方式,无需编写自定义代码来更改应用设计。 若要对此进行扩展,元数据是指“数据的数据”,并定义了存储在系统中的数据结构。

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

您还可以通过在播放模式下打开应用来查看/修改应用元数据。

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

  • Pet Name
  • Appointment date
  • Species
  • Breed

Species 是 Dataverse 表中的一个查找类型列,连接(或关联)到另一个称为 Species 的 Dataverse 表。 由于 之间的关系,Pet 表可以访问的 Species 表中有元数据。 因为我们在表之间创建了此关系,因此没有理由在 Pet 表中创建额外的行来保留 Species 表中的相同信息。

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

注意

如果需要将列类型更改为其他列类型(即将文本列更改为选项列),您将需要删除该列并使用正确的列类型重新创建。 这样做将导致您丢失该列中的所有数据。

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

在生成模型驱动应用时,Power Apps 为您确定大多数 UI 和 UX。 您定义要从中生成应用的数据模型,然后 Power Apps 会确定应用中要使用的控件。 您可以通过更改包含的表资产来修改这些控件。 在应用程序设计器中,您可以更新应用的窗体、视图、图表和仪表板;您还可以控制导航选项。 计划应用时,确定所需组件。 这样,您就可以在创建表时创建它们,然后再生成应用。

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

业务逻辑

您可以通过两种不同的方式在应用中整合业务逻辑:在 Dataverse 表上设置业务规则或生成业务流程流

业务规则用于设置用户在与数据交互时的要求。 通过业务规则,您可以将列设为必填(这样用户就无法在未在字段中输入数据的情况下保存记录),设置默认值(例如除非用户更改,否则始终显示“否”的“是/否”字段),甚至根据其他条件显示或隐藏列。 例如,在用于跟踪支出的表中,仅当用户选择“汽车”作为旅行类型时,才需要“mileage”列,否则 mileage 列将是可选的。 业务规则使您能够一致地维护数据。

业务流程流指导用户使用您的应用。 它们仅可用于模型驱动应用。 这些流以可视化方式指导用户完成流程中的下一个步骤,并帮助执行每个步骤的其他用户操作。 (例如,在移至下一哥步骤之前,您可以要求在一个步骤获得批准。)借助业务流程流,您可以将自动化引入您的应用中,并使其成为用户的引导式体验,而不仅仅是一个输入数据的地方。

输出

应用通常需要数据可视化。 为了满足这一需求,您可以使用自定义筛选器和视觉对象图形创建仪表板,将所有数据直接集成到应用中。 当创建仪表板时,请确保用户使用方便,防止用户面对数据无从下手。 请提供数据的概要快照,并允许用户根据需要应用筛选器并深入研究数据。

行业加速器

Microsoft 与各个行业合作,根据他们的需求定制 Dataverse 数据模型。 无论您所在的行业是医疗健康、金融业、银行业、教育、非营利组织、汽车业还是媒体,Microsoft 会定期发布加速器和基础组件,以帮助您快速设置解决方案。 有关详细信息,请参考本模块的汇总单元中的链接。