第1章 信息技术与计算机应用概述 1
1.1 信息技术概述 1
1.2 计算机应用概述 5
1.2.1 计算机概述 5
1.2.2 计算机的应用 6
本章小结 7
习题1 8
第2章 算法与数据结构 10
2.1 算法和数据结构基本概念 10
2.1.1 算法的基本概念 10
2.1.2 数据、数据元素和数据类型 15
2.1.3 数据结构 16
2.1.4 数据结构+算法=程序 18
2.2 基本数据结构 19
2.2.1 线性表 19
2.2.2 栈和队列 25
2.2.3 树和二叉树 29
2.2.4 图 37
2.3 顺序表的应用 39
2.3.1 顺序表查找运算 39
2.3.2 顺序表元素值的交换问题 43
2.3.3 顺序表元素值的排序问题 45
2.4 常用算法 52
2.4.1 穷举法 52
2.4.2 递推法 53
2.4.3 迭代法 56
2.4.4 递归法 58
本章小结 59
习题2 60
第3章 软件工程基础 67
3.1 软件、软件危机与软件工程 67
3.1.1 软件、软件危机 67
3.1.2 软件工程的提出 70
3.1.3 软件工程的主要成分 71
3.2 软件生命周期 74
3.2.1 软件生命周期 74
3.2.2 软件生命周期的瀑布模型 74
3.2.3 软件工程过程 77
3.3 计划时期 80
3.3.1 问题的定义 80
3.3.2 可行性研究 81
3.3.3 项目实施计划 81
3.4 需求分析 82
3.4.1 需求分析的定义及特点 82
3.4.2 需求分析的任务 83
3.4.3 需求分析的步骤 84
3.4.4 需求规格说明书 84
3.4.5 需求分析的原则 85
3.4.6 需求分析的方法——结构化分析法 86
3.5 软件总体设计 88
3.5.1 概要设计的任务 89
3.5.2 概要设计的内容 89
3.5.3 软件的结构设计 90
3.5.4 总体设计的方法——结构化设计方法 92
3.6 软件详细设计 94
3.6.1 目的、任务与方法 94
3.6.2 详细设计的方法 96
3.6.3 常用表达工具 98
3.6.4 详细设计说明书 98
3.7 编码和语言选择 99
3.8 软件测试 99
3.8.1 基本概念 100
3.8.2 软件测试的准则 101
3.8.3 软件测试的步骤 101
3.8.4 代码的复审 102
3.8.5 测试用例的设计 103
3.8.6 单元测试 105
3.8.7 集成测试 106
3.8.8 确认测试 106
3.8.9 系统测试 107
3.8.10 程序调试 107
3.9 软件维护 108
3.9.1 软件维护的种类 108
3.9.2 软件的可维护性 109
3.9.3 提高可维护性的途径 110
本章小结 111
习题3 111
第4章 程序设计基础 117
4.1 程序设计语言及其发展 117
4.1.1 程序设计语言的发展 117
4.1.2 高级程序设计语言的开发过程 118
4.2 程序设计方法与风格 121
4.3 程序设计的基本方法 123
4.3.1 结构化程序设计方法 123
4.3.2 面向对象程序设计 126
本章小结 128
习题4 129
第5章 数据库技术基础 131
5.1 数据管理系统概述 131
5.1.1 数据库概论 131
5.1.2 数据管理技术的发展 133
5.1.3 数据库、数据库管理系统和数据库系统 137
5.2 数据描述 138
5.2.1 现实世界 139
5.2.2 信息世界 139
5.2.3 机器世界 139
5.2.4 数据模型 139
5.2.5 数据模型的组成要素 141
5.2.6 数据库系统的体系结构 142
5.3 关系数据库 144
5.3.1 关系模型的基本概念 144
5.3.2 E-R模型向关系模型的转换 147
5.3.3 关系代数运算 149
5.3.4 关系数据库标准语言 150
5.4 数据库设计 152
5.4.1 数据库设计概述 152
5.4.2 需求分析 154
5.4.3 概念结构设计 155
5.4.4 逻辑结构设计 156
5.4.5 数据库物理设计 156
本章小结 156
习题5 157
考试真题及答案 162