1 计算机软件概论 1
1.1 计算机软件 1
1.1.1 计算机系统资源 1
1.1.2 软件的概念与特点 2
1.1.3 软件的分类 4
1.1.4 软件的发展和软件危机 7
1.2 软件工程基本概念 8
1.2.1 软件工程学概念的提出 8
1.2.2 软件工程的定义 9
1.2.3 软件工程项目的基本目标 10
1.2.4 软件工程的生命周期 10
1.3.1 应用软件开发的原则和方法 12
1.3 应用软件的开发 12
1.3.2 结构化分析方法 14
1.3.3 结构化设计方法 18
1.3.4 结构化编程方法 23
1.3.5 测试方法 26
习题 28
2 高级程序设计语言基础 29
2.1 高级程序设计语言概述 29
2.1.1 程序设计语言的发展 29
2.1.2 C语言出现的历史背景 30
2.1.3 C语言的特点 31
2.1.4 简单的C程序介绍 31
2.1.5 C的基本数据类型与运算 33
2.1.7 终端上的数据输入与输出 40
2.1.6 C语言中的语句概述 40
2.2.1 C程序的控制结构 42
2.2 C语言的基本结构及程序设计 42
2.2.2 模块化程序设计 50
2.3 指针与函数 60
2.3.1 指针的概念 60
2.3.2 指针变量作函数的参数 61
2.3.3 函数的指针与函数的调用 62
2.3.4 返回指针值的函数 63
2.4 数据类型 63
2.4.1 构造类型和指针 63
2.4.2 结构体和指针 73
2.4.3 共用体 77
2.5.1 宏定义 78
2.5 编译预处理 78
2.5.2 参数的宏定义 79
2.5.3 “文件包含”处理 80
2.5.4 条件编译 81
2.6 应用举例 82
习题 86
3 算法与数据结构 87
3.1 算法与数据结构概述 87
3.1.1 数据、数据元素及数据对象 87
3.1.2 数据结构 87
3.1.3 数据类型 88
3.1.4 算法 88
3.2 线性数据结构 89
3.2.1 线性表定义、特征和运算 90
3.2.2 线性表的顺序存储结构 91
3.2.3 线性表的链式存储结构 93
3.2.4 栈和队列 99
3.3 树型数据结构 105
3.3.1 树的概念 105
3.3.2 二叉树 106
3.3.3 哈夫曼树 111
3.4 图形数据结构 113
3.4.1 图的概念及术语 113
3.4.2 图的存储结构 114
3.4.3 图的遍历 117
3.5.1 检索 119
3.5 检索与内部排序 119
3.5.2 内部排序 125
3.6 应用实例 136
3.6.1 离散系统中的数字滤波 136
3.6.2 PID算法 137
习题 139
4 软件工程基础 141
4.1 系统分析和软件项目计划 141
4.1.1 系统分析 141
4.1.2 系统需求识别 141
4.1.3 可行性分析 142
4.1.4 编制项目开发计划 143
4.2.2 分析系统的数据要求 144
4.2.1 确定对系统的综合要求 144
4.2 需求分析 144
4.2.3 导出系统的数据模型 145
4.2.4 修正系统开发计划 145
4.2.5 开发原型系统 145
4.2.6 分析过程 146
4.2.7 概念模型和规范化 148
4.2.8 图形工具 150
4.3 软件设计 152
4.3.1 软件设计概念和原则 152
4.3.2 详细设计 155
4.3.3 详细设计的工具 163
4.4.1 程序设计语言分类 167
4.4 编码 167
4.4.2 程序设计语言的特点 169
4.4.3 选择一种语言 171
4.4.4 写程序的风格 172
4.5 软件测试 174
4.5.1 测试的基本概念 175
4.5.2 测试步骤 176
4.5.3 白盒测试的测试用例设计 177
4.5.4 黑盒测试的测试用例设计 180
4.6 面向对象方法 183
4.6.1 面向对象的基本概念 183
4.6.2 面向对象建模 185
4.6.3 面向对象的分析与设计 194
4.7.1 软件维护的定义 197
4.7 软件维护 197
4.7.2 软件维护的特点 198
4.7.3 软件维护的过程 199
4.7.4 软件的可维护性 202
4.8 编程实例 204
4.8.1 电力电子变流技术软件 204
4.8.2 控制理论基础软件 209
4.8.3 感应电动机机械特性曲线 217
习题 223
5 操作系统 224
5.1 操作系统概述 224
5.1.1 什么叫操作系统 224
5.1.2 操作系统的基本类型 225
5.1.3 操作系统的功能 227
5.1.4 操作系统的特性 228
5.1.5 操作系统的硬件环境 228
5.2 Windows操作系统的组成和功能服务 230
5.2.1 Windows操作系统的简介和发展 230
5.2.2 Windows98的组成 230
5.2.3 Windows98功能服务 231
5.2.4 Windows2000的新特性 234
5.3 Windows操作系统的存储管理 237
5.3.1 Windows98的存储管理简介 237
5.3.2 86系列CPU内存工作模式 237
5.3.3 常规存储管理、XMS和EMS规范 241
5.3.4 Windows98的虚拟存储管理 242
5.3.5 Windows2000的虚拟内存管理和内存管理 243
5.4 Windows操作系统的进程管理 244
5.4.1 Windows98的进程管理 244
5.4.2 Windows98的多任务原理 246
5.4.3 Windows2000的进程和线程管理 247
5.5 Windows操作系统的作业管理 248
5.5.1 Windows98的作业管理 248
5.5.2 Windows98的应用程序接口 248
5.5.3 OLE组件模型的基本原理 250
5.5.4 Windows98的外壳Shell 251
5.5.5 Windows98的任务调度 252
5.6.1 Windows98设备管理的特点 253
5.6 Windows操作系统的设备管理 253
5.5.6 Windows2000的COM和OLE技术 253
5.6.2 Windows98的32位驱动程序模型WDM 254
5.6.3 Windows98的电源管理 255
5.6.4 Windows98的即插即用管理 255
5.6.5 Windows2000的即插即用与电源管理功能 257
5.7 Windows操作系统的文件管理 259
5.7.1 Windows98文件系统的结构 259
5.7.2 Windows98 FAT、VFAT、FAT32、CDFS文件系统 260
5.7.3 Windows98的文件名 261
5.7.4 Windows2000的文件系统 261
习题 263
6.1 数据库系统概述 264
6.1.1 数据库管理技术的产生和发展 264
6 数据库系统 264
6.1.2 数据库基本概念 265
6.1.3 数据模型 265
6.1.4 常用的数据模型 268
6.1.5 数据库系统结构 274
6.2 关系数据库理论基础 277
6.2.1 关系模式的存储异常与数据依赖 277
6.2.2 函数依赖的基本概念 278
6.2.3 关系的规范化 280
6.2.4 多值依赖 283
6.2.5 模式分解的优劣 286
6.3 实时数据库简介 287
6.3.2 实时数据库与时间 288
6.3.1 实时数据库的发展 288
6.3.3 实时数据库系统的主要技术 290
6.3.4 实时数据库应用与研究 291
6.4 数据库设计 291
6.4.1 规划 292
6.4.2 需求分析 292
6.4.3 概念结构设计 294
6.4.4 逻辑结构设计 295
6.4.5 数据库物理设计 295
6.4.6 数据库实现 297
6.4.7 数据库的运行和维护 297
6.5 微机数据库系统简介 298
6.6.1 DBMS基本功能 300
6.6 数据库管理系统 300
6.6.2 DBMS的组成 301
6.6.3 DBMS的评价与选择 303
6.7 应用实例 304
习题 306
7 PC机与全数字变频调速器的C语言通信软件 307
7.1 C语言的通信功能调用 307
7.1.1 C语言的BIOS功能调用 307
7.1.2 用C语言直接驱动通信硬件 308
7.2 SANKEN系列变频器的通信协议与传送方式 308
7.2.1 ISI的功能 308
7.2.2 电文格式 310
7.2.3 电文构成详解 313
7.2.4 变频器运转状态数据及控制端子台输入状态数据 314
7.2.5 ISI与计算机间的电文收发方法 315
7.3 通信口的初始化 317
7.3.1 ISI通信单元的初始化 317
7.3.2 计算机串行口的初始化 318
7.4 转速开环变频调速系统编程 319
7.4.1 转速开环变频调速系统 319
7.4.2 程序设计流程图 319
7.4.3 变频器原始数据库的建立 320
7.4.4 人机界面程序设计 324
7.4.5 底层通讯的编程实现 342
附录A 矢量控制变频调速系统实验 348
附录B 转速闭环变频调速系统实验 350
参考文献 354