第一篇 数据结构 1
第1章 数据结构的基本概念 1
1.1 数据结构的主要内容 1
1.2 基本概念和术语 3
1.2.1 数据、数据元素及数据项 3
1.2.2 数据结构 4
1.3 算法 6
1.3.1 算法的概念及特性 6
1.3.2 算法的描述方法 7
1.3.3 算法的性能分析 8
1.4 本章小结 10
自测习题 10
第2章 基本数据结构及其运算 11
2.1 线性结构 11
2.1.1 线性表及逻辑结构 11
2.1.2 线性表的顺序存储结构 12
2.1.3 线性表的链式存储结构 19
2.1.4 栈和队列 27
2.1.5 其他线性数据结构 42
2.2 树和二叉树 48
2.2.1 树的定义及基本术语 49
2.2.2 二叉树 50
2.2.3 应用举例 58
2.3 本章小结 61
自测习题 61
第3章 查找与排序技术 63
3.1 查找技术 63
3.1.1 基本概念 63
3.1.2 静态查找表 64
3.1.3 动态查找表 72
3.2 排序技术 76
3.2.1 基本概念 76
3.2.2 三种简单的排序方法 77
3.2.3 希尔排序 81
3.2.4 内部排序方法的比较与讨论 83
3.3 应用举例 83
3.4 本章小结 85
自测习题 85
第二篇 操作系统 87
第4章 操作系统原理 87
4.1 操作系统概述 87
4.2 操作系统的特性 88
4.3 操作系统的分类 89
4.4 操作系统的资源管理 91
4.4.1 进程管理 92
4.4.2 存储管理 95
4.4.3 文件管理 98
4.4.4 设备管理 101
4.5 操作系统提供的服务与用户接口 102
4.5.1 操作系统提供的基本服务 102
4.5.2 操作系统的用户接口 103
4.6 操作系统的结构 105
4.6.1 整体式结构 105
4.6.2 层次式结构 106
4.6.3 操作系统的内核 106
4.6.4 客户机/服务器结构 107
4.7 本章小结 108
自测习题 108
第5章 流行操作系统简介 109
5.1 DOS操作系统 109
5.2 Windows操作系统 110
5.3 UNIX操作系统 112
5.4 Linux操作系统 113
5.5 本章小结 114
自测习题 114
第三篇 数据库 115
第6章 数据库原理 115
6.1 概述 115
6.1.1 数据管理的发展 116
6.1.2 数据库管理系统介绍 117
6.1.3 数据和数据模型 119
6.1.4 三级模式结构体系 124
6.1.5 数据库管理系统的功能 125
6.2 关系数据库 126
6.2.1 关系的基本概念 126
6.2.2 关系模型 129
6.3 关系数据库规范化理论 130
6.3.1 函数依赖 131
6.3.2 码 132
6.3.3 范式 133
6.4 数据库保护 135
6.4.1 事务 136
6.4.2 并发控制 137
6.4.3 数据库的备份与恢复 138
6.5 本章小结 140
自测习题 141
第7章 数据库应用 142
7.1 结构化查询语言(SQL) 142
7.1.1 SQL的数据定义 143
7.1.2 SQL的数据查询 147
7.1.3 SQL的数据更新 155
7.1.4 视图 157
7.1.5 数据控制 158
7.2 数据库新技术 160
7.2.1 数据库新技术概述 160
7.2.2 面向对象数据库系统 161
7.2.3 分布式数据库系统 162
7.2.4 并行数据库系统 163
7.2.5 多媒体数据库 164
7.3 本章小结 165
自测习题 165
第四篇 软件工程导论 167
第8章 软件工程 167
8.1 软件发展介绍 167
8.1.1 软件的发展阶段 167
8.1.2 软件的概念 168
8.2 软件危机 170
8.3 软件工程 171
8.4 软件生存周期和软件生存周期模型 173
8.4.1 软件生存周期 173
8.4.2 软件生存周期模型 173
8.5 软件开发方法 176
8.5.1 结构化方法 176
8.5.2 面向对象开发方法 177
8.6 本章小结 178
自测习题 178
第9章 软件开发过程 179
9.1 软件开发计划 179
9.1.1 问题定义 179
9.1.2 可行性研究 180
9.1.3 软件开发计划的制定 182
9.1.4 成本-效益分析 183
9.2 需求分析 183
9.2.1 需求分析的概念和任务 183
9.2.2 需求获取 185
9.2.3 需求分析建模 185
9.2.4 需求分析文档和需求验证 192
9.2.5 需求管理 193
9.3 软件设计与实现 193
9.3.1 概要设计 193
9.3.2 详细设计 202
9.3.3 软件实现 205
9.4 软件测试 208
9.4.1 软件测试的任务 208
9.4.2 软件测试方法 208
9.4.3 测试用例设计 210
9.4.4 测试过程 214
9.5 软件维护 217
9.5.1 可维护性 217
9.5.2 软件维护分类 219
9.5.3 软件维护实施 219
9.6 本章小结 221
自测习题 221
第10章 面向对象软件工程 223
10.1 面向对象的基本概念 223
10.2 面向对象分析 225
10.3 面向对象设计 229
10.4 面向对象开发方法与统一建模语言 231
10.4.1 面向对象开发方法 231
10.4.2 统一建模语言 233
10.5 面向对象实现 241
10.5.1 构件图 241
10.5.2 配置图 242
10.6 面向对象分析设计举例 243
10.6.1 进销存系统的需求说明 243
10.6.2 UML建模 243
10.7 本章小结 247
自测习题 247
参考答案 248
参考文献 267