软件技术基础教学大纲

软件技术基础教学大纲
软件技术基础教学大纲

《软件技术基础》教学大纲

课程编号:23000840 适用专业:电子信息类(非计算机专业)

学时数:40 学分数: 2.5 开课学期:第4学期

先修课程:《C语言》

考核方式:笔试(闭卷)

执笔者:沈晓峰编写日期:2015年3月审核人(教学副院长):

一、课程性质和目标

授课对象:电子信息工程专业大学二年级本科生

课程类别:学科拓展课程

教学目标:

本课程是针对工科电子信息类本科生开设的一门学科拓展课程。着重培养学生在软件设计领域的基本素质,基本方法和设计理念。授课对象为大学二年级学生,课程任务是通过本课程的学习和相关实验的练习,使学生掌握数据结构、操作系统等软件技术的基本理论知识,具有一定的软件开发能力。

二、教学内容和要求

1、课堂理论教学要求和学时安排(32学时)

1)C程序设计(4学时)

(1)C语言回顾,指针的基本概念、运算方法和使用(2学时)。

(2)结构体的基本概念和使用方法(2学时)。

2)数据结构(20学时)

(1)数据结构的基本概念(2学时):理解数据结构的基本概念;理解线性和非线性结构的概念。

(2)线性数据结构(9学时):理解表、栈、队列等线性数据结构的概念,存储方式及基于不同存储方式的相关操作的实现方法。

a.理解表的概念及顺序表的存储特点,掌握其创建、插入、删除等实现方法(2

学时);

b.掌握单链表、双链表、循环链表的创建、插入、删除方法(2学时);

c.理解栈的概念及结构特点,掌握顺序栈及链栈的出栈、入栈操作的实现方法

(2学时);

d.理解队列的概念及特点,掌握顺序、循环队列的创建、出队、入队、判空、判满等操作。掌握链队列的创建及出队、入队(2学时);

e.理解数组的概念及二维数组的存放方式,掌握对称矩阵及稀疏矩阵的压缩存储方法(1学时)。

(3)非线性数据结构(5学时):了解典型非线性数据结构的基本概念、存储和访问方式。

a.理解二叉树、满二叉树、完全二叉树的概念及基本性质(1学时);

b.掌握二叉树的三种遍历算法、树和二叉树的转换方法(2学时);

c.理解图的基本概念及性质,掌握图的邻接矩阵、邻接图存储方式(2学时)。

(4)结构查找和排序(4学时):理解查找和排序的基本概念,掌握三种查找(顺序、二分、分块)和三种排序(简单插入,简单选择和冒泡)方法和实现。

3)操作系统(8学时)

(1)操作系统的基本概念(2学时):了解操作系统的基本概念,操作系统发展的历

程和现代操作系统的基本特征。

(2)处理机管理(4学时);理解进程、进程的状态、描述方式、进程控制的手段,

进程的同步和互斥,进程通信和死锁等基本概念,理解进程调度的相关方法。

(3)作业管理(2学时):理解作业、作业的状态、描述方式、作业控制的手段,等

基本概念,理解作业调度的相关方法。

通过这一章的学习同学们应该理解一个用户作业提交给计算机之后,操作系统控制计算机来执行该用户作业的基本流程。

2、实验安排(8学时)

共设置5组实验,分为上机实验和课外实验两部分:上机实验包括两个实验,课外实验包括3个实验,详细实验内容见实验教学大纲。

三、考核方式

课程最后成绩构成包括:期末考试卷面成绩(70%),平时成绩(10%),实验成绩(20%)。

实验部分的考核包含上机实验和课外实验,实验成绩采用实验出勤、实验考核、实验报告和实验程序验证相结合的方式给出。

四、教材和参考资料

1、教材

《软件技术基础》,黄迪明,电子科技大学出版社,1998年

2、参考资料

1)高质量C编程指南,林锐,附电子版

2)数据结构(C语言),严蔚敏,清华大学出版社

3)操作系统基础教程(第6版)William S.Dav 清华大学出版社

4)深入理解计算机系统 Randal E.Bryant,David O’Hallaron 著,龚奕利,雷迎春译,中国电力出版社

《软件技术基础实验》教学大纲

一、实验项目基本信息

实验项目名称:软件技术基础实验

适用专业:电子信息类(非计算机专业)

学时数:8

先修课程:《C语言》

考核方式:实验过程、实验报告、实验

二、实验项目的性质和任务

1、实验项目的性质

本实验是本科生学科拓展课程《软件技术基础》的实验部分,属软件设计的范畴。

2、实验项目的目的和任务

通过上机实验,要求学生对常用数据结构的基本概念及其不同的实现方法的理论得到进一步的掌握,并对在不同存储结构上实现不同的运算方式和技巧有所体会。培养学生在软件设计方面的知识基础,同时也提供必要的技能训练。

3、实验内容和要求

《软件技术基础实验》是与理论课程《软件技术基础》配套开出的,主要包含两个数据结构部分的基本上机实验和三个课外实验,着重培养同学进行软件设计的基本能力。(1)上机实验内容:

实验一:顺序表和单链表基本操作上机实验 4学时

实验目的:理解线性结构的基本概念,掌握两种基本的存储结构:顺序存储结构(顺序表)和链式存储结构(单链表);用C语言实现在两种存储结构上的对

应操作(包括创建、删除插入元素、遍历等),巩固强化C程序设计的基

本方法和能力。

实验内容:

1、顺序表的创建、元素删除、遍历等操作:

有序的一组整数{1,2,3,4,6},设计顺序表并实现以下操作:

A.初始化一个空的顺序表;

B.从键盘依次输入上述数据添加到顺序表中;

C.删除表中的第四个数据元素;

D.显示B、C操作后顺序表中的内容。

2、现有有序的一组整数{1,2,2,3,4,6,6},设计单链表,分别编写函数

实现以下操作:

A.初始化一个空链表。

B.依次添加上述一组数据(结点),生成该链表。

C.统计该链表的长度。

D.在表中查找数据为3和7的结点,并返回其位置(若找不到返回 -1)。

E.删除中间重复结点,使链表变为 1-2-3-4-6。

F.显示经B,E操作后,链表的内容。

实验二:基本查找排序操作上机实验 4学时

实验目的:掌握两种基本的查找算法(顺序查找、二分查找)和三种基本排序算法(简单插入排序、简单冒泡排序、简单选择排序)的原理及C语言实现。

实验内容:

现有一顺序表,表中元素分别为{51,38,79,22,91,105,33,52,16,112},分

别编写函数实现以下操作:

A、采用简单插入排序法实现对顺序表的排序,显示每一趟的排序结果;

B、采用简单冒泡排序法实现对顺序表的排序,显示每一趟的排序结果;

C、采用简单选择排序法实现对顺序表的排序,显示每一趟的排序结果;

D、对上述排序后的顺序表采用顺序查找方法,查找关键字为52和关键字为

36的元素,分别显示查找结果;

E、对上述排序后的顺序表采用二分查找方法,查找关键字为22的元素,显

示查找结果。

(2)课外实验内容:

本环节设置了三个相对较复杂的课外实验,旨在进一步巩固学生对数据结构相关知识点的理解和掌握,提高软件开发能力。

实验三:较复杂的顺序表操作

实验目的:进一步掌握复杂顺序表的相关操作及编程实现。

实验内容:

图书资料管理问题,设一本书有编号、书名、作者、价格等信息,如下表所示:

设计顺序表并实现以下操作:

A、初始化线性表;

B、向表中添加一条新记录;

C、删除表中的第三条记录;

实验提示:本实验中图书信息的数据类型可定义如下:

typedef struct

{

long int number; // 书号

char name[50]; // 书名

char author[20]; // 作者

int price; // 价格

} bookinfo;

因此顺序表的定义也应作相应的变化:

typedef struct

{

bookinfo data[MAXNUM];

int num;

} listtype;

请同学们思考,插入和删除的函数要做怎样的修改?

实验四:栈和队列的操作实现

实验目的:理解栈和队列的基本概念,栈和队列操作的基本方法以及其编程实现。

通过本实验的两个项目的编程、调试和运行结果的比较,分析栈和队列的差

别。

实验内容:

1、设计一个容量为4的循环队列,编程实现如下操作,并显示各步骤操作后队列

的内容:

A、队列初始化为空;

B、将1、2、3三个数据依次做入队操作;

C、做两次出队操作(1、2出队);

D、将4、5、6三个数据依次做入队操作;

E、将数据7做入队操作;

2、设计一个容量为4的顺序栈,编程实现如下操作,并显示各步骤操作后栈的内容:

A、栈初始化为空;

B、将1、2、3三个数据依次做入栈操作;

C、做两次出栈操作;

D、将4、5、6三个数据依次做入栈操作;

E、将数据7做入栈操作;

实验五:查找和排序操作实验

实验目的:理解在线性表中的各种基本的查找和查找方法的原理,实现方法,适用条件,掌握各种基本查找和排序方法编程实现。

实验内容:设计一个描述学生成绩信息的线性表,用于存放学生的相关信息,学生成绩表的基本信息如下:

要求编程实现以下功能:

A、用顺序表存储以上学生成绩表;

B、添加一个同学的相关信息;

C、用顺序查找方法查找有某科成绩高于90分或某科成绩不及格的同学信息,

并显示相应查找结果;

D、以英语成绩为排序码,利用简单选择排序方法对学生成绩表进行排序,并

显示排序结果;

E、以高数成绩为排序码,利用简单插入排序方法对学生成绩表进行排序,并

显示排序结果;

F、以C语言成绩为排序码,利用冒泡排序方法对学生成绩表进行排序,并显

示排序结果;

G、再利用二分查找的方法在已经排序后的成绩表中查找C语言成绩为x的学

生信息(x为键盘输入分数值)。

4、实验项目涉及核心知识点:

对最典型的线性数据结构(线性表)采用不同的存储结构时的基本算法的C语言实现;栈和队列的基本操作C语言实现,查找和排序的操作C语言实现;

5、重点和难点

重点在理解数据结构的本质,学会用数据结构中的分析方法来刻画和解决实际问题,并利用C语言为工具来编程验证这些数据结构中的基本算法;

6、实验步骤

A、问题分析和任务的定义

明确问题要求做什么,限制做什么(本步强调做什么,而不是怎么做)。对问题的描述应避开算法和所涉及的数据类型,而是所完成的任务做出明确的回答。如输入数据的类型、值的范围以及输入的形式;输出数据的类型、值的范围及输出的形式;这一步还应该为调试程序准备好测试数据,包括合法的输入数据和非法形式的输入数据。

B、数据类型和系统设计

在设计这一步骤中分为逻辑设计和详细设计两步实现。逻辑设计指的是,为问题的描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主模块和各抽象数据类型;详细设计则为定义相应的存储结构并写出各函数的伪码算法。在这个过程中,要综合考虑系统的功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据的封装,基本操作的规格说明尽可能的明确和具体。作为逻辑设计的结果。应写出每个抽象数据类型的

定义(包括数据结构的描述和每个基本操作的规格说明),各个主要模块的算法,并画出模块之间的调用关系图。详细设计的结果是对数据结构和基本操作的规格说明做出进一步的求精,写出数据存储结构的类型定义,按照算法书写规范用类C语言写出函数形式的算法框架。

C、编码实现和静态检查;

D、上机准备和上机调试;

E、总结和整理上机实验报告;

7、使用教材和参考资料

教材名称及教材性质:

《软件技术基础》,黄迪明,电子科技大学出版社;

附:实验报告规范

实验题目

班级姓名学号日期

一、需求分析

1、程序的要实现的基本功能;

2、输入输出的要求;

3、测试数据。

二、概要设计

1、本程序所用的抽象数据类型的定义;

2、主程序的流程及各程序模块之间的层次关系。

三、详细设计

1、采用c语言定义相关的数据类型;

2、写出各模块的伪码算法;

3、画出函数的调用关系图。

四、调试分析

1、调试中遇到的问题及对问题的解决方法;

2、算法的时间复杂度和空间复杂度。

五、使用说明或测试结果

六、源程序(带注释)

计算机软件技术课程设计

计算机软件技术课程设计 学院:电力与自动化工程学院 班级: 姓名: 学号: 同组人: 2012年6月28日

目录 一、需求分析 1.1、开发背景 (3) 1.2、编写目的 (3) 1.3、运行环境 (3) 1.4、项目任务书 (3) 二、项目流程 2.1、基本流程 (3) 2.2、概要设计 (6) 2.2.1、局部E-R图 (6) 2.2.2、全局E-R图 (9) 2.3、逻辑设计 (10) 2.3.1、E-R图向关系模型的转换 (10) 2.3.2、二维关系表 (10) 三、数据库的实施与运行 四、小结 五、参考教材书

一.需求分析 1.1开发背景: 随着人类社会的发展,人类对知识的需求也不断的增长。在这种形势下,书籍就渐渐成为人们获取并增长知识的主要途径,而图书馆就自然而然的在人们的生活中占据的一定的地位,如何科学的管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就必不可少了。 1.2编写目的: 本需求的编写是为了研究图书管理系统软件的开发途径和应用方法。同时它也是进行项目策划、概要设计和详细设计的基础,是维护人员进行内部维护,信息更新,验收和测试的依据。 1.3 运行环境 编程环境:Microsoft Visual Basic 做前台,SQL Sever 做后台 1.4 项目任务书 项目名称:图书管理系统软件 项目开发者:王颖龚思敏魏嫽嫽张宇秦黎阳 用户:各同学 图书馆管理系统需要有能够及时地查询书库中图书的库存量,以便及时准确地为读者服务,提供借阅信息,但是不能更改数据,无信息处理权,即可以打印清单,浏览数据等,管理权限由系统管理员掌握分配。这个也是图书馆的总体需求。 能够提供外界进行查询,无特殊权限限制,面向所有用户。 图书馆各项数据信息必须保证安全性和完整性,网络系统设有通信,程序,网络三级权限和口令管理,确保系统的安全。这个是对数据的安全考虑的。 系统管理员根据市场图书行情定时的整理系统数据库,对图书的借阅情况,读者的管理情况,书库的增减等均可由计算机执行,并将运行结果归档。 这个是从数据的整理角度考虑。 二、项目流程 2.1 、基本流程 以图书管理系统为对象,经过可行性分析和初步需求调查,抽象出该图书管理系统的业务流程图,如图1所示。下面,结合该实例具体情况,给出对读者、图书查询,图书管理员管理的具体需求。

软件技术基础教学大纲

《软件技术基础》教学大纲学时数:40 学分数: 2.5 开课学期:第4学期 先修课程:《C语言》 考核方式:笔试(闭卷) 执笔者:沈晓峰编写日期:2015年3月审核人(教学副院长): 一、课程性质和目标 授课对象:电子信息工程专业大学二年级本科生 课程类别:学科拓展课程 教学目标: 本课程是针对工科电子信息类本科生开设的一门学科拓展课程。着重培养学生在软件设计领域的基本素质,基本方法和设计理念。授课对象为大学二年级学生,课程任务是通过本课程的学习和相关实验的练习,使学生掌握数据结构、操作系统等软件技术的基本理论知识,具有一定的软件开发能力。 二、教学内容和要求 1、课堂理论教学要求和学时安排(32学时) 1)C程序设计(4学时) (1)C语言回顾,指针的基本概念、运算方法和使用(2学时)。 (2)结构体的基本概念和使用方法(2学时)。 2)数据结构(20学时) (1)数据结构的基本概念(2学时):理解数据结构的基本概念;理解线性和非线性结构的概念。 (2)线性数据结构(9学时):理解表、栈、队列等线性数据结构的概念,存储方式及基于不同存储方式的相关操作的实现方法。 a.理解表的概念及顺序表的存储特点,掌握其创建、插入、删除等实现方法(2 学时); b.掌握单链表、双链表、循环链表的创建、插入、删除方法(2学时); c.理解栈的概念及结构特点,掌握顺序栈及链栈的出栈、入栈操作的实现方法 (2学时); d.理解队列的概念及特点,掌握顺序、循环队列的创建、出队、入队、判空、判满等操作。掌握链队列的创建及出队、入队(2学时); e.理解数组的概念及二维数组的存放方式,掌握对称矩阵及稀疏矩阵的压缩存储方法(1学时)。

软件技术基础试题及答案

软件技术基础试题及答案

软件技术基础 系班级姓名成绩 得分评卷 人一、填空题(每空1分,共25分) 1.数据结构作为一门学科,主要研究数据 的、存储结构以及 三方面内容。 2.当对一个线性表经常进行插入或删除操作时,则 宜采用存储结构;而经常进行的是访问操作,而很少进行插入或删除操作时,则宜采用存储结构。 3.在线性结构中,首结点有个前驱结点, 其余每个结点有且只有个前驱结点。4.限定在表的一端进行插入,在表的另一端进行删 除的线性表称为;限定在表的一端进行插入和删除运算的线性表称为。 5.一个8阶的下三角矩阵B按行优先顺序压缩存储 第2页,共19页

6. 第3页,共19页

7. 8.操作系统通过记载、跟 踪、控制进程的执行,它是进程存在的唯一标志。 作业调度程序是从处于状态的作业中选取一个作业并把它装入主存。 12A.软件生命周期瀑布模型一般可分为问题分析、、、 和软件维护五个阶段。 , 得分评卷 人二、选择题(每小题1分,共10分)下列语句正确的是()。 A. int *p=&x; B. int *p=x; C. int p=&x; D. int *p=*x; 2. int a[ ]={1,2,3,4,5},b[5],*p; 则下列语句中不 正确的语句是()。 A. p=b+1; B.p=&a[3]; C. p=a; D.b=a; 3. 设有以下说明语句 struct node{ int a;float b;};struct node node1,node2,*pnode; 则下列语句中正确是()。 A. node1=node2; B. 第4页,共19页

西电《软件技术基础》上机大作业答案解析

说明 每个实验题目含有一个main函数和一些函数,与实验题目相关的基本运算的函数定义和main函数定义的代码在附录以及对应的文件夹中给出,供上机实验参考使用。对于每个题目,只需要根据题目要求设计算法,补充函数定义,然后对程序进行编译、调试。

实验一线性表 一、实验目的 1.熟悉线性表的顺序和链式存储结构 2.掌握线性表的基本运算 3.能够利用线性表的基本运算完成线性表应用的运算 二、实验内容 1.设有一个线性表E={e1, e2, … , e n-1, e n},设计一个算法,将线性表逆置,即使元素排列次序颠倒过来,成为逆线性表E’={ e n , e n-1 , … , e2 , e1 },要求逆线性表占用原线性表空间,并且用顺序表和单链表两种方法表示,分别用两个程序来完成。(文件夹:顺序表逆置、单链表逆置) 2.已知由不具有头结点的单链表表示的线性表中,含有三类字符的数据元素(字母、数字和其他字符),试编写算法构造三个以循环链表表示的线性表,使每个表中只含有同一类的字符,且利用原表中的结点空间,头结点可另辟空间。(文件夹:分解单链表) 实验二栈和队列 一、实验目的 1.熟悉栈和队列的顺序和链式存储结构 2.掌握栈和队列的基本运算 3.能够利用栈和队列的基本运算完成栈和队列应用的运算 二、实验内容 1.设单链表中存放有n个字符,试编写算法,判断该字符串是否有中心对称的关系,例如xyzzyx是中心对称的字符串。(提示:将单链表中的一半字符先依次进栈,然后依次出栈与单链表中的另一半字符进行比较。)(文件夹:判字符串中心对称) 2.假设以数组sequ[m]存放循环队列的元素,同时设变量rear和quelen 分别指示循环队列中队尾元素的位置和内含元素的个数。编写实现该循环队列的入队和出队操作的算法。 提示:队空的条件:sq->quelen==0;队满的条件:sq->quelen==m。(文件夹:循环队列)实验三串 一、实验目的 1.熟悉串的顺序存储结构 2.掌握串的基本运算及应用 二、实验内容 1.串采用顺序存储结构,编写朴素模式匹配算法,查找在串中是否存在给定的子串。(文件夹:模式匹配) 2.若S是一个采用顺序结构存储的串,利用C的库函数strlen和strcpy(或strncpy)编写

软件开发课程设计

合肥工业大学 课程设计 设计题目排序算法的实现系统学生姓名高圣泽 学号 20085869 专业班级数学与应用数学08-1 指导教师王琦王青山 2011 年 06 月 07 日

一、设计目的 通过对此次数据结构大型作业内容的分析,锻炼学生分析与编写大型软件代码的能力。通过与同组同学的合作,锻炼协作的能力。以及本系统实现了各种排序(直接插入排序、折半插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序)。 二、课程设计的内容 1.课程设计的题目及简介 题目:排序系统 简介:本系统实现了9种排序方法(直接插入排序、折半插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序)。 2.设计说明及需求分析 本系统有以下十个功能模块,分别有switch 下的几个case 后语句函数来实现。 菜单界面设计图:

模块设计图:

3.概要设计 (1)直接插入排序: Straight Insertion Sort(IS)是一种简单的基本排序方法,它的基本操作是将一个记录插到已排序好的有序表中,从而得到一个新的、记录数增1的有序表。 (2)折半插入排序: Binary Inserting Sort(BI)是在直接插入的基础之上针对记录数量很大时引入的排序方法,首先用折半查找法在有序表中找到正确的插入位置,然后移动记录,空出插入位置,再进行插入。 (3)希尔排序: Shell’s Sort(SS)先将整个待排序记录序列分割成

若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序时”,再对全体记录进行一次直接插入排序。子序列不是简单的逐段分割,而是将相隔某个“增量”的记录组成一个子序列,所以关键字的较小的记录不是一步一步的前移,而是跳跃式前移,从而使得在进行最后一趟增量为1的插入排序时,序列已基本有序,只是做少量比较和移动即可完成排序。 (4)冒泡排序: Bubble Sort(BS)每相邻两个记录关键字比大小时,大的记录往下沉。每一遍把最后一个下沉的位置记下,下一遍只需检查比较到此为止,到所有记录都不发生下沉时,整个过程结束(没交换一次,记录减少一个反叙数)。 (5)快速排序: Quick Sort(QS)是对冒泡排序的一种改进,通过一趟快速排序将待排序的记录组分割成独立的两部分,其中前一部分记录的关键字均比枢轴记录的关键字小;后一部分记录的关键字均比枢轴记录的关键字大,数轴记录得到了它在整个序列中最终位置并被存放好,为一趟快速排序。第二趟再分别对分割成两部分的子序列,再进行快速排序,这两部分子序列中的枢轴记录也得到了最终在序列中的位置而被存放好,并且它们又分别分割出独立的两个子序列……递归,不断进行下去,直到每个待排序的子序列中只有一个记

软件技术基础教学大纲

《软件技术基础》教学大纲 课程编号:23000840 适用专业:电子信息类(非计算机专业) 学时数: 40 学分数: 2.5 开课学期:第4学期 先修课程:《C语言》 考核方式:笔试(闭卷) 执笔者:沈晓峰编写日期:2015年3月审核人(教学副院长): 一、课程性质和目标 授课对象:电子信息工程专业大学二年级本科生 课程类别:学科拓展课程 教学目标: 本课程是针对工科电子信息类本科生开设的一门学科拓展课程。着重培养学生在软件设计领域的基本素质,基本方法和设计理念。授课对象为大学二年级学生,课程任务是通过本课程的学习和相关实验的练习,使学生掌握数据结构、操作系统等软件技术的基本理论知识,具有一定的软件开发能力。 二、教学内容和要求 1、课堂理论教学要求和学时安排(32学时) 1)C程序设计(4学时) (1)C语言回顾,指针的基本概念、运算方法和使用(2学时)。 (2)结构体的基本概念和使用方法(2学时)。 2)数据结构(20学时) (1)数据结构的基本概念(2学时):理解数据结构的基本概念;理解线性和非线性结构的概念。 (2)线性数据结构(9学时):理解表、栈、队列等线性数据结构的概念,存储方式及基于不同存储方式的相关操作的实现方法。 a.理解表的概念及顺序表的存储特点,掌握其创建、插入、删除等实现方法(2 学时); b.掌握单链表、双链表、循环链表的创建、插入、删除方法(2学时); c.理解栈的概念及结构特点,掌握顺序栈及链栈的出栈、入栈操作的实现方法 (2学时);

d.理解队列的概念及特点,掌握顺序、循环队列的创建、出队、入队、判空、判满等操作。掌握链队列的创建及出队、入队(2学时); e.理解数组的概念及二维数组的存放方式,掌握对称矩阵及稀疏矩阵的压缩存储方法(1学时)。 (3)非线性数据结构(5学时):了解典型非线性数据结构的基本概念、存储和访问方式。 a.理解二叉树、满二叉树、完全二叉树的概念及基本性质(1学时); b.掌握二叉树的三种遍历算法、树和二叉树的转换方法(2学时); c.理解图的基本概念及性质,掌握图的邻接矩阵、邻接图存储方式(2学时)。 (4)结构查找和排序(4学时):理解查找和排序的基本概念,掌握三种查找(顺序、二分、分块)和三种排序(简单插入,简单选择和冒泡)方法和实现。 3)操作系统(8学时) (1)操作系统的基本概念(2学时):了解操作系统的基本概念,操作系统发展的历 程和现代操作系统的基本特征。 (2)处理机管理(4学时);理解进程、进程的状态、描述方式、进程控制的手段, 进程的同步和互斥,进程通信和死锁等基本概念,理解进程调度的相关方法。 (3)作业管理(2学时):理解作业、作业的状态、描述方式、作业控制的手段,等 基本概念,理解作业调度的相关方法。 通过这一章的学习同学们应该理解一个用户作业提交给计算机之后,操作系统控制计算机来执行该用户作业的基本流程。 2、实验安排(8学时) 共设置5组实验,分为上机实验和课外实验两部分:上机实验包括两个实验,课外实验包括3个实验,详细实验内容见实验教学大纲。 三、考核方式 课程最后成绩构成包括:期末考试卷面成绩(70%),平时成绩(10%),实验成绩(20%)。 实验部分的考核包含上机实验和课外实验,实验成绩采用实验出勤、实验考核、实验报告和实验程序验证相结合的方式给出。 四、教材和参考资料 1、教材 《软件技术基础》,黄迪明,电子科技大学出版社,1998年 2、参考资料

软件技术基础模拟试题及参考答案

软件技术基础模拟试题(第二十次省统考) 一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分) 1、数据元素是数据的基本单位,数据项是数据的最小单位。() 2、栈是特殊的线性表,须用一组地址连续的存储单元来存储其元素。() 3、引入虚拟存储技术后,逻辑内存总容量是由地址总线的位置确定的。() 4、编译程序是一种常用应用软件。() 5、顺序文件和链接文件的长度都可以动态变化。() 6、在文件系统中采用目录管理文件。() 7、允许多用户在其终端上同时交互地使用计算机的操作系统称为实时系统。() 8、程序、数据、和进程控制块是构成一个进程的三要素。() 9、黑盒测试时,既要考虑程序的内部逻辑结构又要考虑其外部特性。() 10、软件的总体设计和详细设计都要用PAD图形工具。() (参考答案:1~10:ABABB ABABB) 二、单项选择题:(每小题1分,共5分) 1、允许用户把若干作业提交计算机系统集中处理的操作系统称为()。 A分时操作系统B实时操作系统C网络操作系统D批处理操作系统2、分配到必要资源并获得了处理机时的进程的状态称为()。 A就绪状态B执行状态C等待状态D阻塞状态 3、利用通道技术可以在()之间直接交换数据。 A内存与CPU B CPU与外设C内存与外设D内存、CPU和外设三者4、以下的准则中哪个不是软件设计的准则()。 A编程语言选择准则B信息屏蔽准则 C结构化和模块化准则D抽象准则 5、有一数列:97657613294958经过一趟排序后得到: 65971376294958请问使用的是何种排序方法?() A简单插入排序B冒泡排序C2路归并排序D快速排序 (参考答案:DBCAC) 软件技术基础模拟试题(第十九次省统考) 一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分) 1、在目前,用于保证软件质量的主要手段是进行软件测试。() 2、使用DMA方式传送数据期间不需要CPU干预。() 3、线性顺序队列会产生“假溢出”,而线性循环队列则不会。() 4、对同一种算法,用高级语言编写的程序比用低级语言编写的程序运行速度快。() 5、在线性表中,数据的存储方式有顺序和链接两种。() 6、进程由程序块、文件控件块和数据块三部分组成。() 7、在面向对象的程序设计中,派生类只能从一个基类产生。() 8、操作系统是用户和硬件的接口。() 9、个人计算机中可配置的最大内存容量受地址总线位数的限制。() 10、软件维护中最困难的问题是软件配置不全。() (参考答案:1~10:A、A、A、B、A、B、A、A、A、B) 二、单项选择题:(每小题1分,共5分)

软件开发课程设计

S2——JavaScript客户端验证和页面特效制作(JavaScript) 1、技术简介 讲解HTML语法,会使用页面的表格,框架、DIV进行页面布局;使用各种表单控件,并能完成常见的表单验证任务;能实现浏览器端的各种常见动态效果,如:熟悉DOM各种元素的属性方法,HTML+JS元素的定位和查找,HTML+JS实现树形菜单的展开和关闭,HTML+JS层的隐藏、显示、弹出特效,HTML+JS浮动广告、弹出广告窗口效果。 2、课程内容及简介 章节名称简介备注 第一章JavaScript的基本语法掌握js脚本的基本结构;JavaScript基 本语法;变量的定义与赋值,数据类 型与转换函数等,运算符和控制语句; 灵活运用高级语法---自定义函数function Script 第二章DOM编程-window对象会运用DOM模型查找某个HTML元素;会使用window对象的open()方法制作不同风格样式的广告窗口;会使用window对象的setTimeout()方法和Date对象制作日期显示效果。 第三章DOM编程-document对象会使用document对象的getElementById()方法访问DIV层对象;会使用document对象的getElementsByName()方法访问表单元素;会使用DIV对象的样式属性控制层的隐藏和显示。 第四章CSS样式特效会使用style样式的相关属性动态改变边框颜色;会使用className类名属性动态改变按钮背景图片;会使用display显示属性实现层或图片的隐藏/显示和切换特效 第五章基本的表单验证技术会使用DOM模型的层次关系方问元素;或使用表单事件和脚步函数实现表单验证;会使用String对象、文本框控件的常用属性和方法实现客户端的验证 第六章表单验证的相关事件和辅助特效会使用图片代替提交按钮实现表单提交;会使用onKeyDown事件检查用户输入的特殊字符;会使用DIV的innerHTML或者innerText动态显示内容;会使用多个DIV动态隐藏或显示内容 第七章表单验证的高级特效会使用下来列表控件实现省市级联功能;会使用数组优化省市级联功能

多媒体应用技术基础教案--理论

多媒体应用技术基础教案 课程名称:多媒体应用技术基础 适用专业:电子、计算机科学等专业 年级:203208401,2 学年、学期:2004-2005第二学期 任课教师:邵桂芳 编写时间:2005年1月20日 第1讲 (一)授课内容 1.开课篇:介绍开设这门课程的目的和意义,交换联系方式,介绍课程考核要求及平时要求等; 2.多媒体技术基础知识:主要讲述多媒体及MPC的基本概念,多媒体技术的应用,以及多媒体产品的开发过程和方法等; 3.多媒体个人计算机:讲述MPC的基本概念和组成,以及MPC的基本硬件配置。(二)教学方式及学时分配 1.教学方式:采用知识单元讲授的形式,中间穿插多媒体案例展示; 2.学时分配:3学时 (三)教学目的与要求 1.讲授该门课程的教学意义以及教学要求; 2.了解多媒体基本概念和知识; 3.掌握多媒体及MPC的基本概念,以及多媒体技术的应用领域; 4.了解多媒体产品的创造过程。 (四)教学重点和难点 1.重点:多媒体的概念及特征;多媒体产品的开发方法。 2.难点:本讲内容属于基础知识介绍,学生比较容易理解,没有难点。 (五)教学组织形式 采用多媒体示例和教师讲授的形式,中间穿插提问。 (六)教学过程中应注意的问题 1.第一次课应该注意如何让学生认识到多媒体课程的重要性; 2.应采用事例教学的方法来提高学生的兴趣和积极性。 (七)参考资料 赵子江多媒体技术应用教程第一章第二章 (八)作业及习题 1.多媒体的英文原文是什么? 2.多媒体的媒体种类有哪些? 3.MPC是指什么? 第2讲 (一)授课内容 1.多媒体扩展设备:主要讲述MPC的外围扩展设备的基本原理和技术特点等; 2.美学基础:介绍美学的基本知识,平面构图的规则以及色彩构成的基本方法; 3.多媒体数据描述:主要介绍多媒体数据(包括静态图像、动态图像和声音文件)的

软件技术基础模拟试题

软件技术基础模拟试题(第二十四次省统考) 一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分) 1. 顺序表和线性链表的物理存贮形式都是顺序存贮。( 1 ) 2. 数据类型是某种程序设计语言中已实现的数据结构。( 2 ) 3. 如果通过软件测试没有发现错误,则说明软件是完全正确的。( 3 ) 4. 快速原型模型可以有效地适应用户需求的动态变化。( 4 ) 5. 不同进程之间的动作在时间上不能重叠。( 5 ) 6. 分区式存储管理能够进行存储空间共享。( 6 ) 7. 链接文件和索引文件都可以非连续存放。( 7 ) 8. 中断处理一般分为中断响应和中断处理两个步骤。前者由软件实施,后者主要由硬件实施。( 8 ) 9. 在C++语言中,“重载”表达了最简单的多态性。( 9 ) 10.进程调度根据一定的调度算法,从等待队列中挑选出合适的进程。( 10 ) (参考答案:1~10:ABBAB BABAB ) 二、单项选择题:(每小题1分,共5分) 1. 在数据结构中,一个存储结点存放一个(11 )。 11 (A) 数据项(B) 数据元素(C) 数据结构(D) 数据类型 2. 把逻辑地址转变为存储的物理地址的过程称作(12 )。 12 (A) 编译(B) 连接(C) 运行(D) 重定位 3. SPOOLing技术可以实现设备的(13 )分配。 13 (A) 虚拟(B) 共享(C) 独占(D) 物理 4. 允许用户把若干作业提交计算机系统集中处理的操作系统称为(14 )。 14 (A) 分时操作系统(B) 实时操作系统 (C) 网络操作系统(D) 批处理操作系统 5. 进程从运行状态进入就绪状态的原因可能是(15 )。 15 (A) 被选中占有处理机(B) 时间片用完 (C) 等待的事件已发生(D) 等待某一事件 (参考答案:BBADB) 软件技术基础模拟试题(第二十三次省统考) 一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分) 1. 数据在计算机内在中的表示是指数据的存储结构。( 1 ) 2. 能影响中断响应次序的技术是中断优先级和中断屏蔽。( 2 ) 3. 链表可以随机访问任意一个结点,而顺序表则不能。( 3 ) 4. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。( 4 ) 5. Windows、OS/2、Linux微机操作系统都是多用户多任务操作系统。( 5 ) 6. 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。 ( 6 ) 7. 流式文件和记录式文件都以字符为基本单位进行存取。( 7 ) 8. 不定长文件是指字段的长度不固定。( 8 ) 9. 软件工程的三要素包括方法、工具和环境。( 9 ) 10.软件结构是以指令为基础而组成的一种控制层次结构。( 10 ) (参考答案:1~10:AABAB ABBBB) 二、单项选择题:(每小题1分,共5分) 1. 若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能出栈的序列是 ( 11 ). 11 (A) 1,4,3,2 (B) 2,3,4,1 (C) 3,1,4,2 (D) 3,4,2,1

软件技术基础习题答案

操作系统 1.如何理解虚拟机的概念? 答:虚拟机就是在裸机上扩展一层软件,将硬件实现细节隐藏起来,使用户能够更方便、更灵活使用的计算机。 2.什么是多道程序设计,它的主要优点是什么? 答:多道程序设计就是允许多个程序同时进入内存并运行。主要优点:提高资源利用率,从而提高了系统的吞吐量。 3.试述分时系统与实时系统,并比较它们的区别。 答:分时系统是指能够允许多个用户同时使用一台计算机的系统。实时系统是指能够及时响应随机发生的外部事件,并在严格的时间范围内完成对该事件处理的系统。实时系统对系统响应速度要求更高,可靠性要求更高。(或者说明分时系统与实时系统各自特点) 4.一般从哪几方面对操作系统的性能进行评价? 1)可靠性 2)方便性 3)效率 4)可维护性 5)可移植性 5.试说出几种你所熟悉的操作系统名称,并说明其特征。 答:Linux特征:支持多用户、多任务,具有良好的用户界面,设备独立性,系统安全性能高,良好的可移植性。 Windows特征:支持多用户、多任务,具有友好的图形用户界面,强大的内存管理功能,可靠性高,操作简单。 6.根据你试用计算机系统的经验,说明操作系统的作用。 答:控制和管理计算机系统内各种硬件和软件资源、合理有效地组织计算机系统的工作,为用户提供一个使用方便可扩展的工作环境,从而起到连接计算机和用户的接口作用。 7.如何理解网络操作系统的主要功能? 答:用于管理网络通信和共享资源,协调各主机上任务的运行,并向用户提供统一的、有效的网络接口,包括网络管理、通信、资源共享、系统安全和多种网络应用服务。 8.如何理解进程的概念?进程与程序的区别是什么?进程与作业的联系和区别是什么?答:进程是一个可以并发执行的程序或程序段在一个数据集合上的执行过程,他是系统分配资源的基本单位。 区别:1)经常是一个动态的概念,是执行程序的动态过程,它因创建而产生,因调度而执行,因撤销而消亡。而程序是一个静态的概念,是进程运行的静态文本。 2)进程能真实地描述并发执行,且具有并发性,而程序没有。 3)一个进程可以执行一个或多个程序。 4)程序可以作为一种软件资源长期保持着,而进程则是程序的一次执行过程,是暂时的,是动态地产生和终止的,它不具有存储性。 作业和进程的联系两者静态描述的结构相似,作业是由程序,数据和JCB组成,进程是由程序或程序段,数据,PCB组成。区别:作业是用户向计算机提交任务实体,而进程是完成用户任务的执行实体;一个作业可由多个进程组成,且必须至少有一个进程。作业一般用于批处理系统中,而进程用在所有多道系统中。 9.理解进程的三种基本状态和发生状态转换的原因。 答:进程的三种基本状态分别执行状态,就绪状态和等待状态。简单来说是由于CPU以及

软件技术基础教学大纲资料

软件技术基础》教学大纲 课程编号: 23000840 适用专业:电子信息类(非计算机专业) 学时数: 40学分数: 2.5 开课学期:第4 学期 先修课程: 《C 语言》 考核方式:笔试(闭卷) 执笔者:沈晓峰编写日期:2015 年3月审核人(教学副院长): 一、课程性质和目标授课对象:电子信息工程专业大学二年级本科生课程类别:学科拓展课程教学目标: 本课程是针对工科电子信息类本科生开设的一门学科拓展课程。着重培养学生在软件设计领域的基本素质,基本方法和设计理念。授课对象为大学二年级学生,课程任务是通过本课程的学习和相关实验的练习,使学生掌握数据结构、操作系统等软件技术的基本理论知识,具有一定的软件开发能力。 二、教学内容和要求 1、课堂理论教学要求和学时安排(32 学时) 1) C 程序设计(4 学时) (1)C 语言回顾,指针的基本概念、运算方法和使用( 2 学时)。 (2)结构体的基本概念和使用方法(2 学时)。 2)数据结构(20 学时) (1)数据结构的基本概念(2 学时):理解数据结构的基本概念;理解线性和非线性结构的概念。 (2)线性数据结构(9 学时):理解表、栈、队列等线性数据结构的概念,存储方式及基于不同存储方式的相关操作的实现方法。 a. 理解表的概念及顺序表的存储特点,掌握其创建、插入、删除等实现方法(2 学时); b. 掌握单链表、双链表、循环链表的创建、插入、删除方法( 2 学时); c. 理解栈的概念及结构特点,掌握顺序栈及链栈的出栈、入栈操作的实现方法 (2 学时); d. 理解队列的概念及特点,掌握顺序、循环队列的创建、出队、入队、判空、判满等操作。掌握链 队列的创建及出队、入队(2 学时); e. 理解数组的概念及二维数组的存放方式,掌握对称矩阵及稀疏矩阵的压缩存储方法 (1 学时)。

软件工程课程设计

软件工程课程设计 题目固定资产管理系统学院数学与信息工程学院专业计算计科学与技术班级计科学051 学号200332225232 学生姓名方明 同组成员李亮 指导教师魏远旺

目录 一、可行性报告┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉1 二、需求说明书┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉3 三、总体设计说明书┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉5 四、详细设计说明书┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉13 五、程序源代码┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉24 六、课程设计体会┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉27 七、参考文献┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉27

第一章可行性报告 1.1 固定资产管理概述 1.1.1 固定资产 财政部颁发的于2002年1月1日起施行的《企业会计准则-固定资产》中,是这样对固定资产下定义的:“固定资产,是指同时具有以下特征的有形资产:为生产商品,提供劳务,出租或经营管理而持有的;使用年限超过一年;单位价值较高。”这应该是固定资产的准确定义。 1.1.2 固定资产的具体标准如何确定 判断固定资产的具体标准,主要有两个方面:一是时间标准,二是价值标准。根据《企业会计准则-固定资产》规定:固定资产,是指企业使用期限超过1年的房屋,建筑物,机器,机械,运输工具以及其他与生产,经营有关的设备,器具,工具等。不属于生产经营主要设备的物品,单位价值在2000元人民币以上,并且使用年限超过2年的,也应当作为固定资产。 1.1.3 固定资产如何分类 按其经济用途分类,可以分为生产经营用固定资产和非生产经营用固定资产; 按其所有权划分,可分为自有固定资产和租入固定资产; 按来源渠道划分,可分为外购的固定资产,自行建造的固定资产,接受投资转入的固定资产,接受捐赠的固定资产,以非货币资金换入的固定资产,改建扩建新增的固定资产,盘赢的固定资产,融资租入固定资产; 按使用情况划分,可以分为使用中的固定资产,未使用的固定资产和不需用的固定资产; 按其经济用途和使用情况综合划分,可分为生产经营用固定资产,非生产经营用固定资产,租出固定资产(指经营性租赁),不需用固定资产,未使用固定资产,土地,融资租入固定资产。 1.2 固定资产管理系统可行性分析及开发计划 本项目主要是根据软件工程课程的实践需要,根据固定资产管理的流程,与软件工程的理论相结合,完成本项目的开发。本项目的设计和开发目标是达到软件工程课程理论和实际相结合的目的。 1.2.1 定义: *数据流图

软件技术基础试题(含答案)

《操作系统》 选择题: (bs30)1. 分页式存储管理的主要特点是(B)。 (A) 要求作业全部同时装入内存(B) 不要求作业装入到内存的连续区域 (C) 要求扩充外存容量(D) 不要求处理缺页中断 (bs30)2. 进程从运行状态进入就绪状态的原因可能是(D)。 (A) 被选中占有处理机(B) 等待某一事件(C) 等待的事件已发生(D) 时间片用完 (bs30)3. 多道程序设计是指(D)。 (A) 在实时系统中并发运行多个程序(B) 在分布系统工程中同一时刻运行多个程序 (C) 在一台处理机上同一时刻运行多个程序(D) 在一台处理机上并发运行多个程序 (bs29)2. 进程从运行状态进入就绪状态的原因可能是( A )。 (A) 时间片用完(B) 等待某一事件(C) 等待的事件已发生(D) 被选中占有处理机(bs29)4. 以下(D)不是实时操作系统的特点。 (A) 高可靠性(B) 及时响应(C) 高效性(D) 通用性 (bs28)3. 任何两个并发进程之间( A )。 (A) 可能存在同步或互斥关系(B) 一定存在同步关系 (C) 一定彼此独立无关(D) 一定存在互斥关系 (bs28)4. 以下的哪个特征不是分时操作系统的主要特征(B)。 (A) 分时性(B) 独占性(C) 交互性(D) 多路性 (bs27)2. 以下(D)不是实时操作系统的特点。 (A) 高可靠性(B) 及时响应(C) 中断管理(D) 独立性 (bs27)3. 若当前进程因时间片用完而让出处理机时,该进程应转变为(B)状态。 (A) 运行(B) 就绪(C) 等待(D) 完成 (bs26)3. 在多道程序设计系统中,处于后备状态的作业要经过(D)调度后才能真正执行。 (A) 作业调度(B) 作业调度和设备调度(C) 进程调度(D) 作业调度和进程调度 (bs25)1. 把高级语言的源程序翻译成二进制代码的过程称为:(A)。 (A) 编译(B) 连接(C) 运行(D) 重定位 (bs25)2. 把逻辑地址转变为内存的物理地址的过程称作(D)。 (A) 地址分配(B) 地址连接(C) 地址调用(D) 地址变换 (bs25)4. 在操作系统中,进程最基本的特征是(A)。 (A) 动态性和并发性(B) 顺序性和可再现性 (C) 与程序的对应性(D) 执行过程的封闭性 (bs24)2. 把逻辑地址转变为存储的物理地址的过程称作(D)。 (A) 编译(B) 连接(C) 运行(D) 重定位 (bs24)3. SPOOLing技术可以实现设备的(B)分配。 (A) 虚拟(B) 共享(C) 独占(D) 物理 (bs24)4. 允许用户把若干作业提交计算机系统集中处理的操作系统称为(D)。 (A) 分时操作系统(B) 实时操作系统 (C) 网络操作系统(D) 批处理操作系统 (bs24)5. 进程从运行状态进入就绪状态的原因可能是(B)。 (A) 被选中占有处理机(B) 时间片用完 (C) 等待的事件已发生(D) 等待某一事件 (bs23)2. 任何两个并发进程之间( D) (A) 一定存在互斥关系(B) 一定存在同步关系 (C) 一定彼此独立无关(D) 可能存在同步或互斥关系

计算机科学与技术专业课程设计

武汉理工大学《计算机科学与技术专业教育》 专业教育 ─我所认识的计算机专业对专业的最初认识1. 1.1为什么选择计算机专业计算机使当代社会的 经济、政治、军事、科研、教育、服务等方面在概对人类社会的进步已经并还将产生极为深念和技术上发生了革命性的变化,刻的影响。目前,计算机是世界各发达国家激烈竞争的科学技术领域之一。随着计算机随着信息时代的到来,计算机逐渐成为技术及科学领域的核心。因而,深刻影响着我们的学习,工作及生活。 的普及,其应用领域逐渐广泛,计算机的学习与我们的生活息息相关。 1.2最初的认识虽然对于这个专业刚开始的时候不了解它具体是干什么的,但是 从小就对于计算机十分感兴趣,因此在高考完填报志愿时就报了这个专业。进入大学之后,看到培养计划发现这个专业应用还是挺多的,但是因此让自己更加的对以后的职业感到很迷茫,不知道究竟是该干什么了。但是既来之,则安之。相信在以后的学习过程中会慢慢地找到方向,并为之努力的。因此说对于计算机专业还是抱有很大的热情的。 2.学习的方法 2.1培养对专业的兴趣 俗话说兴趣是最好的老师,因此要想真正做好一件事情,学好自己的专业首先就要培养自己对本专业的兴趣。那么应该如何培养呢?可能阅读专业书籍对于刚刚步入大学的自己来说有点困难,也很枯燥,那么不妨先从科普书籍看起。科普书籍是了解理论、获得应用知识最好的途径。相信不少理工科的同学被量子物理和相对论搞得头昏脑胀过。究其原因,是我们的现实生活与抽象的数学模型之间存在思想意识上的鸿沟。然而要是读读斯蒂芬·霍金的《时间简史》,你就会被书中有趣的故事和例证所吸引,从而对抽象的理论有了感性的认识——即使仍然没有读懂,你也至少了解了这个学科研究的领域和目标是什么,也必然有所收获。 2.2认真学习专业课程,学好数学 大学计算机专业对数学的要求较高,其重要性不必多言。数学令不少同学头痛,除了其“繁”与“难”外,很大程度上是因为他们没有理解这些抽象理论的实际应用方向。与本科数学专业的课程设置相比,计算机专业的数1 武汉理工大学《计算机科学与技术专业教育》

《计算机软件技术基础》教学大纲

《计算机软件技术基础》教学大纲 课程编号:09010072 课程名称:计算机软件技术基础 学时与学分:32(8) / 2 先修课程:微机原理及应用基础、计算机程序设计语言(C 语言)、高等数学、计算机文化基础 适应专业:自动化、测控技术与仪器 教材及参考书:《计算机软件技术基础》,徐士良编,清华大学出版社 一、课程的性质和任务 本课程系自动化等专业有关计算机科学的选修专业课程。通过学习,使学生在掌握计算机基础知识、程序设计概念、熟练上机操作及调试的基础上,加深对软件开发与应用中数据结构的应用的理解,熟练掌握抽象数据类型以及面向对象的方法组织、存储各种类型的数据,使学生掌握计算机软件开发的基本原理、方法、技术和工具。使学生了解数据库技术的发展现状和前景,掌握数据库应用的一般知识,包括关系数据库的概念、设计方法和使用方法,能够完成有关数据库的简单应用,使学生掌握支持软件开发和维护的理论、方法、技术、标准以及计算机辅助工程和环境等知识,并通过实验(实践)达到灵活动用。软件工程的概念,软件设计的基本方法,结构化软件设计等。 二、课程基本要求 1.对重要的基本概念与基本原理了解其含义,能熟练运用基本原理解决问题; 2、掌握重要数据结构的概念、使用方法及实现技术; 3、能运用所学数据结构及其有关算法编制有关小型程序。 4、掌握数据库的基本概念,了解数据管理对数据库技术的需求、数据库技术在信息管理中的地位和作用、数据库技术的发展趋势。 5、能运用关系数据库的相关技术和方法分析数据库应用系统,在此基础上掌握E-R图、规范花理论、数据字典和数据流图及其在构建系统数学模型和应用功能中的作用。熟悉和实践数据库管理系统共有的数据存取语言和标准接口SQL。 6、掌握软件工程的基本原理、概念与方法,主要包括软件系统的可行性研究、需求分析、总体设计、详细设计、编码、测试、维护、管理等方面的基本知识与方法。 7、掌握软件工程中的一些基本技术方法。 8、结合模拟案例,要求学生从实际中掌握瀑布型软件开发过程的基本方法和技巧,以及面向对象分析的方法。 三、课程的基本内容及重点、难点 本课程主要介绍:如何组织各种数据在计算机中的存储、传递和转换。内容包括:数据结构的基本概念、线性表、栈和队列、树与二叉树、图、查找、排序等;操作系统的基本概念、功能、任务,多道程序,进程;数据库的基本概念、关系数据库的基本概念、关系代数、查询优化、关系理论、数据库应用系统的需求分析方法和相关技术、数据库的概念设计、逻辑设计、数据库的物理设计、数据库应用系统功能设计等几部分。 共分六章进行教学,各章内容如下: 第1章内容:算法 重点:算法的基本概念、基本特征、基本要素,算法描述语言,算法设计基本方法、

软件技术基础试题及答案

软件技术基础 系班级姓名成绩得分评卷人 一、填空题(每空1分,共25分) 1.数据结构作为一门学科,主要研究数据的、存储结构以及 三方面内容。 2.当对一个线性表经常进行插入或删除操作时,则宜采用存储结构;而经常进 行的是访问操作,而很少进行插入或删除操作时,则宜采用存储结构。 3.在线性结构中,首结点有个前驱结点,其余每个结点有且只有个前驱结点。 4.限定在表的一端进行插入,在表的另一端进行删除的线性表称为;限定在表 的一端进行插入和删除运算的线性表称为。 5.一个8阶的下三角矩阵B按行优先顺序压缩存储在一维数组中,则数组的大小应设 为。 6.按照二叉树的定义,具有3个结点的二叉树形态有种;具有65个结点的完全二叉 树其深度为; 深度为10的完全二叉树最多有个结点 7.在长度为n的顺序表的第i个位置上插入一个元素,元素的移动次数为;删除 第i个元素时,需要从前向后依次前移个元素。(1≤i≤n+1) 8. 顺序存储结构的循环队列中,设front 和rear分别为队头和队尾指示器,该队列中能存放的 最大元素的个数为M AX-1,则判断队列为满的条件为,而判断队列为空的条件是。 9. 设D={A,B,C,D,E},R={},结构(D,R)描述 的数据结构是。 10.系统出现死锁一定是同时保持了,,和 环路条件这四个必要条件。 11.操作系统通过记载、跟踪、控制进程的执行,它是进程存在的唯一 标志。作业调度程序是从处于状态的作业中选取一个作业并把它装入主存。12A.软件生命周期瀑布模型一般可分为问题分析、、、

和软件维护五个阶段。 , 得分评卷人 二、选择题(每小题1分,共10分) 1. 已知:int x; 下列语句正确的是()。 A. int *p=&x; B. int *p=x; C. int p=&x; D. int *p=*x; 2. int a[ ]={1,2,3,4,5},b[5],*p; 则下列语句中不正确的语句是()。 A. p=b+1; B.p=&a[3]; C. p=a; D.b=a; 3. 设有以下说明语句 struct node{ int a;float b;}; struct node node1,node2,*pnode; 则下列语句中正确是()。 A. node1=node2; B. pnode.a=10; C. return (node1+node2); D. scanf(“%d %f”,node1); 4. 线性链表不具有的特点是()。 A. 可随机访问任一个结点B.不必事先估计所需存储空间大小 C. 插入与删除时不必移动元素D.所需空间与线性表长度成正比 5. 若让元素1,2,3依次进栈,则出栈次序不可能出现()种情况。 A.3,2,1 B.2,1,3 C.3,1,2 D.1,3,2 6. 有向图的邻接表中,顶点Vi的出度是()。 A. 依附于Vi的弧数 B.Vi链表中的邻接结点个数 C. Vi在表结点中出现的次数 D. Vi度的一半 7. 某二叉树的先序序列和后序序列正好相反,则该二叉树一定是()的二叉树。 A.空或只有一个结点B.深度等于其结点数 C.任一分支结点均无左子树D.任一分支结点均无右子树

软件工程课程设计要求

《软件工程》课程设计 一、目的、要求 通过该课程设计使学生树立起强烈的工程化意识,用工程化思想和方法开发软件,切实体会用软件工程的方法开发系统与一般程序设计方法的不同之处。学生在对所开发的系统进行软件计划、需求分析、设计的基础上,实现并测试实际开发的系统。通过一系列规范化软件文档的编写和系统实现,使学生具备实际软件项目分析、设计、实现和测试的基本能力。 二、主要内容 要求学生掌握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。每个学生选择一个小型软件项目,题目可参考附录A,也可自行拟定题目,按照软件工程的生命周期,完成软件计划、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的文档。分别、选用传统的结构化方法和面向对象的方法,开发环境和工具不限。 三、设计成果要求 1.提交软件系统,根据完成情况给分; 2.提交设计报告文档 设计报告将从以下三个方面给分: (1)报告是否规范,符合要求; (2)报告是否完整、工作量大小; (3)文档逻辑性是否合理、语言是否流畅。 四、进度安排 (1)确定选题,进行可行性分析,开发计划 (2)软件需求分析 (3)软件设计 (4)软件实现,测试计划 (5)软件实现,测试报告 (6)验收

附录A 课程设计题目 题目一:电子商务网站建设 一个集客户购物、下订单、订单处理、销售统计等功能于一体的系统。通过浏览器,创建账户/登陆账户,让客户可以查询货物,把货物放入购物车,创建订单,通过信用卡支付等。系统划分成了多个模块,松耦合的设计架构,允许可以和多个数据源,EIS(企业信息系统)进行交互。功能如下: 1.用户 注册/登陆/忘记密码/管理个人信息 查询货物 购物车管理 提交订单 信用卡支付 查询历史购物记录 2.货物商店 接受/处理订单消息 手工接受/拒绝订单 用E-mail来通知客户 发订单给供应商 销售统计 3.供应商 接受订单 派送货物给用户 提供一个基于web的库存管理 维护库存数据库 题目二:外文图书采购系统 1.问题概述 某图书馆外文采购有两个组--征订组和验收,登记组。分别承担书籍订购和进书验收任务。为了减轻劳动强度和提高工作效率,打算采用计算机进行管理。为此,系统分析员在进行了调查研究,描述出外文采购室现行系流程。 1)订书组从供书单价收到订书目录,根据各单位的需要选择出要订购的书目。

相关文档
最新文档