系统分析与设计(原书第11版) / 计算机科学丛书
定价:¥149.00
作者: [美]肯尼斯·E. 肯德尔(Kenneth E. Kendall) [美]朱莉·E. 肯德尔(Julie E. Kendall)
出版时间:2024-12-10
出版社:机械工业出版社
- 机械工业出版社
- 9787111764366
- 1-1
- 2024-12-10
- 955
内容简介
本书英文版自1988年首次出版以来,被翻译为多种语言,并被众多国家和地区的高校选为教科书。第11版紧跟信息系统领域的发展趋势,并结合作者长期的教学和实践经验,全面阐述系统分析与设计所涉及的知识、技术和工具,包括系统分析基础、信息需求分析、分析过程、设计基础、质量保证和实现等内容。第11版的重要更新包括有关云开发生命周期、隐喻式第三设计空间、敏捷开发、数据可视化、Web 3.0、需求可追溯性等的新内容。本书既适合作为高等院校计算机科学、信息管理等相关专业的教材,也适合从事软件项目开发的系统分析员参考。
目录
目 录
Systems Analysis and Design, Eleventh Edition
译者序
前 言
致 谢
第一部分 系统分析基础
第1章 系统、角色和开发方法 2
1.1 系统分析与设计的必要性 2
1.2 系统分析员的角色 3
1.2.1 系统分析员作为顾问 3
1.2.2 系统分析员作为支持专家 4
1.2.3 系统分析员作为变革者 4
1.2.4 系统分析员的品质 5
1.3 系统开发生命周期 5
1.3.1 标识问题、机会和目标 6
1.3.2 确定用户的信息需求 6
1.3.3 分析系统需求 7
1.3.4 设计推荐的系统 7
1.3.5 软件开发和编档 8
1.3.6 系统测试和维护 8
1.3.7 系统实现和评估 8
1.3.8 维护的影响 8
1.3.9 使用CASE工具 9
1.4 敏捷方法 10
1.4.1 调研 11
1.4.2 规划 12
1.4.3 对第一次发布的迭代 13
1.4.4 产品化 13
1.4.5 维护 13
1.5 面向对象系统分析与设计 13
1.5.1 面向对象与SDLC的相似性 13
1.6 云开发生命周期 15
1.6.1 云计算 15
1.6.2 实现CDLC 18
1.7 选择要使用的系统开发方法 19
1.8 开发开源软件 19
1.8.1 开源运动 20
1.8.2 第三设计空间 20
1.8.3 企业参与开源软件开发的
好处 20
1.8.4 许可及合规问题 21
1.8.5 分析员在开源软件中的角色 21
1.9 小结 22
复习题 23
参考文献 23
第2章 了解组织系统和组织
系统建模 25
2.1 组织作为系统 25
2.1.1 系统的相互关联和相互依赖 25
2.1.2 虚拟组织和虚拟团队 27
2.1.3 采取系统的观点 28
2.1.4 企业系统:视组织为系统 29
2.2 以图形方式描述系统 30
2.2.1 系统和上下文级数据流图 30
2.2.2 系统和实体-关系模型 31
2.3 用例建模 35
2.3.1 用例符号 37
2.3.2 用例关系 37
2.3.3 开发系统范围 39
2.3.4 开发用例图 39
2.3.5 开发用例场景 39
2.3.6 用例级别 40
2.3.7 创建用例描述 44
2.3.8 为什么用例图是有益的 44
2.4 管理的层次 45
2.4.1 对信息系统开发的意义 46
2.4.2 协同设计 46
2.5 组织文化 47
2.5.1 技术对文化的影响 48
2.6 小结 48
复习题 49
问题 50
小组项目 51
参考文献 51
第3章 项目管理 53
3.1 项目启动 53
3.1.1 组织内的问题 53
3.1.2 定义问题 54
3.1.3 选择项目 58
3.2 确定可行性 59
3.2.1 判断可能性 59
3.2.2 估计工作负荷 60
3.3 确定硬件和软件需求 61
3.3.1 盘点计算机硬件 61
3.3.2 评估计算机硬件采购 62
3.3.3 租用云服务时间和空间 63
3.3.4 评估厂商对计算机硬件的
支持 64
3.3.5 理解BYOD方案 65
3.3.6 创建定制软件 65
3.3.7 购买COTS软件 66
3.3.8 使用SaaS提供商的服务 68
3.3.9 评估厂商对软件和SaaS的
支持 68
3.4 成本与效益的识别、预测和比较 68
3.4.1 预测 69
3.4.2 识别效益和成本 71
3.4.3 成本效益比较 71
3.5 时间和活动的管理 72
3.5.1 工作分解结构 73
3.5.2 时间估计技术 73
3.6 项目进度安排 76
3.6.1 使用甘特图进行项目调度 77
3.6.2 使用PERT图 77
3.7 项目控制 80
3.7.1 估计成本和编制预算 80
3.7.2 风险管理 82
3.7.3 使用加速法管理时间 83
3.7.4 使用挣值管理法控制成本 85
3.8 管理项目团队 88
3.8.1 组建团队 88
3.8.2 团队管理的沟通策略 89
3.8.3 设置项目生产率目标 90
3.8.4 激励项目团队成员 90
3.8.5 管理电子商务项目 91
3.8.6 制定项目章程 92
3.9 系统建议 92
3.9.1 系统建议包含的内容 92
3.9.2 使用插图进行有效沟通 93
3.10 小结 95
复习题 97
问题 98
小组项目 103
参考文献 103
第二部分 信息需求分析
第4章 信息收集:交互式方法 106
4.1 面谈 106
4.1.1 面谈准备的5个步骤 107
4.1.2 问题类型 108
4.1.3 按逻辑顺序安排问题 111
4.1.4 撰写面谈报告 114
4.2 听故事 114
4.2.1 故事由要素构成 115
4.2.2 讲故事的原因 116
4.3 联合应用程序设计 117
4.3.1 支持使用JAD的条件 117
4.3.2 涉及的人员 117
4.3.3 召开JAD会议的地点 118
4.3.4 完成项目活动的
结构化分析 118
4.3.5 用JAD代替传统面谈的
潜在优点 118
4.3.6 使用JAD的潜在缺点 119
4.4 使用问卷调查表 119
4.4.1 规划问卷调查表的使用 120
4.4.2 写下问题 120
4.4.3 设计问卷调查表 125
4.4.4 整理问卷调查表 126
4.5 需求优先级 128
4.5.1 简单排序 129
4.5.2 100代币法 129
4.5.3 MoSCoW方法 129
4.5.4 紧急/重要矩阵 130
4.5.5 层次分析法 130
4.5.6 Q-排序 130
4.6 小结 131
复习题 132
问题 133
小组项目 135
参考文献 137
第5章 信息收集:非干扰性方法 138
5.1 采样 138
5.1.1 采样的必要性 138
5.1.2 采样设计 139
5.1.3 确定采样规模 141
5.1.4 示例 142
5.1.5 定量文档分析 143
5.1.6 系统分析定量文档 144
5.2 定性文档分析 147
5.2.1 系统分析定性文档 148
5.3 使用文本分析功能 149
5.4 过程挖掘 151
5.5 劳动力分析 153
5.5.1 了解应用程序使用和
网站访问 154
5.5.2 确定员工失去注意力的
时间和原因 155
5.5.3 比较团队绩效 155
5.6 观察决策者的行为 156
5.6.1 观察典型的管理者的
决策活动 156
5.7 观察物理环境 157
5.7.1 结构化环境观察 157
5.7.2 应用STROBE方法 159
5.8 小结 160
复习题 161
问题 162
小组项目 164
参考文献 164
第6章 敏捷建模、原型化方法
和Scrum 166
6.1 原型化方法 167
6.1.1 原型的种类 167
6.1.2 用户在原型化方法中的
角色 169
6.2 敏捷建模 169
6.2.1 敏捷建模的价值和原则 169
6.2.2 敏捷建模的活动、资源
和实践 172
6.2.3 敏捷开发过程 176
6.3 用户故事 177
6.3.1 编写用户故事:示例 178
6.4 Scrum 180
6.4.1 Scrum中的角色 182
6.4.2 产品待办事项列表 182
6.4.3 sprint周期 183
6.4.4 其他独特的Scrum特性 184
6.4.5 看板 186
6.4.6 Scrum的优点和缺点 187
6.5 DevOps:应用程序开发的
文化转变 188
6.6 无代码软件开发 189
6.7 敏捷软件开发的工作管理系统 190
6.8 敏捷建模与结构化方法的比较 192
6.8.1 从敏捷建模中吸取的
经验教训 192
6.8.2 改进知识工作效率:
SDLC与敏捷 193
6.8.3 组织革新的固有风险 197
6.9 小结 199
复习题 200
问题 201
小组项目 202
参考文献 203
第三部分 分析过程
第7章 使用数据流图 206
7.1 需求确定的数据流方法 206
7.1.1 数据流图的使用规范 206
7.2 开发数据流图 208
7.2.1 创建上下文级数据流图 208
7.2.2 画0层图(上下文级数据
流图的下一层) 209
7.2.3 创建子图(更详细的图层) 210
7.2.4 检查数据流图中的错误 211
7.3 逻辑数据流图和物理数据流图 213
7.3.1 开发逻辑数据流图 215
7.3.2 开发物理数据流图 216
7.3.3 分割数据流图 219
7.4 数据流图实例 220
7.4.1 开发业务活动列表 220
7.4.2 创建上下文级数据流图 221
7.4.3 绘制0层图 221
7.4.4 创建子图 221
7.4.5 根据逻辑数据流图创建
物理数据流图 223
7.4.6 分割物理数据流图 224
7.5 分割Web站点 225
7.6 使用数据流图进行沟通 228
7.7 小结 230
复习题 230
问题 231
小组项目 233
参考文献 233
第8章 使用数据字典分析系统 234
8.1 数据字典 234
8.1.1 了解数据字典的必要性 234
8.2 数据存储库 235
8.2.1 定义数据流 236
8.2.2 描述数据结构 237
8.2.3 逻辑数据结构和物理
数据结构 238
8.2.4 数据元素 239
8.2.5 数据存储 242
8.3 创建数据字典 243
8.3.1 分析输入和输出 244
8.3.2 开发数据存储 246
8.4 使用数据字典 247
8.4.1 使用数据字典创建XML 248
8.4.2 XML文档类型定义 250
8.4.3 XML模式 251
8.5 小结 251
复习题 252
问题 252
小组项目 255
参考文献 255
第9章 过程规范和结构化决策 256
9.1 过程规范概述 256
9.1.1 过程规范格式 257
9.2 结构化英语 259
9.2.1 编写结构化英语 260
9.2.2 数据字典和过程规范 261
9.3 决策表 263
9.3.1 开发决策表 264
9.3.2 核验完备性和正确性 267
9.4 决策树 268
9.4.1 画决策树 269
9.5 选择一种结构化决策分析技术 270
9.6 小结 270
复习题 271
问题 271
小组项目 273
参考文献 274
第10章 基于UML的面向对象
系统分析与设计 275
10.1 面向对象的概念 275
10.1.1 对象 276
10.1.2 类 276
10.1.3 继承 277
10.2 CRC卡片和对象思考 277
10.2.1 CRC会话期间的交互 278
10.3 统一建模语言概念和图表 280
10.4 用例建模 282
10.5 活动图 284
10.5.1 创建活动图 286
10.5.2 活动图的存储库条目 288
10.6 顺序图和通信图 288
10.6.1 顺序图 288
10.6.2 通信图 290
10.7 类图 291
10.7.1 方法重载 292
10.7.2 类的类型 293
10.7.3 定义消息和方法 294
10.8 增强顺序图 294
10.8.1 Web类实例 294
10.8.2 顺序图中的表示层、
业务层和持久层 297
10.9 增强类图 297
10.9.1 关系 298
10.9.2 泛型/特型图 301
10.10 状态图 304
10.10.1 状态转移实例 305
10.11 包和其他UML制品 306
10.12 UML实践 307
10.13 使用UML进行建模的
重要性 310
10.14 小结 311
复习题 312
问题 313
参考文献 314
第四部分 设计基础
第11章 设计有效的输出 316
11.1 输出设计的目标 316
11.1.1 设计满足预定目标的输出 317
11.1.2 设计适合用户的输出 317
11.1.3 交付合适数量的输出 317
11.1.4 确保输出的必要性 317
11.1.5 按时提供输出 317
11.1.6 选用正确的输出方法 318
11.2 将输出内容与输出方式
联系起来 318
11.2.1 输出技术 318
11.2.2 选择输出技术所要考虑
的因素 318
11.3 认识到输出偏差对用户的影响 325
11.3.1 识别输出使用方式所
带来的偏差 325
11.3.2 在设计输出时应避免偏差 326
11.4 设计打印输出 327
11.5 设计屏幕输出 327
11.5.1 屏幕设计指导原则 327
11.5.2 在屏幕设计中使用
图形输出 330
11.5.3 仪表板 330
11.5.4 信息图 332
11.6 数据可视化 333
11.6.1 数据可视化与纽约
地铁系统 335
11.7 设计网站 337
11.7.1 响应式网页设计 337
11.7.2 扁平化网页设计 338
11.7.3 网站设计的一般指导原则 339
11.7.4 网站设计的特殊指导原则 341
11.8 Web 2.0技术 346
11.9 社交媒体设计 348
11.9.1 社交媒体设计指导原则 348
11.10 设计智能电话和平板
计算机的App 349
11.10.1 建立开发者账号 350
11.10.2 选择开发过程 350
11.10.3 原创性 350
11.10.4 确定App的定价方式 351
11.10.5 遵守输出设计规则 351
11.10.6 设计图标 352
11.10.7 为App选择合适的名称 352
11.10.8 设计应适用于各种设备 352
11.10.9 设计App的输出 353
11.10.10 再次为不同的方向
设计输出 354
11.10.11 分享设计原型 354
11.10.12 App的逻辑设计 354
11.10.13 移动设计 354
11.10.14 创建使用手势的
用户界面 354
11.10.15 保护知识产权 354
11.10.16 销售App 355
11.11 输出产品和XML 355
11.11.1 Ajax 357
11.12 小结 358
复习题 359
问题 360
小组项目 364
参考文献 365
第12章 设计有效的输入 366
12.1 良好的表单设计 366
12.1.1 表单应易于填写 367
12.1.2 表单应满足设计目标 370
12.1.3 表单应确保准确填写 370
12.1.4 表单应具有吸引力 370
12.1.5 控制业务表单 370
12.2 良好的屏幕显示和网页
表单设计 371
12.2.1 保持屏幕显示简洁 371
12.2.2 保持屏幕显示的一致性 372
12.2.3 方便用户在屏幕间移动 372
12.2.4 设计具有吸引力且令人
满意的屏幕显示 372
12.2.5 在屏幕显示设计中
使用图标 374
12.2.6 图形用户界面设计 374
12.2.7 表单控件和值 377
12.2.8 隐藏字段 378
12.2.9 事件响应图 379
12.2.10 动态网页 381
12.2.11 三维网页 381
12.2.12 Ajax 383
12.2.13 在屏幕显示设计中
使用色彩 385
12.3 网站设计 386
12.4 小结 389
复习题 390
问题 390
小组项目 394
参考文献 394
第13章 数据库设计 395
13.1 数据库 396
13.2 数据概念 397
13.2.1 现实、数据和元数据 397
13.2.2 文件 403
13.2.3 关系数据库 404
13.3 规范化 406
13.3.1 规范化的3个步骤 406
13.3.2 规范化实例 407
13.3.3 使用实体-关系图
确定记录键 414
13.3.4 一对多关系 414
13.3.5 多对多关系 415
13.4 主文件/数据库关系
设计指导原则 416
13.4.1 完整性约束 416
13.4.2 异常 418
13.5 使用数据库 418
13.5.1 检索和展示数据的步骤 418
13.6 反规范化 419
13.7 数据仓库 421
13.7.1 联机分析处理 422
13.7.2 数据挖掘 422
13.8 商业智能 425
13.9 数据分析 426
13.10 数据湖 426
13.11 区块链 428
13.11.1 Web 3.0 429
13.12 小结 430
复习题 431
问题 432
小组项目 433
参考文献 434
第14章 人机交互与UX设计 435
14.1 理解人机交互 435
14.1.1 配合怎样影响绩效和
幸福感 436
14.2 可用性 436
14.2.1 设计个人用户的认知风格 437
14.2.2 HCI设计中的物理因素 438
14.2.3 考虑用户的缺陷、残障
并加以设计 439
14.2.4 实施良好的HCI实践 439
14.3 用户界面的类型 441
14.3.1 自然语言界面 441
14.3.2 问答式界面 441
14.3.3 菜单 442
14.3.4 填充式表单界面 443
14.3.5 选择和评估界面 443
14.4 UX设计 444
14.4.1 推动出色UX设计的
五个行为 445
14.4.2 UX设计中应避免的
五个行为 446
14.4.3 UX设计的指导原则:
电子商务示例 447
14.4.4 UX设计的益处 448
14.5 设计智能手机和平板
计算机的界面 448
14.5.1 手势 448
14.5.2 警报、通知和查询 449
14.5.3 徽章 450
14.6 智能个人助理设计 450
14.7 虚拟现实和增强现实设计 451
14.7.1 元宇宙 451
14.8 对话设计的指导原则 453
14.8.1 有意义的交流 453
14.8.2 最小化用户操作 453
14.8.3 操作的标准化和一致性 455
14.9 用户反馈 456
14.9.1 反馈的类型 456
14.9.2 在系统设计中包含反馈 458
14.10 电子商务的特殊设计因素 458
14.10.1 获得电子商务网站
客户的反馈 458
14.10.2 轻松导航电子商务网站 461
14.10.3 糅合技术 462
14.10.4 Cookie合规性 463
14.10.5 聊天机器人、电子商务
和人工智能 464
14.11 查询设计 464
14.11.1 查询类型 464
14.11.2 查询方法 467
14.12 小结 470
复习题 471
问题 472
小组项目 473
参考文献 474
第五部分 质量保证和实现
第15章 设计准确的数据输入规范 478
15.1 有效编码 478
15.1.1 记录某些事物 478
15.1.2 分类信息 480
15.1.3 隐藏信息 482
15.1.4 揭示信息 482
15.1.5 请求相应的处理 484
15.1.6 编码的一般指导原则 485
15.2 有效且高效的数据获取 489
15.2.1 决定要获取什么样的数据 489
15.2.2 让计算机完成其余的事情 489
15.2.3 避免瓶颈和额外步骤 491
15.2.4 从一个好的表单开始 491
15.2.5 选择一种数据输入方法 491
15.3 通过输入验证保证数据的质量 495
15.3.1 输入事务有效性验证 496
15.3.2 输入数据有效性验证 497
15.3.3 验证过程 500
15.4 电子商务环境中的数据
准确性优势 501
15.4.1 客户自己键入数据 501
15.4.2 保存数据以备后用 501
15.4.3 通过订单履行过程
使用数据 501
15.4.4 向客户提供反馈信息 502
15.5 小结 502
复习题 503
问题 504
小组项目 506
参考文献 506
第16章 质量保证和实施 508
16.1 全面质量管理方法 508
16.1.1 六西格玛 509
16.1.2 全面质量管理的责任 509
16.1.3 结构化走查 510
16.1.4 自顶向下的系统设计
与开发 510
16.1.5 使用结构图设计模块化
系统 513
16.1.6 面向服务的架构 515
16.2 编档方法 516
16.2.1 程序操作手册 516
16.2.2 民间故事法 516
16.2.3 选择一种设计和
编档技术 518
16.3 需求可追溯性 518
16.4 测试、维护和审计 520
16.4.1 测试过程 521
16.4.2 行为驱动开发 524
16.4.3 维护实践 524
16.4.4 审计 525
16.5 实现分布式系统 525
16.5.1 客户/服务器技术 525
16.5.2 网络建模 527
16.6 用户培训 530
16.6.1 培训策略 530
16.6.2 培训的指导原则 531
16.7 转换到新系统 533
16.7.1 转换策略 533
16.7.2 转换时应考虑的其他因素 534
16.7.3 组织隐喻及其与成功
系统的关系 535
16.8 传统系统和基于Web的
系统的安全考虑 535
16.8.1 物理安全性 536
16.8.2 逻辑安全性 536
16.8.3 行为安全性 537
16.8.4 提高安全性的双因素
身份验证 537
16.8.5 电子商务安全的特别
注意事项 538
16.8.6 物联网的实施问题 538
16.8.7 电子商务的隐私注意事项 539
16.8.8 灾害恢复规划 540
16.9 评估 542
16.9.1 评估方法 542
16.9.2 信息系统效用方法 542
16.10 评估公司的Web站点 544
16.11 小结 545
复习题 546
问题 547
小组项目 549
参考文献 550
术语表 551
缩略语表 576
Systems Analysis and Design, Eleventh Edition
译者序
前 言
致 谢
第一部分 系统分析基础
第1章 系统、角色和开发方法 2
1.1 系统分析与设计的必要性 2
1.2 系统分析员的角色 3
1.2.1 系统分析员作为顾问 3
1.2.2 系统分析员作为支持专家 4
1.2.3 系统分析员作为变革者 4
1.2.4 系统分析员的品质 5
1.3 系统开发生命周期 5
1.3.1 标识问题、机会和目标 6
1.3.2 确定用户的信息需求 6
1.3.3 分析系统需求 7
1.3.4 设计推荐的系统 7
1.3.5 软件开发和编档 8
1.3.6 系统测试和维护 8
1.3.7 系统实现和评估 8
1.3.8 维护的影响 8
1.3.9 使用CASE工具 9
1.4 敏捷方法 10
1.4.1 调研 11
1.4.2 规划 12
1.4.3 对第一次发布的迭代 13
1.4.4 产品化 13
1.4.5 维护 13
1.5 面向对象系统分析与设计 13
1.5.1 面向对象与SDLC的相似性 13
1.6 云开发生命周期 15
1.6.1 云计算 15
1.6.2 实现CDLC 18
1.7 选择要使用的系统开发方法 19
1.8 开发开源软件 19
1.8.1 开源运动 20
1.8.2 第三设计空间 20
1.8.3 企业参与开源软件开发的
好处 20
1.8.4 许可及合规问题 21
1.8.5 分析员在开源软件中的角色 21
1.9 小结 22
复习题 23
参考文献 23
第2章 了解组织系统和组织
系统建模 25
2.1 组织作为系统 25
2.1.1 系统的相互关联和相互依赖 25
2.1.2 虚拟组织和虚拟团队 27
2.1.3 采取系统的观点 28
2.1.4 企业系统:视组织为系统 29
2.2 以图形方式描述系统 30
2.2.1 系统和上下文级数据流图 30
2.2.2 系统和实体-关系模型 31
2.3 用例建模 35
2.3.1 用例符号 37
2.3.2 用例关系 37
2.3.3 开发系统范围 39
2.3.4 开发用例图 39
2.3.5 开发用例场景 39
2.3.6 用例级别 40
2.3.7 创建用例描述 44
2.3.8 为什么用例图是有益的 44
2.4 管理的层次 45
2.4.1 对信息系统开发的意义 46
2.4.2 协同设计 46
2.5 组织文化 47
2.5.1 技术对文化的影响 48
2.6 小结 48
复习题 49
问题 50
小组项目 51
参考文献 51
第3章 项目管理 53
3.1 项目启动 53
3.1.1 组织内的问题 53
3.1.2 定义问题 54
3.1.3 选择项目 58
3.2 确定可行性 59
3.2.1 判断可能性 59
3.2.2 估计工作负荷 60
3.3 确定硬件和软件需求 61
3.3.1 盘点计算机硬件 61
3.3.2 评估计算机硬件采购 62
3.3.3 租用云服务时间和空间 63
3.3.4 评估厂商对计算机硬件的
支持 64
3.3.5 理解BYOD方案 65
3.3.6 创建定制软件 65
3.3.7 购买COTS软件 66
3.3.8 使用SaaS提供商的服务 68
3.3.9 评估厂商对软件和SaaS的
支持 68
3.4 成本与效益的识别、预测和比较 68
3.4.1 预测 69
3.4.2 识别效益和成本 71
3.4.3 成本效益比较 71
3.5 时间和活动的管理 72
3.5.1 工作分解结构 73
3.5.2 时间估计技术 73
3.6 项目进度安排 76
3.6.1 使用甘特图进行项目调度 77
3.6.2 使用PERT图 77
3.7 项目控制 80
3.7.1 估计成本和编制预算 80
3.7.2 风险管理 82
3.7.3 使用加速法管理时间 83
3.7.4 使用挣值管理法控制成本 85
3.8 管理项目团队 88
3.8.1 组建团队 88
3.8.2 团队管理的沟通策略 89
3.8.3 设置项目生产率目标 90
3.8.4 激励项目团队成员 90
3.8.5 管理电子商务项目 91
3.8.6 制定项目章程 92
3.9 系统建议 92
3.9.1 系统建议包含的内容 92
3.9.2 使用插图进行有效沟通 93
3.10 小结 95
复习题 97
问题 98
小组项目 103
参考文献 103
第二部分 信息需求分析
第4章 信息收集:交互式方法 106
4.1 面谈 106
4.1.1 面谈准备的5个步骤 107
4.1.2 问题类型 108
4.1.3 按逻辑顺序安排问题 111
4.1.4 撰写面谈报告 114
4.2 听故事 114
4.2.1 故事由要素构成 115
4.2.2 讲故事的原因 116
4.3 联合应用程序设计 117
4.3.1 支持使用JAD的条件 117
4.3.2 涉及的人员 117
4.3.3 召开JAD会议的地点 118
4.3.4 完成项目活动的
结构化分析 118
4.3.5 用JAD代替传统面谈的
潜在优点 118
4.3.6 使用JAD的潜在缺点 119
4.4 使用问卷调查表 119
4.4.1 规划问卷调查表的使用 120
4.4.2 写下问题 120
4.4.3 设计问卷调查表 125
4.4.4 整理问卷调查表 126
4.5 需求优先级 128
4.5.1 简单排序 129
4.5.2 100代币法 129
4.5.3 MoSCoW方法 129
4.5.4 紧急/重要矩阵 130
4.5.5 层次分析法 130
4.5.6 Q-排序 130
4.6 小结 131
复习题 132
问题 133
小组项目 135
参考文献 137
第5章 信息收集:非干扰性方法 138
5.1 采样 138
5.1.1 采样的必要性 138
5.1.2 采样设计 139
5.1.3 确定采样规模 141
5.1.4 示例 142
5.1.5 定量文档分析 143
5.1.6 系统分析定量文档 144
5.2 定性文档分析 147
5.2.1 系统分析定性文档 148
5.3 使用文本分析功能 149
5.4 过程挖掘 151
5.5 劳动力分析 153
5.5.1 了解应用程序使用和
网站访问 154
5.5.2 确定员工失去注意力的
时间和原因 155
5.5.3 比较团队绩效 155
5.6 观察决策者的行为 156
5.6.1 观察典型的管理者的
决策活动 156
5.7 观察物理环境 157
5.7.1 结构化环境观察 157
5.7.2 应用STROBE方法 159
5.8 小结 160
复习题 161
问题 162
小组项目 164
参考文献 164
第6章 敏捷建模、原型化方法
和Scrum 166
6.1 原型化方法 167
6.1.1 原型的种类 167
6.1.2 用户在原型化方法中的
角色 169
6.2 敏捷建模 169
6.2.1 敏捷建模的价值和原则 169
6.2.2 敏捷建模的活动、资源
和实践 172
6.2.3 敏捷开发过程 176
6.3 用户故事 177
6.3.1 编写用户故事:示例 178
6.4 Scrum 180
6.4.1 Scrum中的角色 182
6.4.2 产品待办事项列表 182
6.4.3 sprint周期 183
6.4.4 其他独特的Scrum特性 184
6.4.5 看板 186
6.4.6 Scrum的优点和缺点 187
6.5 DevOps:应用程序开发的
文化转变 188
6.6 无代码软件开发 189
6.7 敏捷软件开发的工作管理系统 190
6.8 敏捷建模与结构化方法的比较 192
6.8.1 从敏捷建模中吸取的
经验教训 192
6.8.2 改进知识工作效率:
SDLC与敏捷 193
6.8.3 组织革新的固有风险 197
6.9 小结 199
复习题 200
问题 201
小组项目 202
参考文献 203
第三部分 分析过程
第7章 使用数据流图 206
7.1 需求确定的数据流方法 206
7.1.1 数据流图的使用规范 206
7.2 开发数据流图 208
7.2.1 创建上下文级数据流图 208
7.2.2 画0层图(上下文级数据
流图的下一层) 209
7.2.3 创建子图(更详细的图层) 210
7.2.4 检查数据流图中的错误 211
7.3 逻辑数据流图和物理数据流图 213
7.3.1 开发逻辑数据流图 215
7.3.2 开发物理数据流图 216
7.3.3 分割数据流图 219
7.4 数据流图实例 220
7.4.1 开发业务活动列表 220
7.4.2 创建上下文级数据流图 221
7.4.3 绘制0层图 221
7.4.4 创建子图 221
7.4.5 根据逻辑数据流图创建
物理数据流图 223
7.4.6 分割物理数据流图 224
7.5 分割Web站点 225
7.6 使用数据流图进行沟通 228
7.7 小结 230
复习题 230
问题 231
小组项目 233
参考文献 233
第8章 使用数据字典分析系统 234
8.1 数据字典 234
8.1.1 了解数据字典的必要性 234
8.2 数据存储库 235
8.2.1 定义数据流 236
8.2.2 描述数据结构 237
8.2.3 逻辑数据结构和物理
数据结构 238
8.2.4 数据元素 239
8.2.5 数据存储 242
8.3 创建数据字典 243
8.3.1 分析输入和输出 244
8.3.2 开发数据存储 246
8.4 使用数据字典 247
8.4.1 使用数据字典创建XML 248
8.4.2 XML文档类型定义 250
8.4.3 XML模式 251
8.5 小结 251
复习题 252
问题 252
小组项目 255
参考文献 255
第9章 过程规范和结构化决策 256
9.1 过程规范概述 256
9.1.1 过程规范格式 257
9.2 结构化英语 259
9.2.1 编写结构化英语 260
9.2.2 数据字典和过程规范 261
9.3 决策表 263
9.3.1 开发决策表 264
9.3.2 核验完备性和正确性 267
9.4 决策树 268
9.4.1 画决策树 269
9.5 选择一种结构化决策分析技术 270
9.6 小结 270
复习题 271
问题 271
小组项目 273
参考文献 274
第10章 基于UML的面向对象
系统分析与设计 275
10.1 面向对象的概念 275
10.1.1 对象 276
10.1.2 类 276
10.1.3 继承 277
10.2 CRC卡片和对象思考 277
10.2.1 CRC会话期间的交互 278
10.3 统一建模语言概念和图表 280
10.4 用例建模 282
10.5 活动图 284
10.5.1 创建活动图 286
10.5.2 活动图的存储库条目 288
10.6 顺序图和通信图 288
10.6.1 顺序图 288
10.6.2 通信图 290
10.7 类图 291
10.7.1 方法重载 292
10.7.2 类的类型 293
10.7.3 定义消息和方法 294
10.8 增强顺序图 294
10.8.1 Web类实例 294
10.8.2 顺序图中的表示层、
业务层和持久层 297
10.9 增强类图 297
10.9.1 关系 298
10.9.2 泛型/特型图 301
10.10 状态图 304
10.10.1 状态转移实例 305
10.11 包和其他UML制品 306
10.12 UML实践 307
10.13 使用UML进行建模的
重要性 310
10.14 小结 311
复习题 312
问题 313
参考文献 314
第四部分 设计基础
第11章 设计有效的输出 316
11.1 输出设计的目标 316
11.1.1 设计满足预定目标的输出 317
11.1.2 设计适合用户的输出 317
11.1.3 交付合适数量的输出 317
11.1.4 确保输出的必要性 317
11.1.5 按时提供输出 317
11.1.6 选用正确的输出方法 318
11.2 将输出内容与输出方式
联系起来 318
11.2.1 输出技术 318
11.2.2 选择输出技术所要考虑
的因素 318
11.3 认识到输出偏差对用户的影响 325
11.3.1 识别输出使用方式所
带来的偏差 325
11.3.2 在设计输出时应避免偏差 326
11.4 设计打印输出 327
11.5 设计屏幕输出 327
11.5.1 屏幕设计指导原则 327
11.5.2 在屏幕设计中使用
图形输出 330
11.5.3 仪表板 330
11.5.4 信息图 332
11.6 数据可视化 333
11.6.1 数据可视化与纽约
地铁系统 335
11.7 设计网站 337
11.7.1 响应式网页设计 337
11.7.2 扁平化网页设计 338
11.7.3 网站设计的一般指导原则 339
11.7.4 网站设计的特殊指导原则 341
11.8 Web 2.0技术 346
11.9 社交媒体设计 348
11.9.1 社交媒体设计指导原则 348
11.10 设计智能电话和平板
计算机的App 349
11.10.1 建立开发者账号 350
11.10.2 选择开发过程 350
11.10.3 原创性 350
11.10.4 确定App的定价方式 351
11.10.5 遵守输出设计规则 351
11.10.6 设计图标 352
11.10.7 为App选择合适的名称 352
11.10.8 设计应适用于各种设备 352
11.10.9 设计App的输出 353
11.10.10 再次为不同的方向
设计输出 354
11.10.11 分享设计原型 354
11.10.12 App的逻辑设计 354
11.10.13 移动设计 354
11.10.14 创建使用手势的
用户界面 354
11.10.15 保护知识产权 354
11.10.16 销售App 355
11.11 输出产品和XML 355
11.11.1 Ajax 357
11.12 小结 358
复习题 359
问题 360
小组项目 364
参考文献 365
第12章 设计有效的输入 366
12.1 良好的表单设计 366
12.1.1 表单应易于填写 367
12.1.2 表单应满足设计目标 370
12.1.3 表单应确保准确填写 370
12.1.4 表单应具有吸引力 370
12.1.5 控制业务表单 370
12.2 良好的屏幕显示和网页
表单设计 371
12.2.1 保持屏幕显示简洁 371
12.2.2 保持屏幕显示的一致性 372
12.2.3 方便用户在屏幕间移动 372
12.2.4 设计具有吸引力且令人
满意的屏幕显示 372
12.2.5 在屏幕显示设计中
使用图标 374
12.2.6 图形用户界面设计 374
12.2.7 表单控件和值 377
12.2.8 隐藏字段 378
12.2.9 事件响应图 379
12.2.10 动态网页 381
12.2.11 三维网页 381
12.2.12 Ajax 383
12.2.13 在屏幕显示设计中
使用色彩 385
12.3 网站设计 386
12.4 小结 389
复习题 390
问题 390
小组项目 394
参考文献 394
第13章 数据库设计 395
13.1 数据库 396
13.2 数据概念 397
13.2.1 现实、数据和元数据 397
13.2.2 文件 403
13.2.3 关系数据库 404
13.3 规范化 406
13.3.1 规范化的3个步骤 406
13.3.2 规范化实例 407
13.3.3 使用实体-关系图
确定记录键 414
13.3.4 一对多关系 414
13.3.5 多对多关系 415
13.4 主文件/数据库关系
设计指导原则 416
13.4.1 完整性约束 416
13.4.2 异常 418
13.5 使用数据库 418
13.5.1 检索和展示数据的步骤 418
13.6 反规范化 419
13.7 数据仓库 421
13.7.1 联机分析处理 422
13.7.2 数据挖掘 422
13.8 商业智能 425
13.9 数据分析 426
13.10 数据湖 426
13.11 区块链 428
13.11.1 Web 3.0 429
13.12 小结 430
复习题 431
问题 432
小组项目 433
参考文献 434
第14章 人机交互与UX设计 435
14.1 理解人机交互 435
14.1.1 配合怎样影响绩效和
幸福感 436
14.2 可用性 436
14.2.1 设计个人用户的认知风格 437
14.2.2 HCI设计中的物理因素 438
14.2.3 考虑用户的缺陷、残障
并加以设计 439
14.2.4 实施良好的HCI实践 439
14.3 用户界面的类型 441
14.3.1 自然语言界面 441
14.3.2 问答式界面 441
14.3.3 菜单 442
14.3.4 填充式表单界面 443
14.3.5 选择和评估界面 443
14.4 UX设计 444
14.4.1 推动出色UX设计的
五个行为 445
14.4.2 UX设计中应避免的
五个行为 446
14.4.3 UX设计的指导原则:
电子商务示例 447
14.4.4 UX设计的益处 448
14.5 设计智能手机和平板
计算机的界面 448
14.5.1 手势 448
14.5.2 警报、通知和查询 449
14.5.3 徽章 450
14.6 智能个人助理设计 450
14.7 虚拟现实和增强现实设计 451
14.7.1 元宇宙 451
14.8 对话设计的指导原则 453
14.8.1 有意义的交流 453
14.8.2 最小化用户操作 453
14.8.3 操作的标准化和一致性 455
14.9 用户反馈 456
14.9.1 反馈的类型 456
14.9.2 在系统设计中包含反馈 458
14.10 电子商务的特殊设计因素 458
14.10.1 获得电子商务网站
客户的反馈 458
14.10.2 轻松导航电子商务网站 461
14.10.3 糅合技术 462
14.10.4 Cookie合规性 463
14.10.5 聊天机器人、电子商务
和人工智能 464
14.11 查询设计 464
14.11.1 查询类型 464
14.11.2 查询方法 467
14.12 小结 470
复习题 471
问题 472
小组项目 473
参考文献 474
第五部分 质量保证和实现
第15章 设计准确的数据输入规范 478
15.1 有效编码 478
15.1.1 记录某些事物 478
15.1.2 分类信息 480
15.1.3 隐藏信息 482
15.1.4 揭示信息 482
15.1.5 请求相应的处理 484
15.1.6 编码的一般指导原则 485
15.2 有效且高效的数据获取 489
15.2.1 决定要获取什么样的数据 489
15.2.2 让计算机完成其余的事情 489
15.2.3 避免瓶颈和额外步骤 491
15.2.4 从一个好的表单开始 491
15.2.5 选择一种数据输入方法 491
15.3 通过输入验证保证数据的质量 495
15.3.1 输入事务有效性验证 496
15.3.2 输入数据有效性验证 497
15.3.3 验证过程 500
15.4 电子商务环境中的数据
准确性优势 501
15.4.1 客户自己键入数据 501
15.4.2 保存数据以备后用 501
15.4.3 通过订单履行过程
使用数据 501
15.4.4 向客户提供反馈信息 502
15.5 小结 502
复习题 503
问题 504
小组项目 506
参考文献 506
第16章 质量保证和实施 508
16.1 全面质量管理方法 508
16.1.1 六西格玛 509
16.1.2 全面质量管理的责任 509
16.1.3 结构化走查 510
16.1.4 自顶向下的系统设计
与开发 510
16.1.5 使用结构图设计模块化
系统 513
16.1.6 面向服务的架构 515
16.2 编档方法 516
16.2.1 程序操作手册 516
16.2.2 民间故事法 516
16.2.3 选择一种设计和
编档技术 518
16.3 需求可追溯性 518
16.4 测试、维护和审计 520
16.4.1 测试过程 521
16.4.2 行为驱动开发 524
16.4.3 维护实践 524
16.4.4 审计 525
16.5 实现分布式系统 525
16.5.1 客户/服务器技术 525
16.5.2 网络建模 527
16.6 用户培训 530
16.6.1 培训策略 530
16.6.2 培训的指导原则 531
16.7 转换到新系统 533
16.7.1 转换策略 533
16.7.2 转换时应考虑的其他因素 534
16.7.3 组织隐喻及其与成功
系统的关系 535
16.8 传统系统和基于Web的
系统的安全考虑 535
16.8.1 物理安全性 536
16.8.2 逻辑安全性 536
16.8.3 行为安全性 537
16.8.4 提高安全性的双因素
身份验证 537
16.8.5 电子商务安全的特别
注意事项 538
16.8.6 物联网的实施问题 538
16.8.7 电子商务的隐私注意事项 539
16.8.8 灾害恢复规划 540
16.9 评估 542
16.9.1 评估方法 542
16.9.2 信息系统效用方法 542
16.10 评估公司的Web站点 544
16.11 小结 545
复习题 546
问题 547
小组项目 549
参考文献 550
术语表 551
缩略语表 576








