第1章 系统分析与设计入门 1
1.1 引言 1
1.2 系统开发生命周期 3
1.2.1 计划 5
1.2.2 分析 5
1.2.3 设计 6
1.2.4 实现 6
1.3 系统开发方法论 7
1.3.1 结构化设计 8
1.3.2 快速应用开发(RAD) 9
1.3.3 敏捷开发 13
1.3.4 选择合适的开发方法论 14
1.4 项目团队技能和角色 15
1.4.1 业务分析员 16
1.4.2 系统分析员 17
1.4.3 墓础设施分析员 17
1.4.4 变更管理分析员 17
1.4.5 项目经理 17
小结 18
关键术语 18
问题 19
练习 20
小案例 20
第一部分 计划阶段 23
第2章 项目启动 23
2.1 引言 23
2.2 项目确定 24
2.2.1 系统需求 25
2.2.2 将方案应用到CDSelections项目 26
2.3 可行性分析 28
2.3.1 技术可行性 28
2.3.2 经济可行性 30
2.3.3 组织可行性 34
2.3.4 将方案应用到CDSelections项目 36
2.4 项目选择 39
小结 41
关键术语 41
问题 42
练习 43
小案例 43
第3章 项目管理 46
3.1 引言 46
3.2 确定项目规模 47
3.3 创建和管理工作计划 52
3.3.1 确定任务 52
3.3.2 项目工作计划 53
3.3.3 甘特图 54
3.3.4 PERT图 55
3.3.5 估算求精 56
3.3.6 范围管理 57
3.3.7 时间盒 58
3.4 安排项目人员 59
3.4.1 人员安排计划 59
3.4.2 激励 61
3.4.3 处理冲突 62
3.5 协调项目活动 62
3.5.1 CASE工具 63
3.5.2 标准 63
3.5.3 文档 64
3.5.4 风险管理 64
3.6 将方案应用到CDSelections 65
3.6.1 项目人员配备 67
3.6.2 项目协调活动 69
小结 69
关键术语 70
问题 71
练习 72
小案例 73
第二部分 分析阶段 77
第4章 需求确定 77
4.1 引言 77
4.2 需求确定 78
4.2.1 什么是需求 78
4.2.2 需求定义 80
4.2.3 确定需求 81
4.2.4 创建需求定义 81
4.3 需求分析技术 82
4.3.1 业务过程自动化 82
4.3.2 业务过程改进 83
4.3.3 业务过程再工程 86
4.3.4 分析技术比较 87
4.4 需求收集技术 88
4.4.1 需求收集实践 88
4.4.2 面谈 89
4.4.3 联合应用开发(JAD) 94
4.4.4 问卷 97
4.4.5 文档分析 100
4.4.6 观察法 101
4.4.7 选择合适的技术 101
4.5 将方案应用到CDSelections项目 103
4.5.1 需求分析技术 103
4.5.2 需求收集技术 103
4.5.3 需求定义 104
4.5.4 系统建议书 105
小结 106
关键术语 106
问题 107
练习 108
小案例 109
第5章 用例分析 112
5.1 引言 112
5.2 用例 113
5.2.1 用例的元素 113
5.2.2 建造用例 115
5.3 将方案应用到CDSelections项目 118
5.3.1 确定主要用例 118
5.3.2 确定每个用例的主要步骤 121
5.3.3 确定用例步骤中的元素 122
5.3.4 确认用例 124
5.3.5 修订需求定义 126
小结 127
关键术语 127
问题 127
练习 128
小案例 129
第6章 过程建模 132
6.1 引言 132
6.2 数据流图 133
6.2.1 阅读数据流图 133
6.2.2 数据流图的基本元素 134
6.2.3 用数据流图定义业务过程 136
6.2.4 过程描述 138
6.3 创建数据流图 139
6.3.1 创建上下文图 140
6.3.2 创建数据流图段 140
6.3.3 创建0层数据流图 142
6.3.4 创建1层数据流图(及下层) 142
6.3.5 验证数据流图 145
6.4 将方案应用到CDSelections项目 147
6.4.1 创建上下文图 147
6.4.2 创建数据流图段 148
6.4.3 创建0层数据流图 150
6.4.4 创建1层数据流图(及下层) 150
6.4.5 验证数据流图 152
小结 152
关键术语 153
问题 153
练习 154
小案例 154
附录A:CustomMetalWorks项目过程建模 155
第7章 数据建模 165
7.1 引言 165
7.2 实体关系图 166
7.2.1 阅读实体关系图 166
7.2.2 实体关系图的基本元素 167
7.2.3 数据字典和元数据 170
7.3 创建实体关系图 172
7.3.1 构造实体关系图 173
7.3.2 高级语法 174
7.3.3 将方案应用到CDSelections项目 176
7.4 验证实体关系图 178
7.4.1 设计指导原则 179
7.4.2 规范化 180
7.4.3 用DFD平衡ERD 184
小结 186
关键术语 186
问题 187
练习 187
小案例 189
附录A:CustomMetalWorks项目数据建模 191
第三部分 设计阶段 197
第8章 转换到设计 197
8.1 引言 197
8.2 从需求到设计的转换 197
8.3 系统获取策略 199
8.3.1 定制开发 200
8.3.2 购买软件包 201
8.3.3 外包 202
8.4 影响获取策略的因素 203
8.4.1 业务需要 203
8.4.2 内部经验 204
8.4.3 项目技能 204
8.4.4 项目管理 204
8.4.5 时间约束 205
8.5 选择一个系统获取策略 205
8.5.1 可选矩阵 206
8.5.2 将方案应用到CDSelections项目 207
小结 208
关键术语 209
问题 209
练习 210
小案例 210
第9章 架构设计 212
9.1 引言 212
9.2 架构设计的元素 212
9.2.1 架构构件 213
9.2.2 基于服务器的架构 213
9.2.3 墓于客户端的架构 213
9.2.4 C/S架构 214
9.2.5 C/S架构层次 216
9.2.6 各种架构的对比 216
9.3 创建架构设计 218
9.3.1 操作性需求 219
9.3.2 性能需求 220
9.3.3 安全需求 221
9.3.4 文化与政治需求 225
9.3.5 设计架构 226
9.4 硬件与软件规格 228
9.5 将方案应用到CDSelections项目 229
9.5.1 创建架构设计 229
9.5.2 硬件与软件规格 231
小结 231
关键术语 231
问题 232
练习 233
小案例 234
第10章 用户界面设计 236
10.1 引言 236
10.2 用户界面设计原则 237
10.2.1 布局 237
10.2.2 内容提示 240
10.2.3 审美学 240
10.2.4 用户经验 242
10.2.5 一致性 243
10.2.6 尽量减少用户投入 243
10.3 用户界面设计过程 243
10.3.1 使用场景开发 244
10.3.2 界面结构设计 245
10.3.3 界面标准设计 246
10.3.4 界面设计原型 248
10.3.5 界面评估 250
10.4 导航设计 251
10.4.1 墓本原则 251
10.4.2 导航控制的类型 252
10.4.3 消息 255
10.5 输入设计 256
10.5.1 墓本原则 256
10.5.2 输入类型 257
10.5.3 输入校验 260
10.6 输出设计 261
10.6.1 墓本原则 261
10.6.2 输出类型 262
10.6.3 介质 264
10.7 将方案应用到CDSelections项目 264
10.7.1 使用场景开发 265
10.7.2 界面结构设计 265
10.7.3 界面标准设计 268
10.7.4 界面模板设计 268
10.7.5 设计原型 269
10.7.6 界面评估 269
小结 270
关键术语 271
向题 273
练习 274
小案例 274
第11章 程序设计 279
11.1 引言 279
11.2 从逻辑过程模型到物理过程模型的转化 279
11.2.1 物理数据流图 280
11.2.2 将方案应用到CDSelections项目 282
11.3 设计程序 283
11.4 结构图 285
11.4.1 语法 285
11.4.2 创建结构图 288
11.4.3 将方案应用到CDSelections项目 290
11.4.4 设计原则 293
11.5 程序规格 297
11.5.1 语法 297
11.5.2 将方案应用到CDSelections项目 301
小结 302
关键术语 303
问题 303
练习 304
小案例 307
第12章 数据存储设计 310
12.1 引言 310
12.2 数据存储格式 311
12.2.1 文件 312
12.2.2 数据库 313
12.2.3 选择存储格式 318
12.2.4 将方案应用到CDSelections项目 319
12.3 从逻辑数据模型到物理数据模型的转换 320
12.3.1 物理实体关系图 320
12.3.2 修订CRUD矩阵 323
12.3.3 将方案应用到CDSelections项目 323
12.4 优化数据存储 325
12.4.1 优化存储效率 326
12.4.2 优化访问速度 327
12.4.3 估计存储大小 332
12.4.4 将方案应用到CDSelections项目 332
小结 334
关键术语 335
问题 336
练习 337
小案例 338
第四部分 实现阶段 341
第13章 转换到实现 341
13.1 引言 341
13.2 管理编程过程 341
13.2.1 分配编程任务 342
13.2.2 协调各个活动 342
13.2.3 管理进度 343
13.3 测试 343
13.3.1 测试计划 345
13.3.2 单元测试 347
13.3.3 集成测试 349
13.3.4 系统测试 349
13.3.5 验收测试 349
13.4 文档开发 349
13.4.1 文档类型 350
13.4.2 设计文档结构 351
13.4.3 书写文档主题 352
13.4.4 确定导航词 354
13.5 将方案应用到CDSelections项目 355
13.5.1 管理编程 355
13.5.2 测试 355
13.5.3 开发用户文档 356
小结 357
关键术语 358
问题 358
练习 359
小案例 359
第14章 转换到新系统 362
14.1 引言 362
14.2 实施到新系统的转换 362
14.3 迁移计划 363
14.3.1 选择转换策略 364
14.3.2 业务意外事件处理计划准备 367
14.3.3 技术准备 368
14.3.4 新系统人员准备 369
14.3.5 理解变更引起的阻力 369
14.3.6 修订管理策略 370
14.3.7 估算成本与收益 371
14.3.8 鼓励接纳 373
14.3.9 促进接纳:培训 374
14.4 实现后活动 376
14.4.1 系统支持 376
14.4.2 系统维护 377
14.4.3 项目评估 379
14.5 将方案应用到CDSelections项目 381
14.5.1 实现过程 381
14.5.2 人员准备 381
14.5.3 实现后活动 381
小结 382
关键术语 382
问题 383
练习 383
小案例 384
第15章 对象基础 386
15.1 引言 386
15.2 面向对象系统的基本特征 387
15.2.1 类和对象 387
15.2.2 方法和消息 388
15.2.3 封装和信息隐藏 388
15.2.4 继承 388
15.2.5 多态和动态绑定 390
15.3 面向对象系统的分析与设计 391
15.3.1 用例驱动 391
15.3.2 以架构为中心 392
15.3.3 迭代和增量 392
15.3.4 面向对象系统分析与设计的优点 392
15.4 UML2.0版 393
15.4.1 Rational统一过程(RUP) 394
15.4.2 四种基本的UML图 395
15.5 用例图 396
15.5.1 用例图的元素 396
15.5.2 创建用例图 399
15.6 类图 401
15.6.1 类图元素 401
15.6.2 简化类图 404
15.6.3 创建类图 405
15.7 时序图 408
15.8 行为状态机图 411
15.8.1 行为状态机图的元素 411
15.8.2 创建行为状态机图 413
小结 414
关键术语 415
问题 416
练习 418
小案例 421