人机交互技术编写组 1
第 5章 可用性分析与评估
人机交互技术编写组 2
内容提要
可用性的定义
支持可用性的设计原则
? 可学习性
? 灵活性
? 鲁棒性
可用性的评估方法
? 用户模型法、启发式评估、认知性遍历、
用户测试和用户调查法等。
人机交互界面设计
人机交互技术编写组 3
5.1可用性与可用性工程
可用性定义( ISO9241-11)
? 可用性是指特定的用户在特定的环境下使用产品并
达到特定目标的效力、效率和满意的程度。
其他定义
? 可用性意味着使用产品的人能够快速而方便的完成
任务
以用户为中心
使用产品过程中的体验
人机交互技术编写组 4
可用性的五个方面
可用性不仅只与界面有关
? 有效性 (effective)
? 效率 (efficient)
? 吸引力 (engaging)
? 容错能力 (error tolerant)
? 易于学习 (easy to learn)
人机交互技术编写组 5
可用性度量
Objective Effective Efficient Satisfaction
Suitability for the
task
Percentage of
goals achieved
Time to
complete a task
Rating scale for
satisfaction
Appropriate for
trained users
Number of
power features
used
Relative
efficiency
compared with
an expert user
Rating scale for
satisfaction with
power features
Learnability Percentage of
functions
learned
Time to learn
criterion
Rating scale for
ease of learning
Error tolerant Percentage of
errors corrected
successfully
Time spent on
correcting
errors
Rating scale for
error handling
人机交互技术编写组 6
可用性案例
Internet
Explorer 4.0
cache settings
panel
人机交互技术编写组 7
可用性案例
Internet
Explorer 4.0
certificate
authority
selection panel
人机交互技术编写组 8
可用性案例
A two-item list
box in Visual
Basic 5.0
人机交互技术编写组 9
可用性案例
A 2000 item list
box,Putting too
many items into
a list box is bad
人机交互技术编写组 10
可用性案例
Multi-row tab controls
人机交互技术编写组 11
可用性案例
Deleting files from an almost full hard disk in Windows 95
人机交互技术编写组 12
可用性案例
成功范例
? WIMP界面
? 超文本 Hypertext 和互联网 www
? 图形显示器
? 操作系统的分时功能
? 隐喻
? 直接操纵
? 语音、手势界面
? CSCW等
人机交互技术编写组 13
可用性工程
An iterative
process to
improve the
usability of a
system
Usability engineering,By Jay Simpson,from the cover of
IEEE Computer,March 1992,
人机交互技术编写组 14
可用性工程
可用性工程涉及系统 设计 的整个过程
? 过程
? 面向可用性的系统 设计 过程
人机交互技术编写组 15
两种不同的思想
系统为中心的设计
---System Centered Design
用户为中心的设计
---User Centered Design
人机交互技术编写组 16
Mottos(格言 )
Technology-centered motto
? Science Finds
? Industry Applies
? Man Conforms
Don Norman’s person-centered motto
? People Propose
? Science Studies
? Technology Conforms
人机交互技术编写组 17
系统为中心的设计
What can be built easily on this
platform?
What can I create from the tools
available?
What do I as a developer find
interesting to work on?
人机交互技术编写组 18
用户为中心的设计
The design is based upon a user’s,
? abilities and needs
? context
? work
? tasks
人机交互技术编写组 19
用户为中心的设计原则
Explicit(清楚的),coherent(一致的)
conceptual model
Make things visible,
Get the mappings(计划) right,
Utilise(利用) platform standards and
conventions,
Design for error,allowing exploration
(探索) without penalty(处罚),
人机交互技术编写组 20
Macintosh 用户为本的设计思想
Use of Metaphors(隐喻的使用)
Aesthetic Integrity(审美整体性)
Consistency(一致性)
Perceived Stability(感知的稳定性)
Direct Manipulation(直接操纵)
See and Point(看和指点)
WYSIWYG(所见既所得)
Feedback(反馈)
Forgiveness(容错)
User Control(用户控制)
人机交互技术编写组 21
可用性工程的生命周期
了解用户
竞争性分析
设定可用性目标
用户参与的设计
迭代设计
产品发布后的工作
人机交互技术编写组 22
了解用户
要在工作环境中观察用户。
了解用户的个体特征:根据用户的使用经验、
受教育程度、年龄、接受过的相关培训等对用
户进行分类。
可用性任务分析:了解用户的全面目标,用户
通常使用的方法,抽象出用户的任务模型,以
及正常工作流程之外的特例。
功能分析:弄清楚为了完成可用性任务,什么
是必须要做的,什么仅仅是些表面文章而已。
人机交互技术编写组 23
用户体验
人机交互技术编写组 24
竞争性分析
启发式地分析竞争产品或其交互界面,
并结合使用经验,了解对手系统的优缺
点,针对其缺点进行改进,并借鉴其巧
妙的思想。微软在 WINDOWS系统开发过
程中,事实上从竞争对手 ——苹果公司
的 Mac系统借鉴了很多思想。
人机交互技术编写组 25
设定可用性目标
预先确定可用性的评价尺度和可以量化的可用性目标水平,也就
是可用性目标。例如:一个有经验的用户使用当前系统时平均每
小时会发生 4.5次错误,则新版本的目标就可以设定为同等条件下
每小时发生少于 3次错误。从竞争性分析中也可以得到类似的目标,
比如在主要的竞争对手网站上,目前初学者平均需要花费 8分钟的
时间完成一次航班预订,正在开发的新网站就可以将可用性目标
设定为平均仅需花费 6分钟的时间完成一次航班预订。
可用性工程要为提高可用性做大量的工作,不可避免的要增加成
本,因此有时会受到财力的限制,所以有必要对设定的可用性目
标进行财政影响分析,估算这些工作将来能为用户节省多少支出,
并与为达到可用性目标所需的花费进行权衡
人机交互技术编写组 26
用户参与的设计
首先要明确什么样的用户会使用我们的
系统。
与这些用户广泛地沟通,理解他们的行
为方式有什么不同。
根据不同种类的用户确定与软件相关的
用户角色,定义这些角色的目标,设定
到达这些目标的特定场景;之后考虑怎
样设计交互的解决方案了。
人机交互技术编写组 27
用户参与的设计
——用户角色及系统用例图
人机交互技术编写组 28
用户参与的设计 ——应用用例
用例描述示例,
? The Customer makes changes to the Shopping Cart
and presses the Update button,
? The system updates the contents of the Shopping
Cart appropriately,
? Then the Customer presses the Check Out button,
? When the Customer has finished specifying the
billing and shipping information,the system creates
an Order,
人机交互技术编写组 29
迭代设计
设计、测试、再设计
设计原型系统进行迭代设计
(1)对发现的可用性问题进行严重程度评级。
(2)动手解决新版本交互界面中的问题。
(3)作出修改时,要记录为什么做出改变的原因,也就
是要抓住问题的原理。
(4)评估新版本的交互界面,如果还有改进的余地,回
到 (1),直到软件开发时间或经费花光。其中的评估过
程可能是借助于原型,也可能采用检查或测试等评估方
法。
人机交互技术编写组 30
快速原型法 (rapid prototyping)
原型系统
人机交互技术编写组 31
迭代设计对非迭代设计
软件开发过程模型
? 瀑布法(非迭代设计)
? 统一软件开发过程
人机交互技术编写组 32
瀑布模型
需求
设计
编码和单
元测试
系统
集成
运行和
维护
人机交互技术编写组 33
统一软件开发过程
人机交互技术编写组 34
产品发布后的工作
产品发布后继续收集重要的可用性数据,这一点非常
有必要,一方面可以用于进一步改善产品的可用性,
另一方面也为后续版本的开发作准备。这些工作包括,
? 通过与用户座谈、调查、观察等手段明确可用性研究涉及的
内容。
? 进行标准化的市场调研,特别是调研用户在新闻组、邮件列
表、评论、杂志调查中对产品的评述。
? 使用软件日志记录,随时记录用户遇到的问题,并设法发送
回公司进行分析。
? 认真分析用户在产品服务热线、修改要求、缺陷报告中对可
用性的种种抱怨。
人机交互技术编写组 35
5.2 支持可用性的设计原则
可学习性
灵活性
鲁棒性
人机交互技术编写组 36
可学习性
交互系统能否让新手学会如何使用系统,
以及如何达到最佳实用效果。支持可学
习性的设计原则有,
? 可预见性
? 同步性
? 熟悉性
? 通用性
? 一致性
人机交互技术编写组 37
可学习性 -可预见性
用户利用对以往交互过程的了解就足以
确定当前交互的结果。
? 可预见性有别于计算机系统的确定性行为。
可预见性则是一个以用户为中心的概念,它
取决于用户的观察,不能完全由计算机的状
态决定交互的行为,还要由用户根据自己的
判断来决定。
? 操作的可预见性。
人机交互技术编写组 38
可学习性 -同步性
同步性是指用户依据界面当前状态评估
过去操作造成影响的能力,也就是说用
户能不能同步地知道交互操作的结果。
人机交互技术编写组 39
可学习性 -熟悉性
系统的新用户在现实生活或使用其它系
统时,会有一些交互过程的宝贵经验;
可能这些经验与新系统的应用领域不同,
但对新用户来说,如果新系统跟过去使
用过的类似系统有一定相关性,那使用
起来就比较方便。
人机交互技术编写组 40
可学习性 -通用性
交互系统的通用性就是在交互中尽
可能的提供一些通用的或能够从现
有功能类推出来的功能。
人机交互技术编写组 41
可学习性 -一致性
一致性是说在相似的环境下或执行相似
的任务时,一般会执行相似的行为。
一致性与前面提到的其它交互原则有关,
如熟悉性可以看作与过去现实世界经验
的一致性,通用性可以看作与同一平台、
同一系统中软件交互体验的一致性。
人机交互技术编写组 42
灵活性
用户与系统交流信息方式的多样性,主
要表现在,
? 可定制性
? 对话主动性
? 多线程
? 可互换性
? 可替换性
人机交互技术编写组 43
灵活性 -可定制性
可定制性是指用户或系统修改界面的能
力。
? 用户主导:可定制
? 系统主导:可适应
定制能力
? 界面元素位置、颜色的定制
? 交互结构、流程的定制
人机交互技术编写组 44
灵活性 -对话主动性
将人机交互双方看作是一对对话者时,重点是
谁是对话的发起人。
系统主导:系统可以发起所有对话,这种情况
下,用户只是简单的响应信息请求。例如,一
个模式对话框就禁止用户与系统的其它窗口交
互。
用户主导:用户可以自由的启动对系统的操作。
从用户角度看,系统主导的交互阻碍了灵活性,
而用户主导的交互增强了灵活性。
人机交互技术编写组 45
灵活性 -多线程
多线程的人机交互系统同时支持多个交
互任务,可以把线程看作是一个特定用
户任务的相关对话部分;并发的多线程
允许各自独立交互任务中的多个交互同
步进行;交替地执行多对话线程,允许
各自独立的交互任务暂时的重叠;但在
任何给定时间,对话实际上还是局限于
单个任务。
人机交互技术编写组 46
灵活性 -可互换性
可互换意味着任务的执行可以在系统控制和用户控制间进行转移 。
有可能的情况是交互一会儿由用户控制, 一会儿又由系统控制,
交互的控制权彼此传递;或者将一个完全由系统控制的任务变成
系统和用户共同完成的任务 。
例如, 字处理软件中的拼写检查:用户完全可以借助于字典逐字
检查, 但这是一项繁杂的工作, 所以最好交由机器来自动执行,
但机器往往对人名和无意义的重复输入的单词无法处理, 这时还
得靠人去处理, 拼写检查最好由这种协作方式完成 。
在安全性要求特别严格的应用中,任务迁移可以降低事故发生的
概率。例如,飞机飞行中的状态检查单靠人来执行太过繁琐,所
以一般采用自动飞行控制,但一旦出现紧急情况,还得由飞行员
凭借经验去处理。
人机交互技术编写组 47
灵活性 -可替换性
可替换性要求等量的数值可以彼此交换 。 例如页边距
的单位, 可以是英寸, 也可以是厘米;在用户输入上,
可以让用户在输入框中输入数值, 也可以通过设定表
达式的方式输入 。 这种可替换性提供了由用户选择适
当方式的灵活性, 并且通过适当方式, 避免无谓的换
算, 可以减少错误的发生 。
可替换性也体现在输出上,也就是对状态信息的不同
描述方式。表示的多样性说明了对状态表达信息进行
渲染时的灵活性;例如,物体一段时间的温度可以表
示为数字温度计(如果比较关心实际的温度数值),
也可以表示为图表(以清晰地反映温度变化的趋势)。
有时可能需要同时提供这些表示方式,以备用户适应
不同任务的需要。
人机交互技术编写组 48
鲁棒性
定义,
? 可观察性
? 可恢复性
? 响应性
? 任务规范性
人机交互技术编写组 49
鲁棒性 -可观察性
可观察性允许用户通过观察交互界面的表现来
了解系统的内部状态。也就是说允许用户将当
前观察到的现象与要完成的任务进行比较,如
果用户认为系统没有达到预定的目标,可能会
去修正后面的交互动作。
可观察性涉及到五个方面的原则:可浏览性,
缺省值提供,可达性,持久性和操作可见性。
人机交互技术编写组 50
鲁棒性 -可恢复性
可恢复性是指用户意识到发生了错误并
进行更正的能力。
可恢复性不仅利于鲁棒性,还可大大提
高用户的冒险意识,提高系统的可学习
性 。
人机交互技术编写组 51
鲁棒性 -响应性
响应时间一般定义为系统对状态改变做
出反应的延迟时间。
? 一般而言,延迟较短或立即响应最好。即使
需要较长的时间才有最终结果,也应该有所
响应。
人机交互技术编写组 52
鲁棒性 -任务规范性
规范的含义:任务的规范
规范的意义:可重复性强,出错概率低
人机交互技术编写组 53
5.3 可用性评估
可用性评估是检验软件系统的可用性是
否达到了用户的要求 。 常用的方法包括
用户模型法, 启发式评估, 认知性遍历,
用户测试和用户调查等, 其中最常用的
方法是用户测试和用户调查 。
人机交互技术编写组 54
软件可用性评估应遵循的原则
? 最具有权威性的可用性测试和评估不应该针
对专业技术人员, 而应该针对产品的用户 。
? 软件的可用性测试和评估是一个过程, 这个
过程在产品开发的初期阶段就应该开始 。
? 软件的可用性测试必须是在用户的实际工作
任务和操作环境下进行 。
? 要选择有广泛代表性的用户 。
人机交互技术编写组 55
可用性评估方法
用户模型( User Model)
启发式评估 (Heuristic Evaluation)
认知性遍历 (Cognitive Walkthrough)
用户测试 (User Testing)
用户问卷调查 (Questionnaire)
人机交互技术编写组 56
用户模型法
用户模型法是用数学模型来模拟人机交互的过程 。
这种方法把人机交互的过程看做是解决问题的过
程 。 认为人使用软件系统是有目标的, 而一个大
的目标可以被细分为许多小的目标 。
在人机交互领域中最著名的预测模型是 GOMS模型 。
GOMS 是描述任务和用户执行该任务所需知识的
方法, 通过目标 (Goal),操作符 (Operator)、
方法 (Method) 以及选择规则 (Selection rule)
四个方面进行描述 。
人机交互技术编写组 57
启发式评估
启发式评估法就是使用一套相对简单、通用、
有启发性的可用性原则(即, 启发, )来进行
可用性评估。具体方法是,专家使用一组称为
,启发式原则, 的可用性规则做为指导,评价
用户界面元素(如对话框,菜单,在线帮助等)
是否符合这些原则。
人机交互技术编写组 58
可用性启发原则 (1)
系统状态可见性
系统与用户现实世界相互匹配
用户控制与自由
一致性与标准
错误预防
人机交互技术编写组 59
可用性启发原则 (2)
识别而不是回忆
使用的灵活性与效率
美观而精炼的设计
帮助用户认识、诊断和修正错误
帮助和文档
人机交互技术编写组 60
关于系统响应时间的一般约定
0.1 sec.,即时响应的极限时间,
? 直接操纵、虚拟场景的导航,
1 sec.,片刻等待的操作,
? 若长于 1sec.,显示表示系统忙的光标,
10 sec.,使用户保持对当前交互关注的
极限时间,
? 如果长于 10sec.,应显示操作进度指示。
人机交互技术编写组 61
认知性 遍历 ( cognitive walkthrough)
进行认知性遍历活动, 需要以下四个条件,
(1) 对系统原型的详尽描述, 这种描述不一定是完整的,
但要相当详尽 。 诸如菜单的位置描述或措辞选择等这
样的细节也可能导致相当大的差异 。
(2)对用户在系统中要完成任务的描述, 该任务应当是大
多数用户将要执行的有代表性的任务 。
(3)一个完整的, 书面的操作清单, 列出使用给定原型完
成任务所需执行的操作 。
(4)确定用户的身份,以及评估人员能够确定这些用户
已具有哪一类别的知识和经验。
人机交互技术编写组 62
认知性 遍历
认知性遍历认为用户完成一个任务的过程有三步,
1.用户在交互界面上寻找能帮助完成任务的行动方案。
2.用户选择并采用看起来最能帮助完成任务的行动。
3.用户评估系统作出的反馈,判断在完成任务上的进展。
评审人员可以对用户的每个交互过程模拟这三个步骤去
评价,并以回答下列三个问题为基础,
1.界面上执行正确动作的控件(按钮、菜单、选项等)是否可见?
2.用户是否知道正确动作可以到达希望的结果?
3.根据系统对动作的反馈信息,用户是否能够知道他的动作是否
正确?
人机交互技术编写组 63
用户测试
1,前期准备工作
( 1)明确测试的目的
l 帮助改进交互设计
? 通过测试了解交互中有待改进的地方,要搞清楚为什么出错,
而不仅仅是知道错了。可以在测试中收集过程数据 —— 定量
的去观察发生了什么问题以及为什么会这样。
l 评估交互的整体质量
? 根据一定的衡量指标,通过测试评估交互的水平,比如用户
在某个交互任务上耗费的时间,任务是否成功,出错情况等
等。也可对两个以上的可选设计针对确定的性能需求进行比
较性评测 。
人机交互技术编写组 64
用户测试
( 2)准备测试环境
? 要确保测试环境的舒适。最简单的是选一个安静的
房间,贴上, 用户测试中 —— 请勿打扰,,关掉电
话,保证房间足够的亮度,给受测试者提供饮料;
如果有可能的话使用专门的可用性实验室。
( 3)准备测试设备
? 包括记录测试过程需要的摄像机,三脚架,麦克风,
耳机,单向透光的镜子,彩色监视器,录像机,录
像带,电源线,扩展插座,,请勿打扰, 标志,饮
料,记录软件或表格等等。
人机交互技术编写组 65
用户测试
( 4)确定测试过程中的各种角色分配
l 测试负责人
? 负责全面控制测试,执行所有与测试用户的交谈,以及撰写任
务报告等。
l 数据记录员
? 记录测试过程中的重要事件和活动。
l 摄像操作员
? 对整个测试过程进行录像,包括开始的介绍和最后的任务报告
部分。
l 计算机操作员
? 负责在测试之前,为每个新的测试用户准备交互初始界面和在
系统崩溃、死机时进行重新启动等处理。
l 测试者或测试用户 ---参加测试的系统实际使用者。
人机交互技术编写组 66
测试用户
摄像机
可用性工程师
测试间 观察间
摄像记
录控制
设备
其他观察者
单向透光的镜子
人机交互技术编写组 67
用户测试
2.测试执行的六个阶段
? 为了有效地进行可用性测试,需要正确设计、
准备和执行试验。一个测试执行过程一般要
经过一些步骤。
具体步骤见书中表 5-1“用户测试执行步骤, 。
3.可用性测试的评价
人机交互技术编写组 68
问卷调查 (Questionnaire)
1.问卷调查的执行过程
? 用户要求分析
? 问卷设计
? 问卷实施及结果分析
2.可用性调查问卷例子 ——QUIS[quis,
2003],见表 5-2。
人机交互技术编写组 69
5.4 以用户为中心的界面设计
以用户为中心设计的四个重要原则,
? 及早以用户为中心:设计人员应当在设计过程的早期就致力
于了解用户的需要。
? 综合设计:设计的所有方面应当齐头并进发展,而不是顺次
发展。使产品的内部设计与用户界面的需要始终保持一致。
? 及早并持续性地进行测试:当前对软件测试的唯一可行的方
法是根据经验总结出的方法,即若实际用户认为设计是可行
的,它就是可行的。通过在开发的全过程引入可用性测试,
可以使用户有机会在产品推出之前就设计提供反馈意见。
? 反复式设计:大问题往往会掩盖小问题的存在。设计人员和
开发人员应当在整个测试过程中反复对设计进行修改。
人机交互技术编写组 70
OVID中涉及的模型及相互关系
设计者
设计者模型 编程者模型
用户概念模型
用户 用户界面
实现
细化
交互
获取
创建
人机交互技术编写组 71
OVID中的活动循环
任务分析
交互 视图
对象
任务
人机交互技术编写组 72
对象建模分析
对象建模分析是将系统和用户任务分析
的结果转化为用户界面设计的第一步;
建模是将系统任务的某些概念及其关系
用图的方式直观综合地表达出来;分析
则是将系统的对象抽象为类,列出对象
或类的属性、行为、以及对象间的关系。
人机交互技术编写组 73
订票系统用例图
人机交互技术编写组 74
视图抽象设计
视图表达了人与系统交互过程中某一时刻系统
的状态,以及用户在这一时刻可能改变系统状
态的方法。
视图抽象设计通过组合概念模型中的对象和对
象操作,提供系统运行的方法和方式,为具体
的设计提供指导,并要为系统的不同实施方案
提供灵活的界面选择。
视图抽象设计阶段就是仔细研究系统的对象模
型,列出其系统状态,对每个视图抽象出其中
涉及的对象,以及对象的属性和行为。
人机交互技术编写组 75
概要设计
针对特定的操作系统或交互方式,对抽
象的试图设计做进一步的具体设计,产
生视图的概要设计。实际设计中,这些
视图通常是用铅笔画在纸面上,这样做
速度快,而且修改起来比较方便。
人机交互技术编写组 76
航班信息显示视图概要设计
下一页 上一页 打印
新查询 结果中查

查询条件
航班号 起飞城市 到达城市 起飞时间 到达时间 全票票价 剩余票额
CA1100 济南 北京 17,35 19,10 500 20
… … … … … … …
… … … … … … …
订票 保存
人机交互技术编写组 77
查询条

航班号 起飞城市 到达城市 起飞时间 到达时间 全票票价 剩余票

CA1100 济南 北京 17,35 19,10 500 20
… … … … … … …
… … … … … … …
订票
保存
打印
上一页 下一页
新查询 结果中查

图 5-12 航班信息显示视图概要设计
人机交互技术编写组 78
视图的关联设计
任何一个人机交互系统的界面都可能包
括若干状态,用户在不同界面状态下根
据自己完成任务需要进行不同的操作;
很多交互任务的完成需要从一个状态转
化为另一个状态,这就要考虑用户完成
任务所需的信息和所需的功能;并将不
同交互视图之间的联系和状态转化关系
整理清楚。
人机交互技术编写组 79
视图关联关系
注册
系统首页
登录
查询航班
航班信息列表
退出确认 帮助页面
订购页面
出票确认
支付页面
机票信
息填写
失败页面
人机交互技术编写组 80
注册
系统首页
登录
查询航班
航班信息列表
退出确认 帮助页面
订购页面
出票确认
支付页面
机票信息
填写
失败页面
图 5-13 视图关联关系
人机交互技术编写组 81
视图的全面设计
解决各个视图的具体内容和大致布局,并在每个视图
上明确体现与其他视图的关系,保证系统的整体性和
和谐性。然后可以借助具体的开发工具进行界面的实
际设计。比如,浏览器交互方式下,网页视图的整体
性主要通过下列几点保证,
? 使用相同的界面风格,包括颜色、字体、布局、行距,间
距,导航条等。
? 使用相同的识别标志,如公司 LOGO,底纹图案,版权和联
系方式等。
? 系统视图结构清晰,在每个界面上明确表示当前视图与整
体系统的关系。
? 使用一致的术语,特别是在不同语言的版本之间保持信息
翻译的一致。
人机交互技术编写组 82
习题
1.利用本章介绍的可用性分析方法分析一个自己
设计完成的软件的可用性, 可以请同学担当用
户进行测试, 或设计一个用户调查问卷进行分
析 。
2.利用本章介绍的人机交互界面设计方法完成网
上银行系统的交互界面分析和设计。包括账户
查询,存款,取款,转账等业务流程,要考虑
到这个系统能够同时支持浏览器方式和电话银
行方式;可以参考互联网上实际网上银行的设
计。