简介
王海燕主编的《计算机软件技术基础》针对非计算机专业的大学生、研究生以及科技工作者与研究人员对计算机软件应用技术的需要,介绍了计算机软件技术的基础知识、方法与实用技术。主要内容包括:基本数据结构及其运算、查找与排序技术、数据库设计技术、软件的设计与开发技术和操作系统原理等基础理论知识。每章都配有一定数量的习题。
《计算机软件技术基础》内容丰富,通俗易懂,实用性强,可作为非计算机专业计算机软件基础课程的教材,也可作为广大从事计算机应用工作的科技人员的参考书。
目录
第1章 概论1
1.1 数据结构的基本概念1
1.1.1 数据的逻辑结构2
1.1.2 数据的存储结构2
1.1.3 数据的运算3
1.2 算法描述3
1.3 算法分析4
1.3.1 时间复杂度4
1.3.2 空间复杂度5
思考与练习6
第2章 线性数据结构7
2.1 线性表7
2.1.1 线性表的逻辑结构7
2.1.2 线性表的顺序存储结构7
2.1.3 线性表的链式存储结构12
2.2 栈22
2.3 队列27
2.4 数组34
思考与练习37
第3章 非线性数据结构39
3.1 树39
3.1.1 树的概念39
3.1.2 二叉树40
3.1.3 树的存储结构和遍历46
3.1.4 树、森林与二叉树的转换47
3.1.5 哈夫曼树49
3.2 图52
3.2.1 概念52
3.2.2 存储54
3.2.3 遍历57
3.2.4 最小生成树62
思考与练习67
第4章 查找70
4.1 线性表查找71
4.1.1 顺序查找71
4.1.2 二分查找72
4.1.3 分块查找75
4.2 哈希查找77
4.2.1 哈希表77
4.2.2 哈希函数的构造方法78
4.2.3 处理冲突的方法79
4.2.4 哈希查找81
思考与练习83
第5章 排序84
5.1 插入排序84
5.1.1 直接插入排序85
5.1.2 希尔排序86
5.2 交换排序87
5.2.1 冒泡排序87
5.2.2 快速排序90
5.3 选择排序92
5.3.1 直接选择排序92
5.3.2 堆排序94
5.4 归并排序98
思考与练习101
第6章 数据库技术概述102
6.1 信息、数据与数据处理102
6.2 数据管理技术的发展103
6.3 数据库系统的组成106
6.4 数据模型107
6.4.1 概念模型108
6.4.2 结构数据模型110
6.5 数据库系统结构115
6.5.1 数据库系统的三级模式115
6.5.2 数据库的二级映像117
思考与练习117
第7章 关系数据库119
7.1 关系数据结构119
7.1.1 关系的形式化定义及其有关概念119
7.1.2 关系的性质122
7.2 关系操作123
7.2.1 传统的集合运算123
7.2.2 专门的关系运算125
7.3 关系的完整性131
7.3.1 实体完整性规则131
7.3.2 参照完整性规则132
7.3.3 用户定义的完整性规则132
7.4 SQL结构化查询语言133
7.4.1 SQL概述133
7.4.2 数据定义功能137
7.4.3 数据查询功能141
7.4.4 数据更新功能147
7.4.5 视图149
7.4.6 数据控制功能152
7.5 关系规范化理论154
7.5.1 函数依赖155
7.5.2 范式156
7.5.3 关系模式的分解160
思考与练习162
第8章 关系数据库设计165
8.1 数据库设计概述165
8.1.1 数据库设计的内容165
8.1.2 数据库设计的方法165
8.1.3 数据库设计的步骤166
8.2 需求分析168
8.2.1 需求分析的任务168
8.2.2 需求分析的方法169
8.3 概念结构设计170
8.4 逻辑结构设计174
8.4.1 E-R图向关系模型的转换175
8.4.2 数据模型的优化176
8.5 物理结构设计177
8.6 数据库实施178
8.7 数据库的运行和维护179
思考与练习180
第9章 软件工程概述181
9.1 软件181
9.1.1 软件的定义181
9.1.2 软件的特点181
9.1.3 软件的开发工具和开发环境182
9.2 软件工程183
9.2.1 软件危机183
9.2.2 软件工程的定义184
9.2.3 软件工程的目标和原则185
9.3 软件的生命周期186
9.3.1 软件生命周期的定义186
9.3.2 软件生命周期模型187
9.4 软件工程文档192
9.4.1 软件工程文档的分类192
9.4.2 软件工程文档的作用193
9.4.3 编制规范的软件工程文件194
思考与练习196
第10章 软件开发的工程化方法199
10.1 可行性研究分析199
10.2 软件需求分析200
10.2.1 软件需求分析的任务和过程200
10.2.2 软件需求分析的原则201
10.2.3 结构化分析方法203
10.3 软件设计210
10.3.1 软件设计概述210
10.3.2 软件结构化设计方法213
10.3.3 详细设计方法219
10.3.4 面向对象的程序设计概述224
10.4 软件编码227
10.4.1 程序设计语言228
10.4.2 编程风格(Programming Style)230
思考与练习232
第11章 软件测试与维护235
11.1 软件测试235
11.1.1 软件测试概述235
11.1.2 软件测试策略238
11.1.3 常用的测试方法242
11.2 软件维护246
11.2.1 软件维护概述246
11.2.2 软件维护的步骤与方法248
11.2.3 软件维护的副作用249
思考与练习249
第12章 软件开发的管理252
12.1 软件配置管理252
12.1.1 软件管理的危机252
12.1.2 软件配置管理的定义253
12.1.3 软件配置管理活动253
12.2 质量管理255
12.2.1 软件质量的定义255
12.2.2 软件质量要素256
12.2.3 软件质量评价准则257
12.2.4 软件质量度量258
12.2.5 全面质量管理258
12.3 软件风险管理260
12.3.1 什么是风险260
12.3.2 风险管理261
12.3.3 风险识别261
12.3.4 风险估计263
12.3.5 风险评估264
12.3.6 风险管理策略266
12.3.7 风险驾驭和监控266
12.4 人员管理268
12.5 文档管理269
思考与练习269
第13章 操作系统271
13.1 概述271
13.1.1 操作系统的作用271
13.1.2 操作系统功能272
13.1.3 操作系统的发展过程273
13.1.4 操作系统的特点276
13.2 进程管理277
13.2.1 多道程序设计的概念277
13.2.2 进程279
13.2.3 进程控制281
13.2.4 进程调度282
13.2.5 进程通信286
13.2.6 线程289
13.3 存储管理292
13.3.1 存储管理的基本概念及功能292
13.3.2 分区存储管理294
13.3.3 页式存储管理297
13.3.4 段式存储管理299
13.3.5 段页式存储管理方式300
13.3.6 虚拟存储管理301
13.3.7 请求页式存储管理303
13.4 设备管理308
13.4.1 设备管理概述308
13.4.2 I/O控制方式310
13.4.3 设备分配311
13.4.4 I/O传输控制312
13.4.5 磁盘调度313
13.5 文件管理314
13.5.1 文件管理的基本概念314
13.5.2 文件结构及存取方式316
13.5.3 文件目录318
13.5.4 文件存储空间的管理320
13.5.5 文件存取控制321
13.6 作业管理321
13.6.1 操作系统用户界面321
13.6.2 作业的基本概念322
13.6.3 作业控制块和后备队列323
13.6.4 作业调度与作业控制323
13.6.5 Unix操作系统简介325
思考与练习326
参考文献327
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×