软件工程 |用户界面设计
用户界面是用户为了使用软件而与之交互的前端应用程序视图。如果该软件的用户界面是:
- 吸引人的
- 使用简单
- 短时间内响应
- 清晰易懂
- 在所有界面屏幕上保持一致
有两种类型的用户界面:
- 命令行界面:命令行界面提供了一个命令提示符,用户可以在其中键入命令并提供给系统。用户需要记住命令的语法及其用法。
- 图形用户界面:图形用户界面提供了与系统交互的简单交互界面。 GUI 可以是硬件和软件的组合。用户使用 GUI 解释软件。
用户界面设计过程:
用户界面的分析和设计过程是迭代的,可以用螺旋模型表示。用户界面的分析和设计过程由四个框架活动组成。
- 用户、任务、环境分析和建模:最初,重点是基于将与系统交互的用户的概况,即理解、技能和知识、用户类型等,根据用户的概况将用户制成类别。从每个类别中收集需求。根据需求,开发人员了解如何开发接口。一旦收集了所有需求,就会进行详细的分析。在分析部分,识别、描述和阐述用户为建立系统目标而执行的任务。用户环境的分析侧重于物理工作环境。要问的问题包括:
- 接口的物理位置在哪里?
- 用户会坐着、站着还是执行与界面无关的其他任务?
- 接口硬件是否适应空间、光线或噪音限制?
- 是否存在受环境因素驱动的特殊人为因素考虑?
- 界面设计:此阶段的目标是定义一组界面对象和操作,即使用户能够执行所需任务的控制机制。指出这些控制机制如何影响系统。指定任务和子任务的动作顺序,也称为用户场景。指示用户执行特定任务时系统的状态。始终遵循 Theo Mandel 提出的三个黄金法则。在细化设计模型时,会考虑响应时间、命令和动作结构、错误处理和帮助设施等设计问题。此阶段是实施阶段的基础。
- 接口构建和实现:实现活动从创建能够评估使用场景的原型(模型)开始。随着迭代设计过程的继续,用户界面工具包允许创建窗口、菜单、设备交互、错误消息、命令和交互式环境的许多其他元素,可用于完成界面的构建。
- 接口验证:此阶段侧重于测试接口。界面应该能够正确执行任务并且应该能够处理各种任务。它应该满足用户的所有要求。它应该易于使用且易于学习。用户应该接受该界面作为他们工作中有用的界面。
黄金法则:
以下是 Theo Mandel 在界面设计过程中必须遵循的黄金法则。
将用户置于控制之中:
- 以不强迫用户进行不必要或不希望的操作的方式定义交互模式:用户应该能够轻松地进入和退出模式,只需很少或不费力。
- 提供灵活的交互:不同的人会使用不同的交互机制,有些可能使用键盘命令,有些可能使用鼠标,有些可能使用触摸屏等,因此应该提供所有交互机制。
- 允许用户交互是可中断和可撤销的:当用户正在执行一系列操作时,用户必须能够中断该序列以执行一些其他工作,而不会丢失已完成的工作。用户还应该能够执行撤消操作。
- 随着技能水平的提高简化交互并允许自定义交互:应该为高级或高技能用户提供根据用户需要自定义界面的机会,这允许不同的交互机制,以便用户在使用相同的交互机制时不会感到无聊.
- 向普通用户隐藏技术内部信息:用户不应该知道系统的内部技术细节。他应该与界面交互只是为了完成他的工作。
- 与屏幕上出现的对象直接交互的设计:用户应该能够使用对象并操纵屏幕上出现的对象以执行必要的任务。这样,用户感觉很容易控制屏幕。
减少用户的内存负载:
- 减少对短期记忆的需求:当用户参与一些复杂的任务时,对短期记忆的需求很大。因此,界面的设计应该减少对先前完成的动作、给定输入和结果的记忆。
- 建立有意义的默认值:始终应向普通用户提供初始默认值集,如果用户需要添加一些新功能,那么他应该能够添加所需的功能。
- 定义直观的快捷方式:用户应使用助记符。助记符是指在屏幕上执行某些操作的键盘快捷键。
- 界面的视觉布局应该基于现实世界的隐喻:你在屏幕上表示的任何东西,如果它是对现实世界实体的隐喻,那么用户将很容易理解。
- 以渐进的方式披露信息:界面应该分层组织,即在主屏幕上,关于任务、对象或某些行为的信息应该首先以高抽象级别呈现。在用户通过鼠标选择表示感兴趣后,应呈现更多细节。
使界面一致:
- 允许用户将当前任务置于有意义的上下文中:许多界面都有数十个屏幕。因此,重要的是要始终如一地提供指标,以便用户了解所做的工作。用户还应该知道从哪个页面导航到当前页面以及从当前页面可以导航到哪里。
- 在一系列应用程序之间保持一致性:某些应用程序集的开发都应该遵循并实现相同的设计、规则,以便在应用程序之间保持一致性。
- 如果过去的交互模型创造了用户期望,除非有令人信服的理由,否则不要进行更改。