广西财经学院《软件工程》期末试卷真题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》期末试卷
一、单选题
1.“软件危机”是指(C)
A.计算机病毒的出现
B.利用计算机进行经济犯罪活动
C.件开发和维护中出现的一系列问题
D.人们过分迷恋计算机系统
2.为了提高模块的独立性,模块之间最好是(D)
A.控制藕合
B.公共藕合
C.内容藕合
D.数据藕合
3.下面关于PDL语言不正确的说法是(B)
A.PDL是描述处理过程怎么做B.PDL是只描述加工做什么
C.PDL也称为伪码
D.PDL的外层语法应符合一般程序设计语言常用的语法规则
4.详细设计与概要设计衔接的图形工具是(D)
A.DFD图
B.程序图
C.PAD图
D.结构图(SC图)
5.下列关于功能性注释不正确的说法是(B)
A.功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态
B.注释用来说明程序段,需要在每一行都加注释
C.可使用空行或缩进,以便很容易区分注释和程序
D.修改程序也应修改注释
6.计算机系统就是:(C)
A.主机,显示器,硬盘,软驱,打印机等
B.CPU,存储器,控制器,I/O接口及设备
C.计算机硬件系统和软件系统D.计算机及其应用系统7.产生软件危机的原因主要与两个方面的问题有关:(C)
A.软件在计算机中很难识别,存在磁盘中也看不到
B.软件设计对人的智商要求很高,也要求很高的资金投入
C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确
D.软件很难理解,硬件也很复杂
8.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B)
A.可行性研究,问题定义,需求分析B.问题定义,可行性研究,需求分析C.可行性研究,需求分析,问题定义D.以上顺序都不对
9.软件维护的四类维护活动是:(A)
A.改正性维护,适应性维护,完善性维护和预防性维护
B.适应性维护,完善性维护,抢救性维护和辅助性维护
C.改正性维护,适应性维护,完善性维护和辅助性维护
D.适应性维护,完善性维护,抢救性维护和预防性维护
10.可行性研究主要从以下几个方面进行研究:(A)
A.技术可行性,经济可行性,操作可行性
B.技术可行性,经济可行性,系统可行性
C.经济可行性,系统可行性,操作可行性
D.经济可行性,系统可行性,时间可行性
11.测试的关键问题是(D)
A.如何组织对软件的评审B.如何验证程序的正确性
C.如何采用综合策略D.如何选择测试用例
12.软件维护困难的主要原因是(C)
A.费用低
B.人员少
C.开发方法的缺陷
D.得不到用户支持
13.快速原型是利用原型辅助软件开发的一种新思想,它是在研究(A)的方法和技术中产生的。
A.需求阶段
B.设计阶段
C.测试阶段
D.软件开发的各个阶段
14.从目前情况来看,增量模型存在的主要问题是(C)
A.用户很难适应这种系统开发方法B.该方法的成功率很低
C.缺乏丰富而强有力的软件工具和开发环境
D.缺乏对开发过程中的问题和错误具有应付变化的机制
15.(A)是为了确保每个开发过程的质量,防止把软件差错传递到下一个过程而进行的工作。
A.质量评审B.软件容错 C.软件维护 D.系统容错
16.系统逻辑模型主要由以下内容:(C)
A.数据流图,数据字典,简要的算法描述B.程序流图,层次结构图,IPO图
C.数据流图,状态转换图,ER图D.层次结构图,ER图,IPO图
17.耦合是对软件不同模块之间互连程度的度量。
各种耦合按从强到弱排列如下:(B)A.内容耦合,控制耦合,数据耦合,公共环境耦合
B.内容耦合,控制耦合,公共环境耦合,数据耦合
C.内容耦合,公共环境耦合,控制耦合,数据耦合
D.控制耦合,内容耦合,数据耦合,公共环境耦合
18.在详细设计阶段所使用到的设计工具是:(C)
A.程序流图,PAD图,N-S图,HIPO图,判定表,判定树
B.数据流图,Yourdon图,程序流程图,PAD图,N-S图,HIPO图
C.判定表,判定树,数据流图,程序流程图,PAD图,N-S图
D.判定表,判定树,数据流图,程序流程图,层次图
19.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A)A.模块的作用域应在模块的控制域之内B.模块的控制域应在模块的作用域之内C.模块的控制域与模块的作用域互相独立D.以上说法都不对
20.汽车有一个发动机。
汽车和发动机之间的关系是(B)关系。
A.一般具体B.整体部分C.分类关系D.主从关系
21.表示对象相互行为的模型是(A)模型。
A.动态模型 B.功能模型 C.对象模型 D.静态模型
22.(A)是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A.软件过程 B.软件工具 C.质量保证 D.软件工程
23.(A)意味着一个操作在不同的类中可以有不同的实现方式。
A.多态性
B.多继承
C.类的复用
D.封装
24.软件测试计划开始于需求分析阶段,完成于(C)阶段。
A.需求分析
B.软件设计
C.软件实现
D.软件测试
25.可行性研究要进行一次(C)需求分析。
A.详细的B.全面的C.简化的、压缩的D.彻底的
26.以下测试方法是白盒测试方法的是:(C)
A.判定覆盖和边界值分析法
B.等价划分和错误推测法
C.路径覆盖和判定/条件覆盖法
D.条件组合覆盖和语句覆盖法
27.在软件的开发过程中,必须遵循的原则是(D)。
A.抽象B.模块化C.可重用性D.可维护性
28.详细设计的结果基本决定了最终程序的(C)
A.代码的规模B.运行速度C.质量D.可维护性29.在数据流图中,○(椭圆)代表(C)。
A.源点B.终点C.加工D.模块
30.模块内聚度越高,说明模块内各成分彼此结合的程度越(B)。
A.松散B.紧密C.无法判断D.相等
31.系统流程图用于可行性分析中的(A)的描述。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统32.(D)工具在软件详细设计过程中不使用。
A.判定表B.IPO图C.PDL D.DFD图
33.程序的三种基本控制结构是(C)。
A.过程、子程序和分程序B.顺序、选择和重复
C.递归、堆栈和队列D.调用、返回和转移
34.程序的三种基本控制结构的共同特点是(D)。
A.不能嵌套使用B.只能用来写简单程序
C.已经用硬件实现D.只有一个入口和一个出口
35.产生软件维护的副作用,是指(C)
A.开发时的错误B.隐含的错误
C.因修改软件而造成的错误D.运行时误操作
36.软件设计阶段的输出主要是(B)
A.程序B.模块C.伪代码D.设计规格说明37.软件开发方法学给出的内容是(D)。
A.开发模型
B.测试方法
C.开发工具与环境
D.概念与表示,过程与工具38.经济可行性研究的范围包括(A)
A.资源有效性B.管理制度C.效益分析D.开发风险39.软件需求分析是保证软件质量的重要步骤,它的实施应该是在(D)。
A.编码阶段B.软件开发全过程C.软件定义阶段D.软件设计阶段40.软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)。
A.结构合理性B.软件外部功能C.程序正确性D.程序内部逻辑
42.(D)是以提高软件质量为目的的技术活动。
A.技术创新B.测试C.技术创造D.技术评审
43.面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。
因此面向对象方法有许多特征,如软件系统是由对象组成的;(C);对象彼此之间仅能通过传递消息互相联系;层次结构的继承。
A.开发过程基于功能分析和功能分解B.强调需求分析重要性
C.把对象划分成类,每个对象类都定义一组数据和方法
D.对既存类进行调整
44.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫(D)。
A.生存期B.面向对象设计C.面向对象程序设计D.面向对象分析45.原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。
A.需求不确定性高的B.需求确定的C.管理信息D.实时
46.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立(D)。
A.软件结构B.软件过程C.软件模型D.软件模块
47.在下述哪一种测试中,测试人员必须接触到源程序(B)。
Ⅰ功能测试Ⅱ结构测试
A.均不需B.只有ⅠC.只有ⅡD.Ⅰ和Ⅱ
48.检查软件产品是否符合需求定义的过程称为(A)。
A.确认测试B.集成测试C.验收测试D.验证测试
49.软件调试技术包括(B)
A.边界值分析B.演绎法C.循环覆盖D.集成测试
50.在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于(B)。
A.维护时期B.计划时期C.运行时期D.开发时期
51.为了提高测试的效率,应该(C)。
A.随机地选取测试数据B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件的测试计划
D.选择发现错误可能性大的数据作为测试数据
52.使用白盒测试方法时,确定测试数据应根据(B)和指定的覆盖标准。
A.程序的内部逻辑B.程序的复杂结构C.使用说明书D.程序的功能
53.软件测试的目标是(B)。
A.证明软件是正确的
B.发现错误,降低错误带来的风险
C.排除软件中所有的错误
D.与调试的作用相同
54.软件设计的主要任务是(A)。
A.给出软件解决方案
B.给出系统模块结构
C.定义模块算法
D.定义需求并建立系统模型
55.结构化分析方法的主要概念有(A)。
A.模块的内聚和耦合
B.对象和类
C.模块和信息隐蔽
D.加工、数据流和数据源等
56.在七种偶合中,最低耦合是(C)。
A.内容耦合B.公共耦合C.数据耦合D.非直接耦合57.具有风险分析的软件生存周期模型是(C)
A.瀑布模型
B.喷泉模型
C.螺旋模型
D.增量模型
58.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为(A)A.数据耦合B.公共耦合C.标记耦合D.内容耦合
59.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了(A)
A.软件危机B.软件工程C.程序设计革命D.结构化程序设计60.结构化程序设计采用的三种基本控制结构是(C)
A.顺序、分支、选择
B.选择、循环、重复
C.顺序、选择、重复
D.输入、变换、输出
二、填空题
1.软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
2.结构程序设计的基本思想是采用自顶向下,逐步求精的程序设计方法和”单入口单出口”的控制结构
3.使用面向数据流的方法设计软件结构时,需要确定数据流图的类型是事务流还是变换流。
4.提高程序效率的根本途径在于选择良好的设计方法、良好的数据结构与算法、而不是靠编程时对程序语句的调整。
5.如果模块内所有元素都使用同一个输入数据和产生同一个输出,称为通信内聚。
6.如果一个模块被n个模块调用,其中直接的上级模块的个数是m个(m<=n)那么该模块的扇入数是N个。
7.软件生存周期是指一个软件从提出开发要求开始直到软件报废为止的整个时期。
8.黑盒测试又称功能测试或数据驱动测试,白盒测试又称结构测试或逻辑驱动测试,在设计测试用例时,应包括输入数据和预期输出结果两方面。
9.在面向对象方法中,继承是子类共享父类数据结构和方法的机制,体现了类之间的一种关系。
10.软件工程方法学包含三个要素,分别是方法、工具和过程。
11.软件是计算机系统中与硬件相互依存的部分,它是包括程序、数据和相关文档的完整集合。
12.模块的藕合性分为六种类型:数据偶合、控制偶合、内容偶合、标记偶合、公共环境偶合、外部耦合。
13.面向对象方法有四个要点,分别是:对象、类、继承和用消息通信。
15.黑盒测试中,有场景法、因果图法、边界值分析和错误推测等三种方法。
三、判断题
1.软件就是计算机系统中的程序。
(X)
2.一个软件模型的控制范围应该在其作用范围内。
(X)
3.测试时,只需检查软件是否做了它应该做的事情。
(X)
4.算法就是计算方法。
(X)
5.数据流图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。
(√)
6.好的测试用例应能证明软件是正确的。
(×)
7.白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。
(√)
8.当软件开发项目的进度有可能拖延时,增加开发人员并不能加快进度。
(√)
9.软件的确认测试是由用户和测试人员实施的一种测试活动。
(√)
10.程序测试时,应对程序模块的所有独立的执行路径至少测试一次。
(√)11.在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。
(X)
12.在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。
(√)
13.软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。
(X)
14.模型是对现实的简化,建模是为了更好地理解所开发的系统。
(√)
15.数据流图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。
(X)
18.软件需求分析的任务是建立软件模块结构图。
(X)
19.软件的确认测试是由用户和测试人员实施的一种测试活动。
(√)
20.结构化方法、面向对象方法是两种不同范型的软件开发方法学。
(√)
四、简答题
1.简述黑盒测试和白盒测试的区别。
白盒测试:是通过程序的源代码进行测试而不使用用户界面。
这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。
黑盒测试:是通过使用整个软件或某种软件功能来严格地测试,而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。
测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。
在测试时,把程序看作一个不能打开的黑盆子。
黑盒测试不关心程序的内部结构和源代码,只关心输入数据和输出结果。
白盒测试不仅关心输入数据和输出结果,而且也要研究程序的内部结构和源代码。
2.逻辑覆盖有哪些类型?哪个类型的覆盖程度最强,哪个最弱?
语句、判定(分支)、条件、判定条件、条件组合、路径覆盖。
最强是路径覆盖,最弱是语句覆盖。
3.给出模块内聚的定义,并举例说明三种模块内聚类型。
模块内聚是一个模块内部各成分之间相关联程度的度量,通信内聚、顺序内聚、逻辑内聚、功能内聚、信息内聚。
4.何为白盒测试?它适应哪些测试?
白盒测试也叫结构测试,测试者需要了解被测程序的内部结构。
白盒测试通常根据覆盖准则设计测试用例,有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖和条件组合覆盖。
白盒测试适用与单元测试、集成测试、系统测试
5.何为黑盒测试?它适应哪些测试?
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只
检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试适用于单元测试、确认测试
6.如何理解模块独立性?
模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
模块独立性也指模块内部各部分及模块间的关系的一种衡量标准,由内聚和耦合来度量。
7.软件测试要经过哪些步骤?简述这些测试的基本任务。
软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。
单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。
集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。
确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。
系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。
以确定软件是否可以支付使用。
8.在需求分析阶段,需要建立三个模型,分别是什么模型?分别用什么工具表示?
数据模型(=信息模型)、功能模型和行为模型。
实体联系图(E-R图)、数据流图、状态图(状态转换图)
五、建模题
1.已经使用PDL语言描述了在数组A(1)~A(10)中找最大数的算法。
请使用N-S图和PAD图表示以下算法。
PDL语言:
N=1
WHILE N<=10DO
IF A(N)<=A(N+1)MAX=A(N+1);
ELSE MAX=A(N)
ENDIF;
N=N+1;
ENDWHILE;
N-S图:
PAD图:
2.已知在一个简化的教学管理系统中,分工如下:
教务员负责:
①录入教师教学信息(姓名、工作证号、课程名、总学时、上课时间、上课地点);
②录入教师缺课情况(姓名、工作证号、缺课时间、缺课学时、原因)。
教学秘书负责:
录入学生各科成绩(姓名、学号、{课程名、分数})
教学主任负责:
①每学期统计一次每个教师的工作量(姓名、工作证号、上课学时数)
②每学期统计每个学生的不及格课程(姓名、学号、{不及格课程名、分数}),如果有一到两门不及格,则发给学生补考通知(姓名、学号、{不及格课程名、分数、补考时间、补考地点}),如果大于两门,则发给学生降级通知(姓名、学号)。
要求:(1)用结构化分析方法给出该系统的顶层DFD。
(2)给出上述DFD的数据字典。
3.为方便储户,某银行拟开发计算机储蓄系统。
储户填写的存款单或取款单由业务员键入系统。
如果是存款,系统记录存款人姓名.住址.存款类型.存款日期.利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。
(1)画出该系统的顶层数据流图。
(2)对数据流定义数据字典。
4.画出下列伪代码程序的N-S图。
START
IF p THEN
WHILE q DO
f
END DO
ELSE
BLOCK
g
n
END BLOCK
END IF
STOP
5.某市计算机等级考试的准考证号共六位数字,编排规则如下:第一位是等级编号(1为计算机一级,2为计算机二级,3为计算机三级);第二位是考点编号(1为广西财经学院考点,2为广西大学考点,3为广西民族大学考点);第三、第四位是考场编号;第五、第六位是考场内序号,一个考场最多30人。
请用数据字典定义准考证号。
6.画出下列伪代码程序的流程图和N-S图并设计判定覆盖测试用例。
①INPUT(A,B)
②IF A>5
③THEN X=10
④ELSE X=1
⑤ENDIF
IF B>10
⑥THEN Y=20
⑦ELSE Y=2
⑧ENDIF
PRINT(X,Y)。