历年软件工程复习题与答案.docx
- 文档编号:5080688
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:33
- 大小:294.35KB
历年软件工程复习题与答案.docx
《历年软件工程复习题与答案.docx》由会员分享,可在线阅读,更多相关《历年软件工程复习题与答案.docx(33页珍藏版)》请在冰豆网上搜索。
历年软件工程复习题与答案
一、单项选择题
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.在软件生存周期中,时间最长的阶段是(D)
A.需求分析B.详细设计
C.编码D.维护
2.以下最适合于面向对象的软件开发的软件生存周期模型是(D)
A.瀑布模型B.增量模型
C.螺旋模型D.喷泉模型
3.以下不适用于需求分析的工具是(C)
A.数据流图B.判定表
C.PAD图D.数据字典
4.以下几种模块内聚类型中,内聚性最低的是(B)
A.时间内聚B.逻辑内聚
C.顺序内聚D.功能内聚
5.系统流程图中符号的名称是(A)
A.联机存储B.处理
C.磁盘D.文档
6.数据流图中的每个加工至少有(D)
A.一个输入流或一个输出流B.一个输出流
C.一个输入流D.一个输入流和一个输出流
7.HIPO图是软件工程中的一种描述工具,采用HIPO图进行描述的阶段是(C)
A.可行性分析B.需求分析
C.概要设计D.详细设计
8.Jackson方法是软件开发过程中常用的方法,使用Jackson方法可以实现(A)
A.从数据结构导出程序结构B.从数据流图导出初始结构图
C.从模块结构导出数据结构D.从模块结构导出程序结构
9.过程设计语言(PDL),又称为(A)
A.伪码B.高级程序设计语言
C.中级程序语言D.低级程序设计语言
10.单元测试阶段主要涉及的文档为(B)
A.需求设计B.编码和详细设计
C.详细设计D.概要设计
11.软件维护会产生副作用,下面选项中不属于维护副作用的是(B)
A.编码副作用B.测试副作用
C.文档副作用D.数据副作用
l2.以下不适合作为科学工程计算的语言是(B)
A.PascalB.C
C.FortranD.Prolog
l3.PAD图为下列哪个方面提供了有力的工具(A)
A.系统分析B.软件的自动化生成
C.自动分析数据D.测试软件
14.结构化软件设计是(C)
A.面向数据结构的B.面向数据库的
C.面向数据流的D.面向对象设计的
15.在McCall软件质量度量模型中,面向软件产品修改的质量因素为(B)
A.可用性B.完整性
C.适应性D.互操作性
16.汽车是一种交通工具,汽车类和交通工具类之间的关系是(A)
A.一般具体B.hasa
C.整体部分D.组成
l7.Westinghouse公司于1992年公布了l3类软件工具分类标准和该类的范例工具以及例子,下面说法错误的是(A)
A.代码生成程序属于编码和单元测试工具(设计工具)
B.桌面出版系统属于文档工具
C.数据库管理系统属于需求追踪工具
D.计划和进度属于项目管理工具
18.对McCabe度量法,叙述错误的是(C)
A.McCabe度量法是一种基于程序控制流的复杂性度量法
B.McCabe度量法以图论为工具,用图的环路作为程序复杂性的度量值
C.McCabe度量法将简单IF语句和赋值语句的复杂性同等看待
D.McCabe复杂性度量也称为环路度量
19.瀑布模型本质是一种(B)
A.顺序迭代模型B.线性顺序模型
C.线性迭代模型D.非线性模型
20.对于使用原型的建议,下面说法错误的是(C)
A.开发周期很长的项目,可通过原型开发来缩短开发周期
B.系统的使用可能变化较大,不能相对稳定,而原型模型具有适应变化的机制
C.缺乏开发工具,或对原型的可用工具不了解的时候宜使用原型
D.用户对系统的需求较为模糊,对某种要求缺乏信心时宜使用原型
21.以下哪一项不是软件危机的表现( B )
A.开发的软件可维护性差B.软件极易被盗版
C.经费预算经常被突破D.开发的软件不能满足用户需求
22.以下哪个软件生存周期模型是一种风险驱动的模型( C )
A.瀑布模型B.增量模型
C.螺旋模型D.喷泉模型
23.各种需求分析方法都有共同适用的( D )
A.分析方法B.说明方法
C.表示方法D.基本原则
24.结构化分析建立功能模型的工具是( A )
A.DFDB.判定树/判定表
C.DDD.结构化语言
25.模块中所有成分结合起来完成一项任务,该模块的内聚性是( A )
A.功能内聚B.顺序内聚
C.通信内聚D.逻辑内聚
26.系统定义明确之后,应对系统的可行性进行研究,可行性研究应包括( A )
A.技术可行性、经济可行性、社会可行性
B.经济可行性、安全可行性、操作可行性
C.经济可行性、社会可行性、系统可行性
D.经济可行性、实用性、社会可行性
27.以下哪一项对模块耦合性没有影响( D )
A.模块间接口的复杂程度
B.调用模块的方式
C.通过接口的信息
D.模块内部各个元素彼此之间的紧密结合程度
28.检查软件产品是否符合需求定义的过程称为( A )
A.确认测试B.集成测试
C.系统测试D.单元测试
29.下面关于详细设计的叙述中,错误的是( B )
A.程序流程图可以描述结构化程序B.程序流程图不能描述结构化程序
C.NS图描述的程序一定是结构化的D.PAD图描述的程序一定是结构化的
30.在整个软件维护阶段所花费的全部工作中,所占比例最大的是( C)
A.校正性维护B.适应性维护
C.完善性维护D.预防性维护
31.以下不属于序言性注释的有( C )
A.模块设计者B.修改日期
C.程序的整体说明D.语句功能
32.集成测试是为了发现( A )
A.接口错误B.编码错误
C.性能、质量不合要求D.功能错误
33.一个只有顺序结构的程序,其环形复杂度是( B )
A.0B.1
C.3D.5
34.结构化程序设计,主要强调的是( C )
A.程序的执行效率B.模块的内聚
C.程序的可理解性D.模块的耦合
35.下面关于文档的叙述,错误的是( A )
A.文档是仅用于说明使用软件的操作命令,不包括软件设计和实现细节
B.文档是软件产品的一部分,没有文档的软件就不成为软件
C.高质量文档对于转让、变更、修改、扩充和使用有重要的意义
D.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量
36.在McCall软件质量度量模型中,面向软件产品操作的质量因素是( A )
A.正确性B.可维护性
C.适应性D.互操作性
37.对度量法,叙述错误的是( C )
A.度量法是一种基于程序控制流的复杂性度量法
B.度量法以图论为工具,用图的环路数作为程序复杂性的度量值
C.度量法不能区分简单IF语句和循环语句的复杂性
D.度量法对模块间的接口和简单IF语句区分对待
38.在快速原型模型的开发过程中,仅用于代替设计阶段的原型是( C )
A.探索型模型B.演化型模型
C.实验型模型D.提交型模型
39.对于构造原型的建议,下面说法错误的是( D )
A.暂不考虑错误恢复和处理,但应考虑速度、空间等性能效率方面的要求
B.可降低可靠性和软件质量标准
C.原型界面部分的设计,最好能与最终系统的界面相容
D.根据不同的软件类型和应用领域,可使用不同风格的高级语言来构造原型
40.面向对象开发方法中,将在面向对象技术领域内占主导地位的标准建模语言是( C )
A.Booch方法B.Coad方法
C.UML语言D.OMT方法
4l.以下哪一项不是软件产品所具有的特性(C)
A.软件是逻辑产品
B.软件产品不会用坏,不存在磨损、消耗问题
C.随着技术的提高,软件开发的费用不断降低
D.软件产品的成本主要体现在软件的开发与研制上
42.“确定软件系统必须做什么”是哪个阶段的任务(B)
A.可行性分析和项目开发计划B.需求分析
C.概要设计D.详细设计
43.以下哪一项不是软件测试时需要的信息(B)
A.软件配置B.软件结构
C.测试工具D.测试配置
44.结构化分析方法的分析策略是(B)
A.自底向上的抽象B.自顶向下的分解
C.用DFD建模D.用DD描述数据需求
45.一组语句在程序中多处出现,为了节省存储,将这些语句组成一个新的模块,该模块的内聚性为(C)
A.功能内聚B.顺序内聚
C.偶然内聚D.逻辑内聚
46.系统流程图是描绘以下哪一项的工具(C)
A.软件结构B.逻辑系统
C.物理系统D.软件功能
47.数据库的设计一般要进行三个方面的设计:
概念设计、逻辑设计和物理设计,其中逻辑设计对应于系统开发的什么部分(C)
A.可行性分析B.需求分析
C.概要设计D.详细设计
48.以下哪种语言可用于描述模块算法设计和处理细节(B)
A.UML语言B.过程设计语言
C.FORTRAN语言D.Pascal语言
49.软件维护是软件生命周期中的固有阶段,一般认为,以下哪种软件维护在整个维护活动中所占的比例最小(C)
A.校正性维护B.适应性维护
C.预防性维护D.完善性维护
50.软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)
A.结构合理性B.软件外部功能
C.程序正确性D.程序内部逻辑
51.使用Jackson方法可以得到(D)
A.程序流程图B.具体的语言程序
C.模块结构图及模块的功能说明书D.分层数据流图
52.以下哪种测试的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相
符合(B)
A.集成测试B.确认测试
C.单元测试D.系统测试
53.与编程风格有关的因素不包括(B)
A.源程序文档化B.语句构造
C.输入输出D.模块间耦合性
54.对于构造原型的建议,下面说法错误的是(D)
A.暂不考虑速度、空间等性能效率方面的要求。
B.暂不考虑错误恢复和处理。
C.可降低可靠性和软件质量标准。
D.原型界面部分的设计,暂不考虑与最终系统的界面相容。
55.有关软件项目进度安排的叙述,错误的是(C)
A.Gantt图常用水平线段来描述把任务分解成子任务,以及每个子任务的进度安排。
B.Gantt图中线段的长度表示完成子任务所需要的时间。
C.工程网络图是一种有向图,用圆表示事件,用有向弧或箭头表示任务,有向弧或箭头
的长度表示子任务持续的时间。
D.工程网络图只有一个开始点和一个终止点,开始点没有流入箭头,终止点没有流出箭
头。
56.以下哪一项是软件开发环境中的主要组成部分(C)
A.软件模型B.软件工程
C.软件工具D.硬件环境
57.对于一个大型系统,若对设计方案没有把握,可以通过以下哪种原型来证实设计方案的正确性。
(B)
A.探索型B.实验型
C.演化型D.增量型
58.对UML的叙述不正确的是(D)
A.UML统一了Booch方法、OMT方法、OOSE方法的表示方法。
B.UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。
C.UML融入了软件工程领域的新思想、新方法和新技术。
D.UML仅限于支持面向对象的分析与设计,不支持其它的软件开发过程。
59.在McCall软件质量度量模型中,以下哪一项是面向软件产品适应的质量因素(D)
A.可用性B.可维护性
C.适应性D.可重用性
60.下面说法错误的是(D)
A.软件可靠性能够定量计算。
B.MTBF是指两次相继失效之间的平均时间。
C.MTTF是一个描述失效模型或一组失效特性的指标量。
D.MTTF与失效率λ成正比
61.软件开发环境按解决的问题分类包含( A )
A.程序设计环境B.工具箱环境
C.基于方法的环境D.以语言为中心的环境
62.为了提高软件产品的质量和可靠性,对某些无法避开的差错,使其影响减至最小程度所采用的技术是( A )
A.容错技术B.避开错误技术
C.检测技术D.排错技术
63.软件复杂性的常用度量方法包括( D )
A.BOEHM度量法B.可扩充度量法
C.线性度量法D.代码行度量法
64.面向对象的要素包含( B )
A.对象的唯一性B.抽象
C.继承性D.分类性
65.构造原型时,主要考虑( B )
A.全部功能B.原型要体现的特征
C.全部细节D.全部要求
66.维护中,因修改文件的打开或关闭而引起的错误是( C )
A.文档副作用B.数据副作用
C.编码副作用D.设计副作用
67.诊断和消除程序在使用过程中发生错误的过程称为( A )
A.校正性维护B.适应性维护
C.完善性维护D.预防性维护
68.在白盒技术测试用例的设计中,以下覆盖标准中发现错误能力最强的是( C )
A.语句覆盖B.判定/条件覆盖
C.条件组合覆盖D.判定覆盖
69.软件调试技术包括( A )
A.回溯法调试B.循环覆盖调试
C.边界值分析调试D.集成测试调试
70.在软件测试中,首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起测试,称为( D )
A.确认测试B.系统测试
C.渐增式测试D.非渐增式测试
71.源代码的可维护性表现了程序设计语言的( B )
A.心理特性B.工程特性
C.技术特性D.传统特性
72.至今已有好几百种不同的高级语言,它们有的是用于数值计算,有的是用于商业管理,有的是用于编写系统软件。
以下语言中较适用于数值计算的语言是( D )
A.BASICB.SQL
C.LISPD.FORTRAN
73.在JSP方法中解决结构冲突的具体办法是( A )
A.引入中间数据结构或中间文件B.删除某个输入数据结构
C.删除某个输出数据结构D.增加某个输入或输出数据结构
74.模块的内聚性可以按照内聚程度的高低进行排序,以下排列中属于从低到高的正确次序是( C )
A.偶然内聚,时间内聚,逻辑内聚
B.通信内聚,时间内聚,逻辑内聚
C.逻辑内聚,通信内聚,顺序内聚
D.功能内聚,通信内聚,时间内聚
75.以下软件生存周期的活动中,要进行软件结构设计的是( B )
A.测试用例设计B.概要设计
C.程序设计D.详细设计
76.能够清楚地表示复杂的条件组合与应做的动作之间的对应关系的工具是( C )
A.结构化语言B.PAD图
C.判定表D.程序流程图
77.需求分析方法必须能够表达和理解问题的数据域和( C )
A.数据流B.用户类型
C.功能域D.应用领域
78.以用户需求为动力,以对象作为驱动的模型是( C )
A.瀑布模型B.基于知识的模型
C.喷泉模型D.增量模型
79.把软件生产的全过程人为地划分为若干阶段使得软件人员能根据每一阶段的不同特点更好地组织和管理软件项目的开发,这种概念就是( D )
A.软件项目管理B.软件工程
C.软件项目计划D.软件生存期
80.在软件生存期的各个阶段中跨越时间最长的阶段是( D )
A.需求分析阶段B.设计阶段
C.测试阶段D.维护阶段
81.Wasserman提出的软件工程环境的五级模型中,支持工作台或环境中一个工具对系统中其它工具的访问称为(C)
A.平台集成B.表示集成
C.控制集成D.过程集成
82.以下被详细设计阶段用来描述处理过程的工具是(C)
A.软件结构图B.程序流程图
C.数据流图D.对象图
83.在McCall软件质量度量模型中,属于面向软件产品适应的是(C)
A.可用性B.可维护性
C.适应性D.可互操作性
84.在实现系统功能时,为了增加系统的可靠性,在规定功能之外,多加入了一些资源,这种技术称为(A)
A.冗余技术B.可靠性技术
C.可重用技术D.检测技术
85.快速原型思想是在研究以下哪个阶段的方法和技术中产生的?
(D)
A.软件开发B.设计
C.编码D.需求分析
86.软件维护中,因修改交互输入的顺序,没有正确的记录而引起的错误是以下哪一项产生的副作用?
(A)
A.文档B.数据
C.编码D.设计
87.以下属于软件维护阶段文档的是(C)
A.软件需求说明B.操作手册
C.软件问题报告D.测试分析报告
88.以下哪一项属于白盒技术设计测试用例的方法?
(A)
A.循环覆盖B.等价类划分
C.边界值分析D.因果图
89.效率是一个性能要求,因此应当在以下哪个阶段规定?
(B)
A.可行性分析B.需求分析
C.概要设计D.详细设计
90.PAD图的优点之一是支持逐步求精的设计方法,其逐步细化的方式为(B)
A.由右到左B.由上到下
C.由下到上D.由左到右
91.在模块的四种基本属性中,反映模块内部特性的是(C)
A.接口B.功能
C.逻辑D.状态
92.模块的耦合性可以按照耦合程度的高低进行排序,以下哪一项符合从低到高的正确次序?
(D)
A.标记耦合,公共耦合,控制耦合,内容耦合
B.数据耦合,控制耦合,标记耦合,公共耦合
C.无直接耦合,标记耦合,内容耦合,控制耦合
D.无直接耦合,数据耦合,控制耦合,内容耦合
93.在建立软件系统的模块结构时,评价系统模块划分质量的根据为(C)
A.数据独立性B.程序独立性
C.模块独立性D.设备独立性
94.PDL是描述处理过程(C)
A.做什么B.为什么做
C.怎么做D.对谁做
95.结构化语言是介于自然语言和形式语言之间的一种(D)
A.半形式语言B.半自然语言
C.过程描述语言D.高级语言
96.软件需求分析产生的重要文档一个是软件需求分析规格说明书,另一个可能产生的文档是(C)
A.软件维护说明书B.概要设计说明书
C.可行性分析报告D.初步的用户手册
97.结构化分析(SA),是面向下面哪一项进行需求分析的方法?
(D)
A.过程B.对象
C.用户D.数据流
98.系统流程图用于可行性分析中描述以下哪一方面?
(D)
A.目标系统B.当前运行系统
C.新系统D.当前逻辑模型
99.为了克服软件危机,人们首先想到要用以下哪种方法来开发软件?
(D)
A.模块化B.结构化
C.工程化D.形式化
100.以下哪一项是面向数据结构的软件开发方法?
(D)
A.IDEF方法B.结构化方法
C.VDM方法D.JACKSON方法
二、填空题
请在每小题的空格中填上正确答案。
错填、不填均无分。
1.为了支持软件人员开发和维护活动而使用的软件一般是指_____软件工具______。
2.在IDEF0方法中,一个活动可以无输入,但必须至少有一个__控制箭头___。
3.在软件结构的设计中,各个模块之间要力求降低耦合性,提高___内聚性_____。
4.在类的层次结构中,通常上层类称为父类或超类,下层类称为___子类___。
5.数据流图(DFD)一般可分为变换型和___事务型____两类。
6.软件维护的内容包括校正性维护、适应性维护、___完善性维护___和预防性维护。
。
7.软件的生产经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程时代____。
8.渐增模型是瀑布模型的变种,分为两类:
增量构造模型和___演化提交模型___。
9.状态图反映了___事件与状态___的关系。
10.软件项目管理过程一个关键的活动是__制定项目计划__,它是软件开发工作的第一步。
11.组成软件的两个部分是:
___程序和文档____。
12.项目开发计划的主要内容包括项目概述、___实施计划___、人员组织及分工、交付期限。
13.为了克服软件危机,1968年北大西洋公约组织的工作会议上首先提出了__软件工程__的概念。
14.变换型数据流图是由输入、___变换(或处理)____和输出三部分组成的。
15.Jackson方法是一种面向_____数据结构的______的开发方法。
16.结构化语言是介于__自然语言__和形式语言之间的一种半形式语言。
17.软件产品在交付使用之前一般要经过___单元测试____、集成测试、确认测试和系统测试。
18.不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种_结构化___的维护。
19.子类自动共享父类数据结构和方法的机制是____继承性____,这是类之间的一种关系。
20.软件版本控制是属于__软件控制__的活动内容。
21.软件生产的发展经历了三个阶段,分别是程序设计时代、程序系统时代和__软件工程时代__时代。
22.可行性研究从以下三个方面研究每种解决方法的可行性:
经济可行性、社会可行性和_技术可行性_。
23.HIPO图的H图用于描述软件的层次关系,矩形框表示一个模块,矩形框之间的直线表示模块之间的___调用_____关系。
24.数据流图描绘数据在系统中___流动和处理___的过程。
25.为了便于对照检查,测试用例应由输入数据和预期的___输出数据___两部分组成。
26.软件详细设计阶段常采用的工具有图、表和__语言__。
27.由于运用原型的目的和方式不同,在使用原型中可以采取___抛弃___策略和附加策略。
28.实现容错技术的主要手段是____冗余____。
29.软件开发环境的目标是提高软件开发的生产率和___降低软件的费用___。
30.面向对象分析的目的是对____目标系统_____进行建模。
31.软件工具通常由工具、工具接口和____工具用户接口______三部分构成。
32.软件工程管理中的控制包括进度控制、人员控制、经费控制和____质量控制______。
33.软件开发的原型模型可以分为三类,它们是:
探索型原型、实验型原型和__演化型原型__。
34.软件复杂性主要表现在程序的复杂性。
程序的复杂性主要指_____模块内______程序的复杂性。
35.白盒法中__基本路径测试__首先以详细设计或源程序为基础,导出控制流程图的拓扑结构(程序图)。
36.在软件的详细设计中,根据控制流程从上到下,从左到右展开的设计工具是___PAD图__。
37.一个模块通过传递开关、标志对某一模块的多种功能进行选择,则这两个模块之间的耦合方式是____控制耦合_____。
38.结构化分析是面向____数据流____进行需求分析的方法。
39.有效的模块化是通过定义一组____相互独立____的模块来实现信息隐蔽的,这些模块彼此之间仅交换那些为了完成系统功能所必须的信息。
40.在软件生产中,____软件工程过程_____的作用是规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。
41.开发软件工具的主要目的是为了提高软件生产率和__改善软件的质量___。
42.确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动称为__软件质量保证活动_。
43.面向对象分析阶段所使用的三种模型是___对象模型___、动态模型和功能模型。
44.在软件测试的所有覆盖方法中发现错误能力最弱的覆盖是___软件测试语句覆盖____。
45.黑盒测试又被称为数据驱动测试或__功能测试___。
46.PDL具有严格的关键字外层语法,用于定义_____控制结构_____、数据结构和模块接口。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历年 软件工程 复习题 答案