第1章 概述 1
1.1 什么是计算机软件技术 1
1.2 软件的分类 2
1.2.1 系统软件 2
1.2.2 编程软件 6
1.2.3 应用软件 9
1.3 软件架构 13
1.4 本章小结 14
1.5 复习题和思考题 15
1.5.1 复习题 15
1.5.2 思考题 15
第2章 程序设计语言 16
2.1 典型示例 16
2.2 程序设计语言的演变简史 19
2.3 程序设计语言的分类 21
2.4 程序设计语言的基本元素 23
2.4.1 语句和表达式 23
2.4.2 注释 25
2.4.3 数据类型 27
2.4.4 程序控制结构 31
2.4.5 子例程 38
2.5 本章小结 39
2.6 复习题和思考题 39
2.6.1 复习题 39
2.6.2 思考题 40
第3章 多媒体技术 41
3.1 概述 41
3.2 多媒体数据压缩技术 42
3.2.1 常见的压缩方法和标准 42
3.2.2 RLE 43
3.2.3 Huffman编码法 44
3.3 图像 45
3.3.1 矢量图和位图 45
3.3.2 颜色 46
3.3.3 典型的图像文件格式 46
3.4 音频 47
3.4.1 数字音频的特点 47
3.4.2 音频文件格式 48
3.5 视频 49
3.5.1 数字视频的特点 49
3.5.2 视频文件格式 49
3.6 动画 50
3.6.1 动画基本原理 50
3.6.2 动画的主要技术 51
3.7 多媒体软件开发过程 52
3.8 本章小结 52
3.9 复习题和思考题 53
3.9.1 复习题 53
3.9.2 思考题 53
第4章 算法与数据结构 54
4.1 算法概述 54
4.1.1 算法示例 54
4.1.2 算法的概念 55
4.1.3 算法的表示方式 55
4.1.4 算法的复杂度分析 59
4.1.5 算法的分类 60
4.2 递归法 62
4.3.1 递归法的特征 62
4.3.2 Hanoi塔 64
4.3 搜索算法 66
4.3.1 顺序搜索算法 66
4.3.2 二分搜索算法 68
4.3.3 散列搜索算法 70
4.4 排序算法 71
4.4.1 冒泡排序 71
4.4.2 插入排序 72
4.4.3 选择排序 74
4.5 数据结构概述 75
4.6 集合 78
4.7 线性表 78
4.7.1 线性表的基本特点 78
4.7.2 顺序表 79
4.7.3 链表 81
4.7.4 栈 83
4.7.5 队列 84
4.8 树 84
4.8.1 树的特点 84
4.8.2 二叉树的特点 86
4.9 图 88
4.9.1 图的定义和特点 89
4.9.2 图的表示方法 90
4.9.3 图的主要操作 91
4.10 本章小结 92
4.11 复习题和思考题 92
4.11.1 复习题 92
4.11.2 思考题 93
第5章 数据库技术 94
5.1 数据库技术应用示例 94
5.2 数据库技术概述 95
5.2.1 数据库技术的演变过程 95
5.2.2 数据库技术的概念 98
5.2.3 数据库模型和数据库建模 98
5.2.4 数据库存储结构 100
5.2.5 数据库管理系统的组成结构 102
5.2.6 数据库技术的作用和影响 102
5.3 关系型数据库技术 103
5.3.1 基本概念 103
5.3.2 数据库范式 104
5.3.3 数据库对象 106
5.3.4 实体关系图 107
5.3.5 数据完整性 108
5.3.6 数据库的安全性 109
5.3.7 数据库开发过程 110
5.4 SQL语言 111
5.4.1 SQL语言的特征 111
5.4.2 数据控制语句 112
5.4.3 数据定义语句 112
5.4.4 数据操纵语句 113
5.4.5 数据类型 114
5.5 数据库技术的发展趋势 114
5.5.1 数据库技术面临的挑战 114
5.5.2 数据库技术的发展趋势 115
5.6 本章小结 116
5.7 复习题和思考题 117
5.7.1 复习题 117
5.7.2 思考题 117
第6章 软件工程 118
6.1 概述 118
6.2 软件开发的主要活动 119
6.2.1 软件需求分析 119
6.2.2 软件设计 123
6.2.3 软件编码 127
6.2.4 软件测试 128
6.2.5 软件维护 134
6.3 软件过程和软件过程模型 134
6.3.1 软件过程 135
6.3.2 软件过程模型 137
6.3.3 能力成熟度模型 140
6.4 软件配置管理 142
6.5 软件质量管理 142
6.5.1 软件质量因素 143
6.5.2 软件质量保证 144
6.6 软件复用 145
6.7 软件项目管理 146
6.7.1 软件项目管理框架 146
6.7.2 软件项目计划过程 148
6.7.3 软件评估和控制过程 149
6.8 本章小结 150
6.9 复习题和思考题 150
6.9.1 复习题 150
6.9.2 思考题 151
参考文献 152