第1章 软件工程概述
1.1 软件和软件危机
1.1.1 软件的概念
1.1.2 软件危机
1.2 软件工程的基本概念
1.2.1 软件工程的定义
1.2.2 软件工程的原则
1.2.3 软件生存周期
1.3 软件工程过程模型
1.3.1 瀑布模型
1.3.2 原型模型
1.3.3 螺旋模型
1.3.4 增量模型
1.3.5 喷泉模型
1.3.6 统一开发过程
1.3.7 敏捷开发过程
1.4 软件开发方法
1.4.1 结构化开发方法
1.4.2 面向对象开发方法
习题
第2章 线性表
2.1 数据结构基本概念
2.2 线性表
2.3 顺序表
2.4 单链表
2.5 循环链表
2.6 双向链表
习题
第3章 堆栈与队列
3.1 堆栈
3.1.1 堆栈的逻辑结构
3.1.2 堆栈的顺序存储结构
3.1.3 堆栈链式存储结构
3.1.4 双栈共享一个存储空间
3.2 队列
3.2.1 队列的逻辑结构
3.2.2 队列的顺序存储结构
3.2.3 队列的链式存储结构
3.3 堆栈应用实例
习题
第4章 树和图
4.1 树的逻辑结构及其运算
4.2 二叉树
4.2.1 二叉树的定义及其运算
4.2.2 二叉树类
4.2.3 特殊二叉树
4.2.4 二叉树的遍历
4.3 树类
4.4 图的逻辑结构及其运算
4.5 图类
4.5.1 邻接矩阵
4.5.2 邻接表
4.6 图的遍历
4.6.1 深度优先遍历连通图
4.6.2 广度优先遍历连通图
习题
第5章 查找和排序
5.1 查找
5.2 顺序查找与折半查找
5.3 分块查找与树表查找
5.4 哈希查找
5.4.1 哈希表
5.4.2 哈希表的建立
5.4.3 解决地址冲突的方法
5.4.4 线性探测的哈希查找
5.4.5 二次探测再散列查找
5.4.6 链地址法的哈希查找
5.5 排序
5.5.1 排序概述
5.5.2 简单插入排序
5.5.3 简单选择排序
5.5.4 快速排序
5.5.5 基数排序
习题
第6章 操作系统及Windows程序设计
6.1 操作系统原理概述
6.1.1 进程管理
6.1.2 存储器管理
6.1.3 文件管理
6.1.4 设备管理
6.1.5 用户接口
6.2 Windows和MFC编程基础
6.2.1 Windows操作系统和编程接口
6.2.2 MFC框架概述
6.2.3 使用MFC应用向导创建应用程序
6.2.4 MFC编程实例
6.3 Windows多线程编程
6.3.1 线程概念
6.3.2 线程创建和终止
6.3.3 线程同步
6.4 动态链接库应用
6.4.1 动态链接库介绍
6.4.2 创建和使用动态链接库
习题
第7章 数据库及应用程序开发
7.1 数据库技术基础
7.1.1 数据模型
7.1.2 规范化理论
7.2 关系数据库标准语言SQL
7.2.1 SQL概述
7.2.2 数据表的操作
7.2.3 SQL的数据操作
7.2.4 SQL的数据查询
7.2.5 SQL的数据控制
7.3 数据库设计
7.3.1 需求分析
7.3.2 概念结构设计
7.3.3 逻辑结构设计
7.3.4 物理结构设计
7.3.5 数据库实施
7.3.6 数据库运行和维护
7.4 数据库编程
7.4.1 常用的数据库连接技术
7.4.2 利用Visual C++和ODBC开发应用系统
习题
第8章 网络软件开发技术
8.1 计算机网络和Internet基础
8.1.1 Internet概述
8.1.2 网络协议和体系结构
8.1.3 TCP/IP地址模式
8.1.4 Internet传输层协议
8.1.5 客户/服务器计算模型
8.2 Windows socket编程
8.2.1 Winsock简介
8.2.2 Winsock API
8.2.3 Winsock编程原理
8.2.4 Winsock编程实例
8.3 使用MFC网络编程
8.3.1 CAsyncSocket类
8.3.2 CSocket类
8.3.3 CSocket编程实例
习题
第9章 多媒体编程技术
9.1 音频的播放与编程
9.1.1 音频及波形文件
9.1.2 使用MCI播放音频
9.1.3 WAVE文件的处理
9.1.4 在网页中播放音频
9.2 图像处理
9.2.1 图像及颜色
9.2.2 位图的结构
9.2.3 BMP位图的处理
9.2.4 使用MFC中的类显示位图
9.2.5 在网页中使用图像
9.2.6 使用Windows GDI绘图
9.3 动画和视频
9.3.1 动画
9.3.2 视频
习题
参考文献