第一部分 现代系统分析员 1
第一章 现代系统分析员涉及的领域 3
1.1 解决商业问题的分析员 5
1.2 解决商业问题的系统 6
1.2.1 信息系统 7
1.2.2 信息系统类型 9
1.3 系统分析员需要的技能 10
1.3.1 技术知识与技能 10
1.3.2 商业知识与技能 11
1.3.3 人的知识与技能 12
1.3.4 诚实与道德 12
1.4.1 面临的各种技术 13
1.4.2 典型的工作职称与职位 13
1.4 分析员周围环境 13
1.5 战略计划中分析员的作用 14
1.5.1 特殊项目 14
1.5.2 战略计划过程 15
1.5.3 信息系统战略计划 15
1.5.4 企业资源计划(ERP) 16
1.6 落基山运动用品商店的战略系统计划 16
1.6.1 落基山运动用品商店概述 16
1.6.2 组织与所在地 17
1.6.3 信息系统部门组织 17
1.6.4 原有系统 20
1.6.5 信息系统战略计划 20
1.6.6 两个主要的新系统 22
1.7.1 第一部分:现代系统分析员 23
1.7 系统开发级的分析员(课程核心) 23
1.7.2 第二部分:系统分析任务 24
1.7.3 第三部分:系统设计任务 24
1.7.4 第四部分:实施与支持 24
小结 25
关键术语 25
复习题 26
思考题 26
实验练习 27
实例研究 27
参考资料 28
第二章 项目经理级的分析员 29
2.1.1 系统开发生命周期 31
2.1 系统开发项目和SDLC 31
2.1.2 系统开发生命周期的前四个阶段 32
2.1.3 项目阶段进度安排 35
2.1.4 项目组 36
2.2 项目管理 37
2.2.1 计划和组织 39
2.2.2 指导——执行、监督和控制 39
2.3 项目启动 39
2.3.1 落基山运动用品商店项目启动 40
2.4 项目计划阶段 40
2.4.1 定义问题 41
2.4.2 确认项目可行性 44
2.4.3 制定项目进度表 50
2.4.4 为项目提供人员 53
2.4.5 启动项目 54
关键术语 55
小结 55
复习题 56
思考题 56
实验练习 57
实例研究 58
参考资料 59
第三章 系统开发方法 61
3.1 方法、模型、工具和技术 63
3.1.1 方法 63
3.1.2 模型 63
3.1.3 工具 64
3.1.4 技术 65
3.2.1 结构化方法 66
3.2 系统开发的三种方法 66
3.2.2 信息工程方法 71
3.2.3 面向对象方法 72
3.3 系统开发生命周期的变体 75
3.3.1 各个阶段的变体(瀑布模型) 75
3.3.2 基于迭代的变体 77
3.3.3 以人为重点的变体 79
3.3.4 基于开发速度的变体 79
3.4 计算机辅助系统工程(CASE)工具 80
3.5 分析和设计阶段细节 83
3.5.1 分析阶段 83
3.5.2 设计阶段 86
小结 89
复习题 90
关键术语 90
思考题 91
实验练习 91
实例研究 92
参考资料 92
第二部分 系统分析任务 95
第四章 调查系统需求 97
4.1 功能和技术需求 99
4.2 系统相关者——系统需求的资料来源 100
4.2.1 用户 101
4.2.2 客户 102
4.2.3 技术人员 102
4.2.4 落基山运动用品商店的系统相关者 102
4.3 识别系统需求 104
4.3.1 分发和收集调查表 106
4.3.2 复查现在报表、表格和过程描述 107
4.3.3 主持与用户的面谈和讨论 108
4.3.4 观察商业过程和工作流程 111
4.3.5 建立原型 112
4.3.6 主持联合应用设计会议 113
4.4 结构化遍历 115
4.4.1 What和When 116
4.4.2 Who 116
4.4.3 How 116
4.5 业务流程再造 118
小结 118
关键术语 119
思考题 120
复习题 120
实验练习 121
实例研究 122
参考资料 123
第五章 系统需求建模:事件和事物 125
5.1 模型和建模 127
5.1.1 模型的作用 128
5.1.2 模型的类型 129
5.1.3 分析的设计中使用的模型概述 131
5.2 事件和系统需求 132
5.2.1 事件概念的背景 133
5.2.2 事件的类型 134
5.2.3 识别事件 135
5.2.4 落基山运动用品商店(RMO)实例中的事件 138
5.2.5 关注每个事件 139
5.3 事物和系统需求 140
5.3.1 事物的类型 142
5.3.2 事物的关系 143
5.3.3 事物的属性 144
5.3.4 数据实体和对象 145
5.4 实体-联系图 146
5.4.1 ERD概念的实例 146
5.4.2 落基山运动用品商店(RMO)实例的ERD图 150
5.5 类图 150
5.5.1 有关对象类的更复杂的问题 152
5.5.2 类图符号的实例 153
5.5.3 落基山运动用品商店案例的类图 155
小结 157
5.6 目标 157
关键术语 158
复习题 159
思考题 160
实验练习 162
实例研究 163
参考资料 165
第六章 需求的传统描述方法 167
6.1 用传统方法的观点和面向对象的观点看待活动 168
6.2 数据流程图 169
6.2.1 数据流程图和抽象水平 171
6.2.2 关联图 171
6.2.3 DFD片段 172
6.2.4 事件划分的系统模型 173
6.2.5 分解过程以查看一项活动更详细的信息 176
6.2.6 物理的和逻辑的DFD 182
6.2.7 评估DFD质量 184
6.3 详细记录DFD部件 187
6.3.1 过程描述 187
6.3.2 数据流定义 192
6.3.3 数据元素定义 192
6.3.4 数据存储定义 194
6.3.5 DFD总结 194
6.4 信息工程模型 195
6.4.1 IE系统开发生命周期 195
6.4.2 IE和结构化开发的比较 196
6.4.3 过程分解和依赖模型 197
6.5 考虑网络节点和通信 200
小结 203
6.6 工作流建模 203
复习题 206
关键术语 206
思考题 207
实验练习 207
实例研究 208
参考资料 210
第七章 面向对象的需求描述方法 211
7.1 统一建模语言和对象管理组织 213
7.2 面向对象的需求 213
7.3 类图 215
7.4 系统行为:面向对象的用例/场景视图 215
7.4.1 用例和参与者 215
7.4.3 用例图 216
7.4.2 场景 216
7.5 对象交互:顺序图与协作图 221
7.5.1 顺序图 222
7.5.2 协作图 228
7.6 对象行为:状态、状态转换和状态图表 230
7.6.1 对象状态 232
7.6.2 对象转换 233
7.6.3 消息、转换和行动 235
7.6.4 状态图 236
7.6.5 并发行为 239
7.6.6 状态图的开发 241
小结 244
关键术语 245
思考题 246
复习题 246
实验练习 249
实例研究 249
参考资料 250
第八章 环境、方案与决策 251
8.1 评估目标处理环境 253
8.1.1 集中式系统 253
8.1.2 分布式计算 255
8.1.3 Internet和Intranet 259
8.1.4 开发和系统软件环境 261
8.1.5 RMO的环境 262
8.2 决定范围和自动化水平 264
8.2.1 确定范围 264
8.2.2 定义自动化水平 266
8.2.3 选择方案 268
8.3 为系统实施生成备选方案 271
8.3.1 设备管理 271
8.3.2 软件包和成套软件系统 272
8.3.3 定制软件开发 273
8.3.4 自行开发 273
8.4 选择实施方案 274
8.4.1 确定选择标准 274
8.4.2 做出选择 277
8.5 考虑外包解决方案 277
8.5.1 生成RFP 277
8.5.2 基准评价和选择卖主 278
8.6 递交结果和做出决定 280
小结 280
复习题 281
关键术语 281
思考题 282
实验练习 283
实例研究 283
参考资料 284
第三部分 系统设计任务 285
第九章 系统设计 287
9.1 理解设计要素 288
9.1.1 输入:从分析到设计 289
9.1.2 设计阶段主要组成部分和层次 289
9.1.3 出:结构化模型和面向对象模型 291
9.2 用程序结构设计:结构化设计 293
9.2.1 自动化系统边界 294
9.2.2 系统流程图 296
9.2.3 结构图 299
9.2.4 模块长时期法设计:伪码 311
9.2.5 结构化应用程序设计与用户界面设计、数据库设计和网络设计的集成 312
9.3 应用程序结构设计:面向对象方法 312
9.3.1 面向对象程序设计 312
9.3.2 面向对象模型 315
9.3.3 包图 315
9.3.4 设计类图 317
9.3.5 设计类图的开发 321
9.3.6 方法开发及伪码 325
9.3.7 继承、覆盖和多态性 325
9.3.8 面向对象应用程序设计与用户界面设计、数据库设计和网络设计的集成 326
9.4.1 协调项目组 327
9.4 协调项目 327
9.4.2 协调信息 328
小结 329
关键术语 329
复习题 330
思考题 331
实验练习 335
实例研究 336
参考资料 336
第十章 数据库设计 337
10.1 数据库与数据库管理系统 339
10.1.1 数据库模型 340
10.2 关系数据库 341
10.2.2 实体的表示 343
10.2.1 设计关系数据库 343
10.2.3 关系的表示 346
10.2.4 执行参照完整性 347
10.2.5 评价模式质量 348
10.3 面向对象数据库 354
10.3.1 设计对象数据库 355
10.3.2 类的表示 355
10.3.3 关系表示 356
10.4 混合对象-关系数据库设计 361
10.4.1 类和属性 362
10.4.2 关系 363
10.5 数据类型 365
10.5.1 关系DBMS的数据类型 366
10.5.2 对象DBMS的数据类型 366
10.6.1 分布式数据库体系结构 367
10.6 分布式数据库 367
10.6.2 RMO分布式数据库体系结构 372
小结 374
关键术语 375
复习题 376
思考题 377
实验练习 378
实例研究 378
参考资料 379
第十一章 输入/输出和控制的设计 381
11.1 完整性控制 382
11.1.1 完整性控制的目标 383
11.1.2 系统访问控制 383
11.1.3 输入完整性控制 386
11.1.4输出完整性控制 387
11.2 系统输入设计 388
11.2.1 确定设备和结构 389
11.2.2 开发输入列表和每个列表所要求的数据需求 391
11.2.3 设计和规范输入表单 397
11.3 系统输出设计 398
11.3.1 确定输出类型 399
11.3.2 根据应用程序设计制作特殊报表清单 403
11.3.3 设计和规范报表 405
小结 406
关键术语 407
复习题 407
思考题 408
实例研究 409
实验练习 409
参考资料 410
第十二章 人机交互 413
12.1 用户界面 415
12.1.1 用户界面的物理特征 415
12.1.2 用户界面的感知特征 416
12.1.3 用户界面的概念特征 416
12.1.4 以用户为中心的设计 416
12.1.5 作为一个研究领域的人机交互 417
12.1.6 在关HCI的隐喻 419
12.2 界面设计指导原则 423
12.2.1 可视化和可供性 423
12.2.2 八项黄金规则 425
12.3.2 对话和故事脚本 428
12.3 对话设计文档化 428
12.3.1 事件、子系统和菜单层次 428
12.3.3 用UML图表实现对话文档编制 431
12.4 Window窗体设计的指导原则 434
12.4.1 窗体布局与格式化 435
12.4.2 数据键入和输入项的标准窗体 436
12.4.3 导航与支持控件 438
12.4.4 浏览器界面的数据键入和输入 438
12.4.5 帮助支持 438
12.5 RMO对话设计 438
12.6 网站对话设计 445
小结 447
关键术语 448
复习题 448
思考题 449
实例研究 450
实验练习 450
参考资料 453
第四部分 实施与支持 455
第十三章 快速应用开发和基于组件的开发 457
13.1 快速应用开发 458
13.1.1 开发过程缓慢的原因 459
13.1.2 什么是RAD 460
13.2快速开发方法 461
13.2.1原型化开发方法 462
13.2.2 螺旋形开发方法 467
13.3 快速开发技术 470
13.3.1 风险管理 471
13.3.3 基于工具的开发 475
13.3.2 联合应用设计 475
13.3.4 软件重用 477
13.4 对象框架 478
13.4.1 一个简单的对象框架 479
13.4.2 对象框架类型 481
13.4.3 对象框架对于设计和实现任务的影响 481
13.4.4 对象框架的缺陷 482
13.5 组件 483
13.5.1 组件标准和基础结构 484
13.5.2 组件和开发周期 485
小结 488
关键术语 488
复习题 489
实验练习 490
思考题 490
实例研究 491
参考资料 493
第十四章 软件包及企业资源计划 495
14.1 软件包 498
14.1.1 软件包的发展趋势 499
14.1.2 软件包的实施和支持 499
14.2 企业资源计划 502
14.2.1 什么是ERP 502
14.2.2 为什么要考虑ERP 505
14.2.3 实施ERP 506
14.2.4 ERP系统开发方法论 509
14.2.5 ERP开发的特殊问题 511
14.2.6 ERP的未来 513
14.3 深入介绍一个ERP软件包:SAP R/3 514
14.3.1 什么是SAP 515
14.3.2 实施SAP R/3 517
14.3.3 使用SAP R/3 518
小结 520
关键术语 521
复习题 522
思考题 522
实验练习 522
实例研究 523
参考资料 524
第十五章 制作可操作的系统(实施、转化和支持) 525
15.1 程序开发 527
15.1.1 系统实施的顺序 527
15.1.3 基于小组的程序开发 532
15.1.2 框架开发 532
15.1.4 源代码的控制 533
15.1.5 版本 534
15.2 质量保证 537
15.2.1 技术复审 538
15.2.2 测试 539
15.3 安装 546
15.3.1 直接安装 546
15.3.2 并行安装 547
15.3.3 阶段安装 548
15.3.4 人员问题 549
15.4 文档 550
15.4.1 系统文档 551
15.4.2 用户文档 553
15.5 培训与用户支持 554
15.5.1 进行中的培训和用户支持活动 556
15.6 维护 556
15.6.1 递交改动请求和出错报告 557
15.6.2 实施改动 558
15.6.3 计算基础结构的升级 560
小结 560
关键术语 561
复习题 562
思考题 562
实验练习 563
实例研究 563
参考资料 565
附录 567
A.1 领导能力和洞察力 569
附录A 项目经理的责任 569
A.2 项目的计划和组织 570
A.3 项目组的组织和管理 571
A.4 成本估算和项目开发预算 572
A.5 项目进度的监督和控制 572
A.6 最终结果的质量保证 574
关键术语 574
复习题 574
思考题 575
附录B 净现值、投资回收期和投资收益率的计算 577
B.1 净现值的计算 577
复习题 579
关键术语 579
B.3 投资收益率 579
B.2 投资回收期的计算 579
思考题 580
附录C 用PERT/CPM图开发项目进度表 581
C.1 PERT/CPM图的构建 581
C.2 利用Microsoft Project创建RMO的项目进度表 587
关键术语 590
复习题 590
思考题 590
D.2 汇报 593
D.3 使用可视辅助工具 593
附录D 演示管理结果 594
D.1 汇报准备 594
D.4 提问和回答 595