具体描述
本书是计算机软件技术基础的综合教材。第3版教材在前两版的基础上进行了修订和更新,力求在保持原版编写理念、整体风格的基础上,加入软件技术发展的最新成果,并按照SWEBOK规范做了校订,进一步精炼了选材内容。主要内容包括程序设计语言、算法与数据结构、多媒体及其应用开发、操作系统、计算机网络技术、关系数据库系统等软件基本知识点。在本书的最后,还介绍了软件开发与维护以及软件工程过程与软件工程管理等内容,力图通过有限的篇幅,使读者建立起开发一个软件系统的总体概念和方法。第3版较第2版在结构上有所调整,使之更为合理。 本书适合作为高等学校非计算机专业基础教材使用,也可以作为信息产业从业者软件技术的入门教材。 本书所配电子教案可以从高等教育出版社高等理工教学资源网下载,网址http://www.hep-st.com.cn。
作者简介
目录信息
1.1 程序与软件
1.2 软件的分类与应用软件
1.3 几种常用软件
1.4 学习提示
练习题
第2章 程序设计语言
2.1 高级程序设计语言概述
2.2 高级程序设计语言实现计算的方式
2.2.1 编译器工作原理
2.2.2 高级语言程序的解释执行
2.3 高级程序设计语言的基本特征
2.3.1 变量、表达式、赋值
2.3.2 程序的控制结构
2.3.3 数据类型
2.3.4 过程
2.3.5 过程的数据传递
2.3.6 变量的生命期和Static变量
2.3.7 输入/输出
2.4 面向对象程序设计语言的基本特征
2.4.1 对象概述
2.4.2 类与对象
2.4.3 类定义
2.4.4 类继承
2.4.5 多态性
2.4.6 类继承带来的新问题
2.5 网络计算机时代的编程语言
2.5.1 HTML和XML
2.5.2 脚本语言
2.5.3 网络编程语言
小结
练习题
第3章 算法与数据结构
3.1 算法
3.1.1 算法的表示
3.1.2 算法的定义
3.1.3 算法与建模
3.1.4 算法的优劣
3.1.5 常用算法
3.2 数据结构
3.2.1 数据的结构关系
3.2.2 数据结构的研究方法
3.2.3 线性表
3.2.4 树和二叉树
3.2.5 图的定义和术语
3.3 查找与排序
3.3.1 查找
3.3.2 排序
3.4 文件
3.4.1 文件的基本概念和术语
3.4.2 文件索引结构
3.5 应用举例
小结
练习题
第4章 Visual C++环境及其应用
4.1 应用(程序)系统的体系结构
4.2 图形用户界面
4.2.1 GUI的诸元素及其实现
4.2.2 Visual C++6.0平台界面
4.3 Windows编程环境
4.4 Windows环境下的VC++编程
4.4.1 VC++6.0程序设计的特点
4.4.2 消息和事件驱动
4.5 创建VC+4-应用程序的步骤
4.6 应用程序举例
4.6.1 问题的描述
4.6.2 需求分析
4.6.3 设计
4.6.4 界面设计
4.6.5 编程实现
小结
练习题
第5章 多媒体与多媒体开发
5.1 多媒体
5.1.1 多媒体概述
5.1.2 多媒体的应用
5.2 多媒体计算机系统
5.2.1 多媒体系统构成
5.2.2 多媒体计算机
5.3 多媒体技术与设备
5.3.1 音频设备
5.3.2 视频设备
5.3.3 存储光盘
5.4 多媒体应用开发
5.4.1 多媒体应用软件的制作过程
5.4.2 多媒体数据的准备
5.4.3 多媒体开发工具与平台
小结
练习题
第6章 操作系统
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 Windows系统
6.3.2 UNIX系统
6.3.3 Linux系统
6.3.4 手机操作系统
6.3.5 Mac Os
6.4 新一代操作系统
小结
练习题
第7章 计算机网络技术
7.1 计算机网络概述
7.1.1 计算机网络的发展
7.1.2 计算机网络的概念
7.1.3 计算机网络的数据通信
7.1.4 计算机网络的拓扑结构
7.1.5 计算机网络的软件系统
7.2 局域网与Internet
7.2.1 局域网概述
7.2.2 网络的传输介质
7.2.3 网络互连设备
小结
练习题
第8章 网络协议与网络应用
8.1 OSI参考模型
8.1.1 OSI/RM。的协议层次
8.1.2 协议服务
8.1.3 IEEE 802系列标准
8.2 网络传输协议
8.2.1 NetBEUI
8.2.2 TCP/IP
8.2.3 IPX/SPX协议
8.2.4 串行链路上的SLIP/PPP
8.3 网络操作系统
8.3.1 网络操作系统概述
8.3.2 Windows 2000网络操作系统
8.3.3 Windows 2000的技术特点
8.3.4 Windows 2000的网络技术特性
8.4 建立网络环境
8.4.1 网络软件需要考虑的问题
8.4.2 用户账户的管理
8.4.3 用户组的管理
8.4.4 网络文档的编制
8.5 网络环境的安全性
8.6 Internet技术
8.6.1 Internet概述
8.6.2 Internet的基本服务
8.6.3 防火墙技术
8.6.4 虚拟局域网
8.6.5 无线网络技术
小结
练习题
第9章 关系数据库系统
9.1 数据库基础
9.1.1 数据库概述
9.1.2 数据管理的发展
9.2 数据模型
9.3 数据完整性
9.4 数据库系统的特点
9.5 数据库保护
9.6 数据库系统的模式
9.6.1 数据库系统的三级模式结构
9.6.2 数据库的二级映像功能与数据独立性
9.7 关系数据库
9.7.1 关系数据库的组成
9.7.2 关系规范化
9.8 数据厍设计
9.8.1 数据库设计规范
9.8.2 实体一联系模型(E-R模型)
9.9 SQL
9.9.l SQL概述
9.9.2 SQL基础
9.9.3 数据操作
9.9.4 数据控制功能
9.9.5 数据定义功能
9.9.6 事务处理
9.9.7 触发器
9.9.8 存储过程
9.10 数据库应用结构
9.10.1 集中式应用结构
9.10.2 文件服务器结构
9.10.3 客户机/服务器结构
9.10.4 互联网应用结构
9.11 数据库访问技术
9.11.1 ODBC
9.11.2 OLE DB
9.11.3 ADO
9.11.4 JDBC
小结
练习题
第10章 数据库应用系统的设计与实现
10.1 应用背景与需求说明
10.2 数据库设计
10.2.1 概念设计
10.2.2 设计关系模式
10.2.3 确定数据库应用程序的功能及安全控制
10.3 数据库的创建
10.3.1 创建数据库
10.3.2 创建数据库表
10.4 ADO对象
10.5 使用ADO数据控件访问数据库
10.5.1 建立VC工程
10.5.2 使用ADO数据控件
10.5.3 DataGrid控件
10.6 使用ADO API访问数据库
10.6.1 建立VC工程
10.6.2 连接数据源
10.6.3 使用结果集对象操纵数据
10.7 Web及数据库访问技术
10.7.1 Web技术概述
10.7.2 浏览器/服务器体系结构
10.7.3 常用的动态网页技术
10.7.4 JSP技术概述
10.8 Web数据库技术实例
10.8.1 安装及配置Web服务器
10.8.2 编写Web数据库程序
小结
练习题
第11章 软件开发与软件维护
11.1 软件生存周期的主要活动
11.2 软件需求
11.2.1 需求工程
11.2.2 导出需求
11.2.3 分析模型
11.3 软件设计
11.3.1 软件设计的基本原则
11.3.2 软件设计模型
11.3.3 软件设计用的UMI
11.3.4 软件设计说明书的书写
11.4 软件构造
11.4.1 有关软件构造的几个问题
11.4.2 构造原则
11.4.3 构造的风格
11.5 软件测试
11.5.1 测试技术
11.5.2 集成测试策略
11.5.3 其他测试
11.5.4 测试文档
11.5.5 面向对象软件测试
11.6 软件维护
小结
练习题
第12章 软件工程过程与软件工程管理
12.1 软件工程概述
12.2 软件工程过程
12.2.1 软件过程活动
12.2.2 软件过程模型
12.2.3 一个实用的应用开发过程模型
12.2.4 软件过程标准
12.3 软件质量保证
12.3.1 软件质量与度量
12.3.2 软件质量保证
12.4 软件项目管理
12.4.1 风险管理
12.4.2 项目计划
12.4.3 项目调度和追踪
12.5 软件配置管理
12.6 软件开发环境和技术基础设施
小结
练习题
· · · · · · (收起)
读后感
用户评价
这本书的案例分析部分,说实话,是我认为它超越了市面上绝大多数同类教材的关键所在。它远不止于提供“是什么”和“为什么”,更着重于“怎么做”和“在实际中遇到的陷阱”。每一个理论点后面,几乎都紧跟着一个精心挑选的、贴近工业实践的案例。这些案例的选择非常巧妙,它们覆盖了从小型项目到复杂系统集成的不同维度,确保了知识的普适性。更令人称道的是,作者在展示解决方案时,并没有直接给出标准答案,而是像侦探破案一样,先展示了问题出现的背景,然后一步步剖析错误的根源,最后才引出最优解法,这极大地锻炼了读者的批判性思维和解决问题的能力。读完一个案例,我感觉自己仿佛真的参与了一次实战演练,积累的不仅仅是知识点,更是一种面对未知问题的处理思路和沉着冷静的专业素养。
我对这本书的行文风格简直是爱不释手,它成功地在学术的严谨性和口语化的亲切感之间找到了一个完美的平衡点。作者的叙事口吻仿佛是一位经验丰富的前辈,耐心地引导着我们这些后学者。他不会故作高深地堆砌晦涩的专业术语,而是在必须使用专业词汇时,会非常体贴地提供背景解释和实际应用场景的类比,让人感觉知识是“活的”,而不是干巴巴的理论堆砌。特别是某些涉及到抽象思维的部分,作者会采用非常生活化的例子来打比方,比如将数据结构比作图书馆的书架管理,瞬间就把一个枯燥的概念具象化了。阅读过程中,我经常会因为某个精妙的比喻而会心一笑,这种愉悦的学习体验是很多技术书籍所缺乏的。作者对知识点的梳理,不是简单的罗列,而更像是在构建一个知识的“思维导图”,层层深入,环环相扣,让人在阅读的过程中不断地产生“原来如此”的顿悟感,极大地提升了学习的主动性和兴趣。
这本书的章节组织结构,展现出一种非常现代化的“模块化”设计理念。它没有强迫读者必须严格按照页码顺序从头读到尾,而是设计了多个可独立拆分的学习模块。如果你是带着特定目标来查找某项技能的,可以直接跳转到相应的模块,其中的内容讲解和依赖关系已经处理得非常干净利落,不至于因为缺少前置知识而产生阅读障碍。这种设计极大地适应了现代人碎片化和目标驱动型的学习习惯。我发现自己可以根据手头正在进行的项目需求,灵活地抽取所需的理论片段进行研读,读完后立刻就能应用到实践中去,形成一个高效的“学习-应用-反馈”闭环。这种对读者使用场景的深刻洞察,使得这本书在实际工作中的工具属性得到了充分的发挥,真正做到了将知识转化为生产力的桥梁作用。
这本书的排版和装帧真是让人眼前一亮,那种沉稳中带着一丝现代感的封面设计,初次上手就给人一种专业可靠的感觉。内页纸张的选择也很考究,阅读起来眼睛不累,即便长时间沉浸在复杂的概念中,也不会感到明显的疲劳。装订工艺也十分扎实,感觉可以经受住反复翻阅的考验,不会轻易散架。我特别欣赏作者在章节划分上的用心,逻辑链条清晰可见,从基础概念的引入,到进阶技巧的阐述,过渡得非常自然平滑。每一个知识点都有明确的标记和注释,即便是初次接触这个领域的读者,也能迅速找到方向,不至于在浩瀚的知识海洋中迷失。而且,书中的插图和图表制作精良,很多抽象的原理通过直观的视觉辅助立刻变得清晰明了,这对于理解那些晦涩难懂的技术细节来说,简直是神来之笔。比如,在讲解某个复杂算法的流程时,那个分步图解清晰到让人几乎不需要回头再看文字描述就能豁然开朗。这种对细节的极致追求,无疑体现了出版方对内容的尊重和对读者的体贴,让人觉得物有所值,非常值得收藏。
我必须强调一下这本书在术语解释上的严谨性与全面性。对于任何一门技术学科而言,精确的定义是构建理解大厦的基石。这本书在这方面做得极其出色,它似乎预料到了读者可能在哪些地方产生歧义,并提前进行了澄清。我注意到,很多关键术语的首次出现,都会伴随着一个详尽的脚注或者独立的小节,专门用来追溯其历史渊源、不同流派对它的不同理解,以及它在不同上下文中的细微差别。这种深度挖掘的细节处理,让这本书的“参考价值”极大地提升了。它不再仅仅是一本入门指南,而更像是一本可以随时查阅、用来解决概念模糊的“技术辞典”。对于那些追求学术深度,不满足于表面理解的读者来说,这种对词源和内涵的考究,无疑是极大的福音,让人对所学内容的理解更加扎实和可靠。