第1章 信息系统工程导论 1
1.1 信息 2
1.1.1 信息的定义 2
1.1.2 信息的特点 3
1.1.3 信息的分类 4
1.1.4 信息的质量 4
1.2 系统 4
1.2.1 系统的定义 5
1.2.2 系统的特征 6
1.2.3 系统的功能与结构之间的关系 7
1.2.4 系统的分类 8
1.2.5 系统方法论 8
1.3 信息系统 9
1.3.1 信息系统的定义 9
1.3.2 信息系统的发展过程 9
1.3.3 信息系统的基本功能 10
1.3.4 信息系统的结构 11
1.3.5 几种常见的软硬件体系结构 13
1.3.6 信息系统的发展趋势 16
1.4 信息系统工程 17
1.4.1 信息系统工程的定义 17
1.4.2 信息系统工程的研究范围 17
1.4.3 信息系统工程方法论 18
小结 21
习题 21
第2章 信息系统战略规划 22
2.1 信息系统战略规划概述 23
2.1.1 信息系统规划的任务 23
2.1.2 信息系统规划的特点 25
2.1.3 信息系统规划的原则 26
2.1.4 信息系统规划的内容 27
2.2 信息系统规划的方法 28
2.2.1 关键成功因素法 28
2.2.2 战略集合转移法 30
2.2.3 企业系统规划法 30
2.2.4 三种规划方法的比较 33
2.3 可行性研究 33
2.3.1 可行性研究概述 33
2.3.2 可行性研究的内容 34
2.3.3 可行性研究的步骤 35
2.3.4 可行性研究报告 35
2.4 项目开发计划 38
2.4.1 制定项目开发计划的原则 38
2.4.2 制定项目开发计划 38
小结 39
习题 39
第3章 信息系统的开发 40
3.1 信息系统的生命周期模型 41
3.2 信息系统开发典型的过程模型 42
3.2.1 瀑布模型 42
3.2.2 原型模型 43
3.2.3 增量模型 44
3.2.4 螺旋模型 45
3.3 信息系统主流开发方法 46
3.3.1 传统方法——结构化方法 46
3.3.2 面向对象的方法 47
3.3.3 原型化方法 48
3.3.4 敏捷开发方法 49
3.3.5 极限编程 50
3.3.6 统一过程开发方法 54
3.4 信息系统的开发方法学 54
3.5 支持系统开发的自动化工具 56
3.5.1 Rational Rose 56
3.5.2 PowerDesigner 57
3.5.3 Visio 57
小结 58
习题 58
第4章 结构化系统分析与设计 59
4.1 结构化分析方法概述 60
4.1.1 系统分析的任务 60
4.1.2 结构化分析的方法 61
4.1.3 结构化分析的工具 62
4.2 数据流图 63
4.2.1 数据流图的基本符号 63
4.2.2 数据流图的建立 65
4.3 数据字典 68
4.3.1 数据字典的条目 68
4.3.2 数据字典的建立方法 70
4.4 处理逻辑的分析工具 71
4.4.1 决策树 71
4.4.2 决策表 72
4.4.3 结构化语言 74
4.4.4 三种表达工具的比较 75
4.5 系统设计概述 76
4.5.1 系统设计的目标 76
4.5.2 系统设计的内容 77
4.6 结构化设计的原理 77
4.6.1 结构化设计的基本概念 77
4.6.2 结构化设计方法 78
4.7 模块设计 79
4.7.1 模块 79
4.7.2 模块的耦合 80
4.7.3 模块的聚合 81
4.8 面向数据流的设计 82
4.8.1 结构图 82
4.8.2 设计过程 83
4.8.3 设计优化 86
4.9 系统设计说明书 87
小结 88
习题 88
第5章 基于UML的信息系统建模技术 89
5.1 信息系统建模技术和方法概论 90
5.2 建模语言UML的背景和发展历程 91
5.3 UML可以建立的各种模型 92
5.4 UML语言的组成部分 92
5.4.1 模型元素 93
5.4.2 图 98
5.4.3 视图 99
5.4.4 公共机制 100
5.5 UML图与建模技术 101
5.5.1 软件建模概述 101
5.5.2 UML建模基本流程 102
5.5.3 Rational Rose可以完成的建模工作 103
5.6 需求建模 104
5.6.1 需求获取与需求分析 104
5.6.2 用例模型 105
5.6.3 用例图 105
5.7 静态结构建模 108
5.7.1 静态结构建模概述 108
5.7.2 类图概述 108
5.7.3 绘制类图的基本步骤 109
5.7.4 对象图 109
5.8 动态行为建模 110
5.8.1 状态机图概述 110
5.8.2 状态机图组成 111
5.8.3 活动图概述 113
5.8.4 活动图组成 113
5.8.5 顺序图概述 116
5.8.6 顺序图组成 116
5.8.7 通信图概述 118
5.8.8 通信图组成 118
5.9 物理建模 119
5.9.1 构件图概述 119
5.9.2 构件图组成 119
5.9.3 部署图概述 120
5.9.4 部署图组成 121
小结 121
习题 121
第6章 面向对象的系统分析与设计 123
6.1 面向对象的基本概念和术语 124
6.1.1 分类 124
6.1.2 对象 125
6.1.3 继承 126
6.1.4 封装 127
6.1.5 消息通信 127
6.1.6 多态性 128
6.2 面向对象的方法论概述 129
6.2.1 面向对象方法的发展历程 129
6.2.2 几种比较典型的面向对象开发方法 130
6.3 面向对象分析(OOA)的过程概述 134
6.4 面向对象设计(OOD) 141
6.4.1 从分析阶段到设计阶段的演化 141
6.4.2 问题域部分的设计 141
6.4.3 用户界面原型的设计 144
6.4.4 控制驱动部分的设计 145
6.4.5 数据管理部分的设计 148
6.5 面向对象设计的原则 151
6.5.1 单一职责原则 151
6.5.2 开放封闭原则 152
6.5.3 替换原则 153
6.5.4 依赖倒置原则 153
6.5.5 接口隔离原则 154
6.5.6 如何运用面向对象的设计原则 155
小结 155
习题 155
第7章 信息系统的实施、维护与管理 157
7.1 软件开发平台介绍 158
7.1.1 J2EE平台 158
7.1.2 .NET平台 159
7.1.3 J2EE与.NET平台比较 161
7.2 系统编程实现 161
7.2.1 编程语言 162
7.2.2 编程风格 163
7.3 信息系统测试 164
7.3.1 测试的概念 164
7.3.2 测试的目标和原则 164
7.3.3 测试步骤 165
7.3.4 测试方法 166
7.3.5 测试工具介绍 173
7.3.6 软件的纠错 174
7.4 信息系统运行与维护 175
7.4.1 信息系统运行 176
7.4.2 信息系统维护 178
7.5 信息系统的可靠性与安全性 183
7.5.1 信息系统的可靠性 184
7.5.2 软件可靠性分析 186
7.5.3 如何提高软件的可靠性 186
7.5.4 系统的安全性 189
7.6 信息系统的监理与审计 189
7.6.1 信息系统工程监理 190
7.6.2 信息系统的审计 191
7.6.3 信息系统工程监理与审计的区别 193
小结 193
习题 194
第8章 信息系统项目管理 195
8.1 项目管理概述 196
8.1.1 项目 196
8.1.2 项目管理 197
8.1.3 项目管理的基本内容和特点 199
8.1.4 项目管理的知识体系 200
8.2 信息系统项目管理 203
8.2.1 信息系统项目管理概述 203
8.2.2 信息系统项目管理的基本内容与步骤 204
8.3 信息系统项目时间与成本管理 206
8.3.1 信息系统项目时间管理 206
8.3.2 信息系统项目的成本管理 211
8.4 信息系统项目人力资源与沟通管理 216
8.4.1 项目管理的组织机构 216
8.4.2 项目角色及责任 218
8.4.3 项目沟通管理 220
8.5 信息系统项目质量管理 221
8.5.1 信息系统质量管理概述 221
8.5.2 信息系统质量控制的组织职能 223
8.5.3 项目开发的质量控制 223
8.6 信息系统开发文档管理 225
8.6.1 信息系统开发与维护文档的内容与分类 225
8.6.2 文档的规范化管理 227
8.7 信息系统项目管理软件Project 2010介绍 228
8.7.1 Proiect 2010产品介绍 228
8.7.2 Proiect 2010的操作 229
小结 235
习题 235
第9章 信息系统项目开发实践 236
9.1 项目背景介绍 237
9.2 业务需求与系统需求 237
9.2.1 任务陈述 237
9.2.2 功能模块列表 238
9.2.3 系统架构 238
9.2.4 货申报子系统工作流程图 239
9.2.5 参与者列表 240
9.2.6 用例列表 240
9.2.7 部分用例描述 241
9.3 系统分析 242
9.3.1 用例的顺序图 242
9.3.2 典型数据流图 243
9.4 系统设计 243
9.4.1 总体设计 243
9.4.2 关键技术和算法 245
9.4.3 液态货申报客户端系统层次结构 247
9.4.4 对象持久化设计 259
9.4.5 用户界面原型设计 260
9.5 系统实施运行 263
小结 264
习题 264
第10章 信息系统工程建设新技术 265
10.1 云计算基础 266
10.1.1 云计算的概念和关键特征 266
10.1.2 云平台和云服务 266
10.1.3 云计算分类 267
10.1.4 网格计算与云计算 269
10.2 Google云计算的关键技术 270
10.2.1 数据存储管理(GFS) 270
10.2.2 GFS系统架构 270
10.2.3 并行数据处理(MapReduce) 271
10.2.4 BigTable 272
10.3 微软云计算关键技术 273
10.4 云计算SaaS软件服务应用 274
10.4.1 云计算电子邮件服务器——Gmail 274
10.4.2 云计算数据库——Google Base 276
10.5 Google App Engine云计算平台上的软件开发 277
10.5.1 Google App Engine(GAE) 277
10.5.2 注册GAE 278
10.5.3 建立GAE的Java软件开发环境 279
小结 282
习题 282
附录A UML 2.0常用符号及图例 283
附录B Rational Rose建模工具的使用 285
附录C 《软件(结构)设计说明(SDD)》文档格式 291
参考文献 297