最新软件工程考试试题含答案Word格式文档下载.docx
《最新软件工程考试试题含答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《最新软件工程考试试题含答案Word格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。
7、继承性
8、图示工具、设计语言表格工具
9、审查测试
10、单元测试集成测试系统测试
二、单项选择题(每小题2分,共20分)
1
2
3
4
5
C
A
6
7
8
9
10
D
B
1.软件设计中划分模块的一个准则是()。
A、低内聚低耦合
B、低内聚高耦合
C、高内聚低耦合
D、高内聚高耦合
2.Jackson设计方法是由英国的M.Jackson提出的,它是一种面向()的软件设计方法。
A、对象
B、数据流
C、数据结构
D、控制结构
3.试判断下列叙述中,哪个(些)是正确的(
)。
a、软件系统中所有的信息流都可以认为是事务流
b、软件系统中所有的信息流都可以认为是变换流
c、事务分析和变换分析的设计步骤是基本相似的
A、a
B、b
C、cD、b和c
4.()是用户和设计交换最频繁的方法。
A、原型化方法B、瀑布模型方法
C、螺旋模型方法D、构件组装模型
5.软件工程方法学的目的是:
使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(
A、硬件环境
B、软件开发的环境
C、软件开发工具和软件开发的环境
D、开发人员的素质
6.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言(
A、PASCAL
B、VISUALBASIC
C、C++
D、汇编语言
7.软件测试的目的是?
(
)
A、证明软件的正确性
B、找出软件系统中存在的所有错误
C、证明软件系统中存在错误
D、尽可能多的发现软件系统中的错误
8.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。
A、程序的内部逻辑B、程序的复杂程度
C、该软件的编辑人员D、程序的功能
9.软件维护工作的最主要部分是(
A、校正性维护
B、适应性维护
C、完善性维护
D、预防性维护
10.PDL是()语言。
A、高级程序设计语言B、伪码式
C、中级程序设计语言D、低级程序设计语言
三、判断题(正确的在括号内打上“√”,错误的打上“×
”。
每题2分,共20分)
1.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
(X)
2.发现错误多的程序模块,残留在模块中的错误也多。
(V)
3.为了加快软件维护作业的进度,应尽可能增加维护人员的数目。
4.软件维护就是改正软件中的错误。
5.质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。
6.软件开发的主要任务是写程序。
(X)
7.测试只能证明程序有错误,不能证明程序没有错误。
8.模块化程序设计中,模块越小,模块化的优点越明显。
一般来说,模块的大小都在10行以下。
9.在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排,等等。
10.程序设计风格指导原则提出,尽量多使用临时变量。
四、简答题(每题5分,共20分)
1.什么是软件工程?
软件工程是指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
2.耦合性和内聚性有几种类型?
其耦合度、内聚强度的顺序如何?
低:
非直接耦合→数据耦合→标记耦合→控制耦合→外部耦合→公共耦合→内容耦合:
高
强:
功能内聚→信息内聚→通信内聚→过程内聚→时间内聚→逻辑内聚→巧合内聚:
弱
3.简述需求分析工作可以分成哪四个方面?
软件需求分析的有哪三个基本原则?
:
需求分析阶段分成四个方面:
对问题的识别、分析与综合、制定规格说明和评审。
三个基本原则:
必须能够表达和理解问题的数据域和功能域;
必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;
要给出系统的逻辑视图和物理视图。
4.什么是黑盒测试法?
黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。
五、程序设计与算法描述题(共15分)
1.根据下面的伪代码程序,完成相应要求。
(8分)
START
IFC1
THEN
WHILEC2DO
f
ENDDO
ELSE
BLOCK
g
p
ENDBLOCK
ENDIF
REPEATUNTILC3
q
r
ENDREP
STOP
1)画出程序流程图(4分)
2)用N—S图描述(4分)
2.有下列伪码程序:
START
INPUT(M,N)
IFM>
=10
THENX=10
ELSEX=l
ENDIF
IFN>
=20
THENY=20
ELSEY=2
PRINT(X,Y)
STOP
设计该程序的语句覆盖和路径覆盖测试用例。
(7分)
M=9(或<
l0),N=l9(或<
20);
M=l0(或>
=10),N=20(或>
=20)
路径覆盖的测试用例为
M=9,N=19;
M=9、N=20;
M=l0,N=l9;
M=10,N=20
要目标是提高软件质量,减少软件维护代价。
软件过程五个模型对比(瀑布模型、快速原型、增量、螺旋、喷泉模型)
可行性研究:
1、任务:
用最小的代价在尽可能短的时间内确定问题是否能够解决。
2、四个方面:
技术、经济、操作可行性
3、数据流图四种成分:
1、源点/终点2、处理3、数据存储4、数据流
需求分析:
确定系统必须完成哪些工作,对目标系统提出完整、清晰、具体的要求。
2、结构化方法就是面向数据流自顶向下逐步求精进行需求分析的方法。
3、实体联系图:
1、数据对象2、属性3、联系(1:
1、1:
N、M:
N)
总体设计:
任务:
回答“概括的说,系统应该如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序结构。
系统设计阶段(确定系统具体实施方案)、结构设计阶段(确定软件结构)
模块独立:
内聚和耦合
耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统
内聚(Cohesion):
一个模块内各元素结合的紧密程度
面向数据流的设计方法:
变换流和事务流
详细设计:
确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
过程设计的工具(程序流程图、盒图、PAD图、判定表、判定树)
面向数据结构的设计方法(jackson方法):
程序复杂程度的定量(McCabe方法):
1、V(G)=E-N+2(E是流图中边的条数,N是结点数)2、V(G)=P+1(P是流图中判定结点的个数)3、流图中的区域数等于环形复杂度。
编码
单元测试:
又称模块测试。
每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试。
由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性。
集成测试:
在单元测试完成后,要考虑将模块集成为系统的过程中可能出现的问题,例如,模块之间的通信和协调问题,所以在单元测试结束之后还要进行集成测试。
这个步骤着重测试模块间的接口,子功能的组合是否达到了预期要求的功能,全程数据结构是否有问题等。
白盒测试技术(逻辑覆盖、基本路经测试)
白盒测试时将程序看作是一个透明的盒子,也就是说测试人员完全了解程序的内部结构和处理过程。
所以测试时按照程序内部的逻辑测试程序、检验程序中的每条通路是否都能按预定的要求正确工作。
白盒测试又称为结构测试。
语句覆盖就是设计足够的调试用例,使得程序中的每个语句至少执行一次。
判定覆盖就是设计足够的测试用例,使得程序中每个判定的取“真”分支和取“假”分支至少都执行一次,判定覆盖又称分支覆盖
条件覆盖就是设计足够的测试用例,使得程序判定中的每个条件能获得各种可能的结果。
判定/条件覆盖就是设计足够的测试用例,使得判定中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。
条件组合覆盖就是设计足够的测试用例,使得每个判定中的条件的各种可能组合都至少出现一次。
基本路经测试:
黑盒测试技术(等价划分)
黑盒测试时完全不考虑程序内部的结构和处理过程,只按照规格说明书的规定来检查程序是否符合它的功能要求。
黑盒测试是在程序接口进行的测试,又称为功能测试。
1、黑盒测试检查的主要方面有:
程序的功能是否正确或完善;
数据的输入能否正确接收,输出是否正确;
是否能保证外部信息(如数据文件)的完整性等。
用黑盒法设计测试用例时,必须用所有可能的输入数据来检查程序是否都能产生正确的输出
2、等价类划分
等价类的划分在很大程度上依靠的是测试人员的经验,下面给出几条基本原则:
(1)如果输入条件规定了取值范围,则可划分出一个有效的等价类(输入值在此范围内)和两个无效的等价类(输入值小于最小值、输入值大于最大值)。
(2)如果输入条件规定了输入数据的个数,则可相应地划分出一个有效的等价类(输入数据的个数等于给定的个数要求)和两个无效的等价类(输入数据的个数少于给定的个数要求、输入数据的个数多于给定的个数要求)。
(3)如果输入条件规定了输入数据的一组可能的值,而且程序对这组可能的值做相同的处理,则可将这组可能的值划分为一个有效的