前言 1
第1章 软件开发方法 1
1.1 软件概述 1
1.1.1 软件的特征 1
1.1.2 软件分类 3
1.1.3 软件及开发技术发展史 4
1.1.4 软件危机 7
1.1.5 软件生命周期 11
1.2 软件工程 12
1.2.1 软件工程概述 13
1.2.2 软件工程的目标 13
1.2.3 软件工程的原理 14
1.2.4 软件开发活动 15
1.2.5 软件工程方法学 26
1.2.6 软件工程前景 32
1.3 软件工程技术 34
1.3.1 构件技术 34
1.3.2 软件复用技术 37
1.3.3 C/S系统设计基础 39
1.3.4 基于Web工程设计基础 41
1.4 习题 43
第2章 数据结构及其应用 45
2.1 数据结构基本概念 45
2.2 线性数据结构 47
2.2.1 顺序表 47
2.2.2 线性链表 53
2.2.3 堆栈 61
2.2.4 队列 66
2.3 非线性数据结构 73
2.3.1 二叉树的基本概念 73
2.3.2 二叉树的存储及遍历 75
2.3.3 图的基本概念 77
2.3.4 图的存储方式 78
2.3.5 图的遍历方法 81
2.3.6 树和图的应用 83
2.4.1 查找基本概念 90
2.4 查找和排序 90
2.4.2 静态查找技术 91
2.4.3 动态查找技术 93
2.4.4 排序基本概念 98
2.4.5 常用排序方法 99
2.5 习题 103
3.1.1 操作系统的定义 106
3.1.2 操作系统的功能 106
3.1 操作系统及其功能 106
第3章 操作系统及相关程序设计技术 106
3.1.3 DOS与Windows操作系统使用方法简介 107
3.1.4 DOS与Windows操作系统程序接口简介 112
3.2 处理器管理应用程序设计 116
3.2.1 处理器管理 116
3.2.2 线程与多线程及其应用 122
3.2.3 定时器及其应用 126
3.3 存储器管理应用程序设计 133
3.3.1 存储器管理 133
3.3.2 动态链接库的使用 136
3.4 设备与文件管理应用程序设计 138
3.4.1 设备管理与程序设计 138
3.4.2 文件管理与程序设计 142
3.5 用户接口管理应用程序设计 148
3.5.1 用户接口管理的概念 148
3.5.2 图形界面的程序设计 149
3.6 习题 155
4.1.1 数据模型 159
4.1 数据库技术基础 159
第4章 数据库及应用程序开发 159
4.1.2 规范化理论 163
4.1.3 关系数据库标准语言SQL 167
4.2 数据库设计 178
4.2.1 需求分析与概念设计 178
4.2.2 逻辑结构设计 179
4.2.3 数据库物理设计及实施 183
4.3.1 数据库连接技术 185
4.3 数据库编程 185
4.3.2 利用Visual C++开发应用系统 186
4.3.3 编程实例 190
4.4 习题 205
第5章 网络软件开发技术 207
5.1 Internet基础 207
5.1.1 Internet概述 207
5.1.2 网络协议和体系结构 208
5.1.3 TCP/IP地址模式 209
5.1.4 Internet传输层协议 210
5.1.5 C/S计算模型 212
5.2 Socket概述 213
5.2.1 Socket简介 213
5.2.2 初始化WinSock 213
5.2.3 协议地址及转换函数 214
5.2.4 创建Socket 216
5.2.5 关闭Socket 216
5.3.1 服务器端API 217
5.3 面向连接的客户服务器编程 217
5.3.2 客户端API 219
5.3.3 数据传输API 220
5.3.4 用类封装服务器端和客户端API 220
5.3.5 实例 225
5.4 无连接的客户服务器编程 228
5.4.1 准备通信 228
5.4.2 数据传输API 229
5.4.3 实例 230
5.5 迭代和并发服务器的设计 235
5.6 从Web服务器下载文件 238
5.7 多线程文本聊天系统 241
5.8 习题 261
第6章 多媒体编程技术 262
6.1 多媒体基础 262
6.1.1 音频及波形文件 262
6.1.2 图像及颜色 264
6.1.3 视频 267
6.2 音频的播放与处理 268
6.2.1 使用MCI播放音频 268
6.2.2 Wave文件结构 271
6.2.3 音效处理 273
6.3 图像处理 276
6.3.1 Windows GDI 276
6.3.2 显示位图 279
6.3.3 BMP位图的结构 282
6.3.4 BMP位图的读写与处理 283
6.4 位图动画 290
6.5 习题 294
附录 296
附录A Visual C++6.0 Windows编程基础 296
A.1 Windows编程的基本概念 296
A.2 Windows API编程 297
A.3 基于框架窗口的MFC应用程序 302
A.4 基于文档视图结构的MFC应用程序 311
实验1 利用顺序表实现学生信息管理 318
附录B 实验指导 318
实验2 利用单链表实现学生信息管理 319
实验3 二叉树的生成和遍历 320
实验4 学生成绩的查找和排序 322
实验5 Windows常用系统命令的编程 323
实验6 编写模仿“我的电脑”功能的程序 323
实验7 编写供两个人玩的五子棋游戏程序 324
实验8 数据库的建立和操作 324
实验9 数据库编程 326
实验10 建立数据库及应用系统 326
实验11 消息回声 327
实验12 访问计数器 328
实验13 网络选课 329
实验14 音频文件的播放 331
实验15 BMP文件的处理 333
实验16 BMP位图动画 334
参考文献 336