基本信息·出版社:高等教育出版社 ·页码:307 页 ·出版日期:2009年08月 ·ISBN:9787040278101 ·条形码:9787040278101 ·版本:第1版 ·装帧:平装 ...
商家名称 |
信用等级 |
购买信息 |
订购本书 |
|
 |
软件技术基础 |
 |
|
 |
软件技术基础 |
 |

基本信息·出版社:高等教育出版社
·页码:307 页
·出版日期:2009年08月
·ISBN:9787040278101
·条形码:9787040278101
·版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:高等学校计算机软件技术课程系列教材
内容简介 《软件技术基础》较全面地介绍了计算机软件开发领域中的基本原理和方法,包括软件工程、数据结构、操作系统、数据库和网络等内容。《软件技术基础》力求新颖实用。在突出基本概念的基础上,结合实际问题介绍了最新的软件设计方法及最新版本软件的用法。数据结构相关算法采用C++语言编写,以Visual Studio 2008 C#作为数据库系统开发平台,SQL Server 2000作为数据库管理平台。
《软件技术基础》可作为高等院校计算机软件开发方法的课程教材,也可作为工程技术人员的参考书。
编辑推荐 《软件技术基础》特色:
基础性与系统性。系统地介绍了计算机软件基础的基本内容。有利于读者学习和掌握计算机软件开发的原则、方法、步骤和技巧。
实用性。介绍了目前常用的Visual Studio 2008 C#及Visual Basic等实用软件;同时,结合理工科学生数据处理的需求,还介绍了常用数值计算与误差处理问题的求解算法。
先进性。介绍了软件技术的最新发展动态。涉及的软件均采用较新版本。
详略得当。既考虑到本门课程的系统性,又考虑到非计算机专业学生基础及学时数的限制。突出基本要领和算法。另外,全书力求贯彻案例教学的思想,通过案例把复杂、抽象的问题具体化。便于读者学习。
目录 引言
第一部分 软件工程
第l章 软件工程
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.1 00A的有关术语
2.2.2 00A的基本过程
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.1 0小结
习题
第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.2 E-R图向关系模型转换的内容
7.4.3 E-R图向关系模型转换的原则
7.4.4 向特定DBMS规定的模型进行转换
7.5 关系数据库标准语言SQL
7.5.1 SQL的特点
7.5.2 基本表操作的SQL语句
7.5.3 数据查询
7.5.4 单表查询
7.5.5 多表查询
7.6 数据库访伺
7.6.1 AD0.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.1 DOS操作系统
8.3.2 Windows操作系统
8.3.3 Linux操作系统
习题
第五部分 计算机网络
第9章 计算机网络应用技术
9.1 网络互连和TCP/IP协议
9.2 网络操作系统(NOS)和网络管理
9.3 个人用户的网络安全
9.4 Internet及其应用
9.4.1 Intemet简介
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#及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 软件危机
随着计算机应用的迅速普及,计算机软件的规模越来越大,结构越来越复杂,如果仍用人们在最初学习软件开发时形成的个体化开发方法(程序短,结构简单,开发者、使用者和维护者往往是同一个人),则几乎不可能开发出实用的软件系统。既使开发出来,也会由于难于维护而大大缩短系统的使用寿命。20世纪60年代中期到70年代中期,随着软件作坊的出现,软件维护工作也以令人吃惊的比例耗费资源。更严重的是,许多程序的个体化特性使得它们最终成为不可维护的一堆代码。有人曾把这一阶段软件的开发与维护工作比做“陷进泥潭的牛所进行的挣扎一样”。1968年,北大西洋公约组织的计算机科学家在联邦德国召开国际会议,讨论软件危机问题,并正式提出了“软件危机”这个名词。
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括地说,软件危机包含下述两方面的问题:如何开发软件以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。具体表现在:当确定一个软件开发项目时,难以估计开发成本和开发进度;难以确保软件系统的功能和性能最终能满足用户的要求;难以确保软件的质量尤其是可靠性;软件没有配置适当的文档,导致团队开发和软件维护很困难;软件的发展速度跟不上硬件的发展速度,软件在计算机系统中所占的成本逐年上升。
软件危机的出现与软件自身的特点有关,但更主要的原因是由于软件开发人员对软件开发和维护存有不少错误观念,没有采用正确的方法和步骤去开发软件。
软件包含程序以及开发、使用和维护程序需要的所有文档。软件是计算机系统中的逻辑部件而不是物理部件。在写出程序代码并在计算机上运行之前,软件开发过程的进展情况较难衡量,软件开发的质量也较难评价。软件故障与软件的代码长度基本上呈指数关系,它不会随时间自动增加或减少,而且一经维护改正将永不复现。软件故障完全来自于设计阶段。目前,相当多的软件专业人员对软件开发和维护还存在不少错误
……