具体描述
内容提要
本书从高等理工科院校4非计算机专业学习软件技术基础的需要出发,以计算
机软件技术中的基础内容为线索,向读者全面、系统地介绍了软件的基本内容及
主要应用技术。全书分概论、数据结构、非数值程序设计技术、操作系统、数据
库系统、应用程序开发技术和计算机网络等七章。。
本书可作为高等院校非计算机专业本科生、研究生的软件技术基础课程的教
材,也可作为从事计算机应用工作的科技人员的自学参考书。
作者简介
目录信息
前 言
第一章 概论
1.1计算机软件的发展
1.1.1汇编语言和手工操作
1.1.2高级语言与系统管理程序
1.1.3操作系统的形成与发展
1.1.4计算机网络软件、数据库软件的出现
1.2计算机软件技术基础中的主线
1.3计算机软件
1.3.1汇编程序
1.3.2各种高级语言
1.3.3编译程序和解释程序
1.3.4各种标准程序库
1.4程序设计
1.5软件工程概述
1.5.1软件危机
1.5.2软件工程化
1.6小结
习题
第二章 数据结构
2.1什么是数据结构
2.2线性表
2.2.1线性表的逻辑结构及其运算
2.2.2线性表的顺序存贮结构
2.2.3线性表的链式存贮结构
2.3栈与队列
2.3.1栈
2.3.2队列
2.3.3栈和队列的应用
2.4数组
2.4.1数组定义和运算
2.4.2数组的顺序存贮结构
2.4.3矩阵的压缩存贮结构
2.5树和二叉树
2.5.1树的定义和基本运算
2.5.2二叉树的定义及性质
2.5.3二叉树的存贮结构
2.5.4遍历二叉树
2.5.5二叉树的应用
2.6小结
习题二
第三章 非数值程序设计
3.1查找
3.1.1顺序查找
3.1.2折半查找
3.2Hash 表及其查找
3.2.1Hash表的概念
3.2.2Hash函数的构造方法
3.2.3处理冲突的方法
3.2.4常用的Hash表及其查找
3.3排序
3.3.1插入排序
3.3.2简单选择排序
3.3.3冒泡排序
3.3.4快速排序
3.4小结
习题三
第四章 操作系统
4.1引言
4.1.1操作系统的任务
4.1.2操作系统的分类
4.2处理机管理
4.2.1进程
4.2.2进程调度
4.2.3交通控制
4.2.4作业管理
4.3存贮器管理
4.3.1存贮器管理的功能
4.3.2存贮管理方式
4.4设备管理
4.4.1概述
4.4.2设备管理程序
4.5文件管理
4.5.1概述
4.5.2文件组织
4.5.3文件目录
4.5.4文件的保护
4.5.5文件存贮空间的管理
4.5.6文件的使用
4.5.7文件系统的一般模型
4.6实际操作系统介绍
4.6.1PC-DOS操作系统
4.6.2UNIX操作系统
4.7小结
习题四
第五章 数据库系统
5.1概述
5.1.1什么是数据库系统
5.1.2数据描述
5.1.3关系模型的数学概念与关系代数
5.2数据相关和关系规范化理论
5.2.1数据相关
5.2.2规范化
5.3微机关系数据库管理系统FoxBASE简介
5.3.1FoxBASE的历史
5.3.2FoxBASE的运行环境
5.3.3FoxBASE的主要指标
5.3.4FoxBASE的文件类型
5.3.5FoxBASE的数据类型
5.3.6启动和退出F0xBASE系统
5.3.7FoxBASE的表达式
5.3.8F0xBASE的函数
5.3.9FoxBASE的命令
5.3.10FoxBASE程序设计
5.4小结
习题五
第六章 应用软件开发技术
6.1结构化分析方法
6.1.1分析阶段的任务
6.1.2基本思想和步骤
6.1.3数据流图
6.1.4数据词典
6.1.5加工小说明
6.2结构化设计方法
6.2.1设计阶段的任务
6.2.2基本思想和原则
6.2.3总体设计的主要方法
6.2.4详细设计的基本方法
6.3编程方法
6.3.1编程阶段的任务
6.3.2程序设计的风格
6.4测试方法
6.4.1测试阶段的任务
6.4.2测试过程
6.4.3白盒法
6.4.4黑盒法
6.5数据库的设计方法
6.5.1设计过程
6.5.2概念结构设计
6.5.3逻辑结构设计
6.5.4物理结构设计
6.5.5数据词典、数据安全性 保密性及完整性问题
6.6软件设计实例
6.6.6.小型数据库设计实例
6.6.2一个分级计算机控制系统软件的设计
6.6.3逐步求精算法设计实例
6.7 小结
习题六
第七章 计算机网络
7.1概述
7.1.1计算机网络的形成过程
7.1.2计算机网络的组成
7.2网络的拓扑结构和访问控制方式
7.2.1网络拓扑结构
7.2.2网络中信道访问控制方法
7.3网络协议与基准模型
7.3.1网络协议
7.3.2开放系统互连网络基准模型(OSI)
7.4网络环境下的操作系统
7.4.1概述
7.4.2通信方式与中断处理程序
7.4.3进程管理
7.4.4通信软件和网络软件
7.5Ethernet局部网络介绍
7.5.1概述
7.5.2Ethernet结构
7.5.3Ethernct网络控制策略
7.5.4Ethernet网络通信协议
7.5.5Ethernet中帧的格式
7.5.6Ethernet信息交换过程
7.5.7Ethernet的改进
7.6小结
习题七
参考文献
· · · · · · (收起)
读后感
用户评价
我是在准备面试的时候接触到这本书的,当时想系统性地梳理一下计算机科学的基础知识,而这本书恰好在这方面做得非常出色。它涵盖了从计算机组成原理到操作系统、再到网络和数据库等多个核心领域,并且每个部分的讲解都非常有条理,逻辑清晰。我特别喜欢它在介绍网络协议时,将TCP/IP模型和OSI模型进行了对比分析,并详细阐述了每一层的作用,这让我对网络通信的整个流程有了非常完整的理解。在数据库部分,它不仅介绍了SQL语言的基本语法,还触及了数据库设计的一些基本原则,比如范式理论,虽然讲解得比较浅显,但足以帮助我理解数据库设计的重要性。这本书的优点在于,它能够以一种非常全面且易于理解的方式,将分散的计算机科学知识点串联起来,形成一个完整的知识体系,对于想要全面提升计算机基础的读者来说,这本书绝对是一本不可多得的宝典。
我最近在学习一些更高级的软件开发技术,偶然间翻阅了这本书,虽然它定位是基础,但其中的一些细节处理和概念阐述,对于巩固基础知识非常有帮助。特别是关于数据结构的部分,虽然它没有深入讲解各种复杂的数据结构,但对于数组、链表、栈、队列等基本结构的介绍,其清晰的逻辑和优美的代码示例,让我重新审视了它们在实际应用中的优劣势。书中还对算法的复杂度进行了初步的介绍,虽然篇幅不多,但对于理解为什么某些算法比其他算法更高效,提供了一个很好的切入点。我尤其欣赏书中关于软件工程基本原则的讨论,比如模块化设计、代码可读性等,这些在初学者阶段可能不会被重视,但却是构建健壮、可维护软件的关键。即使你已经有一些编程经验,这本书仍然能为你提供一些“温故而知新”的视角,帮助你查漏补缺,打下更牢固的根基。
作为一名已经工作了几年的开发者,我有时候会觉得自己的基础知识有些松懈,尤其是在面对一些奇怪的bug或者性能问题时,总会觉得是基础不够扎实。偶然间,我看到了这本书,虽然书名听起来很基础,但里面的一些关于计算机体系结构、操作系统原理、数据库基础的章节,真的是“干货满满”。比如,关于内存管理的部分,书中对堆和栈的区别,以及垃圾回收的基本机制的讲解,虽然没有非常深入的理论推导,但其直观的解释和恰当的比喻,让我对程序运行时内存的分配和使用有了更清晰的认识。还有关于进程和线程的对比,以及并发和并行这两个概念的区分,都解释得非常到位。这本书让我意识到,很多看似复杂的软件问题,其实都可以追溯到最基础的计算机原理。对于有一定工作经验,想深入理解软件运行底层机制的开发者来说,这本书提供了一个很好的回顾和深化机会。
这本书绝对是给初学者量身定做的!我之前对计算机编程简直是一窍不通,看到代码就像看到天书一样,但这本书的讲解方式真的太友好了。作者循序渐进地介绍了最基础的概念,比如什么是变量、什么是函数,用非常生动形象的比喻来解释,我印象最深的是把变量比作一个贴了标签的盒子,数据就放在盒子里,可以随时取用或修改,这个比喻一下子就让我理解了变量的本质。然后是流程控制,if-else语句、循环语句,这本书都用了很多实际生活中的例子来模拟,比如“如果下雨,就带伞,否则不带”,或者“只要还有饭吃,就继续吃”,这些简单的逻辑关系在书中被巧妙地转化成了代码,让我觉得编程并没有想象中那么高冷和遥不可及。最重要的是,它强调了“理解”而非“死记硬背”,让我能够真正掌握编程的思维方式,而不是简单地复制粘贴代码。对于那些想要迈出编程第一步的朋友,我真的强烈推荐这本书,它会是你最坚实的启蒙导师。
这本书给我最大的感受是,它不仅仅是在教你“怎么做”,更是在引导你“为什么这么做”。在讲解各种编程范式时,它没有简单地列举不同范式的代码,而是深入分析了不同范式在解决问题时的思想差异和适用场景,比如面向对象编程如何更好地模拟现实世界,函数式编程如何实现更高的代码可维护性和并发性。在讨论软件开发流程时,它也引入了敏捷开发等现代开发模式,并分析了这些模式如何应对快速变化的需求。我尤其欣赏书中对于“抽象”这个概念的反复强调,它解释了如何在不同层次上进行抽象,以降低复杂性,提高代码的复用性。这本书更像是一位经验丰富的工程师,在分享他的思考过程和工程哲学,它激发了我对软件设计和开发的更深层次的思考,让我不再仅仅满足于写出能运行的代码,而是开始追求写出优雅、高效、易于维护的代码。对于有志于成为一名优秀的软件工程师的读者来说,这本书的价值远超其内容本身。