第一章 算法与数据结构 1
1.1 数据结构 1
1.1.1 数据结构 1
1.1.2 算法 2
1.2 线性数据结构 6
1.2.1 线性表 6
1.2.2 栈 13
1.2.3 队列 15
1.2.4 应用实例 18
1.3 非线性数据结构 32
1.3.1 树的定义、运算及存储结构 32
1.3.2 二叉树的定义和存储结构 34
1.3.3 二叉树的遍历 36
1.3.4 应用和程序设计 37
1.4 查找与排序 44
1.4.1 查找算法 45
1.4.2 排序算法 50
1.4.3 应用和程序设计 55
习题一 62
第二章 软件开发的基本概念 64
2.1 软件的概念与特点 64
2.2 软件技术的发展 65
2.3 软件生存期与生存期模型 66
2.4 瀑布开发模型的特点及各阶段的任务 67
2.5 软件开发原则 71
习题二 72
3.1 需求分析的目标和任务 73
第三章 需求分析 73
3.2 结构化分析法(SA法) 74
3.3 数据流图 75
3.3.1 数据流图的组成元素 75
3.3.2 数据流图的画法 76
3.4 数据词典 80
3.4.1 数据流定义 80
3.5 加工逻辑 82
3.4.2 数据存储定义 82
3.5.1 结构化语言 83
3.5.2 判定表 86
3.5.3 判定树 86
习题三 87
第四章 结构设计 88
4.1 软件设计的目的和任务 88
4.2 软件结构及其表达方法 88
4.3 模块化设计 90
4.3.1 模块 90
4.3.2 为什么采用模块化设计 91
4.3.3 模块独立性 91
4.4 设计准则 93
4.5 结构化设计 95
4.5.1 数据流图的类型 96
4.5.2 设计过程 96
4.5.3 变换设计实例 97
4.5.4 事务设计实例 103
习题四 110
第五章 详细设计 111
5.1 详细设计的任务 111
5.2 逐步细化的方法与结构化程序设计 111
5.3 详细设计工具 114
5.3.1 流程图 114
5.3.2 盒图(N-S图) 115
5.3.3 PAD图 116
5.3.4 PDL语言 118
习题五 119
第六章 编码 120
6.1 编码阶段的任务 120
6.2 程序设计语言 120
6.2.1 语言的分类和特点 120
6.2.2 语言的选择 121
6.3.1 结构化编码 122
6.3 编码风格 122
6.3.2 程序清晰性 123
6.3.3 变量和表达式 124
6.3.4 输入和输出 125
6.3.5 程序效率 125
6.3.6 程序注释 125
习题六 126
第七章 软件测试与软件质量保证 127
7.1 概述 127
7.1.1 软件测试 127
7.1.2 程序错误分类 128
7.1.3 程序纠错(programdebugging) 132
7.1.4 黑箱测试(blank-boxtesting)与白箱测试(white-boxtesting) 134
7.2 软件测试的基本方法 135
7.2.1 路径测试 135
7.2.2 输入确认与语法测试 138
7.2.3 基于逻辑的测试 142
7.3 软件测试的组织与实施 145
7.3.1 单元测试 146
7.3.2 集成测试 149
7.3.3 系统测试 153
7.4 软件质量保证 158
7.4.1 软件质量和软件质量保证 158
7.4.2 软件评审 160
7.4.3 软件质量度量 164
7.4.4 软件可靠性 167
习题七 169
第八章 实例:压缩程序——一个完整的文档举例 171
系统文档 171
用户文档 183
第九章 软件工具与开发环境 187
9.1 软件工具综述 187
9.1.1 什么是软件工具 187
9.1.2 软件工具的发展过程 187
9.1.3 软件工具的分类 188
9.1.4 软件工具的评价 191
9.2 软件开发环境 191
9.2.1 从软件工具到软件开发环境 191
9.2.2 软件开发环境的分类 192
9.2.3 软件开发环境的构成及主要特征 194
9.3 第四代语言和应用程序生成器 198
9.3.1 第四代语言及工具 198
9.3.2 应用程序生成器 199
习题九 203
第十章 微型机操作系统及应用 204
10.1 微型机操作系统MS DOS 204
10.1.1 MS DOS的组成及主要功能 204
10.1.2 DOS磁盘的主要数据结构 206
10.1.3 DOS的启动过程 209
10.1.4 DOS的系统配置 212
10.1.5 MS DOS中断 217
10.1.6 DOS执行环境及可执行文件结构 224
10.1.7 DOS文件管理的主要数据结构 231
10.2 Windows功能及编程 235
10.2.1 Windows的运行模式 235
10.2.2 Windows的主要功能 236
10.2.3 Windows软件开发工具 241
10.2.4 一个完美的Windows应用程序的编写过程 245
10.2.5 Windows程序设计难点 262
10.3 中文操作系统 264
10.3.1 中文操作系统的组成 265
10.3.2 中文操作系统的原理 266
10.3.3 常用汉字系统简介 267
10.4 用户与操作系统接口 273
10.4.1 联机作业控制一级接口 273
10.4.2 程序一级接口 275
习题十 276
参考文献 278