软件工程填空题18套试题及答案.docx
《软件工程填空题18套试题及答案.docx》由会员分享,可在线阅读,更多相关《软件工程填空题18套试题及答案.docx(159页珍藏版)》请在冰豆网上搜索。
软件工程填空题18套试题及答案
《软件工程》填空题
二、填空题(请把答案写在相应的横线上,每小题1.5分)
1、软件是数据、计算机程序及其说明程序的各种文档。
2、概要设计主要是把各项功能需求转换成系统的体系结构。
3、面向对象开发方法包括OOA、OOD、OOP三部分。
4、结构化设计中以数据流图为基础的两种具体分析设计方法是变换分析、事物分析设计。
5、在单元测试时,需要为被测模块设计驱动模块和桩模块。
6、CMM把软件过程从无序到有序的进化分成5个阶段,排序而形成5个逐层提高的等级,分别是初始级、可重复级、已定义级、已管理级和可优化级。
7.子类自动共享父类的属性和操作的机制称为继承。
8.软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。
9、可行性研究的三个方面是技术可行性、社会可行性和__经济可行性__。
10、在软件概要设计阶段,建立软件结构后,还应为每个模块写一份处理说明和_接口说明__。
11、在画分层的DFD时,父图与子图的输入输出数据流要__平衡__。
12、在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构_进行设计。
13.对象的抽象是___类___。
14.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。
因此,基线可以作为项目的一个___检查点__。
15.包括软件开发技术和__软件工程管理__两大部分内容。
16、开发过程管理包括项目计划、控制和___任务管理__等。
17、CASE是多年来在软件开发管理、软件开发方法、软件开发环境和__软件工具__等方面研究和发展的产物。
18、数据字典中有四类条目,分别是___数据流、数据项、数据存储、基本加工。
19、用于描述基本加工的小说明的三种描述工具是结构化语言、判定表、判定树_。
20、子类只继承一个父类的属性和操作,这称为__单重继承__。
21、McCabe复杂性度量又称__环路度量_。
22、喷泉模型是一种以用户需求为动力,以__对象__为驱动的模型。
23、Jackson图不仅可表示程序结构,还可表示___数据结构__。
24、详细设计的任务是确定每个模块的内部特性,即模块的算法和数据结构。
25、UML提供的构建系统动态模型的机制有动态视图视图(包括顺序图和协作图)、静态视图视图、功能视图。
26、软件质量管理由软件质量保证、软件质量规划和软件质量控制三方面活动组成。
27、用等价类划分法设计一个测试用例时,使其覆盖__尽可能多的__尚未被覆盖的合理等价类;覆盖__一个_不合理等价类。
28、需求分析阶段产生的最重要的文档是__需求规格说明书_。
29、两个模块都使用同一张表,模块的这种耦合称为___公共耦合__。
30、被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为_静态_测试。
31、采用手工方法开发软件只有程序而无文档,维护困难,这是一种__非结构化__维护。
32、结构化方法是一种面向数据流的开发方法。
由结构化分析、_结构化方法_、结构化程序设计构成。
33、对象之间进行通信的构造叫做_消息_。
34、按软件服务对象的范围可以把软件划分为项目软件和产品软件。
35、瀑布模型将软件生命期划分为若干阶段,各个阶段之间是通过文档实现过渡的。
36、概要设计主要是把各项功能需求转换成系统的__体系结构__。
37、详细设计的任务是确定每个模块的内部特性,即模块的数据结构和算法。
38、结构化程序设计方法提倡开发人员的组织形式是__主程序员组_。
39、软件质量管理由软件质量保证、软件质量规划和软件质量控制三方面活动组成。
40、类具有操作,它是对象__行为 _的抽象。
41、产品管理包括版本管理和__配置管理___。
42、集成测试中的具体方法是___渐增式和非渐增式___测试方法。
43、增量模型适合于__软件需求_不明确、设计方案有一定风险的软件项目。
44、结构化分析方法的分析策略是__自顶向下逐步求精__。
45、可行性研究实质上是要在较高层次上以较抽象的方式进行___需求分析和设计__的过程。
46、衡量模块独立性的两个定性标准是__耦合性与内聚性___。
47、Jackson方法是一种面向__数据结构__的设计方法。
48、维护阶段是软件生存周期中花费精力和费用___最多___的阶段。
49、继承性是子类自动共享其父类的__数据结构和方法__机制。
50、在面向对象方法中,人们常用状态图描述类中对象的_动态行为_。
51、规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为___容错__软件。
52.软件工程包括3个要素,即方法、工具、过程。
53.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。
通常,软件生存周期包括问题定义、可行性研究,需求分析,总体设计,详细设计,_编码_,测试,维护活动,可以将这些活动以适当方式分配到不同阶段去完成
54.数据流图中的箭头表示__数据流__。
软件结构图中的箭头方向表示___模块调用__。
55.___可行性研究___的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
56.数据流图仅反映系统必须完成的逻辑功能,所以它是一种__功能_模型。
复习资料
一、填空题
1.软件是计算机系统中与硬件相互依存的另一部分,它是包括(程序)、(数据)及其(相关文档)完整集合。
其中,(程序)是按事先设汁的功能和性能要求执行的指令序列,(数据)是使程序能够正确操纵信息的数据结构,(相关文档)是与程序开发、维护和使用有关的图文资料.
2.软件危机是指计算机软件的(开发)和(维护)过程中所遇到的一系列严重问题。
3.软件工程是指导计算机软件(开发)和(维护)的一门工程学科,采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高质量的软件并有效地(维护)它,这就是软件工程。
4.常见的软件开发模型有(瀑布模型)、(快速原型模型)、(增量模型)和(螺旋模型)等;
5.软件工程学方法的三要素是:
(方法)、(工具)和(过程)。
6.瀑布模型是一个(文档)驱动模型。
7.可行性研究一般可以从(经济)可行性、(技术)可行性、法律可行性和法律可行性等方面来研究。
8.数据流图从数据传输和(数据加工)角度,以(图形)的方式描述数据流从输入到输出的传输变换过程。
9.数据流图的四个基本符号分别表示(数据的源点或终点)、(数据的加工)、(数据存储)和数据流;
10.实体-联系图中,数据对象之间的关系有(一对一)、(一对多)和(多对多关系)。
11.需求分析阶段应该建立三种模,即:
(数据模型)、(功能模型)和(行为模型)。
12.一般从(一致性)、(完整性)、(现实性)和(有效性)四个方面验证软件需求的正确性。
13.HIPO图是由一组(层次图)图加上一张(IPO)图组成。
14.模块独立性的两个度量标准为:
(耦合)和(内聚)。
15.一般说来,模块之间的耦合程度(低),则单个模块的内聚程度(高)。
16.经验表明,设计好的软件结构,通常顶层模块的扇出(比较高),中层模块扇出(较少),底层模块(高)扇入
17.三种基本的程序控制结果是(顺序结果)、(选择(分支)结构)和(循环结构)。
18.把程序从一个硬件或软件环境中转移到另一种配置环境称为软件的(可移植性)。
19.如果一个模块完成一组任务,这些任务彼此之间的关系是很松散的,这种內聚称为(偶然(或巧合)类聚)。
20.白盒法的具体设计程序测试方法有语句覆盖、(判定覆盖)、(条件覆盖)和路径覆盖。
21.组成UML的三种基本建筑块是(事物)、关系和(图)。
22.面向对象的软件工程方法包括面向对象的分析、(面向对象的设计)、(面向对象的编程)、(面向对象的测试)和面向对象的软件维护等主要内容。
23.保证软件质量的措施主要有(审查)、复查和管理复审、(测试)。
24.提高软件质量和可靠性的技术大致分为两类,即(避开错误技术)和(容错技术)。
25.常用的估算软件规模的方法有(代码行技术)和(功能点技术)。
26.功能点技术的信息域包含(输入项数)(输出项数)、(查询数)、(主文件数)、(外部接口数)等5个方面的信息。
27.软件的工作量计算模型是(软件规模)的函数,软件工作量的单位通常是(人月),常用的计算软件工作量的计算模型有(静态单变量模型)、(动态多变量模型)、(COCOMO2模型)等。
28.软件过程是软件(生存期)中的一系列相关软件工程(活动)的集合。
每个软件过程又是由一组(工作任务)、项目(里程碑)、软件工程产品和交付物以及软件质量保证(SQA)电等组成。
29.软件的度量包括直接度量和间接度量、软件产品的直接度量包括(产生的代码行数)、(执行速度)、(存储量大小)、在某种时间周期中所报告的差错数。
软件产品的间接度量则包括(功能性)、(复杂性)、(效率)、(可靠性)、(可维护性)和许多其他的质量特性。
30.软件配置管理是在软件的整个生命周期内管理变化的一组活动。
这组活动包括:
①标志变化,②控制变化,③实现变化,④报告变化。
31.软件的质量可以定义为(用户对软件的满意程度),具体地说,软件质量是软件与(功能和性能需求),(开发标准)以及所有软件产品都应该具有的(隐含特性)相一致的程度
32.软件维护可以分为(改正性维护)、(适应性维护)、(完善性维护)、(预防性维护)等四类。
33.把程序从一种计算环境(硬件配置和操作系统)转移到另一种计算环境的难易程度叫软件的(移植性)。
34.对象是封装了数据结构及可以施加在这些数据结构上的(操作)的封装体,这个封装体可以唯一地标识它的名字,而且向外界提供一组(服务)。
二、单项选择题
1.软件设计中划分程序模块通常遵循的原则是使各模块间的耦合尽可(C)
a)强
b)适中
c)弱
2.若一个模块直接引用另一个模块中的数据,这种类型的耦合称为(E)。
a)公共偶合
b)数据耦合
c)逻辑耦合
d)外部耦合
e)内容耦合
f)控制耦合
3.瀑布模型是()驱动模型
a)功能
b)文档
c)数据
d)时间
4.若一个模块把开关量作为参数传送给另一个模块,这种类型的耦合称为(F)。
a)公共偶合
b)数据耦合
c)逻辑耦合
d)外部耦合
e)内容耦合
f)控制耦合
5.若一个模块通过公共数据结构把数据传送给另一个模块,这种类型的耦合称为(A)。
a)公共偶合
b)数据耦合
c)逻辑耦合
d)外部耦合
e)内容耦合
f)控制耦合
6.以下各种类型的耦合中,(E)的耦合性最强。
a)公共偶合
b)数据耦合
c)逻辑耦合
d)外部耦合
e)内容耦合
f)控制耦合
7.为了高质量地开发软件项目,在软件结构设计时必遵循(C)的原则
a)质量控制
b)程序优化
c)信息隐蔽
d)数据共享
e)模块通信
8.在建立软件系统的模块结构。
应根据(C)评价系统模块划分的质量。
a)数据独立性
b)程序独立性
c)模块独立性
d)可修改性
e)可理解性
9.结构化程序设计方法要求每个(A)结构应是单入口和单出口。
a)程序块
b)公共块
c)数据块
d)记录块
e)通信块
10.开发软件时,对于提高软件开发人员工作效率至关重要的是(A)。
a)程序开发环境
b)操作系统的资源管理功能
c)开发程序人员数量
d)计算机的并行处理能力
11.软件工程中描述软件生存周期的瀑布模型一般包括计划、(D)、设计、编码、测试、维护等几个阶段。
其中,设计阶段在管理上又可以依次分为(概要设计)和(详细设计)两个步骤。
a)问题定义
b)需求调查
c)可行性分析
d)需求分析
12.各种需求分析方法都有它们共同适用的(C)。
a)说明方法
b)描述方式
c)准则
d)基本原则
13.软件需求分析阶段的工作,可以分为以下几个方面;对问题定义、分析与综合、编写需求分析文档以及(C)。
a)总结
b)阶段性报告
c)需求分析评审
d)以上答案都不正确
14.在结构化分析方法中,用以表达系统内数据的运动情况的工具有(A)。
a)数据流图
b)数据词典
c)结构化英语
d)判定表与判定树
15.在结构化分析方法中,用状态迁移图表达系统或对象的行为。
在状态迁移图中,由一个状态和一个事件所决定的下一个状态可能会有(C)个。
a)1
b)2
c)多个
d)不确定
16.软件需求分析的任务不应包括(C)。
a)问题分析
b)信息域分析
c)结构化程序设计
d)确定逻辑模型
17.进行需求分析可使用多种工具;但(C)是不适用的。
a)数据流图
b)判定表
c)PAD图
d)数据词典
18.1960年底Dijkstra提倡的(D)是一种有效的提高程序设计效率的方法。
a)标准化程序设计
b)模块化程序设计
c)多道程序设计
d)结构化程序设计
19.汇编程序是指(C)。
a)用汇编语言写的程序B、
b)符号程序
c)汇编语言的处理程序
20.为了实现递归子程序的正确调用,人们必须用(A)来保存(返回地址)及有关信息。
a)堆栈
b)线性表
c)队列
d)入口点
21.UNIX操作系统是()研制的,它是用程序语言(C)书写实现的。
a)Bell实验室
b)DEC公司
c)IBM公司
d)Microsoft公司
22.允许用户建立、修改、存储正文的计算机程序是(B)。
a)Bootstrap
b)Editor
c)Loader
d)TextFormater
23.FORTRAN语言的源程序是(A)结构。
a)块状
b)分程序嵌套
c)既是块状,又是嵌套
d)既不是块状,又不是嵌套的
24.国际上最广泛使用的商用及行政管理语言是(A)。
a)COBOL
b)BASIC
c)FORTRAN
d)PL/l
25.国际上最流行的数值计算的程序设计语言是(C)。
a)BASIC
b)Algol
c)FORTRAN
d)C
26.美国国防部主持开发了高级程序设计语言Ada,在它研制开始时,经反复比较,确定以高级语言(C)作为Ada研究的出发点。
a)LISP
b)ALGOL
c)ALGOL68
d)PL/l
27.在人工智能领域,目前最广泛使用的高级语言是(D)。
a)Ada
b)FORTRA
c)COBOL
d)LISP
28.下列(A)属于系统软件。
a)WINDOWS2000
b)Word
c)Flash
d)3DMAX
29.下列哪个图是N-S图的构件(C)。
A.B.
C.D.
30.某次程序调试没有出现预计的结果,下列(B)不可能是导致出错的原因。
a)变量没有初始化
b)编写的语句书写格式不规范
c)循环控制出错
d)代码输入有误
31.下列关于程序效率的描述错误的是(C)。
a)提高程序的执行速度可以提高程序的效率
b)降低程序占用的存储空间可以提高程序的效率
c)源程序的效率与详细设计阶段确定的算法的效率无关
d)好的程序设计可以提高效率
32.下列伪码片段的程序流图是(),其环路复杂度是()
33.下列伪码片段的环路复杂度是()
a)2
b)3
c)4
d)5
34.软件过程能力的提高首先需要对当前的软件过程状况进行料学的(C)。
a)度量
b)估算
c)评估
d)管理
36.软件工程学的目的应该是最终解决软件生产的(B)问题。
A.提高软件的开发效率B.使软件生产工程化
C.消除软件的生产危机D.加强软件的质量保证.
37.目前存在有若干种软件生存周期模型。
例如瀑布模型、增量模型、螺旋模型等。
其中规定了由前至后、相互衔接的固定次序的模型是(A)。
A.瀑布模型B.增量模型
c.喷泉模型D.螺旋模型
38、瀑布模型的问题是(B)。
A.用户容易参与开发B.缺乏灵活性
C.用户与开发者易沟通D.适用可变需求
39、系统定义明确之后,应对系统的可行性进行研究。
可行性研究包括(B)
A.软件环境可行性、技术可行性、经济可行性、社会可行性
B.经济可行性、技术可行性、操作可行性
C.经济可行性、社会可行性、系统可行性
D.经济可行性、实用性、社会可行性
40.数据流图是常用的进行软件需求分析的图形工具,其基本符号是(C)。
A.输入、输出、外部实体和加工
B.变换、加工、数据流和存储
c.加工、数据流、数据存储和外部实体
D.变换、数据存储、力IT-和数据流
41.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘图方法中,(B)
是常采用的。
①自顶向下
②自底向上
③分层绘制
④逐步求精
A.全是B.①③④
c.②③④D.①④
42、在软件开发过程中常用图作为描述工具,DFD就是面向(B)分析方法的描述工具。
A数据结构B数据流
C对象D构件(component)
43.结构化分析方法使用的描述工具(B)定义了数据流图中每一个图形元素。
A.数据流图B.数据字典
c.判定表D.判定树
44、软件需求规格说明书的内容不应包括对(B)的描述。
A.主要功能B.算法的详细过程
C.用户界面及运行环境D.软件的性能
45、SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(B)。
A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型
B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型
C.获得当前系统的逻辑模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型
D.获得当前系统的逻辑模型,建立当前系统的物理模型,建立目标系统的物理模型
46.在面向数据流的软件设计方法中,一般将信息流分为(A)。
A.变换流和事务流B.变换流和控制流
c.事务流和控制流D.数据流和控制流
47模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的(C)。
A.抽象和信息隐蔽B.局部化和封装化
c.内聚性和耦合性D.激活机制和控制方法
49.Jackson方法是一种面向(B)的方法。
A.对象B.数据结构
C.数据流D.控制流
50.为了提高测试的效率,应该(D)。
A.随机地选取测试数据
B.取一切可能的输人数据作为测试数据
C.在完成编码以后制定软件的测试计划
D.选择发现错误可能性大的数据作为测试数据
51.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。
A.程序的内部逻辑B.程序的复杂结构
c.使用说明书D.程序的功能
三、多项选择题
1.软件危机可以表现为(A、B、C、D)。
A.产品不符合用户的需要
B.软件产品的质量差
C.软件的可维护性差
D.软件的价格昂贵
2.优秀的程序员经常使用(A、B、C、D)显示他们的经验。
A、空格B、空行C、注释D、缩进
3.下列(B、D)属于主动式防错程序设计。
A.栈的深度是否合适
B.内存检查
C.数组界限是否正确
D.时间检查
4.关于数据流图有关描述中正确的是(A、B、C)。
A.数据流图中不夹带控制流
B.数据流图的主图必须包括数据流图中的四种基本元素
C.数据流图不是系统的执行程序,不是程序流程图
D.加工可以只有输入数据流,没有输出数据流
5.软件维护工作量的数学模型如下为:
M=P+K*e(c-d),其中P是生产性工作量,K为一常数,c为软件的复杂程度,d为维护人员对软件的数熟悉程度。
从这个模型可以看出:
(AD)
A.不使用软件工程学方法指导开发的软件维护起来工作量较大;
B.不使用软件工程学方法指导开发的软件维护起来工作量较小;
C.软件开发人员参加维护工作,维护的工作量将反而加大;
D.软件开发人员参加维护工作,维护的工作量将相对较低;
6.用于需求分析的结构化分析方法很多,这些分析方法大都遵循以下准则(ABCD)
A.必须理解并描述问题的信息域;
B.必须定义软件的功能域;
C.必须描述软件的行为;
D.用层次的方法展示各种模型的细节
7.从下列叙述中选出5条关于好的程序设计风格的正确叙述(①④⑤⑦⑩)
①使用括号以改善表达式的情晰性。
②对递归定义的数据结构不要使用递归过程。
③尽可能对程序代码进行优化。
④不要修补不好前程序,要重新写。
⑤不要进行浮点数的相等比较。
⑥应尽可能多地输出中间结果。
⑦利用数据类型对数据值进行防范。
⑧用计数方法而不是用文件结束符或输入序列结束符来判别输入的结束。
⑨程序中的注释是可有可无的。
⑩使用有意义的标识符。
8.从下列叙述中选出5条关于软件测试的正确叙述。
(①②③④⑧⑩)
①为了使得软件容易测试,应该使用高级的程序设计语言编制程序。
②软件测试是一个程序的执行过程,目的是为了发现软件中隐藏的错误。
③如果程序中连锁式连接了8个判定(IF)结构,则程序中总的路径数可达28。
④白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。
⑤为了快速完成集成测试,采用一次性集成方式是适宜的。
⑥对一批模块进行侧试,被发现的错误多的模块中残留的错误将比其他的模块少。
⑦好的测试用例应能证明软件是正确的。
⑧边界值分析方法是取输入/输出等价类的边界值作为测试用例。
⑨等价类划分方法考虑了各等价类之间取值的组合情况下可能的结果。
⑩判定覆盖法可能查不出在判定中逻辑运算符使用有误时产生的错误。
9.从下列叙述中选出5条有利于软件可维护性的正确叙述。
(①③⑤⑦⑧⑩)
①在进行需求分析时需同时考虑可维护性问题。
②完成测试作业后,为了缩短源程序的长度应删去程序中的注释。
③尽可能在软件生产过程中保证各阶段文档的正确性。
④编程时应尽可能使用全局变量。
⑤选择时间效率和空间效率尽可能高的算法。
⑥尽可能利用硬件的特点。
⑦重视程序结构的设计,使程序具有较好的层次结构。
⑧使用维护工具或支撑环境。
⑨在进行概要设计时应加强模块间的联系。
⑩提高程序的易读性,尽可能使用高级语言编写程序。
10.从下列关于模块化程序设计的叙述中,选出5条正确的叙述。
(②③④⑦⑧)
①程序设计比较方便,但比较难以维护。
②便于由多个人分工编制大型程序。
③软件的功能便于扩充。
④程序易于理解,也便于排错。
⑤在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。
⑥模块之间的接口叫做数据文件。
(可能是数据文件)
⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。
⑧模块间的单向调用关系叫做模块的层次结构。
⑨模块越小模块化的优点越明显。
一般来说,模块的大小都在10行以下。
11.从下列叙述中选出5条符合程序设计风格指导原则的叙述。
(①③⑤⑦⑨)
①嵌套的重数应加以限制。
②尽量多使用临时变量。
③不滥用语言特色。