上篇 软件开发技术 3
第一章 算法与数据结构 3
1.1 计算机算法 3
1.1.1 算法的性质与描述 3
1.1.2 算法分析的基本概念 9
1.1.3 算法设计的基本方法 13
1.2 数据结构 22
1.2.1 数据结构的地位与作用 23
1.2.2 数据结构的种类与基本操作 25
1.2.3 数据结构应用举例 29
习题 44
第二章 软件开发技术的演变 45
2.1 从结构程序设计到软件工程 45
2.1.1 关于GOTO语句的争论 45
2.1.2 程序设计风格的转变 46
2.1.3 结构程序设计 47
2.1.4 软件工程 48
2.2 软件工程范型 50
2.2.1 软件工程范型的共性 50
2.2.2 传统的软件工程范型——瀑布模型 51
2.2.3 快速原型范型 53
2.2.4 4GT范型 54
2.3 软件设计基础 55
2.3.1 软件设计的目的与任务 55
2.3.2 软件设计的基本原则 56
2.3.3 模块化设计和由顶向下设计 59
2.3.4 三类不同面向的设计方法 64
习题 65
第三章 结构化分析、设计与编码 67
3.1 应用软件的分类 67
3.1.1 应用软件的服务领域 67
3.1.2 应用软件的数据管理方式 68
3.2 结构化分析 69
3.2.1 分析的目的与任务 69
3.2.2 结构化分析的工具 72
3.2.3 结构化分析的步骤 78
3.2.4 结构化分析举例 80
3.2.5 结构化分析小结 83
3.3 结构化设计 84
3.3.1 结构化设计的目的与任务 85
3.3.2 结构化设计的工具 86
3.3.3 变换分析 87
3.3.4 事务分析 90
3.3.5 结构化设计的指导规则 92
3.3.6 结构化设计举例 94
3.4 详细设计与编码 98
3.4.1 逐步细化的设计方法 98
3.4.2 结构化编码 100
3.4.3 编码语言 107
3.4.4 模块设计举例 112
3.5 数据库应用系统的开发特点 115
3.5.1 两类应用系统的比较 115
3.5.2 开发活动的差别 115
习题 116
第四章 软件测试与质量保证 118
4.1 测试的基本概念 118
4.1.1 目的与任务 118
4.1.2 测试的特性 119
4.1.3 测试的种类 120
4.1.4 测试的文档 120
4.2 测试的策略与技术 121
4.2.1 概述 121
4.2.2 黑盒测试 122
4.2.3 白盒测试 125
4.2.4 测试终止标准 133
4.2.5 测试用例设计举例 134
4.3 纠错的策略与技术 139
4.3.1 纠错的策略 139
4.3.2 纠错的技术 141
4.3.3 两个例子 143
4.4 多模块程序的测试 149
4.4.1 测试的层次性 149
4.4.2 程序错误的类型 150
4.4.3 单元测试 152
4.4.4 综合测试 154
4.4.5 高级测试 156
4.5 软件的质量保证 157
4.5.1 评审与测试 157
4.5.2 程序正确性证明 158
4.5.3 软件配置控制 159
4.5.4 软件开发规范 159
习题 160
下篇 微机操作环境 165
第五章 用户界面 165
5.1 用户界面的作用与发展 165
5.1.1 用户界面的作用 165
5.1.2 界面的分类 166
5.1.3 界面的分代 166
5.2 用户界面的友好技术 168
5.2.1 多窗口技术 168
5.2.2 菜单技术 169
5.2.3 联机帮助技术 171
5.3 用户界面的操作 176
5.3.1 键盘操作 176
5.3.2 鼠标器操作 177
5.3.3 键盘操作和鼠标器操作的比较 179
5.4 界面技术的实现 179
5.4.1 硬件支持 179
5.4.2 软件支持 180
习题 186
第六章 环境、平台与操作系统 188
6.1 软件支持环境 188
6.1.1 开发环境与操作环境 188
6.1.2 从SE到CASE 189
6.1.3 CASE环境的组成与模型 190
6.2 CASE环境的类型 192
6.2.1 按支持对象分类 192
6.2.2 按宿主机构成分类 194
6.2.3 应用生成系统 194
6.3 硬件平台与软件平台 196
6.4 操作系统的基本概念 197
6.4.1 操作系统的地位 197
6.4.2 操作系统的分类 198
6.5 操作系统的硬件资源管理 200
6.5.1 进程与中断 200
6.5.2 处理机管理 203
6.5.3 存储管理 205
6.5.4 设备管理 210
6.6 操作系统的文件管理 214
6.6.1 基本功能 214
6.6.2 文件的结构与存取方法 214
6.6.3 文件的目录管理 217
6.6.4 外存空间的管理 218
6.6.5 文件的使用与保护 220
习题 221
第七章 DOS平台 223
7.1 MS-DOS 224
7.1.1 DOS的组成与启动 224
7.1.2 DOS的资源管理 228
7.1.3 DOS的用户界面 237
7.1.4 DOS的优化 250
7.2 CCDOS与UCDOS 253
7.2.1 汉字信息处理原理 253
7.2.2 CC-DOS 257
7.2.3 UCDOS 260
7.3 DOS的批处理与系统配置 263
7.3.1 DOS的批处理 263
7.3.2 DOS的系统配置 269
7.4 DOS的工具软件Dosshell 278
7.4.1 Dosshell概述 278
7.4.2 Dosshell的管理功能 281
7.4.3 DOS平台的新面貌 287
7.5 Turbo集成开发环境 287
7.5.1 集成化的工具环境 287
7.5.2 易操作的用户界面 288
习题 289
第八章 Windows平台 290
8.1 Windows 3.x的特点、组成与安装启动 290
8.1.1 Windows的特点 290
8.1.2 Windows的基本组成 291
8.1.3 Windows的安装与启动 294
8.2 Windows的界面及其基本操作 296
8.2.1 Windows的窗口 296
8.2.2 Windows的图标 299
8.2.3 Windows的菜单 300
8.3 Windows的程序管理 302
8.3.1 程序的编组 303
8.3.2 程序的运行 306
8.3.3 多任务切换 308
8.4 Windows的文件管理 309
8.4.1 文件管理器的菜单 309
8.4.2 多目录窗显示 310
8.4.3 用鼠标拖放文件 310
8.4.4 多个文件的选定与撤选 312
8.5 信息共享与应用程序集成 313
8.5.1 信息共享的常用术语 313
8.5.2 信息共享的三种方式 313
8.5.3 信息共享的常用命令 315
8.5.4 应用系统集成举例 316
8.6 Windows的其它管理功能 318
8.6.1 打印管理 318
8.6.2 修改系统设置 319
8.6.3 运行非Windows应用程序 323
8.7 Windows的联机帮助 325
8.8 Windows 95简介 326
8.8.1 Windows 95的新功能 326
8.8.2 易学易用的操作平台 329
8.8.3 简短的结论 337
习题 337
附录 UNIX简介 339