第1章 工程软件的基础元素 1
1-1 工程软件概述 1
1-2 数据结构概述 3
1-2-1 数据结构及其数据运算的概念 3
1-2-2 数据结构的分类 5
1-2-3 数据结构的表示 7
1-2-4 数据类型及数据抽象 9
1-3 算法概述 11
1-3-1 算法的概念 11
1-3-2 算法的描述 12
1-3-3 算法分析 13
1-4 小结 16
习题1 16
第2章 常用数据结构及其在工程中的应用 17
2-1 线性数据结构及其工程应用 17
2-1-1 顺序表 17
2-1-2 线性链表 22
2-1-3 索引存储 35
2-1-4 栈 39
2-1-5 队列 50
2-1-6 串 56
2-2 非线性数据结构及其工程应用 62
2-2-1 多维数组 62
2-2-2 树与二叉树 69
2-2-3 图 79
习题2 90
2-3 小结 90
第3章 常用数据处理技术及其在工程中的应用 92
3-1 查找技术 92
3-1-1 顺序查找 92
3-1-2 二分查找 93
3-1-3 分块查找 95
3-1-4 二叉排序树查找 96
3-1-5 Hash表技术 99
3-2 排序技术 104
3-2-1 互换排序 105
3-2-2 插入排序 108
3-2-3 选择排序 110
3-2-4 归并排序 113
3-2-5 基数排序 115
3-2-6 排序方法的比较 115
3-2-7 排序技术在软件工程中的应用 115
3-3 小结 115
习题3 116
第4章 操作系统原理 117
4-1 操作系统简介 117
4-1-1 操作系统的概念 117
4-1-2 操作系统的类型与功能 121
4-2 进程管理 125
4-2-1 进程的概念 125
4-2-2 进程控制 127
4-2-3 进程的同步、互斥和通信 131
4-2-4 进程调度 138
4-2-5 死锁 140
4-3 存储管理 142
4-3-1 存储管理概述 142
4-3-2 常用存储管理技术 145
4-4 文件管理 149
4-4-1 文件管理概述 149
4-4-2 文件系统管理方式 152
4-5-1 设备管理的概念 157
4-5 设备管理 157
4-5-2 设备管理结构 160
4-5-3 缓冲技术 161
4-5-4 设备分配 161
4-5-5 虚拟设备 163
4-6 小结 165
习题4 165
5-1 数据库技术概述 166
5-1-1 数据管理与数据库技术 166
第5章 数据库技术 166
5-1-2 数据库系统的结构 174
5-2 数据模型 180
5-2-1 信息的三种世界及其描述 181
5-2-2 实体联系模型 182
5-2-3 层次模型 185
5-2-4 网状模型 187
5-2-5 面向对象模型 187
5-2-6 关系模型 188
5-3 关系化与规范化 192
5-3-1 关系代数及查询优化 192
5-3-2 关系模式的规范化 202
5-4 分布式数据库 218
5-4-1 分布式数据库概念 218
5-4-2 分布式数据库管理系统 219
5-4-3 分布式数据库设计 219
5-5-1 数据库设计的基本概念 221
5-5 工程数据库设计 221
5-5-2 工程数据库设计的基本步骤 222
5-5-3 工程数据字典 229
5-6 工程数据库的新技术与新应用 230
5-6-1 WWW数据库 230
5-6-2 多媒体数据库 231
5-6-3 移动数据库 232
5-6-4 地理信息系统 233
5-6-5 数字图书馆 233
5-7 小结 233
习题5 234
第6章 工程软件开发技术 235
6-1 软件工程 235
6-1-1 软件 235
6-1-2 软件工程的概念 238
6-1-3 软件支持环境 238
6-2 工程软件设计准则 239
6-2-2 结构化准则 240
6-2-1 抽象准则 240
6-2-3 模块化准则 241
6-2-4 信息隐藏和局部化准则 242
6-3 工程软件设计的基本技术 242
6-3-1 全生命周期法 243
6-3-2 原型法 244
6-3-3 面向数据的设计法 245
6-3-4 面向对象的设计方法 251
6-3-5 统一建模语言(UML) 257
6-4 工程软件的测试技术 263
6-4-1 工程软件测试的概念 263
6-4-2 工程软件的测试过程 264
6-4-3 工程软件的测试方法 266
6-5 工程软件质量评价与软件质量保证 272
6-5-1 工程软件质量标准 272
6-5-2 工程软件质量评价 273
6-5-3 工程软件质量保证——CMM 275
6-6-1 J2EE技术 276
6-6 工程软件新技术 276
6-7 小结 280
6-6-2 软件复用 280
习题6 281
第7章 工程软件实例——人力资源管理系统的开发 282
7-1 项目背景和需求 282
7-1-1 项目背景分析 282
7-1-2 用户需求 282
7-1-3 用户需求分析 283
7-2-2 系统总体结构 284
7-2 系统设计 284
7-2-1 运行方案 284
7-2-3 数据流图 285
7-2-4 实体—关系设计 286
7-2-5 状态—迁移模型 288
7-3 系统实现 290
7-3-1 数据库设计 290
7-3-2 程序设计 294