第一篇 概论篇 2
第1章 计算机软件概论 2
1.1 计算机系统与计算机软件 2
1.2 计算机软件的基本概念 2
1.3 软件的分类 4
1.4 计算机软件的内容 5
本章复习指导 6
习题1 7
第二篇 基础篇 10
第2章 算法理论 10
2.1 算法的基本概念 10
2.2 算法的基本特征 11
2.3 算法的基本要素 12
2.4 算法描述 12
2.4.1 形式化描述 12
2.4.2 半形式化描述 13
2.4.3 非形式化描述 13
2.5 算法的设计 14
2.6 算法评价 19
2.7 一个完整的算法表示 21
2.8 几点说明 22
本章复习指导 22
习题2 23
第3章 数据基础 24
3.1 数据基本概念 24
3.1.1 数据定义 24
3.1.2 数据组成 24
3.1.3 数据元素 26
3.2 数据操纵与数据结构 27
3.2.1 数据操纵 27
3.2.2 广义数据结构 27
3.3 数据分类 28
3.3.1 数据特性分析与分类 28
3.3.2 数据的三种分类之间的关系 29
3.4 数据发展历史简介 30
3.5 数据理论的深层次认识 30
本章复习指导 31
习题3 32
第4章 数据结构 33
4.1 概述 33
4.1.1 数据元素 33
4.1.2 数据的逻辑结构 33
4.1.3 数据的物理结构 34
4.1.4 物理结构的实现 35
4.1.5 关于数据结构中的算法 36
4.2 线性结构 36
4.2.1 线性表 36
4.2.2 栈 43
4.2.3 队列 48
4.2.4 串 54
4.3 树结构 58
4.3.1 一般树 58
4.3.2 二叉树 62
4.4 图结构 67
4.4.1 图的定义 67
4.4.2 图的几个术语及基本性质 68
4.4.3 对图的基本操作 69
4.4.4 图的存储结构 70
4.4.5 图的遍历 73
本章复习指导 74
习题4 75
第三篇 系统篇 78
第5章 操作系统 78
5.1 基本概念 78
5.1.1 什么是操作系统 78
5.1.2 操作系统的分类 79
5.1.3 操作系统的功能 80
5.1.4 操作系统的结构 80
5.2 CPU管理与中断管理 81
5.2.1 进程描述与进程控制 81
5.2.2 进程同步、互斥与进程通信 84
5.2.3 线程 87
5.2.4 CPU调度 87
5.2.5 中断管理 88
5.3 存储管理 90
5.3.1 内存分配 90
5.3.2 地址重定位 90
5.3.3 虚拟存储器及虚拟存储管理 90
5.4 设备管理 94
5.4.1 设备管理概述 94
5.4.2 设备控制技术 96
5.4.3 缓冲技术 96
5.4.4 设备的分配与调度算法 97
5.4.5 SPOOLING技术 98
5.4.6 设备驱动程序 99
5.4.7 外部存储器的管理 99
5.5 文件管理 102
5.5.1 文件系统及其结构 102
5.5.2 文件的组织结构 103
5.5.3 文件的目录管理 104
5.5.4 文件的存储空间管理 105
5.5.5 文件的存取控制 105
5.5.6 文件的操作 106
5.6 操作系统的用户接口 106
5.6.1 操作系统的用户接口分类 106
5.6.2 三种接口方式介绍 107
5.7 常用操作系统介绍 108
5.7.1 Windows操作系统 108
5.7.2 UNIX操作系统 112
5.7.3 Linux操作系统 113
本章复习指导 115
习题5 116
第6章 程序设计语言与语言处理系统 118
6.1 概述 118
6.2 程序与程序设计语言 118
6.2.1 程序和程序设计 118
6.2.2 程序设计语言 119
6.2.3 高级语言的文法结构 122
6.3 语言处理系统 123
6.3.1 几个有关概念 124
6.3.2 汇编程序 124
6.3.3 解释程序 125
6.3.4 编译程序 126
6.3.5 语言环境 129
本章复习指导 130
习题6 131
第7章 数据库系统 132
7.1 基本概念 132
7.1.1 数据库系统概述 132
7.1.2 数据管理 133
7.1.3 数据处理 137
7.2 数据模型 139
7.2.1 数据模型的基本概念 139
7.2.2 概念模型 140
7.2.3 逻辑模型 143
7.2.4 物理模型 145
7.3 关系模型数据库管理系统 146
7.3.1 数据定义功能 146
7.3.2 数据操纵功能 147
7.3.3 数据控制功能 148
7.4 关系数据库管理系统标准语言SQL 151
7.4.1 SQL概述 151
7.4.2 SQL的数据定义语句 152
7.4.3 SQL的查询语句 154
7.4.4 SQL分层结构查询 158
7.4.5 SQL的更新语句 159
7.4.6 SQL的统计、计算及分类 160
7.4.7 SQL的视图语句 162
7.4.8 SQL的数据控制语句 163
7.5 主流数据库产品价格 167
7.5.1 大型数据库产品Oracle 167
7.5.2 小型数据库产品SQL Server 167
7.5.3 桌面式数据库产品Access及VFP 168
本章复习指导 169
习题7 170
第8章 支撑软件与应用软件 173
8.1 支撑软件 173
8.1.1 支撑软件的基本概念 173
8.1.2 中间件 173
8.2 应用软件 176
8.2.1 概述 176
8.2.2 应用软件组成 177
8.2.3 典型应用软件介绍 177
本章复习指导 182
习题8 182
第四篇 开发篇 184
第9章 软件工程 184
9.1 软件工程概述 184
9.1.1 软件危机与软件工程 184
9.1.2 软件工程的基本概念 184
9.1.3 软件开发方法 185
9.1.4 软件开发工具 186
9.1.5 软件开发过程 187
9.1.6 软件开发过程中的生存周期模型 188
9.1.7 软件产品文档与标准 191
9.1.8 软件质量保证 191
9.1.9 软件项目管理 191
9.2 结构化开发方法 191
9.2.1 结构化开发方法介绍 191
9.2.2 结构化分析方法 192
9.2.3 系统设计 196
9.2.4 系统编码 203
9.2.5 测试 204
9.2.6 运行与维护 208
9.3 软件工程标准化 208
9.3.1 软件工程标准化的意义 209
9.3.2 软件工程标准化组织与标准 209
9.3.3 我国的软件工程标准 210
9.4 软件工程中的文档 211
9.4.1 文档的作用 211
9.4.2 文档的分类 211
9.4.3 常用的软件文档 211
9.4.4 文档编制的质量要求 212
9.5 软件项目管理 213
9.5.1 软件项目成本控制 213
9.5.2 项目进度安排 214
9.5.3 项目管理内容 214
9.5.4 软件配置管理 216
9.6 软件质量保证 216
9.6.1 软件质量的概念 216
9.6.2 保证软件质量的手段 217
本章复习指导 218
习题9 220
第10章 应用系统开发 221
10.1 应用系统开发原理 221
10.1.1 应用系统组成概述 221
10.1.2 应用系统开发步骤 222
10.2 应用系统组成 222
10.2.1 应用系统基础平台 222
10.2.2 应用系统的资源管理层 223
10.2.3 应用系统的业务逻辑层 224
10.2.4 应用系统的应用表现层 225
10.2.5 应用系统的用户层 225
10.2.6 典型的应用系统组成介绍 225
10.3 应用系统开发实例——嵌入式电子点菜系统 226
10.3.1 嵌入式电子点菜系统简介 226
10.3.2 需求调查 227
10.3.3 系统分析 228
10.3.4 系统设计 229
10.3.5 系统平台 230
10.3.6 系统详细设计 230
10.3.7 系统结构图 231
10.3.8 系统实现 231
本章复习指导 231
习题10 232
附录 数据结构的部分实验程序 233
参考文献 241