资源描述
《计算机软件技术基础》自学指导书
东南大学电气工程系 王 磊
说 明
1、 使用教材:
沈被娜等编著《计算机软件技术基础》(第三版),清华大学出版社
2、 先修课程:
高级程序设计语言(C或Pascal)
3、 计划学时数:
90小时自学,30小时面授
4、 答疑与作业:
在自学过程中,若有问题可通过信函(包括E-mail)进行答疑。每章作业应按要求完成。
第一章 软件工程技术基础
一、 教学目的与要求:
通过本章的学习,掌握软件工程的基本理论知识,了解和掌握当前流行的软件开发工具与环境,提高软件开发的能力与水平。
二、 本章内容提要:
1、 信息与计算机
2、 软件工程概述:
(1) 软件的定义、特性、分类、软件质量的评价。
(2) 软件危机的表现、原因
(3) 软件工程的概念、三要素。
(4) 软件的生命周期。
(5) 软件开发模型(瀑布/快速原型/面向对象/组件)、主要特点。
3、 软件开发过程:各阶段的任务、方法、步骤、文档
(1) 可行性分析
(2) 需求分析
(3) 概要设计
(4) 详细设计
(5) 面向对象分析与设计方法
(6) 软件编码
(7) 软件测试
(8) 软件维护
4、 软件开发管理:
三、 本章的难点与重点:
1、 软件和软件工程的基本概念
2、 软件生命周期各阶段的任务及文档
3、 软件开发的常用模型与方法
4、 面向对象的基本概念和特征
四、 习题:
P.21 1.8
P.263 6.1 6.2
第二章 常用数据结构及其运算
一、 本章的教学目的与要求
通过本章的学习,要求学生掌握基本数据结果的定义、实现和应用。基本数据结构包括线性表、树、图等。在求解问题时能选择合理的数据结构,采用恰当的数据结构,设计出合理可行的算法。
在学习过程中可选择部分算法上机练习。
二、 本章内容提要
1、 数据结构概念
(1) 数据结构+算法=程序
(2) 抽象数据类型
(3) 逻辑结构/物理结构
(4) 算法及其效率的分析方法
2、 线性表
(1) 线性表的定义、特性
(2) 基本操作
(3) 顺序存储的向量:特点、不足
(4) 线性链表:单向链表、循环链表、双向链表
(5) 栈和队列(LIFO/FIFO、存储方式、基本操作、应用)
(6) 数组(特点、运算、稀疏矩阵的处理方法:特殊稀疏矩阵,随机稀疏矩阵)
3、 树
(1) 树的定义、基本术语、性质(E=N-1)、存储
(2) 二叉树的定义、满二叉树、完全二叉树、平衡二叉树、性质
(3) 二叉树的存储(顺序、二叉链)
(4) 树的二叉树表示
(5) 二叉树的遍历及其应用
(6) 二叉树的应用(二叉排序树、哈夫曼树、WPL、判定树)
5、 图
(1) 图的定义、术语(度、有向图/无向图、完全图、子图等)
(2) 图的存储(邻接矩阵、关联矩阵、邻接表、十字链表)
(3) 图的遍历(DFS/BFS)
(4) 图的应用
6、 检索
(1) 检索的概念、方法分类(静态/动态/哈希)、ASL
(2) 静态方法:线性/折半/分块的基本思想、ASL
(3) 动态方法:二叉排序树查找
(4) 哈希方法:Hash函数、冲突及其解决方法、查找方法、ASL
7、 排序
(1) 概念、基本操作(比较/移动)、分类(内排序/外排序)、分析方法(趟、时空复杂度、稳定性)
(2) 插入:直接插入/折半插入
(3) 选择:直接选择/堆排序
(4) 交换:冒泡/快速
(5) 各种方法的排序思想、比较(空间、时间、稳定性)
三、 本章难点与重点
1、 线性表的操作算法
2、 二叉树的概念、遍厉及其应用
3、 检索算法的各自特点及适用情况
4、 排序算法的各自特点及适用情况,算法的比较
四、 习题
P.101
2.5 2.9 2.10 2.12 2.18 2.19 2.24 2 25 2.26
2.29 2.30 2.31(1) (3) 2.32 2.33
2.34 2.35
2.40 2.41 2.42
第三章 操作系统
一、 本章的教学目的与要求
学生通过本章的学习,了解操作系统的发展史,掌握操作系统的各个管理功能的作用及其实现方法,掌握用户接口的作用及使用方法。从而达到理解如何控制和管理计算机系统中软硬件资源的目的。
二、 本章内容提要、
1、 OS的基本概念:定义、配置OS的目的、产生、发展、分类、功能、特点
2、 作业管理:作业及其分类(交互式/批处理)、批处理作业的状态转换、JCB、作业调度
3、 存储管理:
(1) 功能、地址映射
(2) 实存管理(分区分配、覆盖、交换)
(3) 虚存管理:虚存概念、程序的局部性原理、请求分页式管理、请求分段式管理、请求分段页式管理、动态链接
(4) 各种管理方法的特点:
(5) 地址映射的方法、存储保护的实现
4、 进程管理
(1) 进程的概念、特点、与程序的关系
(2) 进程的状态及其转换
(3) 进程实体:程序、数据、PCB
(4) 进程调度方法
(5) 多道程序并发中互斥/同步问题及其实现:临界资源/临界区、PV操作
(6) 死锁的概念
5、 设备管理
(1) 设备的分类
(2) 设备的独立性、设备管理的功能
(3) I/O的控制方式、通道技术
(4) 缓冲技术
(5) 虚拟设备与Spooling技术
6、 文件管理
(1) 功能:
(2) 文件组织与存取方法
(3) 文件目录管理:FCB、各种目录结构的特点
(4) 文件使用一般模型
7、 用户接口
三、 本章难点与重点
1、 虚拟存储器的概念、请求分页式管理方法
2、 进程与程序的关系
3、 多道程序并发中互斥/同步问题及其实现
4、 中断、通道的概念,设备管理中的若干技术问题
5、 文件目录在文件管理中的作用
6、 用户接口的作用及使用方法
四、 习题
P.171
3.1 3.7 3.8 3.11 3.12 3.14 3.18 3.21 3.22 3.26
第四章 数据库系统
一、 本章的教学目的与要求
通过本章的学习,要求学生了解数据库的基本概念,理解关系数据库的结构与原理,掌握数据库处理数据的方法,能进行简单的数据库设计,使用基本的SQL操纵数据库。
二、 本章内容提要
1、 几种数据管理方式的特点
2、 数据库系统的概念
(1) 数据库
(2) 数据库系统(软件、硬件、DBA、用户等)
(3) 数据模型(概念模型、数据模型、存储模型)
(4) 三种数据模型
(5) 数据库系统的体系结构(三层模式、两个映射、三个视图、数据独立性的实现)
(6) DBMS(功能、组成、工作过程)
(7) 数据库应用系统的构成(用户角度的数据库系统的体系结构)
3、 关系数据库
(1) 基本概念(关系、域、属性、关键字、元组、阶、基数、关系模式等)
(2) 关系代数:运算
(3) 数据依赖及关系的规范化
(4) SQL语言基础
4、 数据库设计
(1) 设计步骤
(2) 概念设计、E-R图
(3) 逻辑设计、E-R图向关系模型的转化、优化
三、 本章难点与重点
1、 数据库的基本概念:特点、数据库的体系结构与数据独立性、数据模型
2、 关系数据模型的特点
3、 关系规范化理论
4、 SQL语言基础
5、 E-R方法
四、 习题
P.209
4.1 4.3 4.7
4.8 (1)、(2)、(3)、(4)、
(5)给出满足第三范式的关系数据库设计结果,并指出各关系的关键字。
自学时间分配及进度表
周次
内容
时间
作业
1
§1.1-§1.4
§6.1 §6.2
5
P.21 1.8
P.263 6.1
2
§ 6.2 -§6.4
5
P.263 6.2
3
§2.1 §2.2(线性表、向量、链表)
7
P.101
2.5 2.9 2.10 2.12
4
§2.3(队列/栈及其应用)
3
2.18 2.19 2.24
5
§2.4(数组概念及稀疏矩阵处理)
5
2 25 2.26
6
§2.5.1-§2.5.3(树、二叉树概念、二叉树遍历、)
5
2.29 2.30 2.31(1) (3)
7
§2.5.4二叉树应用(二叉排序树、哈夫曼树、判定树)
5
2.32 2.33
8
§2.6图(概念、存储、遍历)
5
2.34 2.35
9
§2.7查找
(静态、动态、哈希表)
6
2.40 2.41
9
§2.8排序
(插入、选择、交换)
6
2.42
10
§3.1 引言
§3.2 存储管理
5
P.171
3.1 3.7 3.8
11
§3.3(作业管理、进程管理)
5
3.11 3.12
12
§3.3.4 并发
§3.4设备管理
5
3.14 3.18
13
§3.5文件管理
§3.6用户接口
5
3.21 3.22 3.26
14
§4.1 (数据管理技术概论
数据模型与数据库系统结构)
5
4.1 4.3
15
§4.2 关系数据库
(概念、关系代数、关系规范化理论)
5
4.7(关系代数方法)
16
§4.3.3关系数据库标准语言(SQL)
§4.4
5
4.7(SQL方法)
17
§4.1.4 数据库设计
§4.5 数据库技术新发展
5
4.8 (1)、(2)、(3)、(4)、
(5)
展开阅读全文