设计用户界面

本部分详细介绍了与为应用程序设计 UI 相关的一Windows任务。

简介

UI 设计可以分为三个基本元素:功能、美观和性能。

通常,应用程序开发期间的主要关注点是功能。 应用程序是否可用? 它是否允许用户完成任务? 但是,功能只是故事的一部分。

美观描述事物的显示和呈现方式,以及向用户传达事物的样式。 与功能要求和性能指标不同,美观非常具有主观性,并且更难量化。 美观通常来自于简单的选择(颜色如何相互补充或 UI 元素如何传达其含义)通常会影响用户对某种内容感到的方式,并影响他们使用它的成功。

性能不仅通过速度进行度量,还通过可靠性进行度量。 如果应用程序看起来和感觉不错,易于使用,但反复崩溃,则它很可能不会非常成功。 应用程序必须为用户提供其可靠性的完全置信度。

下面是一些设计阶段任务,这些任务有助于成功为应用程序Windows UI。

功能要求

在设计阶段的早期考虑以下建议,以在尽可能广泛的受众中优化用户体验:

  • 遵循 UI 设计准则。

    熟悉用户Windows交互指南,并经常在应用程序 UI 的设计、实现和测试过程中引用它们。

  • 确保 UI 可访问。

    请务必从产品生命周期的开头将辅助功能集成到 UI 设计中。 对辅助功能进行改进可能会非常昂贵,因为辅助功能开发中的一部分需要在体系结构级别引起注意。 有关详细信息,请下载 工程软件 for Accessibility 电子书

  • 支持国际市场。

    Windows包括一些技术,这些技术支持在一个区域性应用程序中的许多区域性和Windows语言。 如果应用程序面向国际市场,则从项目一开始就在 UI 设计中包括国际化支持非常重要。 有关详细信息,请参阅应用程序国际化Windows应用程序

用户分析

设计成功接口的一个关键步骤是在编写任何代码之前,基本了解用户对应用程序的需求和需求。 请记住,应用程序的潜在用户已经以某种方式完成其工作,应尽可能充分了解现有的工具和过程。 请勿在未充分考虑这些问题的情况下进行设计。

最简单、最非正式的方法是与产品的目标用户交谈。 直接从源获取信息-避免将经理或高级管理人员用作实际使用者的代理。 请考虑让一小组开发人员和项目经理在有机会讨论其工作方式并收集他们当前工具所面临问题的详细信息的工作区中与用户进行非正式访问。

请记住,不要提出前导问题或偏见问题,因为这样做将直接影响用户反馈的质量与有效性。 在此阶段撰写问题时,请记住以下事项:

  • Who用户是谁? 他们拥有哪些技能和知识?
  • 我们可以使用哪些不同的数据源来了解他们的体验?
  • 他们将使用我们的产品完成哪些目标和任务?
  • 我们做出哪些假设,以及如何验证它们?
  • 我们拥有哪些数据源? (可用性研究与启发式评估是一个不错的起点)

问题语句

收集所有用户反馈后,请分析并提取到相关问题和要求中。 尝试避免此时考虑解决方案。 确保问题已完全识别,而不只是症状。

从用户的角度编写一个句子问题 (每个问题或要求) 一个句子问题语句列表通常很有帮助。 例如,"将编辑框宽度调整为 15 个字符"不是问题。 但"很难在长搜索词中键入"是一个有效的问题陈述。 这种差异非常明显。 尝试不要同时定义解决方案和问题:实际问题通常会丢失。 此示例中,可能还有其他许多方法可以解决搜索词问题,包括更改编辑框的大小。 请始终记住替代解决方案。

下面是问题语句的其他示例:

  • 很难从网站的一个部分导航到另一个部分。
  • 用户必须等待太长时间,软件加载。
  • 我们的安全错误消息很难理解。
  • 注册页的问题太多,用户通常会放弃它。
  • 在站点索引上查找特定产品太难完成。

如果问题陈述足够广泛,可能有许多创新的方法可以解决这些问题。

优先级

采用项列表并按优先级对项进行排名的行为定义了发布。 如果没有明确的优先级,团队可能会就应执行哪些操作以及应该剪切哪些内容进行努力和主张。 完成研究后,设置优先级所涉及的工作应该会更容易,但始终是一项挑战。

设置优先级需要能够评估至少三个条件:计划、团队和业务。 可能会为项目设置预定义的计划,用于限制可完成的工作的大小和规模。 在小型发布周期内,不应尝试重写一半基本代码的问题。

团队的才能和性质定义了可以完成的工作类型。 团队还有其他哪些承诺? 团队中是否有设计人员或可用性工程师? 团队具有哪些 Web 或 UI 设计技能? 最后,最重要的是业务注意事项。 此项目的收入目标是什么? Who竞争对手是什么? 解决某些问题有什么好处? 可以伪造哪些合作关系? 在确定列表的优先级之前,还应确定任何其他注意事项。

确定优先级后,问题陈述列表将设置产品的方向,并确保在正确的区域以开发为目标。

概念设计

通常,UI 不会在概念设计阶段得到解决。 但是,此阶段确实需要一个全面的业务模型,提供完整的用户配置文件和使用方案,这些方案对于成功的用户体验至关重要。

逻辑设计

逻辑设计阶段是开发支持概念设计的初始原型时。

此阶段还确定了在开发过程中使用的特定硬件和软件技术,这可以确定最终产品中 UI 的功能。 有关详细信息,请参阅用户界面 Technologies。

除了开发工具之外,还应确定应用程序要面向的各种硬件要求和外形因素。

物理设计

物理设计阶段确定如何为逻辑设计中标识的特定硬件和外形因素实现 UI 设计。

在此阶段,硬件或外形因素限制可能在 UI 上引入意外的约束,这些约束需要对设计进行重大优化。