用户界面
用户界面是用户对软件系统的第一印象。因此,任何软件系统都必须满足用户的需求。UI 主要执行两个功能 −
接受用户的输入
显示输出
用户界面在任何软件系统中都起着至关重要的作用。它可能是软件系统唯一可见的方面 −
用户最初会看到软件系统外部用户界面的架构,而不会考虑其内部架构。
良好的用户界面必须吸引用户使用软件系统而不会犯错误。它应该帮助用户轻松理解软件系统,而不会提供误导性信息。糟糕的 UI 可能会导致软件系统在竞争中失利。
UI 有其语法和语义。语法包括文本、图标、按钮等组件类型,可用性概括了 UI 的语义。UI 的质量由其外观和感觉(语法)及其可用性(语义)来表征。
基本上有两种主要的用户界面:a) 文本 b) 图形。
不同领域的软件可能需要不同的用户界面风格,例如,计算器只需要一小块区域来显示数字,但需要一大块区域来显示命令,网页需要表单、链接、选项卡等。
图形用户界面
图形用户界面是当今最常见的用户界面类型。它非常用户友好,因为它使用图片、图形和图标 - 这就是它被称为"图形"的原因。
它也被称为 WIMP 界面,因为它使用 −
Windows窗口 − 屏幕上运行常用应用程序的矩形区域。
Icons − 用于表示软件应用程序或硬件设备的图片或符号。
Menus − 选项列表,用户可以从中选择所需的选项。
Pointers − 当用户移动鼠标时,箭头等符号会在屏幕上移动。它可以帮助用户选择对象。
用户界面设计
首先进行任务分析,了解用户的主要任务和问题领域。它应该根据用户的术语和用户工作的开始来设计,而不是根据程序员的术语和开始来设计。
要进行用户界面分析,从业者需要研究和理解四个元素 −
通过界面与系统交互的用户
最终用户必须执行的任务才能完成工作
作为界面一部分呈现的内容
将在其中执行这些任务的工作环境
正确或良好的 UI 设计取决于用户的能力和局限性,而不是机器。在设计 UI 时,了解用户的工作性质和环境也至关重要。
然后可以根据对每个任务的功能和限制的了解,将要执行的任务划分为用户或机器。用户界面的设计通常分为四个不同的级别 −
概念层 − 它描述了考虑到用户对系统的看法以及可能对其执行的操作的基本实体。
语义层 − 它描述了系统执行的功能,即系统功能要求的描述,但没有说明用户将如何调用这些功能。
句法层 − 它描述了调用所述功能所需的输入和输出序列。
词汇层 − 它确定输入和输出实际上是如何从原始硬件操作形成的。
用户界面设计是一个迭代过程,其中所有迭代都解释和细化了前面步骤中开发的信息。用户界面设计的一般步骤
定义用户界面对象和动作(操作)。
定义将导致用户界面状态改变的事件(用户操作)。
指示用户如何根据通过界面提供的信息解释系统状态。
描述每个界面状态在最终用户眼中实际显示的状态。
用户界面开发流程
它遵循下图所示的螺旋式流程 −

界面分析
它集中或关注与系统交互的用户、任务、内容和工作环境。定义实现系统功能所需的面向人类和计算机的任务。
界面设计
它定义了一组界面对象、操作及其屏幕表示,使用户能够以满足为系统定义的每个可用性目标的方式执行所有定义的任务。
界面构建
它从一个原型开始,该原型可以评估使用场景,然后继续使用开发工具完成构建。
界面验证
它关注界面正确实施每个用户任务、适应所有任务变化、满足所有一般用户要求的能力,以及界面易于使用和易于学习的程度。
用户界面模型
在分析和设计用户界面时,使用以下四种模型 −
用户配置文件模型
由用户或软件工程师创建,根据年龄、性别、身体能力、教育、动机、目标和个性建立系统最终用户的资料。
考虑用户的句法和语义知识,将用户分为新手、知识丰富的间歇性用户和知识丰富的频繁用户。
设计模型
由软件工程师创建,结合了软件的数据、架构、界面和程序表示。
源自需求分析模型,并由需求规范中的信息控制,有助于定义系统的用户。
实施模型
由负责界面外观的软件实施者结合所有描述系统语法和语义的支持信息(书籍、视频、帮助文件)创建。
作为设计模型的翻译,并试图与用户的心理模型相一致,以便用户对软件感到舒适并有效地使用它。
用户的心理模型
由用户在与应用程序交互时创建。它包含用户头脑中对系统的图像。
通常称为用户的系统感知,描述的正确性取决于用户的个人资料和对应用领域软件的整体熟悉程度。
用户界面的设计考虑
以用户为中心
用户界面必须是以用户为中心的产品,在产品的整个开发生命周期中都涉及用户。用户界面的原型应该可供用户使用,用户的反馈应该纳入最终产品中。
简单直观
UI 提供简单性和直观性,因此无需说明即可快速有效地使用。GUI 优于文本 UI,因为 GUI 由菜单、窗口和按钮组成,只需使用鼠标即可操作。
让用户掌控
不要强迫用户完成预定义的序列。为他们提供选项——取消或保存并返回到上次中断的位置。在整个界面中使用用户能够理解的术语,而不是系统或开发人员术语。
通过向用户展示操作结果或确认操作已成功执行,向用户提供操作已执行的指示。
透明度
UI 必须透明,帮助用户感觉他们正在直接操作他们正在使用的对象。通过向用户提供工作对象而不是系统对象,可以使界面变得透明。例如,用户应该明白他们的系统密码必须至少为 6 个字符,而不是密码必须占用多少个字节。
使用渐进式披露
始终提供对常用功能和常用操作的轻松访问。隐藏不太常用的功能和操作并允许用户导航它们。不要试图将每条信息都放在一个主窗口中。对于非关键信息,请使用辅助窗口。
一致性
UI 应保持产品内部和产品之间的一致性,保持交互结果相同,UI 命令和菜单应具有相同的格式,命令标点符号应相似,参数应以相同的方式传递给所有命令。UI 不应具有令用户感到意外的行为,并且应包括允许用户从错误中恢复的机制。
集成
软件系统应与其他应用程序(如 MS 记事本和 MS-Office)顺利集成。它可以直接使用剪贴板命令进行数据交换。
面向组件
UI 设计必须是模块化的,并采用面向组件的架构,以便 UI 的设计与软件系统主体的设计具有相同的要求。模块可以轻松修改和替换,而不会影响系统的其他部分。
可定制
整个软件系统的架构包含插件模块,允许许多不同的人独立扩展软件。它允许个人用户从各种可用表单中进行选择,以满足个人喜好和需求。
减少用户的记忆负荷
不要强迫用户记住并重复计算机应该为他们做的事情。例如,在填写在线表格时,一旦用户输入了客户姓名、地址和电话号码,或者打开了客户记录,系统就应该记住这些客户姓名、地址和电话号码。
用户界面通过为用户提供项目供他们识别,而不是让他们回忆信息,从而支持长期记忆检索。
分离
必须通过实现将 UI 与系统逻辑分开,以提高可重用性和可维护性。