软件技术基础

出版社:姚全珠、雷西玲、 李晔 高等教育出版社 (2009-08出版)
出版日期:2009-8
ISBN:9787040278101
页数:307页

章节摘录

版权页:   插图:   栈的顺序存储结构仍然保留了其对存储空间大小限制的缺点,链式结构保留了其需要增加指针域的缺点。对存储空间大小变化较大的情况,建议使用链栈;而对存储空间需求量小或者变化不大的情况,建议使用顺序栈。 如果处理的线性表具有栈的特性,即插入及删除运算只能在表的一端进行,那么,对该线性表的运算就变成了对栈的运算。 3.4队列 3.4.1引言 日常生活中,经常见到这样的例子:去超市购物,付款时总是要排队结账。服务员总是给排在队列最前面的人先服务,前面人走后,跟在其后的人又成了队头,服务员又开始为队头服务;排队时,总是后来的人从队的后面入队。这样,所有人排的队就形成了一个线性表,而这个线性表,限制了其插入操作(入队)在表的一头进行,而删除操作(出队)在表的另一头进行,具有这种特性的线性表,就是本节将要讨论的又一个特殊的线性表——队列。 3.4.2队列的定义及基本运算 定义 队列是一种特殊的线性表。在队列中,仅允许在一端进行插入,而在另一端进行删除操作。允许插入的一端叫队尾(rear),允许删除的一端叫队头(front)。这种线性表类似于日常生活的排队,因而称为队列。 队列的特性:通过排队购物的例子很容易看出,队列具有“先来先服务”特性,即“先进先出”(First In First Out,简称FIFO)。 队列包括如下基本运算。 (1)置空队。 (2)判断队是否为空队。 (3)将新元素人队。 (4)出队。 (5)读队头元素。

前言

掌握计算机应用技能已成为时代对大学生素质的基本要求。软件工程是指导如何高效率开发软件的一门学科;数据结构主要讲解数据的逻辑组织、存储结构及其相关的一组经典算法;操作系统则介绍计算机的资源管理及其对用户所提供的应用程序接口;数据库及网络技术详细叙述了信息处理的技术、方法与工具。这些内容对想从事软件开发,甚至想用好计算机的人来说都是极为重要的。对当代的大学生来说,一方面需要比较全面地掌握软件开发的有关技术和方法,另一方面又面临学时数的限制,非计算机专业的学生根本不可能像计算机专业的学生那样系统地学习软件工程、数据结构、操作系统、数据库、计算机网络等课程。如何能让学生在较短的时间内掌握计算机软件开发应具备的基础知识,学会具体的软件开发工具与方法正是《软件技术基础》所追求的目标。根据计算机学科的最新发展,结合作者多年从事软件开发与教学经验,编写了这本教材。本教材的特点如下。1.基础性和系统性。系统地介绍了软件基础的基本内容,有利于读者对计算机软件开发的原理、方法、步骤、技巧的学习和掌握。2.实用性。倾注了作者多年从事软件开发的经验,介绍了目前常用的Visual Studio 2008 C#及V:isual:Basic等实用软件的用法。结合理工科学生数据处理的需求,还介绍了常用数值计算与误差处理问题的存储与求解算法。3.先进性。介绍了软件技术的最新发展动态,涉及的软件均采用了较新版本。4.详略得当。既考虑到本门课程的系统性,又考虑到非计算机专业学生基础及学时数的限制,突出基本要领和算法。另外,全书也努力贯彻案例教学的思想,通过案例把复杂、抽象的问题具体化,便于读者学习。为了适应读者的编程语言基础,用C++语言描述了数据结构相关的算法。参与《软件技术基础》编写的作者都是长期从事计算机科研与基础教学的教师,他们把自己多年从事计算机软件开发的经验倾注到了《软件技术基础》中。可喜的是,经过教学小组的不断努力,“软件技术基础”课程在2007年被评为陕西省省级精品课程。参加《软件技术基础》编写的有姚全珠(1、2、7章)、雷西玲(3、8章)、李晔(4、5、6章)、任曦平(9章),最后由姚全珠统稿。西安科技大学龚尚福教授审阅了《软件技术基础》,并提出了许多宝贵的意见。西安理工大学付长龙、张亚玲、吕林涛等同志也对教材的编写给予了大力支持,在此一并表示衷心感谢。由于作者水平有限,书中难免有错误之处,恳请读者指正。我们的邮箱是:xllei@xaut.edu.cn,我们会及时与您沟通。

书籍目录

引言 第一部分软件工程 第1章软件工程 1.1软件工程概述 1.1.1软件危机 1.1.2软件工程 1.1.3软件开发的范型 1.1.4软件开发方法 1.2软件定义阶段 1.2.1问题定义 1.2.2可行性研究 1.3需求分析 1.3.1需求分析的方法步骤 1.3.2需求分析文档编写指南 1.4系统设计 1.4.1概要设计 1.4.2面向数据流的设计方法 1.4.3设计的准则 1.4.4概要设计应交付的文档 1.5详细设计 1.5.1目标和任务 1.5.2详细设计的基本方法 1.5.3模块开发卷宗 1.6编码 1.6.1实现工具 1.6.2程序风格 1.7软件测试 1.7.1软件测试要求 1.7.2测试计划 1.7.3测试用例设计 1.7.4测试步骤 1.7.5测试报告 1.7.6调试 1.8维护 习题 第2章现代软件工程 2.1面向对象的概念和原则 2.1.1面向对象方法概述 2.1.2面向对象的概念 2.2面向对象分析 2.2.1OOA的有关术语 2.2.2OOA的基本过程 2.3面向对象设计 2.3.1设计准则 2.3.2参考原则 2.3.3面向对象的程序设计风格 2.3.4子系统设计 2.4面向对象的实现 2.5面向对象的测试 2.6软件工程高级课题 2.6.1统一建模语言 2.6.2形式化方法 2.6.3基于构件的开发 习题 第二部分数据结构 第3章线性数据结构 3.1概述 3.1.1数据结构的概念及有关术语 3.1.2算法的评价 3.2线性表 3.2.1线性表的定义 3.2.2线性表的基本运算 3.2.3顺序存储结构线性表的基本运算 3.2.4链式存储结构线性表的基本运算 3.2.5线性表的应用实例 3.2.6小结 3.3栈 3.3.1引言 3.3.2栈的定义及基本运算 3.3.3顺序存储结构栈的基本运算 3.3.4链式存储结构栈的基本运算 3.3.5栈的应用实例 3.3.6小结 3.4队列 3.4.1引言 3.4.2队列的定义及基本运算 3.4.3顺序存储结构队列的基本运算 3.4.4链式存储结构队列的基本运算 3.4.5队列的应用 3.4.6小结 习题 第4章非线性数据结构 4.1树 4.1.1引言 4.1.2树的定义及逻辑结构 4.1.3二叉树 4.1.4树的存储结构 4.1.5树的遍历 4.1.6树、森林与二叉树的转换 4.1.7树的应用 4.2图 4.2.1引言 4.2.2图的定义及逻辑结构 4.2.3图的存储结构 4.2.4图的遍历 4.2.5图的应用 4.3小结 习题 第5章查找与排序算法 5.1查找与排序概述 5.2线性表的查找 5.2.1顺序查找 5.2.2二分查找 5.2.3分块查找 5.3二叉排序树上的查找 5.4哈希查找 5.4.1哈希表的概念及哈希函数的构造 5.4.2哈希表的建立 5.4.3冲突的处理方法 5.4.4哈希查找的实现 5.5插入排序 5.6交换排序 5.6.1冒泡排序 5.6.2快速排序 5.7选择排序 5.8归并排序 5.9多关键字排序 5.10小结 习题 第6章数值计算方法概述 6.1引言 6.2误差的概念及处理 6.2.1绝对误差与相对误差 6.2.2减少误差的基本原则 6.3常用数值计算方法 6.3.1线性方程组求解 6.3.2非线性方程求根 6.3.3矩阵求逆 6.4多维数组 6.4.1多维数组的逻辑结构 6.4.2多维数组的存储结构 6.4.3特殊矩阵的压缩存储 6.4.4多维数组的应用 6.5小结 习题 第三部分数据库 第7章数据库基础与应用 7.1数据库系统基本概念 7.1.1数据库系统的发展与特点 7.1.2数据库系统的组成及各部分的功能 7.1.3数据库系统的3级模式结构 7.2数据模型 7.2.1概念模型 7.2.2数据逻辑模型与物理模型 7.3关系数据库简介 7.3.1关系数据库的基本概念 7.3.2关系模式 7.3.3关系数据库 7.3.4关系操作 7.4数据库逻辑结构设计 7.4.1逻辑结构设计的步骤 7.4.2E—R图向关系模型转换的内容 7.4.3E—R图向关系模型转换的原则 7.4.4向特定DBMS规定的模型进行转换 7.5关系数据库标准语言SQL 7.5.1SQL的特点 7.5.2基本表操作的SQL语句 7.5.3数据查询 7.5.4单表查询 7.5.5多表查询 7.6数据库访问 7.6.1ADO.NET组成结构 7.6.2数据绑定技术 7.6.3数据库连接方法 7.6.4举例 习题 第四部分操作系统 第8章操作系统 8.1操作系统概述 8.1.1操作系统的地位和作用 8.1.2现代操作系统的新特征 8.1.3操作系统的分类 8.2操作系统的基本知识 8.2.1处理器管理 8.2.2文件管理 8.2.3存储管理 8.2.4设备管理 8.2.5作业管理 8.3常用操作系统介绍 8.3.1DOS操作系统 8.3.2Windows操作系统 8.3.3Linux操作系统 习题 第五部分计算机网络 第9章计算机网络应用技术 9.1网络互连和TCP/IP协议 9.2网络操作系统(NOS)和网络管理 9.3个人用户的网络安全 9.4Internet及其应用 9.4.1Internet简介 9.4.2网上购物、电子商务和电子政务 9.5计算机网络实用技术 9.5.1宽带接入技术 9.5.2无线局域网 9.5.3千兆以太网 9.5.4浏览器的安全防护和修复 9.5.5网络可视电话 9.6小结 习题 参考书目

编辑推荐

《高等学校计算机软件技术课程系列教材:软件技术基础》特色:1.基础性与系统性。系统地介绍了计算机软件基础的基本内容,有利于读者学习和掌握计算机软件开发的原则、方法、步骤和技巧。2.实用性。介绍了目前常用的Visual Studio 2008 C#及Visual Basic等实用软件;同时,结合理工科学生数据处理的需求,还介绍了常用数值计算与误差处理问题的求解算法。3.先进性。介绍了软件技术的最新发展动态,涉及的软件均采用较新版本。

作者简介

《高等学校计算机软件技术课程系列教材:软件技术基础》较全面地介绍了计算机软件开发领域中的基本原理和方法,包括软件工程、数据结构、操作系统、数据库和网络等内容。《高等学校计算机软件技术课程系列教材:软件技术基础》力求新颖实用。在突出基本概念的基础上,结合实际问题介绍了最新的软件设计方法及最新版本软件的用法。数据结构相关算法采用C++语言编写,以Visual Studio 2008 C#作为数据库系统开发平台,SQL Server 2000作为数据库管理平台。

图书封面


 软件技术基础下载



发布书评

 
 


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024