第一部分 开发更可用的软件 1
第1章 面向使用的软件开发方法:使用、可用性及用户界面 1
1.1 提高可用性 1
1.1.1 人类的特性 2
1.1.2 使用质量 3
1.1.3 可用性的经济学 4
1.1.4 营销信息技术 6
1.2.1 测试、再测试 7
1.2 如何改进可用性 7
1.2.2 流行风格 8
1.2.3 反复建造 9
1.2.4 审视一下 10
1.2.5 专家的见地 10
1.3 事过境迁 10
第2章 培育可用性:以使用为中心的设计方法论 12
2.1 面对用户 12
2.2 以使用为中心方法论的组成元素 13
2.2.4 反复改进 14
2.2.3 开发过程 14
2.2.5 质量度量 14
2.2.1 主要原理 14
2.2.2 模型与建模 14
2.3 驱动模型 15
2.3.1 诱人的抽象方式 15
2.3.2 回归基本 16
2.3.3 界面体系结构 17
2.3.4 多视角 17
2.3.5 一般化和简单化 20
2.4 协同活动 20
2.4.1 灵活的阶段安排 22
2.4.2 秩序与混沌 23
3.1 对话式的设计过程 25
第3章 总体原则:以使用为中心设计方法的准则和原理 25
3.2 准则和原理 27
3.3 可用性准则 29
3.3.1 第一条准则:易掌握准则 29
3.3.2 第二条准则:功效准则 30
3.3.3 第三条准则:渐进准则 30
3.3.4 第四条准则:支持准则 31
3.3.5 第五条准则:环境准则 32
3.4 用户界面设计原理 32
3.4.1 结构原理 32
3.4.2 简单性原理 34
3.4.3 可见性原理 35
3.4.4 反馈原理 37
3.4.5 宽容原理 38
3.4.6 重用原理 40
3.5 其它准则 41
3.6 细节、细节、细节 42
第二部分 可用性基本模型 45
第4章 用户及有关的用户类型:对用户和用户角色的理解 45
4.1 使用和用户 45
4.2 真实用户及其它有关方面 45
4.2.1 虚拟用户 46
4.2.2 用户代理人 47
4.2.3 信息提供者和解释者 48
4.2.4 间接信息来源 49
4.3 用户角色模型 51
4.3.1 角色建模 53
4.3.2 焦点角色 55
4.4 用户角色关系图 56
4.4.1 类似 56
4.4.2 分类 56
4.4.3 组成 57
4.5 用户角色的运用 57
4.6.1 角色内容 60
4.6 结构化角色模型 60
4.6.2 建立结构 63
4.6.3 与后续内容的关系 64
第5章 工作结构:基于基本用例的任务建模 65
5.1 工作、工作、工作 65
5.2 任务建模 66
5.2.1 从场景到用例 67
5.2.2 基本用例 69
5.2.3 抽象和一般化的程度 70
5.3.1 特例化 73
5.3 用例图 73
5.3.2 扩展 74
5.3.3 组成 75
5.3.4 类似 76
5.3.5 焦点用例 77
5.4 基本用例模型的建立 77
5.4.1 用例的识别 77
5.4.2 用户与用例 78
5.4.3 用例表述的编写 79
5.5 应用 80
6.1 工作场所 83
第6章 界面体系结构:界面内容与导航 83
6.2.1 内容建模 84
6.2 界面内容 84
6.2.2 内容列表 87
6.2.3 设置环境 87
6.2.4 工具和材料 88
6.2.5 内容建模过程 88
6.3 环境导航图 90
6.3.1 行为视图、体系结构视图和顺序视图 91
6.3.2 导航图的使用 91
6.4 应用 94
7.2 交流渠道 99
7.2.1 词语 99
第三部分 创建可视化设计 99
7.1 从抽象到具体 99
第7章 对话设计:布局和交流 99
7.2.2 彩色界面 101
7.2.3 标记和符号 102
7.2.4 声音 104
7.3 屏幕空间 104
7.3.1 工作流 105
7.3.2 发布信息 106
7.3.3 视觉组织 107
第8章 实现窗口部件:可视组件的选择与设计 110
8.1 拿来还是自制 110
8.2 图标交流 110
8.2.1 “视觉”设计 110
8.2.2 符号学 111
8.2.3 工具栏的组织 112
8.3 菜单 113
8.3.1 菜单的组织 114
8.3.2 键盘的访问 116
8.3.4 快餐菜单 118
8.3.3 右键快捷菜单 118
8.4 选择性部件的选择 119
8.4.1 多项中选择一个 120
8.4.2 多项中选择几个 121
8.4.3 特例 122
8.4.4 用菜单作为选择部件 123
第9章 创新界面:创新界面工程与定制组件 124
9.1 创新工程 124
9.1.1 为什么创新 125
9.1.2 创新什么 126
9.2.2 两者兼备的设计 127
9.2 创新过程 127
9.2.1 迭代创新 127
9.2.3 想像它 128
9.2.4 大幅度改进 129
9.3 指导性界面 130
9.3.1 提供与限制 132
9.3.2 可视对象持续性 134
9.3.3 习惯扩展 135
9.3.4 移动界面 136
9.4.1 滚卷工作 137
9.4 创新的应用 137
9.4.2 重载 138
第四部分 完成设计 141
第10章 解决方案表述:实现建模和原型 141
10.1 有趣的东西 141
10.2 原型和原型建造 142
10.2.1 原型种类 142
10.2.2 被动原型 143
10.2.3 主动原型 143
10.2.4 创建界面原型 145
10.3 模型间的映射 145
10.3.1 界面环境 146
10.3.2 界面内容 149
10.3.3 界面组合 151
10.4 建立实现模型的演示 151
10.4.1 扩展程序设计之一 151
10.4.2 扩展程序设计之二 153
第11章 尽可能提供帮助:帮助与帮助消息的设计 155
11.1 即使是专家也需要帮助 155
11.2 寻求帮助的用例 156
11.2.1 帮助用例 156
11.2.2 通过用例来组织帮助 158
11.3.1 显示帮助 159
11.3 访问和呈现技术 159
11.3.2 访问帮助 161
11.4 特殊技巧和方式 163
11.4.1 声音和闹剧 163
11.4.2 辅导 164
11.4.3 软件魔术 164
11.5 写出有帮助的东西 167
11.5.1 帮助风格要素 168
11.5.2 文档,还是帮助 169
11.5.3 有效的帮助 170
11.6.1 消息和媒介 171
11.6 有帮助的信息 171
11.6.2 消息模型 172
11.6.3 错误预防 176
11.6.4 抵制冲动 177
11.6.5 编写消息 177
第12章 初学只有一次:支持用法模式的演变 180
12.1 初学者阶段之后 180
12.2 滑雪场式的界面 181
12.3 渐进用法 182
12.3.1 新手用法 182
12.3.3 熟练用法 183
12.3.2 中级用法 183
12.3.4 用法概况 184
12.4 支持性界面 185
12.4.1 获得设施 185
12.4.2 转变设施 187
12.4.3 生产设施 189
12.5 为渐进用法而设计 191
12.5.1 映射快捷键 191
12.5.2 转变帮助 192
12.5.3 可修改界面和自适应界面 194
12.5.4 连续不断的定制 195
12.5.5 对特性的访问 199
12.6 渐进用法的应用 201
第13章 在适当的位置:符合操作环境 203
13.1 不和谐的环境 203
13.2 操作建模 203
13.3 与环境相适应 204
13.4 绑定环境 204
13.4.1 担负职责概况 205
13.4.2 交互概况 206
13.4.3 信息概况 208
13.5 环境概况 210
13.5.1 设备约束概况 211
13.5.2 操作风险概况 213
13.6 把环境落到实处 214
13.6.1 DimTel产品订单录入 215
13.6.2 BankInvest投资分析 215
第14章 相同的游戏,不同的地方:特殊的应用,特殊的问题 217
14.1 依然是主题和变化 217
14.2 面向使用的Web设计 217
14.2.1 目的概况 218
14.2.2 吸引点击 219
14.2.3 相同却又不同 220
14.2.4 Web的悲哀 222
14.3 应用Web的智慧 226
14.3.1 合理使用FAQs 227
14.3.2 QubIt的改造 228
14.3.3 修改过的建模 232
14.4 嵌入式系统应用 233
14.4.1 硬件和软件 234
14.4.2 界面问题 235
14.4.3 嵌入式应用程序建模 236
14.4.4 嵌入式界面 239
14.5.2 打电话给技术支持 245
14.5 其它特殊界面 245
14.5.1 声音界面 245
第15章 以使用为中心设计方法的应用:TeleGuida 247
15.1 规模放大 247
15.2 电话标签 247
15.3 收集需求 248
15.4 TeleGuida用户和使用 253
15.4.1 TeleGuida的用户角色 253
15.4.2 TeleGuida的基本用例 256
15.4.3 TeleGuida的基本用例表述 259
15.5.1 TeleGuida的内容模型 262
15.5 建立TeleGuida原型 262
15.5.2 TeleGuida的导航图 264
15.5.3 TeleGuida可视化设计 265
第五部分 评估与改进 271
第16章 改进可用性:检查与评审 271
16.1 评估可用性 271
16.1.1 专家评估 271
16.1.2 同行评审 273
16.1.3 用户评审 273
16.1.5 检查 275
16.1.4 测试与度量 275
16.2 检查方法 276
16.2.1 经验式评估 276
16.2.2 认知走查 277
16.2.3 多元化可用性走查 278
16.3 协同可用性检查 278
16.3.1 目标 279
16.3.2 可用性缺陷 279
16.3.3 焦点 280
16.3.4 检查角色 281
16.3.5 检查过程 284
16.4.1 一致性检查 287
16.4 焦点式检查 287
16.4.2 符合性检查 289
第17章 量化:在实践中衡量可用性 290
17.1 量化式比较 290
17.2 可衡量的质量 290
17.2.1 度量指标的运用与滥用 290
17.2.2 偏好度量指标 292
17.3 用户界面设计度量指标 294
17.3.1 度量什么 294
17.2.4 预测度量指标 294
17.2.3 绩效度量指标 294
17.3.2 衡量标准 295
17.4 一组基本的可用性指标 297
17.4.1 基本效率 298
17.4.2 任务符合度 300
17.4.3 任务可见度 302
17.4.4 布局统一度 305
17.4.5 视觉相关度 306
17.5 度量指标运用 308
第18章 测试评分:实验室与现场可用性测试 310
18.1 测试的发展进程 310
18.2.1 实验室里的科学 311
18.2 两种可用性测试形式 311
18.2.2 现场测试 313
18.2.3 beta测试 313
18.3 测试协议 315
18.3.1 不适当的影响 315
18.3.2 说出自己的想法 316
18.3.3 测试前后 317
18.3.4 绩效度量指标 318
18.4 测试策略 319
18.4.1 规划目标 320
18.4.2 选择测试用户 320
18.4.3 测试用例 321
18.5 为什么要测试,为什么不要测试 322
第六部分 过程的组织和管理 325
第19章 编程实现:界面的实现 325
19.1 对象和界面 325
19.1.1 用于实现的对象 326
19.1.2 面向对象的用户界面 326
19.1.3 表面上的对象 327
19.1.4 对象体系结构 328
19.2 快速开发 329
19.2.1 集中建造 329
19.2.2 结构迭代 330
19.3 可视设计的可视开发 331
第20章 对用户的使用:开发过程中的用户 335
20.1 对用户的使用或滥用 335
20.1.1 开发周期中的用户 335
20.1.2 以使用为中心设计中的用户 337
20.2 需求对话,需求舞蹈 338
20.3 追根溯源 340
20.3.1 面对面 340
20.3.2 会议机制 341
20.3.3 观察工作 342
20.4.1 对预期的管理 343
20.4 对用户的使用 343
20.4.2 对付混乱 344
20.4.3 用户和原型 345
20.5 联合基本建模 346
20.5.1 联合运用 347
20.5.2 从JAD到JEM 348
20.5.3 参与者角色 348
20.5.4 活动概览 350
20.5.5 框架会议 350
20.5.6 建模会议 351
20.5.7 检查会议 352
21.1 组织部门 355
第21章 如何组织:在更大应用环境中的可用性 355
21.2 标准和风格指南 356
21.2.1 标准的变更 356
21.2.2 可用的可用性标准 357
21.2.3 背离标准 358
21.3 竞争性群体 358
21.3.1 市场,市场 359
21.3.2 市场研究 359
21.3.3 市场和使用 360
21.4 专家和专长 361
21.3.4 当顾客不对时 361
21.5 符合文化 363
21.5.1 集成可用性 365
21.5.2 后期补救 367
21.5.3 把真理分解开 367
附录A 推荐阅读书目 369
附录B 使软件更可用的11种途径:软件可用性基本原理 371
附录C 词汇表 373
附录D 以使用为中心设计方法所用的若干表格 379
附录E 软件可用性主观衡量(SUSS) 383
参考文献 385