烟台大学《软件工程》期末考试复习题及参考答案.docx
《烟台大学《软件工程》期末考试复习题及参考答案.docx》由会员分享,可在线阅读,更多相关《烟台大学《软件工程》期末考试复习题及参考答案.docx(20页珍藏版)》请在冰豆网上搜索。
烟台大学《软件工程》期末考试复习题及参考答案
一、多选题
1.从下列叙述中选出5条关于好的程序设计风格的正确叙述。
A.使用括号以改善表达式的清晰性。
B.对递归定义的数据结构不要使用递归过程。
C.尽可能对程序代码进行优化。
D.不要修补不好的程序,要重新写。
E.不要进行浮点数的相等比较。
F.应尽可能多地输出中间结果。
G.利用数据类型对数据值进行防范。
H.用计数方法而不是用文件结束符或输入序列结束符来判别输入的结束。
I.程序中的注释是可有可无的。
J.使用有意义的标识符。
2.从下列叙述中选出5条关于软件测试的正确叙述。
A.为了使得软件容易测试,应该使用高级的程序设计语言编制程序。
B.程序测试是一个程序的执行过程,目的是为了发现软件中隐藏的错误。
C.如果程序中连锁式连接了8个判定(IF)结构,则程序中总的路径数达28。
D.白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。
E.为了快速完成集成测试,采用一次性集成方式是适宜的。
F.对一批模块进行测试,发现错误多的模块中残留的错误将比其它的模块少。
G.好的测试用例应能证明软件是正确的。
H.边界值分析方法是取输入/输出等价类的边界值做为测试用例。
I.等价类划分方法考虑了各等价类之间取值的组合情况下可能的结果。
J.判定覆盖法可能查不出在判定中逻辑运算符使用有误时产生的错误。
3.从下列叙述中选出5条有利于软件可维护性的正确叙述。
A.在进行需求分析时需同时考虑如何实现可维护性问题。
B.完成测试作业后,为了缩短源程序的长度应删去程序中的注解。
C.尽可能在软件生产过程中保证各阶段文档的正确性。
D.编程时应尽可能使用全局变量。
E.选择时间效率和空间效率尽可能高的算法。
F.尽可能利用硬件的特点。
G.重视程序结构的设计,使程序具有较好的层次结构。
H.使用维护工具或支撑环境。
I.在进行概要设计时应加强模块间的联系。
J.提高程序的可读性,尽可能使用高级语言编写程序。
K.为了加快软件维护作业的进度,应尽可能增加维护人员的数目。
4.在下面关于标准和文档的叙述中,选出5条正确的叙述。
A.国家标准是由政府或国家级机构制定或批准,适用于全国的标准。
这些标准都是强制性的,相关产品必须严格执行标准。
B.ISO9001是设计/开发、生产、安装和服务中的质量保证模式,ISO9000-3是使ISO9001适合于软件的质量保证指南。
C.软件工程标准化可提高软件的生产率。
D.软件质量保证体系是贯穿于整个软件生存期集成化过程体系,而不仅仅体现在最后产品的检验上。
E.ISO9000-3与具体的开发模式有关。
它将软件全过程工序从管理角度、合同角度和工程角度划分为三大类。
F.软件测试计划始于需求分析阶段,完成于软件设计阶段。
G.任何一个文档都应是完整的、独立的,它应自成体系。
H.在新文档取代旧文档后,管理人员不应注销旧文档。
I.软件开发机构应保存一份完整的主文档,并允许开发人员可以保存主文档中的部分主文档,有自己的活动空间。
J.软件需求分析报告是给开发人员使用的,不是给其它人员,如维护人员,用户等使用的。
第1题正确答案为ADEGJ
第2题正确答案为ABCDH
第3题正确答案为CEGHJ
第4题正确答案为BCDFG
二、单选题
1.()软件维护的四类维护活动是:
A.改正性维护,适应性维护,完善性维护和预防性维护。
B.适应性维护,完善性维护,抢救性维护和辅助性维护。
C.改正性维护,适应性维护,完善性维护和辅助性维护。
D.适应性维护,完善性维护,抢救性维护和预防性维护。
2.具有风险分析的软件生存周期模型是()。
A.瀑布模型B.喷泉模型
C.螺旋模型D.增量模型
3.需求分析中开发人员要从用户那里了解()。
A.软件做什么B.用户使用界面
C.输入的信息D.软件的规模
4.结构化程序设计主要强调的是()。
A.程序的规模B.程序的效率
C.程序设计语言的先进性D.程序易读性
5.()按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:
A.模块的作用域应在模块的控制域之内。
B.模块的控制域应在模块的作用域之内。
C.模块的控制域与模块的作用域互相独立。
D.以上说法都不对。
6.概要设计的目标:
()
A.确定系统的功能与模块结构B.确定系统的费用
C.确定系统的算法D.确定开发系统所使用的语言
7.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。
A.结合B.隐藏
C.封装D.抽象
8.可行性分析研究的目的是()
A.争取项目B.项目值得开发否
C.开发项目D.规划项目
9.为了提高软件的可维护性,在编码阶段应注意()
A.保存测试用例和数据B.提高模块的独立性
C.文档的副作用D.养成好的程序设计风格
10.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是()
A.数据、公共、标记、控制B.数据、标记、控制、公共
C.控制、数据、标记、公共D.控制、数据、公共、标记
1-10答案:
ACADAACBDB
11.下列哪个阶段不属于软件生存周期的三大阶段()。
A、计划阶段B、开发阶段
C、编码阶段D、维护阶段
12.需求分析是()。
A、软件开发工作的基础 B、软件生存周期的开始
C、由系统分析员单独完成的 D、由用户自己单独完成的
13.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要()。
A、明确的需求定义 B、完整的生命周期
C、较长的开发时间 D、熟练的开发人员
14.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为()。
A、改正性维护 B、适应性维护
C、完善性维护 D、预防性维护
15.下列哪个图不是N-S图的构件()。
11-15答案:
CABAC
16.在软件生存周期的瀑布模型中一般包括计划、()、设计、编码、测试、维护等阶段。
A可行性分析B需求采集C需求分析D问题定义
17.ISO9000是由ISO/TC176制定的关于()和质量保证的国际标准。
A质量控制B质量管理C质量策划D质量改进
18.软件工程的基本要素包括方法、工具和()。
A过程B软件系统C硬件环境D人员
19.软件的复杂性是(),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A固有的B人为的C可消除的D不可降低的
20.软件需求分析阶段的测试手段一般采用()。
A总结B阶段性报告C需求分析评审D不测试
21.()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
A多态性B继承C封装D消息
22.协作图反映收发消息的对象的结构组织,它与()是同构的。
A用例图B类图C活动图D时序图
23.软件测试是为了()而执行程序的过程。
A纠正错误B发现错误C避免错误D证明正确
24.面向对象分析是对系统进行()的一种方法。
A需求建模B程序设计C设计评审D测试验收
25.在结构化分析方法中,()表达系统内部数据运动的图形化技术。
A数据字典B实体关系图C数据流图D状态转换图
16-25答案:
cbaaccdbac
26.()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A软件过程B软件测试C软件生存周期D软件工程
27.ISO9000是由ISO/TC176制定的关于()和质量保证的国际标准。
A质量控制B质量管理C质量策划D质量改进
28.CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。
除第1级外,每个等级都包含了实现该成熟度等级目标的若干()。
A关键实践B关键过程域C软件过程能力D软件过程
29.在软件开发的各种资源中,()是最重要的资源。
A开发工具B方法C硬件环境D人员
30.软件的复杂性是(),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A固有的B人为的C可消除的D不可降低的
31.在各种不同的软件需求中,()描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。
A业务需求B功能需求C非功能需求D用户需求
32.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于()系统。
A需求不确定的B需求确定的C管理信息D决策支持
33.()意味着一个操作在不同的类中可以有不同的实现方式。
A多态性B多继承C类的可复用D信息隐蔽
34.时序图反映对象之间发送消息的时间顺序,它与()是同构的。
A用例图B类图C活动图D协作图
35.单元测试的测试用例主要根据()的结果来设计。
A需求分析B源程序C概要设计D详细设计
26-35答案:
DBBDABAADB
36.软件需求分析的主要任务是准确地定义出要开发的软件系统是()。
A.如何做B.怎么做
C.做什么D.对谁做
37.软件详细设计的主要任务是确定每个模块的()。
A.算法和使用的数据结构B.外部接口
C.功能D.编程
38.提高测试的有效性非常重要,成功的测试是指()。
A.证明了被测试程序正确无误B.说明了被测试程序符合相应的要求
C.未发现被测程序的错误D.发现了至今为止尚未发现的错误
39.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:
-1.001,-1.0,1.0,1.001.设计这组测试用例的方法是()。
A.条件覆盖法B.等价分类法
C.边界值分析法D.错误推测法
40.下图是()
A.类图B.用例图
C.活动图D.状态图
41.按软件生命周期方法设计软件的过程中,画数据流图属于哪个阶段的工作()?
A.需求分析B.概要设计
C.详细设计D.软件维护
42.()引入了“风险驱动”的思想,适用于大规模的内部开发项目。
A.增量模型B.喷泉模型
C.原型模型D.螺旋模型
43.为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础的软件维护称为()。
A.纠错性维护B.适应性维护
C.改善性维护D.预防性维护
44.为了提高测试的效率,应该()。