第1章 系统开发环境 1
学习目标 1
本章预览 1
1.1什么是信息系统分析与设计 1
1.2系统分析与设计:核心概念 2
1.3系统 3
1.3.1系统的定义及其组成部分 3
1.3.2重要的系统概念 5
1.4系统分析与设计的现代方法 7
1.5信息系统开发与系统开发生命周期 9
1.5.1第1阶段:系统规划与选择 11
1.5.2第2阶段:系统分析 11
1.5.3第3阶段:系统设计 12
1.5.4第4阶段:系统实现与运行 13
1.6其他开发方法 14
1.6.1原型法 14
1.6.2计算机辅助软件工程工具 15
1.6.3联合应用设计 16
1.6.4快速应用开发 16
1.6.5参与式设计 17
1.6.6敏捷方法 17
1.7复习与练习 18
1.7.1重点回顾 18
1.7.2关键术语检测 19
1.7.3复习题 20
1.7.4练习题 20
1.7.5讨论题 21
1.7.6案例题 21
参考文献 23
第2章 软件的来源 24
学习目标 24
本章预览 24
2.1引言 24
2.2系统获取 25
2.2.1外包 25
2.2.2软件的来源 26
2.2.3选择成品软件 31
2.3复用 33
2.4复习与练习 36
2.4.1重点回顾 36
2.4.2关键术语检测 36
2.4.3复习题 37
2.4.4练习题 37
2.4.5讨论题 37
2.5案例:皮特里电子 38
参考文献 40
第3章 信息系统项目管理 41
学习目标 41
本章预览 41
3.1PVF公司的背景 41
3.2管理信息系统项目 43
3.2.1启动项目 47
3.2.2规划项目 50
3.2.3执行项目 56
3.2.4关闭项目 58
3.3表示和安排项目计划进度 59
3.3.1表示项目计划 61
3.3.2用PERT计算预期持续时间 62
3.3.3构造PVF项目的甘特图和网络图 62
3.4使用项目管理软件 66
3.4.1设定项目开始日期 66
3.4.2输入任务并指定任务关系 66
3.4.3选择进度计划方法评审项目报告 67
3.5复习与练习 68
3.5.1重点回顾 68
3.5.2关键术语检测 69
3.5.3复习题 70
3.5.4练习题 71
3.5.5讨论题 74
3.5.6案例题 74
3.6案例:皮特里电子 76
参考文献 77
第4章 系统规划与选择 79
学习目标 79
本章预览 79
4.1识别与选择项目 80
4.1.1识别和选择信息系统开发项目的过程 80
4.1.2可交付成果和结果 83
4.2启动和规划系统开发项目 83
4.2.1启动和规划系统开发项目的过程 84
4.2.2可交付成果和结果 85
4.3评估项目可行性 85
4.3.1评估经济可行性 87
4.3.2评估其他可行性关注 93
4.4建立基线项目计划 94
4.5评审基线项目计划 99
4.6PVF WebStore:系统规划与选择 102
4.7复习与练习 105
4.7.1重点回顾 105
4.7.2关键术语检测 106
4.7.3复习题 107
4.7.4练习题 108
4.7.5讨论题 109
4.7.6案例题 109
4.8案例:皮特里电子 111
参考文献 113
第5章 确定系统需求 115
学习目标 115
本章预览 115
5.1确定需求 116
5.1.1确定需求的过程 116
5.1.2可交付成果和结果 117
5.1.3需求结构化 118
5.2确定需求的传统方法 118
5.2.1访谈和倾听 118
5.2.2直接观察用户 122
5.2.3分析程序和其他文档 123
5.3确定系统需求的现代方法 127
5.3.1联合应用设计 127
5.3.2原型法在需求确定期间的使用 129
5.4确定系统需求的全新方法 130
5.4.1识别要重新设计的流程 131
5.4.2颠覆性技术 132
5.5PVF WebStore:确定系统需求 133
5.5.1网站布局和导航特性 133
5.5.2WebStore和网站管理系统能力 133
5.5.3顾客和商品目录信息 134
5.5.4网站原型演化 134
5.5.5智能手机应用程序需求 135
5.6复习与练习 136
5.6.1重点回顾 136
5.6.2关键术语检测 137
5.6.3复习题 137
5.6.4练习题 138
5.6.5讨论题 138
5.6.6案例题 138
5.7案例:皮特里电子 140
参考文献 141
第6章 结构化系统需求:过程建模 142
学习目标 142
本章预览 142
6.1过程建模 143
6.1.1系统过程建模 145
6.1.2可交付成果和结果 145
6.2数据流图方法 146
6.2.1定义和符号 147
6.2.2开发DFD的例子 148
6.2.3绘制数据流图的规则 150
6.2.4DFD的分解 152
6.2.5平衡DFD 154
6.3在分析过程中使用数据流图 156
6.3.1绘制DFD的指导原则 156
6.3.2用DFD作为分析工具 158
6.3.3在业务流程重组中使用DFD 159
6.4逻辑建模 160
6.5PVF WebStore:过程建模 165
6.6复习与练习 167
6.6.1重点回顾 167
6.6.2关键术语检测 168
6.6.3复习题 169
6.6.4练习题 169
6.6.5讨论题 173
6.6.6案例题 174
6.7案例:皮特里电子 175
参考文献 177
第7章 结构化系统需求:概念数据建模 178
学习目标 178
本章预览 178
7.1概念数据建模 179
7.1.1概念数据建模的过程 180
7.1.2可交付成果和结果 181
7.2收集概念数据建模信息 183
7.3实体关系建模简介 185
7.3.1实体 186
7.3.2属性 187
7.3.3候选键和标识符 187
7.3.4多值属性 189
7.3.5关系 189
7.4概念数据建模和E-R模型 190
7.4.1关系的度 190
7.4.2关系的基数 192
7.5印第安纳汉堡的概念数据建模示例 194
7.6PVF WebStore:概念数据建模 197
7.7选择最佳设计策略 201
7.8生成可选择的设计策略 202
7.9为印第安纳汉堡的新库存控制系统开发设计策略 203
7.10选择最可能的方案 205
7.11复习与练习 207
7.11.1重点回顾 207
7.11.2关键术语检测 208
7.11.3复习题 209
7.11.4练习题 209
7.11.5讨论题 212
7.11.6案例题 213
7.12案例:皮特里电子 217
参考文献 220
第8章 设计人机界面 221
学习目标 221
本章预览 221
8.1设计表单和报表 222
8.1.1设计表单和报表的过程 222
8.1.2可交付成果和结果 225
8.1.3格式化表单和报表 226
8.2设计界面和对话 232
8.2.1设计界面和对话的过程 233
8.2.2可交付成果和结果 233
8.2.3设计界面 234
8.2.4设计对话 243
8.3PVF WebStore:设计人机界面 246
8.3.1设计Web界面的一般指导原则 246
8.3.2Web页面布局的一般指导原则 247
8.3.3PVF的人机界面设计 248
8.3.4带Cookie crumbs的菜单驱动导航 248
8.3.5轻量图形 249
8.3.6表单和数据完整性 249
8.3.7基于样式表的HTML 250
8.3.8移动应用程序的定制界面 250
8.4复习与练习 251
8.4.1重点回顾 251
8.4.2关键术语检测 252
8.4.3复习题 252
8.4.4练习题 253
8.4.5讨论题 254
8.4.6案例题 254
8.5案例:皮特里电子 256
参考文献 258
第9章 设计数据库 259
学习目标 259
本章预览 259
9.1数据库设计 260
9.1.1数据库设计的过程 260
9.1.2可交付成果和结果 261
9.2关系数据库模型 265
9.3规范化 267
9.3.1规范化的规则 268
9.3.2函数依赖和主键 268
9.3.3第二范式 269
9.3.4第三范式 269
9.4将E-R图转化为关系 271
9.4.1表示实体 271
9.4.2表示关系 272
9.4.3E-R图转化为关系小结 275
9.5合并关系 275
9.5.1合并关系的例子 275
9.5.2视图集成问题 276
9.6印第安纳汉堡的逻辑数据库设计 277
9.7物理文件和数据库设计 280
9.8设计字段 280
9.8.1选择数据类型 280
9.8.2控制数据完整性 282
9.9设计物理表 284
9.9.1排列表行 286
9.9.2设计文件的控制 290
9.10印第安纳汉堡的物理数据库设计 291
9.11PVF WebStore:设计数据库 293
9.12复习与练习 295
9.12.1重点回顾 295
9.12.2关键术语检测 297
9.12.3复习题 298
9.12.4练习题 299
9.12.5讨论题 301
9.12.6案例题 301
9.13案例:皮特里电子 302
参考文献 304
第10章 系统实现与运行 305
学习目标 305
本章预览 305
10.1系统实现与运行 306
10.1.1编码、测试和安装的过程 306
10.1.2编码、测试和安装的可交付成果和结果 307
10.1.3编制系统文档和培训与支持用户的过程 308
10.1.4编制系统文档、培训与支持用户的可交付成果和结果 308
10.1.5维护信息系统的过程 309
10.1.6维护信息系统的可交付成果和结果 310
10.2软件应用测试 310
10.2.1 7种不同类型的测试 310
10.2.2测试过程 313
10.2.3用户的验收测试 315
10.3安装 315
10.4编制系统文档 318
10.4.1用户文档 319
10.4.2准备用户文档 320
10.5培训和支持用户 321
10.5.1培训信息系统用户 321
10.5.2支持信息系统用户 323
10.5.3分析师要考虑的支持问题 325
10.6为什么实现有时会失败 326
10.7项目关闭 327
10.8进行系统维护 328
10.8.1维护的类型 328
10.8.2维护的费用 329
10.8.3度量维护有效性 330
10.8.4控制维护请求 330
10.8.5配置管理 331
10.8.6自动化开发工具在维护中的作用 332
10.8.7网站维护 333
10.9维护PVF的某信息系统 333
10.10PFV WebStore:系统实现与运行 334
10.11复习与练习 337
10.11.1重点回顾 337
10.11.2关键术语检测 339
10.11.3复习题 340
10.11.4练习题 341
10.11.5讨论题 342
10.11.6案例题 342
10.12案例:皮特里电子 343
参考文献 345
附录A 面向对象分析与设计 346
A.1面向对象建模方法 346
A.2用例建模 347
A.3对象建模:类图 349
A.4表示泛化 353
A.5表示聚合 354
A.6动态建模:状态图 355
A.7动态建模:序列图 356
A.8用序列图设计用例 358
A.9转入设计 359
A.10复习与练习 360
A.10.1重点回顾 360
A.10.2关键术语检测 361
A.10.3复习题 363
A.10.4练习题 363
参考文献 364
附录B 敏捷方法 365
B.1敏捷方法的趋势 365
B.2敏捷方法 366
B.3极限编程 368
B.4系统开发过程的核心 369
B.4.1需求确定 369
B.4.2设计规约 372
B.4.3实现 373
B.5我们所知的敏捷方法 373
B.6复习与练习 374
B.6.1重点回顾 374
B.6.2关键术语检测 375
B.6.3复习题 375
B.6.4练习题 376
参考文献 376