第1阶段:系统规划 2
第1章 系统分析与设计简介 2
学习目标 2
1.1 引言 3
1.2 什么是信息技术? 3
1.2.1 信息技术的变迁 3
1.2.2 系统分析与设计 4
1.2.3 系统分析师的职责 4
案例1.1:金融顾问Cloud Nine 5
1.3 信息系统的组件 5
1.3.1 硬件 6
1.3.2 软件 6
1.3.3 数据 7
1.3.4 过程 7
1.3.5 人群 7
1.4 当今商业环境 8
1.4.1 互联网模式 8
1.4.2 B2C模式 9
1.4.3 B2B模式 9
1.5 业务运营建模 10
1.5.1 业务简介 10
1.5.2 业务流程 10
1.6 商业信息系统 10
1.6.1 企业计算 11
1.6.2 事务处理 11
1.6.3 业务支持 12
1.6.4 知识管理 13
1.6.5 用户生产力 13
1.6.6 系统集成 13
1.7 用户需要哪些信息? 14
1.7.1 高层管理者 14
1.7.2 中层管理者和知识工作者 15
1.7.3 主管和团队管理者 15
1.7.4 运营员工 15
1.8 系统开发工具 15
1.8.1 建模 16
1.8.2 原型设计 16
1.8.3 计算机辅助系统工程(CASE)工具 17
1.9 系统开发方法 17
1.9.1 结构化分析 18
1.9.2 面向对象分析 21
1.9.3 敏捷方法 22
1.9.4 其他开发方法 23
1.10 信息技术部门 24
1.10.1 应用开发 24
案例1.2:Global旅馆和Momma’s汽车旅馆 25
1.10.2 系统支持和安全 25
1.10.3 用户支持 25
1.10.4 数据库管理 25
1.10.5 网络管理 25
1.10.6 网络支持 26
1.10.7 质量保证 26
案例1.3:Lisa应该怎样做? 26
1.11 系统分析师 26
1.11.1 角色 26
1.11.2 知识、技能、教育 27
1.11.3 认证 28
1.11.4 职业生涯 29
案例1.4:Just-in-Time Airfreight公司 31
1.12 信息技术发展趋势 31
伦理问题 32
1.13 本章小结 32
关键词 34
本章练习 39
第2章 管理系统项目 40
学习目标 40
2.1 引言 41
2.2 项目管理概述 41
2.2.1 什么塑造了一个项目? 41
2.2.2 什么是项目三角形? 41
2.2.3 项目管理者的职责是什么? 42
2.3 创建工作分解结构 42
2.3.1 甘特图 43
2.3.2 PERT/CPM图 43
2.3.3 在工作分解结构中确定任务 44
案例2.1:Parallel服务公司 46
2.3.4 影响持续时间的因素 46
案例2.2:Sunrise软件公司 47
2.3.5 显示工作分解结构 48
2.4 确定任务模式 48
2.4.1 任务模式 48
2.4.2 使用任务块创建模型 49
2.4.3 任务模式 49
2.4.4 确定任务模式 50
2.4.5 使用复杂任务模式 51
2.5 计算关键路径 51
2.5.1 关键路径 52
2.5.2 计算关键路径 52
2.6 项目监管和控制 53
2.6.1 监管和控制技术 53
2.6.2 管理进度 53
2.7 报告 54
2.7.1 项目状态会议 54
2.7.2 项目状态报告 55
2.8 项目管理示例 55
2.8.1 PERT/CPM示例 55
2.9 项目管理软件 57
案例2.3:2010年人口普查 60
2.10 风险管理 61
2.10.1 风险管理步骤 61
2.10.2 风险管理软件 62
2.11 成功的项目管理 63
2.11.1 业务问题 63
2.11.2 预算问题 63
2.11.3 进度安排问题 63
案例2.4:推进项目 64
2.12 关键要点 64
伦理问题 65
2.13 本章小结 65
关键词 67
本章练习 69
第2阶段:系统分析 72
第3章 需求建模 72
学习目标 72
3.1 引言 73
3.2 系统分析阶段概述 73
3.2.1 系统分析方法 73
3.2.2 系统分析技巧 75
3.2.3 基于团队的技术:JAD,RAD和敏捷方法 75
3.3 联合应用开发 75
3.3.1 用户参与 75
3.3.2 JAD参与者和作用 76
3.3.3 JAD的优缺点 76
3.4 快速应用开发 77
3.4.1 RAD阶段和活动 78
3.4.2 RAD目标 79
3.4.3 RAD的优缺点 79
3.5 敏捷方法 79
3.5.1 敏捷方法的优缺点 81
案例3.1:North Hills学院 81
3.6 建模工具和技术 81
3.6.1 功能分解图 82
3.6.2 业务流程建模 82
3.6.3 数据流图 83
3.6.4 统一建模语言 83
3.7 系统需求清单 85
3.7.1 输出示例 85
3.7.2 输入示例 86
3.7.3 流程示例 86
3.7.4 性能示例 86
3.7.5 控制示例 87
3.8 未来增长、成本和收益 87
3.8.1 扩展性 88
3.8.2 总运营成本 88
3.9 实情调查 88
3.9.1 实情调查概述 88
3.9.2 谁、什么、哪里、何时、怎样和为什么? 89
3.9.3 Zachman框架 90
3.10 访谈 90
案例3.2 Deep River学院 96
3.10.1 不成功的访谈 96
案例3.3 Fastpak公司 97
3.11 其他实情调查技术 97
3.11.1 文档审查 97
3.11.2 观察 97
3.11.3 问卷调查 99
3.11.4 访谈和问卷 100
3.11.5 头脑风暴 101
3.11.6 抽样 101
3.11.7 研究 101
案例3.4:CyberStuff公司 102
3.12 文档编制 102
3.12.1 记录实情的需求 102
3.12.2 软件工具 103
3.13 信息管理软件 104
3.14 逻辑建模预习 105
伦理问题 106
3.15 本章小结 106
关键词 108
本章练习 110
第4章 数据和过程建模 112
学习目标 112
4.1 引言 113
4.2 数据和过程建模工具概述 113
4.3 数据流图 113
4.3.1 DFD符号 113
4.4 创建数据流图 119
4.5 数据流图绘制指南 120
案例4.1 十大联盟大学 130
4.6 数据字典 130
4.6.1 使用CASE工具进行文档编制 131
4.6.2 记载数据元素 131
4.6.3 记载数据流程 132
4.6.4 记载数据存储 133
4.6.5 记载过程 133
4.6.6 记载实体 134
4.6.7 记载记录 134
4.6.8 数据字典报告 135
4.7 过程描述工具 135
4.7.1 模块设计 135
4.7.2 结构化英语 136
4.7.3 决策表 137
案例4.2 Rock Solid Outfitters公司(第一部分) 141
4.7.4 决策树 141
案例4.3 Rock Solid Outfitters公司(第二部分) 142
4.8 逻辑模型与物理模型 142
4.8.1 建模的顺序 142
4.8.2 四大模型方法 142
案例4.4 Tip Top Staffing公司 143
伦理问题 143
4.9 本章小结 144
关键词 145
本章练习 147
第5章 对象建模 148
学习目标 148
5.1 引言 149
5.2 面向对象分析概述 149
5.2.1 面向对象相关概念 149
5.2.2 对象 150
5.2.3 属性 152
5.2.4 方法 152
5.2.5 消息 152
5.2.6 类 153
5.3 对象和类之间的关系 155
5.3.1 对象关系图 155
5.4 使用统一建模语言进行对象建模 156
5.4.1 用例建模 156
案例5.1 Hilltop Motors公司 158
5.4.2 用例图 158
5.4.3 类图 159
案例5.2 Train the Trainers公司 161
5.4.4 时序图 161
5.4.5 状态转移图 162
5.4.6 活动图 163
案例5.3 Travelbiz旅行代理商 163
5.4.7 业务流程建模 164
5.4.8 CASE工具 164
5.5 组织对象模型 165
案例5.4 Cyber Associates公司 165
伦理问题 165
5.6 本章小结 166
关键词 167
本章练习 169
第6章 开发策略 170
学习目标 170
6.1 引言 171
6.2 开发策略概述 171
6.3 互联网的影响 171
6.3.1 软件即服务 171
6.3.2 传统系统开发与基于网络的系统开发 172
6.3.3 演化趋势:Web 2.0、云计算和移动设备 174
6.4 外包 175
6.4.1 外包的增长 176
6.4.2 外包费用 177
6.4.3 外包中需要关注的问题 178
6.4.4 离岸外包 178
案例6.1 Turnkey Services公司 179
6.5 内部软件开发选项 179
6.5.1 内部开发还是购买 180
6.5.2 内容软件开发 180
6.5.3 购买软件包 182
6.5.4 定制软件包 183
6.5.5 创建用户应用 183
6.6 系统分析师的作用 185
案例6.2 Sterling Associates公司 186
6.7 分析成本和收益 186
6.7.1 财务分析工具 186
6.7.2 成本—收益分析检查清单 187
6.8 软件采购流程 187
第一步:评估信息系统需求 188
第二步:找到潜在供货商或外包商 191
第三步:评估备选方案 192
第四步:成本一收益分析 192
第五步:准备推荐方案 194
第六步:实施方案 194
案例6.3 Doug’s Sporting Goods公司 194
6.9 完成系统分析任务 194
6.9.1 系统需求文档 194
6.9.2 向管理层演示 195
6.10 向系统设计过渡 196
6.10.1 准备系统设计 196
6.10.2 逻辑设计和物理设计 196
案例6.4 Downtown!公司 197
伦理问题 197
6.11 本章小结 197
关键词 199
本章练习 201
第3阶段:系统设计 204
第7章:用户界面设计 204
学习目标 204
7.1 引言 205
7.2 系统设计阶段概述 205
7.2.1 系统会成功吗? 205
7.3 本章概述 206
7.4 什么是用户界面? 207
7.4.1 人机交互 208
案例7.1 Casual Observer软件公司 209
7.5 成功界面设计师的七个习惯 210
7.5.1 理解业务 210
7.5.2 最大化图形效果 210
7.5.3 像用户一样思考 210
7.5.4 使用模型和原型 210
7.5.5 专注于易用性 211
7.5.6 关注反馈 211
7.5.7 记录每一件事 211
7.6 用户界面设计指南 211
7.6.1 创建易于学习和使用的界面 211
7.6.2 提升用户工作效率 212
7.6.3 向用户提供帮助和反馈 213
7.6.4 创建有吸引力的布局和设计 214
7.6.5 增强交互性 215
7.6.6 关注用户输入界面 217
7.6.7 使用校验规则 220
7.6.8 减少输入量 222
案例7.2 Boolean Toys软件开发公司 223
7.7 源文档和表单设计 223
7.8 打印输出 224
7.8.1 报告设计概述 224
7.8.2 报告类型 225
7.8.3 用户参与 226
7.8.4 报告设计原则 226
案例7.3 Lazy Eddie公司 228
案例7.4 Trustworthy保险公司 228
7.9 技术问题 228
7.9.1 输出技术 229
7.9.2 输入技术 231
7.10 安全和控制问题 232
7.10.1 输出安全和控制 232
7.10.2 输入安全和控制 233
7.11 下一步要做什么? 234
7.11.1 模块化设计 234
7.11.2 原型设计 235
伦理问题 236
7.12 本章小结 237
关键词 238
本章练习 242
第8章 数据设计 244
学习目标 244
8.1 引言 245
8.2 数据设计概念 245
8.2.1 数据结构 245
8.2.2 数据设计示例:Mario and Danica 245
8.2.3 文件处理依然重要吗? 247
8.2.4 数据库环境 248
8.3 DBMS组件 249
8.3.1 用户、数据库管理员和相关系统接口 249
8.3.2 数据操作语言 249
8.3.3 模式 250
8.3.4 物理数据存储库 250
8.4 基于网络的设计 251
8.4.1 连接到网络 252
8.4.2 数据安全 252
8.5 数据设计关键词 252
8.5.1 定义 253
8.5.2 关键字段 253
8.5.3 引用完整性 256
8.6 实体关系图 257
8.6.1 绘制实体关系图 257
8.6.2 关系类型 257
8.6.3 基数 260
案例8.1 TopText Publishing公司 261
8.7 数据规范化 261
8.7.1 标准符号格式 262
8.7.2 第一范式 263
8.7.3 第二范式 264
8.7.4 第三范式 267
8.8 两个真实案例 268
8.8.1 例1:Crossroads学院 268
案例8.2 CyberToys公司 273
8.8.2 例2:Magic Maintenance公司 273
案例8.3 DotCom Tools公司 275
8.9 使用代码 275
8.9.1 代码概述 275
8.9.2 代码类型 276
8.9.3 设计代码 277
8.10 数据存储和访问 278
8.10.1 工具和技术 279
8.10.2 逻辑存储和物理存储 280
8.10.3 数据编码 281
8.11 数据控制 283
案例8.4 SoccerMom公司 284
伦理问题 284
8.12 本章小结 284
关键词 286
本章练习 290
第9章 系统架构 292
学习目标 292
9.1 引言 293
9.2 架构检查列表 293
9.2.1 企业组织和文化 293
9.2.2 企业资源计划(ERP) 294
案例9.1:ABC Systems公司 294
9.2.3 初始成本和总成本 295
9.2.4 可扩展性 295
9.2.5 网络集成 295
9.2.6 遗留系统 296
9.2.7 处理选项 296
9.2.8 安全问题 296
9.2.9 企业门户 297
9.3 软件架构:过去和现在 297
9.3.1 主机架构 297
9.3.2 个人计算机的影响 298
9.3.3 网络演进 298
9.4 客户端/服务器设计 299
9.4.1 概述 299
9.4.2 客户端角色 301
9.4.3 客户端/服务器设计 301
9.4.4 中间件 302
9.4.5 成本—收益问题 302
9.4.6 性能问题 303
9.5 互联网的影响 303
9.5.1 云计算 304
9.5.2 Web 2.0 305
9.6 电子商务架构 305
9.6.1 内部解决方案 305
案例9.2 Small Potatoes公司 306
9.6.2 安装包解决方案 307
9.6.3 服务提供商 307
9.7 处理方法 308
9.7.1 在线处理 308
9.7.2 批量处理 309
9.7.3 真实案例 309
案例9.3 R/Way Trucking公司 310
9.8 网络模型 310
9.8.1 OSI模型 310
9.8.2 网络拓扑 311
9.8.3 网络设备 314
9.8.4 建模工具 315
9.9 无线网络 315
9.9.1 无线网络标准 316
9.9.2 无线网络拓扑 316
9.9.3 无线网络趋势 316
案例9.4 Spider IT服务 318
9.10 完成系统设计 318
9.10.1 系统设计规范 319
9.10.2 用户批准 320
9.10.3 演示 320
伦理问题 321
9.11 本章小结 321
关键词 324
本章练习 328
第4阶段:系统实施 330
第10章 管理系统实施 330
学习目标 330
10.1 引言 331
10.2 软件质量保证 331
10.2.1 软件工程 331
10.2.2 国际标准化组织(ISO) 333
10.3 应用开发概述 333
10.3.1 系统设计回顾 333
10.3.2 应用开发任务 334
10.3.3 系统开发工具 335
10.3.4 项目管理 336
10.4 结构化应用开发 337
10.4.1 结构图 337
10.4.2 内聚和耦合 339
10.4.3 绘制结构图 341
10.5 面向对象的应用开发 341
10.5.1 面向对象应用开发的特征 342
10.5.2 面向对象设计的实施 343
10.5.3 面向对象的内聚和耦合 344
10.6 敏捷应用开发 344
10.6.1 极限编程 345
10.6.2 用户需求 346
10.6.3 迭代发布 346
10.6.4 敏捷开发的未来 346
10.7 程序编码 347
10.7.1 编程环境 347
10.7.2 生成代码 347
10.8 测试系统 347
10.8.1 单元测试 348
案例10.1 Your Move公司 349
10.8.2 集成测试 349
10.8.3 系统测试 350
案例10.2 WebTest公司 351
10.9 编制文档 351
10.9.1 程序文档 351
10.9.2 系统文档 352
10.9.3 操作文档 352
10.9.4 用户文档 353
10.9.5 在线文档 354
10.10 管理层批准 356
10.11 系统安装和评估 357
10.12 操作和测试环境 357
10.13 培训 358
10.13.1 培训计划 358
10.13.2 供应商培训 359
10.13.3 网络研讨、播客和教程 360
10.13.4 外部培训资源 360
10.13.5 培训技巧 361
10.13.6 交互式培训 362
10.14 数据转换 363
10.14.1 数据转换策略 363
10.14.2 数据转换安全和控制 364
10.15 系统切换 364
10.15.1 直接切换 364
10.15.2 并行运营 365
10.15.3 试点运营 366
10.15.4 分阶段运营 366
案例10.3 Global Cooling公司 367
10.16 实施后任务 367
10.16.1 实施后评估 367
案例10.4 Yorktown Industries公司 369
10.16.2 向管理层最终报告 370
伦理问题 370
10.17 本章小结 370
关键词 373
本章练习 377