第1章 工程软件的基础元素 1
1.1工程软件概述 1
1.2数据结构概述 3
1.2.1数据结构及其数据运算的概念 3
1.2.2数据结构的分类 6
1.2.3数据结构的表示 8
1.2.4数据类型及数据抽象 10
1.3算法概述 12
1.3.1算法的概念 12
1.3.2算法的描述 13
1.3.3算法分析 14
小结 17
习题 17
第2章 常用数据结构及其在工程中的应用 18
2.1线性数据结构及其工程应用 18
2.1.1顺序表 19
2.1.2线性链表 23
2.1.3索引存储 35
2.1.4栈 39
2.1.5队列 49
2.1.6串 55
2.2非线性数据结构及其工程应用 61
2.2.1多维数组 61
2.2.2树与二叉树 68
2.2.3图 78
小结 87
习题 87
第3章 常用数据处理技术及其在工程中的应用 90
3.1查找技术 90
3.1.1顺序查找 91
3.1.2二分查找 91
3.1.3分块查找 93
3.1.4二叉排序树查找 94
3.1.5 Hash表技术 97
3.2排序技术 101
3.2.1互换排序 102
3.2.2插入排序 105
3.2.3选择排序 107
3.2.4归并排序 109
3.2.5基数排序 111
3.2.6排序方法的比较 111
3.2.7排序技术在软件工程中的应用 112
小结 112
习题 112
第4章 操作系统原理 114
4.1操作系统简介 114
4.1.1操作系统的概念 114
4.1.2操作系统的类型与功能 118
4.2进程管理 123
4.2.1进程的概念 123
4.2.2进程控制 125
4.2.3进程的同步、互斥和通信 128
4.2.4进程调度 135
4.2.5死锁 138
4.3存储管理 140
4.3.1存储管理概述 140
4.3.2常用存储管理技术 143
4.4文件管理 148
4.4.1文件管理概述 148
4.4.2文件系统管理方式 151
4.5设备管理 156
4.5.1设备管理的概念 156
4.5.2设备管理结构 159
4.5.3缓冲技术 160
4.5.4设备分配 161
4.5.5虚拟设备 163
小结 164
习题 165
第5章 数据库技术 166
5.1数据库技术概述 166
5.1.1数据管理与数据库技术 166
5.1.2数据库系统的结构 174
5.2数据模型 181
5.2.1信息的三种世界及其描述 181
5.2.2实体-联系模型 183
5.2.3层次模型 185
5.2.4网状模型 186
5.2.5面向对象模型 187
5.2.6关系模型 188
5.3关系化与规范化 191
5.3.1关系代数及查询优化 192
5.3.2关系模式的规范化 201
5.4分布式数据库 217
5.4.1分布式数据库概述 217
5.4.2分布式数据库管理系统 218
5.4.3分布式数据库设计 218
5.5工程数据库设计 220
5.5.1数据库设计的基本概念 220
5.5.2工程数据库设计的基本步骤 221
5.5.3工程数据字典 227
5.6工程数据库的新技术与新应用 229
5.6.1 WWW数据库 229
5.6.2多媒体数据库 231
5.6.3移动数据库 231
5.6.4地理信息系统 232
5.6.5数字图书馆 232
小结 233
习题 233
第6章 工程软件开发技术 235
6.1软件工程 235
6.1.1软件 235
6.1.2软件工程的概念 238
6.1.3软件支持环境 239
6.2工程软件设计准则 240
6.2.1抽象准则 240
6.2.2结构化准则 241
6.2.3模块化准则 241
6.2.4信息隐藏和局部化准则 242
6.3工程软件设计的基本技术 243
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工程软件质量保证 275
6.6工程软件新技术 276
6.6.1 Java EE技术 276
6.6.2软件复用 280
小结 281
习题 281
第7章 工程软件实例——人力资源管理系统的开发 282
7.1项目背景和需求 282
7.1.1项目背景分析 282
7.1.2用户需求 283
7.1.3用户需求分析 283
7.2系统设计 284
7.2.1运行方案 284
7.2.2系统总体结构 285
7.2.3数据流图 285
7.2.4实体-关系设计 286
7.2.5状态-迁移模型 288
7.3系统实现 290
7.3.1数据库设计 290
7.3.2程序设计 294
小结 296