软件技术基础

出版时间:2008-8  出版社:西安电子科大  作者:周大为//钟桦//朱虎明//潘晓珠//姚若玉  页数:333  

前言

  为了实现教育部关于“加强非计算机专业计算机基础教学工作的几点意见”所提出的目标,切实将非计算机专业的计算机课程体系的改革落到实处,我们组织部分长期在教学一线、具有丰富教学经验的教师编写了本书。  计算机软件技术基础是计算机文化基础和程序设计语言的后续课程。对于计算机软件技术基础课程而言,各学校、各专业的课程内容设置和教学目标都不尽相同,因而教材的组成部分也有所不同。我们结合计算机应用领域的发展情况,本着“加强基础,注重应用”的原则,选择软件工程、数据结构、操作系统和数据库系统及应用等四个部分作为本书的内容。我们期待学生在学完本书之后,能够掌握更具体、更深层次的计算机软件基础技术,进而开发出一些小型实用的软件系统。  软件工程部分从软件开发的方法学角度出发,介绍了软件工程的过程和软件生存周期的各种模型,对软件系统的开发起到指导性的作用。本部分以软件生命周期的各个阶段和结构化的软件开发方法为主线,介绍了软件系统的分析与定义、软件设计、软件编码、软件测试和软件维护的有关概念和软件工程方法,还介绍了面向对象的软件开发方法的基本思想、基本概念和基本原理,以及面向对象的分析、设计方法。  数据结构部分主要讲述线性表、栈、队列、串、数组、树和图等数据的逻辑结构、存储结构及有关的算法,还讲述了数据的查找和排序方法。采用类C语言作为数据的存储结构和算法的描述语言,并且尽可能做到与C语言接近,以便于将算法转换为能够上机执行的C程序。数据结构的学习过程也是较复杂的程序设计的训练过程,学生在通过编写程序来解决实际问题时,应当采用规范的算法,并且按照软件开发方法所要求的模块独立性高的原则,设计出高质量的程序。  操作系统部分以阐述操作系统原理为主,分别介绍了批处理操作系统、分时操作系统和实时操作系统的概念和特点,围绕资源管理的观点分别讲述了处理机管理、存储管理、文件管理、设备管理和作业管理。同时还简要讲述了目前广泛使用的Windows、UNIX和Linux几种典型的操作系统,尽可能反映出当代操作系统的新技术和新特点。操作系统是计算机系统中最主要的系统软件,学习操作系统不仅有助于使用计算机,更有助于开发一些软件系统。  数据库系统及应用部分包括六个方面的内容:(1) 数据库系统的基础知识;(2) 与关系数据库有关的实体关系模型、关系表、关系代数,以及关系数据库规范化理论的知识;(3) 关系数据库应用系统设计、开发方法,以及数据库系统开发的各个阶段所要完成的工作;(4) 结合Access讲述了数据库建立的方法;(5) 数据库的各种查询方式以及结构化查询语言(SQL语言)的查询功能;(6) 以网络教学管理信息系统为例,讲述了网络管理信息系统的基本知识和开发方法。  本书第1章由姚若玉编写,第2、3、4、5章由周大为编写,第6、7、8、9章由钟桦编写,第10章由潘晓珠编写,第11章由朱虎明编写。周大为对全书进行了校对和统稿。  本书在编写过程中得到了西安电子科技大学出版社的支持与合作;西安电子科技大学石光明教授对本书的出版给予了大力支持,并提出了许多建设性的意见;李伯成教授审阅了全稿,并提出了许多宝贵意见。在此,一并表示衷心的感谢。  本书涉及的内容较广,书中难免存在不足之处,敬请广大读者提出宝贵意见和建议。

内容概要

本书是高等学校非计算机专业继计算机文化与计算机语言类课程之后的第二层次的教材,旨在学生掌握了上述课程的知识后,继续以更具体、更深层次的课程教授使学生掌握最新、最实用的计算机软件基础知识。全书介绍了软件工程、数据结构、操作系统和数据库系统及其应用等四部分内容,在介绍各部分内容的同时,给出了相关知识的应用实例,具有较高的实用价值。
本书可供高等学校本、专科非计算机专业开设计算机软件技术基础课程之用,也可供自学相关知识的读者参考。
*本书配有电子教案,需要的老师可与出版社联系,免费提供。

书籍目录

第1章 软件工程
1.1 软件的基本概念
1.1.1 软件的特征
1.1.2 软件的分类
1.1.3 软件的发展
1.1.4 软件危机
1.2 软件工程
1.2.1 软件工程的基本概念
1.2.2 软件工程方法学
1.2.3 软件工程的目标
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 面向对象分析方法(00A)
1.5.4 面向对象设计方法(00D)
1.5.5 面向对象的实现(00P)
 习题1
第2章 数据结构概述
 2.1 基本概念和术语
 2.2 算法的描述和分析
 2.2.1 算法的概念
 2.2.2 算法的时间特性
 2.2.3 算法的空间特性
 习题2
第3章线性表
3.1 线性表的逻辑结构
3.2 线性表的顺序存储结构
3.2.1 顺序表
3.2.2 顺序表上实现的基本运算
323 顺序表的应用实例
3.3 线性表的链式存储结构
3.3.1 单链表
3.3.2 循环链表
3.3.3 双向链表
3.4 顺序表和链表的比较
习题3
第4章 栈和队列
4.1 栈
4.1.1 栈的定义及基本运算
4.1.2 栈的顺序存储结构
4.1.3 栈的链式存储结构
4.2 队列
4.2.1 队列的定义及基本运算
4.2.2 队列的顺序存储结构
4.2.3 队列的链式存储结构
 习题4
第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 链串上的模式匹配
第6章 树
第7章 图
第8章 查找
第9章 排序
第10章 操作系统
第11章 数据库系统及其应用
参考文献

章节摘录

版权页:插图:面向对象的设计方法中涉及的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位。它由一组表示其静态特征的属性及其可执行的一组操作组成。例如,一辆汽车是一个对象,它包含了汽车的属性(如颜色、型号、载重量等)及其操作(如启动、转弯、刹车等)。一个按钮是一个对象,它包含了按钮的属性(如大小、标题、字体、字号、图片等)及其操作(如单击、双击、划过等)。一个窗口是一个对象,它包含了窗口的属性(如大小、颜色、位置等)及其操作(如打开、最大化、最小化、移动、关闭等)。客观世界中的实体通常既具有静态的属性,又具有动态行为。因此在面向对象方法学中,我们把描述对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体称为对象。对象可以做的操作表示它的动态行为,在面向对象分析和面向对象设计中,通常把对象的操作称为方法和服务。属性是对象所包含的信息,用来描述对象的状态。在设计对象时,应确定该对象有哪些属性,一般只能通过执行对象的操作来改变对象属性的值。如某个人可以看做是一个对象,他的属性有姓名、出生日期、国籍等。不同对象的相同属性可以具有相同或不同的属性值。对象所能够执行的操作描述了对象的行为,操作的过程对外是封闭的,即用户只能看到这一操作实施后的结果,而不必关心这一操作是如何实现的。这相当于事先设计好了各种过程,供用户根据需要来调用。事实上,这个过程已经封装在对象中,用户也看不到。对象具有如下一些基本特性:(1)标识唯一性:指对象是可以区分的,并且是由对象的内在本质来区分,而不是通过描述来区分。(2)分类性:指可以将具有相同属性和操作的对象抽象成类。(3)多态性:指同一个操作可以是不同对象的行为。(4)封装性。在对象的外部只能看到对象的外部特性,用户只需知道数据的取值范围和可以对该数据施加的操作,而无需知道数据的具体结构以及实现操作的算法。封装性是保证软件具有优良结构的基础。2.类(Class)和实例(Instance)将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象集合。所以,类是对象的抽象,它描述了该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。要注意的是,当使用“对象”这个术语时,既可以指一个具体的对象,也可以泛指一般的对象:但是,当使用“实例”这个术语时,必然是指一个具体的对象。例如:Integer是一个整数类,它描述了所有整数的性质,因此任何整数都是整数类的对象,而一个具体的整数“12345”是类Integer的一个实例。

编辑推荐

《软件技术基础》是21世纪高等学校电子信息类规划教材之一。

图书封面

评论、评分、阅读与下载


    软件技术基础 PDF格式下载


用户评论 (总计1条)

 
 

  •   还不错~正版!书内容挺详细的~
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7