结构化开发方法--用户界面设计

说在前面:

本系列文章专注于软考备考复习内容梳理,文章内容是对教材中知识点和考点的提炼,备考过程中可以有针对的进行复习,减少阅读量,有的放矢。


导航目录:

用户界面(UI)设计在人与计算机之间搭建了一个有效的交流媒介。遵循一系列的界面设计原则定义界面对象和界面设计动作,然后创建构成用户界面原型基础的屏幕布局。

一、用户界面设计的黄金原则

Theo Mandel在其关于界面设计的著作中提出了3条“黄金原则”:

  • 用户操纵控制;
  • 减少用户的记忆负担
  • 保持界面一致。

这些黄金原则实际上构成了一系列用户界面设计原则的基础,这些原则可以指导软件设计的重要方面。

1. 用户操纵控制

在很多情况下,设计者为了简化界面的实现可能会引入约束和限制,其结果可能是界面易于构建,但会妨碍使用。Mandel定义了一组设计原则,允许用户操纵控制。

1)以不强迫用户进入不必要的或不希望的动作的方式来定义交互模式
交互模式就是界面的当前状态。例如,如果在字处理软件的菜单中选择拼写检查,则软件将转移到拼写检查模式。如果用户希望在这种情形下进行一些文本编辑,则没有理由强迫用户停留在拼写检查模式,用户应该能够几乎不需要做任何动作就能进入和退出该模式。

2)提供灵活的交互

由于不同的用户有不同的交互偏好,因此应该提供选择机会。例如,软件可能允许用户通过键盘命令、鼠标移动、数字笔、多触摸屏或语音识别命令等方式进行交互。但是,每个动作并非要受控于每一种交互机制。例如,考虑使用键盘命令(或语音输入)来画一幅复杂形状的图形是有一定难度的。

3)允许中断和撤销用户交互
即使当陷入到一系列动作之中时,用户也应该能够中断动作序列去做某些其他事情(而不会失去已经做过的工作),用户也应该能够“撤销”任何动作。

4)当技能级别增长时可以使交互流线化并允许定制交互

用户经常发现他们重复地完成相同的交互序列。因此,值得设计一种“宏”机制,使得高级用户能够定制界面以方便交互。

5)使用户与内部技术细节隔离开来

用户界面应该能够将用户移入到应用的虚拟世界中来。用户不应该知道操作系统、文件管理功能或其他神秘的计算技术。其实,界面不应该要求用户在机器内部层次上进行交互(例如,不应该要求用户在应用软件中输入操作系统命令)。

6)设计应允许用户与出现在屏幕上的对象直接交互


当用户能够操纵完成某任务所必需的对象,并且以一种该对象好像是真实物理存在的方式来操作它时,用户就会有一种控制感。例如,某应用界面可允许用户“拉伸”某对象(增大其尺寸),就是直接操纵的一种实现。

2. 减轻用户的记忆负担

用户必须记住的东西越多,与系统交互时,出错的可能性也就越大。因此,一个经过精心设计的用户界面不会加重用户的记忆负担。只要有可能,系统应该"记住"有关的信息,并通过能够帮助回忆的交互场景来帮助用户。Mandel定义了一组设计原则,使得界面能够减少用户的记忆负担。

1)减少对短期记忆的要求

当用户陷于复杂的任务时,短期记忆的要求将会很大。界面的设计应该尽量不要求记住过去的动作、输入和结果。可行的解决办法是通过提供可视的提示,使得用户能够识别过去的动作,而不是必须记住它们。

2)建立有意义的默认

初始的默认集合应该对一般的用户有意义,但是,用户应该能够说明个人的偏好。然而,“reset(重置)”选择应该是可用的,使得可以重新定义初始默认值。

3)定义直观的快捷方法

当使用助记符来完成系统功能时,助记符应该以容易记忆的方式联系到相关动作。

4)界面的视觉布局应该基于真实世界的象征

例如,一个账单支付系统应该使用支票簿和支票登记簿来指导用户的账单支付过程。这使得用户能够依赖于很好理解的可视提示,而不是记住复杂难懂的交互序列。

5)以不断进展的方式揭示信息
界面应该以层次化的方式进行组织,即关于某任务、对象或某行为的信息应该首先在高抽象层次上呈现。更多的细节中十分常见的一个功能是加下划线,该功能本身是“文本风格”菜单下多个功能中的一个。然而,每种加下划线的功能并未列出,用户必须选择加下划线,然后所有加下划线的选项(如加单下划线、加双下划线、加虚下划线)才被展示出来。

3. 保持界面一致

用户应该以一致的方式展示和获取信息,这意味着∶按照贯穿所有屏幕显示的设计规则来组织可视信息;将输入机制约束到有限的集合,在整个应用系统中得到一致的使用;从任务到任务的导航机制要一致地定义和实现。Mandel定义了一组帮助保持界面一致性的设计原则。





1)允许用户将当前任务放入有意义的环境中


很多界面使用数十个屏幕图像来实现复杂的交互层次,提供指示器(例如,窗口标题、图标、一致的颜色编码)帮助用户知道当前工作环境是十分重要的。另外,用户应该能够确定它来自何处以及存在什么途径转换到新任务。

2)在应用系统家族内保持一致性
一组应用系统(或一套产品)应使用相同的设计规则,以保持所有交互的一致性。

3)用户期望
如果过去的交互模型已经建立起了用户期望,除非有不得已的理由,否则不要改变它一个特殊的交互序列一旦已经变成事实上的标准,则用户在遇到的每个应用系统中均会如此期望,如果改变,将导致混乱。

二、用户界面设计的分析与设计

用户界面的分析与设计过程始于创建不同的系统功能模型(从外部看对系统的感觉),用于完成系统功能的任务被分为面向人的和面向计算机的,考虑那些应用到界面设计中的各种设计问题,各种工具被用于建造原型并最终实现设计模型,最后由最终用户从质量的角度对结果进行评估。

1. 用户界面分析和设计模型

(1)软件工程师所创建的设计模型(Design Model)。整个系统设计模型包括对软件的数据结构、体系结构、界面和过程的表示。界面设计往往是设计模型的附带结果。


(2)人机界面设计工程师创建的用户模型(User Model)。用户模型描述系统最终用户的特点。在设计前,应首先对用户进行分类,了解用户的特点,包括年龄、性别、实际能力、教育、文化和种族背景、动机、目的以及个性等。


(3)最终用户在脑海里对界面产生的映像,称为用户的心理模型或系统感觉(SystemPerception)。系统感觉是最终用户主观想象的系统映像,描述了期望的系统能提供的操作,其描述的精确程度依赖于最终用户对软件的熟悉程度。


(4) 系统实现者创建的系统映像(System Image)。系统映像包括基于计算机的系统的外在表示(界面的观感)和用来描述系统语法和意义的支撑信息(书、手册、录像带、帮助文件等)。如果系统映像和系统感觉是一致的,用户就会感觉软件很舒服,使用起来很有效。为了融合这些模型,设计模型必须适应包含在用户模型中的信息,并且系统映像必须准确地反映接口的语法和语义。

2. 用户界面分析和设计的过程

用户界面的分析与设计过程是迭代的,包括4个不同的框架活动∶界面分析及建模、界面设计、界面构造和界面确认。

界面分析活动的重点在于那些与系统交互的用户的轮廓,记录技能级别、业务理解以及对新系统的一般感悟,并定义不同的用户类型,对每个用户类别进行需求引导。

界面设计的目标是定义一组界面对象和动作(以及它们的屏幕表示),使得用户能够以满足系统所定义的每个使用目标的方式完成所有定义的任务。

界面构造通常开始于创建可评估使用场景的原型。随着迭代设计过程的继续,用户界面开发工具可以用来完成界面的构造。

界面确认着重于以下几点:

  • 界面正确地实现每个用户任务的能力、适应所有任务变化的能力以及达到所有一般用户需求的能力;
  • 界面容易使用和学习的程度;
  • 用户将界面作为其工作中有用工具的接受程度。

三、用户界面设计问题

在进行用户界面设计时,几乎总会遇到以下4个问题:

  • 系统响应时间;
  • 帮助设施;
  • 错误信息处理;
  • 菜单和命令标记。

1. 系统响应时间

系统响应时间不能令人满意是交互式系统用户经常抱怨的问题。一般来说,系统响应时间是指从用户开始执行动作到软件以预期的输出和动作形式给出响应这段时间。

系统响应时间包括两方面的属性∶时间长度和可变性。如果系统响应时间过长,用户就会感到焦虑和沮丧。系统时间的可变性是指相对于平均时间的偏差,在很多情况下这是最重要的响应时间特性。即使响应时间比较长,响应时间的低可变性也有助于用户建立稳定的交互节奏。例如,稳定在1s的命令响应时间,比从0.1s到2.5s不定的响应时间要好。

2. 帮助设施

几乎所有计算机交互式系统的用户都时常需要帮助,考虑帮助设施时需要在设计中解决以下问题。



(1)进行系统交互时,是否在任何时候对任何系统功能都能得到帮助?有两种选择∶提供部分功能与动作的帮助和提供全部功能的帮助。



(2)用户怎样请求帮助?有3种选择∶帮助菜单、特殊功能键和HELP命令。


(3)如何表达帮助有3种选择提供单独的帮助窗口、在另一个窗口中指示参考某个已印刷的文档(不是理想方式)或在屏幕特定位置给出一行或两行的简单提示。



(4)用户如何回到正常的交互方式?可做的选择包括屏幕上显示的返回按钮、功能键或控制序列。



(5)如何构造帮助信息?有3种选择∶平面结构(所有信息均通过关键词来访问)、分层结构(用户可以进入分层结构得到更详细的信息)和超文本的使用。

3. 错误信息处理

出错信息和警告是指出现问题时系统反馈给用户的“坏消息”。如果做不好,出错信息和警告会给出无用和误导的信息,反而增加了用户的沮丧感。通常,交互式系统给出的出错信息和警告应具备以下特征。




(1)消息以用户可以理解的语言描述问题。




(2)消息应提供如何从错误中回复的建设性意见。





(3)消息应指出错误可能导致哪些不良后果(例如破坏数据文件),以便用户检查是否出现了这些情况。





(4)消息伴随着视觉或听觉上的提示。也就是说,显示消息应该伴随警告声或者消息用闪烁方式显示,或以明显表示错误的颜色来显示。





(5)消息不应是裁判性的,即不能指责用户。

4. 菜单和命令标记

输入命令曾经是用户和系统交互的主要方式,并广泛用于各种应用程序中。现在,面向窗口的界面采用点击和选取方式,减少了用户对输入命令的依赖。但许多高级用户仍然喜欢面向命令的交互方式。在提供命令或菜单标签交互方式时,必须考虑以下问题。






(1)每个菜单选择是否都有对应的命令
;





(2)以何种方式提供命令?有3种选择:控制序列(如Alt+P快捷键)、功能键或输入命令;





(3)学习和记忆命令的难度有多大忘记命令怎么办;





(4)用户是否可以定制和缩写命令;





(5)在界面环境中菜单标签是不是自解释的;





(6)子菜单是否与主菜单所指的功能相一致。

未完待续。。。

更多知识传送:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

以上内容整理参考《软件设计师教程(第5版)》和《软件设计师考试同步辅导(第四版)》(忘记是哪个老师的了,侵删)。本文章内容旨在帮助更多想要进军软考,给自己镀金的小伙伴。有兴趣的小伙伴可以共勉。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值