删除或更新信息,请邮件至freekaoyan#163.com(#换成@)

江西财经大学《软件工程专业基础综合(840)》考试大纲

江西财经大学 /2014-04-06

 《软件工程专业基础综合(840)》考试大纲

 

江西财经大学 软件与通信工程学院

 

第一部分 C程序设计》(占总分30%)

 

参考书目:谭浩强,《C程序设计》(第3版),清华大学出版社2005年

 

第2章 数据类型、运算符与表达式

 

【内容】

1、C的数据类型

2、常量和变量

3、整型数据、实型数据、字符型数据

4、变量赋初值

5、各类数值型数据间的混合运算

6、算术运算符和算术表达式

7、赋值运算符和赋值表达式

8、逗号运算符和逗号表达式

【要求】

1、掌握C语言的数据类型、常量与变量的概念,掌握标识符的命名规则

2、掌握整型数据、实型数据和字符型数据的特点和使用

3、掌握变量赋初值的方法

4、掌握算术表达式、赋值表达式和逗号表达式的使用方法

5、了解各类数值型数据间混合运算时类型转换的方法

 

第3章 最简单的C程序设计

 

【内容】

1、C语句概述

2、程序的三种基本结构

3、赋值语句

4、数据输入输出的概念及在C语言中的实现

5、字符数据的输入输出

【要求】

1、掌握C语言的分类、三种基本程序结构和赋值语句的使用方法

2、掌握printf函数和scanf函数的格式和使用

3、掌握字符数据的输入输出函数

 

第4章 逻辑运算和判断选取控制

 

【内容】

1、关系运算符和关系表达式

2、逻辑运算符和逻辑表达式

3、if语句和switch语句

【要求】

1、掌握关系运算符、关系表达式、逻辑运算符和逻辑表达式的使用

2、掌握if语句和switch语句的格式和使用

3、掌握条件运算符的格式和使用

 

第5章 循环控制

 

【内容】

1、while、do-while和for语句

2、循环的嵌套

3、break语句和continue语句

【要求】

1、掌握while、do-while和for语句的格式和使用

2、掌握循环结构程序设计方法

 

第6章 数组

 

【内容】

1、一维数组的定义和引用

2、二维数组的定义和引用

3、字符数组、常用字符串处理函数

【要求】

1、掌握一维数组以及二维数组的定义和使用

2、掌握字符串的使用和字符串函数的应用

 

第7章 函数

 

【内容】

1、函数定义的一般形式

2、函数参数和函数的值

3、函数的调用

4、函数的嵌套调用

5、变量的存储类别:自动变量、静态变量、外部变量、寄存器变量

【要求】

1、掌握函数定义的格式

2、掌握函数的形式参数和实际参数以及函数调用时的参数传递

3、掌握函数嵌套调用的方法

4、掌握自动变量、静态变量、外部变量、寄存器变量的概念和作用域

 

第8章 预处理命令

 

【内容】

1、宏定义

2、文件包含处理

【要求】

1、掌握宏定义和文件包含处理的使用

 

第9章 指针

 

【内容】

1、地址和指针的概念

2、变量的指针和指向变量的指针变量

3、数组的指针和指向数组的指针变量

4、字符串的指针和指向字符串的指针变量

【要求】

1、了解地址和指针的概念

2、掌握指针变量的定义及指向简单变量指针的使用方法

 

第10章 结构体和共同体

 

【内容】

1、结构体变量的定义、引用和初始化

2、结构体数组的定义和使用

3、指向结构体类型数据的指针

4、共用体

【要求】

1、掌握结构体变量的定义、引用和初始化

2、掌握结构体数组的定义和使用

3、掌握指向结构体类型数据的指针

 

 

第二部分 《数据结构》(占总分40%

 

参考书目:严蔚敏,《数据结构》(C语言版),清华大学出版社2007年

 

【考查目标】

1. 理解数据结构的基本概念;掌握数据的逻辑结构、存储结构及其差异;实现各种基本操作。

2. 掌握基本的数据处理原理和方法;设计基础算法,并分析算法的时间复杂度与空间复杂度。

3. 选择合适的数据结构和方法进行问题求解的能力;使用 C 或 C++或 JAVA 语言实现算法的能力。

 

【考查内容】

一、线性表

 

(一)线性表的定义和基本操作

(二)线性表的实现

1. 顺序存储

2. 链式存储

3. 线性表的应用

 

二、栈、队列

(一)栈和队列的基本概念

(二)栈和队列的顺序存储结构

(三)栈和队列的链式存储结构

(四)栈和队列的应用

 

三、树与二叉树

(一)树的基本概念

(二)二叉树

1. 二叉树的定义及其主要特征

2. 二叉树的顺序存储结构和链式存储结构

3. 二叉树的遍历

 

(三)树、森林

1. 书的存储结构

2. 森林与二叉树的转换

3. 树和森林的遍历

 

(四)树与二叉树的应用

1. 二叉排序树

2. 平衡二叉树的基本概念

3. 哈夫曼(Huffman)树和哈夫曼编码

 

四、图

(一) 图的基本概念

(二) 图的存储及基本操作

1. 邻接矩阵法

2. 邻接表法

(三) 图的遍历

1. 深度优先搜索

2. 广度优先搜索

(四) 图的基本应用

1. 最小生成树

2. 最短路径

 

五、查找

(一) 查找的基本概念

(二) 顺序查找法

(三) 折半查找法

 

六、内部排序

(一) 排序的基本概念

(二) 插入排序

1. 直接插入排序

2. 折半插入排序

(三) 起泡排序(bubble sort)

(四) 简单选择排序

(五) 希尔排序(shell sort)

(六) 快速排序

(七) 二路归并排序(merge sort)

 

 

第三部分 《软件工程导论》(占总分30%

 

参考书目:张海藩,《软件工程导论》(第5版),清华大学出版社2008年

 

一、考试要求

1.从总体上了解软件工程的产生、软件生产发展史、软件生存周期、各种方法和生存周期模型、软件工程面临的问题

2.系统掌握软件开发最基本的内容:可行性研究和软件计划、需求分析、概要设计、详细设计、编码、测试、维护,系统掌握这些阶段的目标、任务、特点、步骤和文档

3.掌握结构化方法的基本思想,开发过程和步骤,应遵循的原则和准则

4.初步掌握面向对象方法的基本思想、基本概念、基本模型,面向对象分析、面向对象设计、面向对象实现的任务、内容和步骤,能够应用相应的图形工具

5.了解Jackson方法的基本思想、开发过程和步骤、能够应用相应的图形表示工具

6. 了解软件测试基础、单元测试及集成测试的方法,掌握白盒测试及黑盒测试技术

 

二、考试内容

 

1、软件工程学概述

(1)软件工程的定义、性质、目标、内容、面临的问题

(2)软件生存周期概念

(3)软件过程概念

(4)软件过程模型:瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、Rational统一过程、敏捷过程与极限编程、微软过程

2、可行性研究

(1)可行性研究的任务

(2)系统流程图

3、需求分析

(1)需求分析的概念与基本任务

(2)结构化分析方法与步骤

(3)数据流图、数据流图中的符号、画数据流图注意的事项,分层的数据流图

(4)数据字典,数据字典的作用,数据字典中的条目

(5)实体关系图

(6)状态转换图

4、形式化说明技术

(1) 非形式化方法的缺点

(2)形式化方法的优点

5、总体设计

(1)总体设计过程的主要阶段,典型的总体设计过程所包含的步骤

(2)软件设计过程中应该遵循的基本原理和相关概念:模块化、抽象、逐步求精、信息隐藏和局部化、模块独立

(3)启发原则

(4)描绘软件结构的工具:层次图、HIPO图、结构图

(5)面向数据流的设计方法,变换流、事务流;将变换流或事务流类型的数据流图,转换成软件结构

6、详细设计

(1)详细设计的基本任务

(2)结构化程序设计方法,常用的五种控制结构

(3)人机界面设计面临的主要问题,用户界面设计的过程

(4)面向过程的设计工具:程序流程图,N-S图,PAD图,判定表,判定树

(5)面向数据结构的设计方法,Jackson图,Jackson方法

7、实现

(1)程序设计语言的选择,编码风格

(2)软件测试的目标与准则

(3)常用的测试技术:白盒测试技术与黑盒测试技术

(4)大型软件系统的测试步骤

(5)单元测试及其测试的重点

(6)渐增式集成测试方法:自顶向下集成测试策略与自底向上集成测试策略

(7)软件可靠性的基本概念,估算平均无故障时间的方法

8、面向对象方法

(1)面向对象方法学概述

(2)面向对象的概念:对象、类、实例、消息、方法、属性、封装、继承、多态与重载

(3)面向对象建模技术的三种模型:对象模型,动态模型与功能模型,三种模型之间的关系

(4)面向对象的分析方法,运用面向对象技术建立系统的对象模型,动态模型与功能模型

(5)面向对象的设计准则、启发准则,软件重用

(6)面向对象的系统设计与对象设计

(7)面向对象的系统实现

(8)面向对象的测试方法

 

相关话题/大纲