第1章 软件技术概论 1
1.1软件的定义及分类 1
1.2软件技术及其发展 2
1.3章节内容及学习方法 3
第2章 C语言回顾 7
2.1运行环境 7
2.2数组与结构 8
2.2.1数组 8
2.2.2结构 10
2.3指针 12
2.3.1指针的定义及运算 12
2.3.2数组指针和指针数组 13
2.3.3结构体指针 14
2.3.4函数指针与指针函数 14
2.4递归 15
2.4.1递归的定义 15
2.4.2应用递归的问题类型 16
2.4.3递归与回溯 18
2.4.4递归与非递归程序的转换 19
第3章 数据结构 21
3.1数据的逻辑结构与存储结构 21
3.1.1基本概念 21
3.1.2数据的逻辑结构 22
3.1.3数据的存储结构 24
3.2线性表 25
3.2.1线性表的顺序存储和操作 25
3.2.2线性表的链式存储和操作 29
3.2.3小结 34
3.2.4栈 35
3.2.5队列 37
3.2.6栈和队列的应用 41
3.3树 43
3.3.1常用术语 43
3.3.2二叉树 44
3.3.3森林、树与二叉树的转换 46
3.3.4树的应用举例 47
3.4图 50
3.4.1常用术语 51
3.4.2图的存储结构 52
3.4.3图的应用举例 54
第4章 遍历、查找和排序 56
4.1算法 56
4.1.1算法的定义及描述 56
4.1.2算法设计的要求 56
4.1.3算法的效率度量 57
4.2遍历 60
4.2.1二叉树的遍历 61
4.2.2图的遍历 62
4.3查找 64
4.3.1查找的基本概念 64
4.3.2顺序查找 65
4.3.3二分查找 66
4.3.4分块查找 67
4.3.5哈希查找 68
4.4排序 73
4.4.1排序的基本概念 73
4.4.2插入排序 73
4.4.3交换排序 76
4.4.4选择排序 78
4.4.5归并排序 79
4.4.6多关键字排序 79
4.4.7小结 80
第5章 操作系统 82
5.1操作系统简介 82
5.1.1操作系统的功能 82
5.1.2操作系统的发展历史 84
5.1.3操作系统的分类 89
5.2操作系统与计算机硬件 90
5.2.1处理器 91
5.2.2内存 93
5.2.3磁盘 94
5.2.4 I/O设备 94
5.2.5总线 96
5.2.6计算机的启动过程 97
5.3操作系统的相关概念 97
5.3.1进程 97
5.3.2地址空间 104
5.3.3文件 105
5.3.4输入输出 107
5.3.5 Shell 107
5.4系统调用 108
5.5小结 113
第6章 数据库系统 115
6.1数据库系统概述 115
6.1.1数据、数据模型与数据库 115
6.1.2数据库系统 119
6.2关系数据库 121
6.2.1关系概念模型 121
6.2.2关系结构模型 122
6.3结构化查询语言——SQL 125
6.3.1 SQL概述 125
6.3.2数据定义 126
6.3.3数据操纵 130
6.3.4数据控制 134
6.4数据库应用系统开发 136
6.4.1数据库应用系统的结构 136
6.4.2数据库产品的选择 137
6.4.3数据库访问标准 138
第7章 计算机网络 142
7.1计算机网络和因特网 142
7.1.1计算机网络的定义 142
7.1.2计算机网络的发展历史 142
7.1.3因特网的组成 143
7.1.4计算机网络的性能 146
7.1.5计算机网络的体系结构 147
7.2应用层 148
7.2.1域名系统 148
7.2.2 Web和HTTP 149
7.2.3文件传输协议 149
7.2.4因特网中的电子邮件标准 149
7.3传输层 150
7.3.1传输层协议概述 150
7.3.2 Internet传输协议UDP 150
7.3.3 Internet传输协议TCP 151
7.3.4 TCP拥塞和流量控制 152
7.4网络层 152
7.4.1网络层提供的服务 152
7.4.2网络协议 153
7.4.3 IPv6 154
7.4.4因特网的路由选择协议 155
7.4.5虚拟专用网络 155
7.5数据链路层 156
7.5.1数据链路层的基本结构 156
7.5.2数据链路和帧 157
7.5.3数据链路控制协议 157
7.5.4高速以太网 158
7.6无线网络和移动网络 158
7.6.1无线传输 158
7.6.2通信卫星 159
7.6.3无线局域网 159
7.6.4移动网络 160
第8章 软件工程 162
8.1软件工程概述 162
8.1.1软件危机 162
8.1.2软件工程的思想 162
8.2软件的生命周期 167
8.2.1问题定义及可行性分析 167
8.2.2需求分析 168
8.2.3概要设计 170
8.2.4详细设计 172
8.2.5编码 175
8.2.6软件测试 176
8.2.7软件维护 180
8.3软件开发方法 181
8.3.1常用的软件开发方法 181
8.3.2软件开发方法的选择及评价 185
8.4计算机辅助软件工程 186
8.4.1 CASE工具的功能 186
8.4.2常用CASE开发工具 186
8.4.3 CASE工具的使用策略 189
第9章 网络新技术 191
9.1大数据 191
9.1.1大数据概述 191
9.1.2大数据的关键技术 192
9.1.3大数据的典型应用 194
9.2云计算 195
9.2.1云计算概述 196
9.2.2云计算的关键技术 197
9.2.3云计算的服务模型和部署模式 198
9.2.4云计算的典型应用 200
9.3物联网 201
9.3.1物联网概述 201
9.3.2物联网的关键技术 203
9.3.3物联网的典型应用 203
9.3.4互联网、物联网、大数据、云计算的关系 207
参考文献 209