第一篇:2010年软件工程专业“2+2”《程序设计》考试大纲
2010年软件工程专业(“2+2”)《程序设计》考试大纲
一、考试目的杭州电子科技大学面向浙江省各类全日制普通高校选拔二年级在校优秀本科生转入我校软件工程专业学习,《程序设计》是选拔考试的科目之一,目的是了解考生程序设计语言(C或Java或Visual Basic)的驾驭能力。
二、考试形式
考试的形式:笔试。整个考试总分150分,考试时间为150分钟。
三、考试内容
1.算法的流程图描述;
2.基本数据类型、运算符与表达式;
3.一维和二维数组的定义与应用;
4.流程控制语句与结构化程序设计的三种基本结构;
5.过程(子程序或函数)的定义与调用;
6.文件的基本概念以及文件的基本操作(打开、关闭、读写);
7.常用算法:冒泡和选择排序算法;线性查找与有序序列的二分查找。
四、试题结构与难易度
1、试题难易度:整个试题难度为中等。
2、题型和试题结构:题型包括填空题、问答题和编程题,各题型所占比例由命题组决定。
第二篇:C语言程序设计考试大纲
《C语言程序设计》考试大纲
Ⅰ考试性质
普通高等学校本科插班生招生考试是由专科毕业生参加的选拔性考试。高等学校根据考生的成绩,按已确定的招生计划,德、智、体全面衡量,择优录取。因此,本科插班生考试应有较高的信度、效度、必要的区分度和适当的难度。
本大纲适用于所有需要参加《C语言程序设计》考试的各专业考生。Ⅱ考试内容
总体要求:考生应按本大纲的要求了解或理解“C语言程序设计”中的数据类型、运算符与表达式、顺序结构、选择结构、循环控制、数组、函数、指针、预处理命令、结构体与共用体、文件的基本概念。熟练掌握程序设计的基本方法和C语言本身的语法、语句和使用方法。掌握一般问题的分析思路、数据存储结构表达及建立在存储结构之上的程序设计方法,具备初步运用C语言解决问题的程序设计能力;能熟练地阅读、理解和编制简单的C程序;具备进一步学习计算机各专业后续课程的能力和基础。
一、数据类型、运算符与表达式
⒈ 考试内容
⑴关键字与标识符的概念:关键字的含义,标识符的定义,常量和变量的分类。
⑵数据类型:数据类型的含义、特点,不同类型常量的表达,不同类型变量的定义、赋初值方法。
⑶运算符:各类运算符的含义、优先级,各类表达式的表示方法、运算特点、值的类型和计算方法,各类公式的表达式描述和各类表达式的混合运算。
⒉ 考试要求
⑴理解关键字与标识符的概念、应用特点,理解数据类型的含义和常量、变量的分类。⑵掌握各数据类型的含义、特点,不同类型常量的表达,不同类型变量的定义和赋初值方法。
⑶熟练掌握各类运算符的含义、优先级,各类表达式的表示方法、运算特点、值的类型和计算方法。能够进行各类公式的表达式描述和各类表达式的混合运算。
二、顺序结构程序设计 ⒈ 考试内容
⑴输入输出:常用的输入输出函数,基本的输入输出格式。⑵赋值语句:赋值语句功能和表达方法。
⑶顺序程序设计:编写顺序结构语句及程序。
⒉ 考试要求
⑴了解数据输入输出的概念以及在C语言中的实现方法。
⑵掌握赋值语句表达方法;掌握两组输入输出函数的格式、表达方式和使用功能、特点。
⑶熟练掌握顺序程序设计的思想和编程方法,能够熟练编写简单问题的程序并上机调试。
三、选择结构程序设计 ⒈ 考试内容
⑴条件的表达方式:算术表达式、关系表达式、逻辑表达式,各种运算结果的表达与判别。
⑵条件语句:if语句、if~else语句、else~if结构以及switch和break语句的使用方法。⑶选择结构程序设计:编写带有选择结构的语句及程序。⒉ 考试要求
⑴掌握问题中条件的表达方式(关系表达式、逻辑表达式)和运算结果。
⑵熟练掌握编程中条件的描述方法(用不同格式的if语句或switch语句)和使用方法,能够进行各种条件下的问题的程序设计。
四、循环程序设计 ⒈ 考试内容
⑴循环语句: while、do~while和for语句的格式、循环条件的设置以及在循环结构中使用break和continue语句。
⑵循环程序设计:编写带有循环结构语句及程序。
⒉ 考试要求
⑴了解循环的概念,解决语句重复执行的方法。
⑵理解各种实现循环的语句的执行过程、执行步骤和相关参数量的变化情况,理解break和continue的使用形式和理由。
⑶掌握循环语句的格式和应用特点,掌握循环程序设计的方法。
五、数组 ⒈ 考试内容
⑴数组的概念:数组的概念、一维数组和二维数组。
⑵数组的使用:数组的定义、数组的初始化、数组元素的引用,数组的一般编程方法。⒉ 考试要求
⑴了解数组的基本概念。
⑵掌握不同类别数组的特点,掌握数组的定义、初始化和数组元素引用方法;掌握数组的实际应用方式、特点和程序设计方法。
六、函数 ⒈ 考试内容
⑴函数:函数定义的格式,包括类型、参数及返回值。⑵存储类别:存储类别的含义、使用方法。
⑶函数的运用:定义函数、调用函数、递归函数。⒉ 考试要求
⑴理解一般问题的解决方法和程序的结构化、模块化设计思想,理解函数的调用方法,理解变量的数据类型、存储类别,理解内部函数与外部函数的含义。
⑵掌握函数定义的一般格式,掌握形式参数的表达方式,函数返回值类型和返回值的表达方式,掌握函数调用的方法、特点和不同调用形式(嵌套调用、递归调用),掌握局部变量、全局变量的定义方法和声明形式。
七、指针 ⒈ 考试内容
⑴指针概念:指针的概念,指针的类型、指针的分类。
⑵指针的运用:运用指针处理变量、数组、字符串、函数等。⒉ 考试要求
⑴理解指针的概念、特点,理解指针的分类、指针的数据类型描述。
⑵掌握指针的含义、不同类型指针与所指变量、数组、字符串、函数等的内在联系。
八、预处理命令 ⒈ 考试内容
⑴预处理概念:宏的含义,文件包含的含义。
⑵预处理的运用:无参宏和有参宏,系统头文件的加载。⒉ 考试要求
⑴理解预处理的含义和理由,理解文件包含的含义和宏的含义。⑵区分宏与函数的异同点;掌握文件包含命令的使用方法。
九、结构体与共用体 ⒈ 考试内容
⑴结构体与共用体的概念:结构体的含义,共用体的含义。
⑵结构体与共用体的运用:结构体与共用体的类型声明、初始化和引用。⒉ 考试要求
⑴了解C语言基本类型与构造类型的含义,了解类型声明与变量等定义的区别。
⑵掌握结构体、共用体、枚举类型的声明方法和相应变量等的定义、初始化、引用方法。
十、文件 ⒈ 考试内容
⑴文件的概念:文件的定义、分类和特点。
⑵文件的基本操作:文件打开与关闭、文件读/写操作,出错检测。⒉ 考试要求
⑴了解文件的含义、分类和特点。
⑵理解文件指针的使用方法,掌握文件打开与关闭、文件读写、文件定位和出错检测函数的使用方法。
⑶掌握不同问题使用文件的定义和操作方法。Ⅲ 考试形式及试卷结构
一、考试形式
闭卷、笔试。考试时间为120分钟,试卷满分为100分。
二、试卷内容比例
数据类型、运算符与表达式
约占10% 顺序结构程序设计、选择结构程序设计、循环程序设计、数组
约占60% 函数、指针
约占15% 预处理命令、结构体与共用体、文件
约占15%
三、试卷题型比例 正误判断题
占10% 单项选择题
占40% 综合题(包括写程序结果、改正程序错误和程序填空等)
占30% 编程题
占20%。
四、试卷难易度比例
试题按其难度分为容易、中等题、难题,三种试题分值的比例为4:4:2 Ⅳ.题型示例
一、正误判断题(每题1分,共10分)1. 算法就是程序。
二、单项选择题(每题2分,共40分)1.下列数据中,为字符常量的是________。A)'My' B)“B” C)Yours D)'K'
三、综合题(每题10分,共30分)1.阅读程序写结果
#include
#define NULL 0
struct student{
long num;
float score;
struct student *next;
};
void main()
{
struct student a,b,c,*head, *p;
a.num=1;a.score=90.0;
b.num=2;b.score=95.0;
c.num=3;c.score=70.0;
head=&a;
a.next=&b;
b.next=&c;
c.next=NULL;
p=head;
do {
printf(“%d %5.1fn”,p->num,p->score);
p=p->next;
} while(p!=NULL);}
四、编程题(每题10分,共20分)
1.计算1至10000之间不能被3或5整除的整数之和。Ⅴ.参考书目
《C程序设计》(第三版),谭浩强编,清华大学出版社,2005年7 月 第3版。
第三篇:中南大学2016年944《软件工程》考试大纲
中南大学2016年全国硕士研究生入学考试
《软件工程》考试大纲
本考试大纲由软件学院教授委员会于2012年7月7日通过。
I.考试性质
《软件工程》考试是为高等院校和科研院所招收硕士研究生而设置的具有选拔性质的全国统一入学考试科目,其目的是科学、公平、有效地测试学生掌握大学本科阶段软件工程课程的基本概念、原理、方法与技术,以及分析和解决问题的能力,评价的标准是高等学校本科毕业生能达到的及格以上水平,以保证被录取者具有基本的软件工程专业素质,并有利于各高等院校和科研院所在专业上择优选拔。
II.考查目标
掌握:软件工程的产生、软件工程学的研究对象与原则、软件开发方法、软件工程的生存周期模型以及软件工程发展的新方向;软件需求分析的任务和要求、可行性研究的任务以及系统建模方法;软件开发阶段的任务、过程、方法和技术。
理解:软件质量的概念、分析技术;软件维护阶段的活动、提高软件可维护性的策略;软件工程的相关管理技术。
Ⅲ.考试形式和试卷结构
1、试卷满分及考试时间
本试卷满分为150 分,考试时间为180 分钟
2、答题方式
答题方式为闭卷,笔试。
3、试卷内容结构
软件工程与软件过程
约 10 % 软件分析与设计 软件验证与维护
软件项目管理
Ⅳ.考查内容
约 55 % 约 20 % 约 15 %
一、软件工程与软件过程 软件工程的产生 软件工程的研究对象与基本原理 3 软件开发方法 4 软件工程工具和环境 5 软件生存期过程 软件工程常用生存周期模型
二、需求分析 需求分析的目标 2 可行性分析 3 需求收集 4 需求规格说明 5 数据流建模 6 实体-关系建模 7 系统行为建模 8 IDEF0功能建模 9 IDEF1x数据建模 10 用例建模 11 面向对象建模 12 统一建模语言UML
三、软件设计 软件设计的任务和过程 2 软件设计基本原则 3 面向数据流图的设计方法 4 面向对象的设计方法 5 面向对象软件设计模式 6 模型-视图-控制器框架
四、软件验证技术 软件测试基础 2 代码复审 3 白盒测试 4 黑盒测试 5 单元测试 6 集成测试 7 确认测试 8 系统测试 9 程序正确性证明 10 调试
五、软件维护技术 软件维护的基本概念 2 软件维护过程 3 软件可维护性 4 软件再工程技术
六、软件项目管理 成本估计 2 效益分析 3 风险分析 4 进度安排 5 项目组织与计划 6 软件质量保证与分析
2015-09-24
软件学院
第四篇:软件工程考试
软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术和管理方法 软件工程三要素:方法、工具和过程
软件工程的内容:软件开发技术和软件开发管理两个方面
可行性研究方面:技术可行性经济可行性操作可行性法律可行性
IT项目可行性研究审计的概念:事前对IT项目从技术和经济两个方而进行的详细论证,涉及
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合.包括(1)数据流(2)数据元素(3)数据存储(4)处理 验证软件需求的正确性:(1)一致性:所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。(2)完整性: 需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能(3)现实性:指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步则很难做出预测,只能从现有技术水平出发判断需求的现实性。(4)有效性: 必须证明需求是正确有效的,确实能解决用户面对的问题。
软件设计过程有:1数据设计:将实体 – 关系图中描述的对象和关系,以及数据词典中描述的详细数据内容转化为数据结构的定义。2总体结构(系统结构)设计: 定义软件系统各主要成份之间的关系。3过程设计: 把结构成份转换成软件的过程性描述。4接口设计:定义软件内部各成份之间、软件与其它协同系统之间及软件与用户之间的交互机制。软件设计方法:结构化设计方法(SD)面向数据结构的设计方法(JSD方法)面向对象的设计方法(OOD)
软件设计分两个阶段完成:结构设计:结构设计是总体设计阶段的任务。结构设计确定程序由哪些模块组成,以及这些模块之间的关系。过程设计:确定每个模块的处理过程
结构程序设计:一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构
软件测试:是根据软件开发各阶段的文档资料和程序的内部结构,精心设计一组“高产”的测试用例,利用这些实例执行程序,找出软件中潜在的各种错误和缺陷的过程 黑盒法(黑盒技术是把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求 白盒法(白盒技术):是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。驱动模块:驱动模块是用来模拟被测模块的上级调用模块的模块,功能要比真正的上级模块简单得多,它只完成接受测试数据,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结果并输出。
桩模块:桩模块用来代替被测试模块所调用的模块。它的作用是返回被测模块所需的信息。单元测试::单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。
集成测试:是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试,故也称组装测试或联合测试。
确认测试:又称有效性测试。是为了检查软件的功能与性能是否与需求规格说明书中确定的指标相符合所进行的测试
单元测试内容①模块接口②局部数据结构③重要的执行路径④错误处理⑤边界条件。调试的目的确定错误的原因和位置,并改正错误,因此调试也称为纠错(Debug)调试的技术手段有简单的调试方法、归纳法、演绎法和回溯法等 软件可维护性:软件能够被理解、校正、适应及增强功能的容易程度
为了保证软件的可维护性,需要做哪些质量保证检查?(1)在检查点进行检查。检查点是指软件开发的每一个阶段的终点。(2)验收检查。验收检查是一个特殊的检查点的检查,它是把软件从开发转移到维护的最后一次检查。(3)周期性的维护检查(4)对软件包的检查。好的文档有以下几方面的作用:(1)好的文档能提高程序的可阅读性,但坏的文档比没有文档更坏;(2)好的文档意味着简明性,风格的一致性,容易修改;(3)程序编码中应该有必要的注释以提高程序的可理解性;(4)程序越长、越复杂,则它对文档的需求也越迫切 软件维护的流程:定维护申请报告。审查申请报告并批准。进行维护并做详细记录。复审 面向对象方法学的出发点和基本原则:是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程.描述问题的问题域与实现解法的求解域在结构上尽可能一致。
对象是用面向对象方法学开发软件时对客观世界实体的抽象,它是由描述实体属性的数据及可以对这些数据施加的所有操作封装在一起构成的统一体。传统的数据是用传统方法学开发软件时对客观世界实体的抽象,但是,种抽象是不全面的:数据只能描述实体的静态属性,不能描述实体的动态行为。必须从外界对数据施加操作,才能改变数据实现实体应有的行为。对象与传统数据有本质区别,它不是被动地等待外界对它施加操作,相反,它是进行处理的主体。必须发消息请求对象主动地执行它的某些操作,处理它的私有数据,而不能直接从外界对它的私有数据进行操作。
对象模型的五个层次:主题层(也称为范畴层),类—&—对象层,结构层,属性层,服务层
面向对象实现主要包括两项工作:把面向对象设计结果,翻译成用某种程序语言书写的面向对象程序;测试并调试面向对象的程序
面向对象软件的测试分四个层次进行:算法层、类层、主题层、系统层
项目管理者的目标: 定义全部项目任务,识别出关键任务,跟踪关键任务的进展状况,以保证能及时发现拖延进度的情况
软件配置管理主要有5项任务: 标识 版本控制 变化控制 配置审计 报告 软件工程实施项目管理的目的 : 在于它能够帮助我们进行系统性思考,并切实可行地进行全局性安排,同时也可以为项目开发的人力资源需求提供依据。
项目管理者的任务:确保信息系统项目符合预算和进度要求,并确保交付的系统能够达到预定的目标
软件的质量保证活动: 是确保软件产品从诞生到消亡为止的所有阶段的质量的活动。即为了确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动 对编制高质量文档的要求:(1)针对性(2)精确性(3)清晰性(4)完整性(5)灵活性
第五篇:软件工程考试
第一章 软件工程学概述
1.软件的概念,软件的分类
答:软件=程序+数据+文档;
按规模分类:微型、小型、中型、大型、甚大形、极大型(6)
按性质分类:系统软件、支撑软件、应用软件(3)
按工作方式分类:实时、分时、交互式、批处理(4)
按服务对象分类:项目软件、产品软件(2)
2.软件危机产生的原因(2点),缓解软件危机的途径
答:和软件本身的特点有关,和开发软件的方法不正确有关;
软件工程;
3.软件生命周期包含的活动
答:问题定义、可行性研究、需求分析、总体设计、详细设计、编码、测试(8)
4.问题定义阶段的任务
答:确定软件规模、性质、目标
5.常见的软件开发模型
瀑布模型:适用范围是需求确定的软件开发,是描述结构化的软件开发模型;
快速原型模型:适用范围是需求不确定的软件开发;
喷泉模型:是描述面向对象的软件开发模型;
第二章 可行性研究
1.可行性研究从哪些方面进行
答:经济,技术,法律,操作(4)
2.系统流图SFD的作用
答:描述系统的工作过程,建立系统的业务模型
3.数据流图DFD的作用,符号,画法
答:描述系统的功能,建立系统的功能模型
符号:外部实体(正方形),处理(圆形),存储(双实线),数据流(单箭头线)画法:分离成分,分层画DFD(顶层,0层,1层)
第三章 需求分析
1.结构化的需求分析方法SA的原理
答:用DFD、DD进行功能分析,建立系统的功能模型,用E-R进行数据分析,建立系统的数据模型
第五章 总体设计
1.总体设计的原理
答:模块化、抽象、逐步求精、信息隐藏和局部化、模块独立(5)
2.衡量模块独立的指标
答:耦合,内聚 3.总体设计的启发规则(7点)
答:改进软件结构提高模块独立性
模块规模应该适中
深度、宽度、扇出和扇入都应适当
模块的作用域应该在控制域之内
力争降低模块接口的复杂程度
设计单入口单出口的模块
模块功能应该可以预测
4.结构化的设计方法SD的原理
答:将DFD映射成软件结构图
第六章 详细设计
1.用结构化方法进行开发在详细设计阶段的任务
答:对模块进行设计,主要是设计模块的界面和算法 2.结构化程序设计SP的原则(7点)
答:采用自顶向下、逐步求精的设计方法
程序中用顺序、选择、多分支、while型循环、until型循环表示程序逻辑
每种控制结构单入口、单出口
程序语句组成模块,每个模块单入口单出口
复杂的结构用5种基本控制结构组合嵌套实现
严格控制goto语句的使用,在下列情况可用:
在非结构化的语言中,用goto语句实现结构化的构造
在某种可以改善而不是损害可读性的情况下
不仅要注意程序的结构化,还要注意数据结构的合理化
3.判断算法是否为结构化的依据(3点)
答:由5种基本控制结构组成;
每种控制结构单入口单出口;
模块单入口单出口
4.描述算法的工具
答:图形工具:N-S图,PAD图,活动图
语言工具:PDL语言
表格工具:判定表、判定树
5.算法环形复杂度的度量(流程图-流图-区域数)
答:流程图-流图转换方法:
一个判断框缩成一个点;
一个处理框缩成一个点;
一个顺序处理序列缩成一个点;
判定框和与之相连的处理框缩成一个点;
真假分支的汇聚点增加一个点
第七章 实现
1.编码的风格(判断题)
答:程序内部的文档:恰当的标识符(含义鲜明、缩写(必须保留第一个字母、辅音字母由于元音字母、字首优于字尾)+注解)、适当的注解(序言性注解、功能性注解)、程序的视觉组织(布局、空行、缩进)
2.测试的概念、原则、方法,步骤
答:概念:用最少的时间和人力,找到软件中尽可能多的错误和缺陷
原则:
尽早的和不断的测试;
事先要制定测试计划,严格执行学生计划,排除测试的随意性;
测试从小规模测试开始,逐步进行大规模测试;
充分注意测试中的“群集”现象;
“穷举”测试不可能,应该精心设计测试方案,使测试方案充分的覆盖程序逻辑,以尽可能多的发现程序中的错误;
测试方案应该包含合理的输入条件和不合理的输入条件;
测试应由独立的第三方从事;
方法有黑盒测试和白盒测试
步骤是单元测试、集成测试、系统测试、确认测试
3.白盒测试法有哪些,黑盒测试法有哪些
答:白盒测试法有:逻辑覆盖法、基本路径法覆盖法、循环覆盖法
黑盒测试法有:等价划分法,分界值分析法,错误推算法
4.用逻辑覆盖法设计测试方案
5.黑盒测试技术的原理
答:在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部 特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
6.可靠性的概念
答:软件可靠性是程序在给定的事件间隔内,按照规格说明书的规定成功的运行的概率;可靠性是衡量软件质量的指标
7.可靠性的计算
第八章 维护
1.维护的概念、分类
答:在软件已经交付使用后,为了改正错误或满足新的需要而修改软件的过程; 改正型维护,完善型维护,适应型维护,预防型维护;
第九章 实战
1.软件有哪些开发方法
答:结构化的开发方法、面向对象的开发方法、传统的开发方法与面向对象的开发方法相结合的实用开发方法
2.传统的软件开发方法的开发步骤
答:问题定义,可行性研究,需求分析
业务分析(业务描述,建立业务模型)
功能分析(功能描述,功能模型)
数据分析
总体设计
建立软件结构
设计数据库的表结构
详细设计
模块设计
建立数据库,录入数据
实现
编码,测试
3.面向对象的开发方法的开发步骤
答:问题定义,可行性研究
面向对象的分析
业务分析
功能分析,建立系统的功能模型(参与者,需求结构,功能模型)对象分析,建立系统初步的对象模型
用例分析,建立用例分析模型(顺序图,活动图)
扩充和完善,建立系统完整的对象模型
面向对象的总体设计
扩充和完善功能模型
软件运行环境
软件架构模型(软件架构模式,软件分层架构,软件逻辑结构)
扩充和完善对象模型,建立平台相关对象模型
用例设计模型(顺序图,活动图)
数据库设计模型(数据库的表结构,数据库的逻辑结构)
界面设计模型(界面结构模型,屏幕界面模型)
组件图
部署模型
面向对象的详细设计
确定每个用例的实现算法
建立数据库,录入数据
面向对象实现
编码,测试
4.BCE、MVC是什么
答:BCE是用例分析模式、MVC是程序设计思想
5.传统的开发方法与面向对象的开发方法相结合的实用开发方法的开发步骤 答:问题定义,可行性研究
需求分析
业务分析
功能分析
数据分析
动态分析
总体设计
软件运行环境
软件架构模式(C/S B/S)
建立软件结构图
设计数据库的表结构
详细设计
模块设计
建立数据库,录入数据
实现
编码,测试