《软件工程》期末考试复习题及参考答案.docx
- 文档编号:26652960
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:30
- 大小:133.27KB
《软件工程》期末考试复习题及参考答案.docx
《《软件工程》期末考试复习题及参考答案.docx》由会员分享,可在线阅读,更多相关《《软件工程》期末考试复习题及参考答案.docx(30页珍藏版)》请在冰豆网上搜索。
《软件工程》期末考试复习题及参考答案
软件工程复习题
(课程代码252258)
一、填空题(本大题共60小题)
1.数据项是指__不可再分解的___数据单元。
2.软件概要设计的主要任务就是___软件结构的设计___。
3.软件维护的内容包括校正性维持,适应性维护、____完善性维护_____和预防性维护。
4.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和___数据存储对象___。
5.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。
6.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
7.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。
8.软件结构是以模块为基础而组成的一种控制层次结构。
9.在结构化分析中,用于描述加工逻辑的主要工具有结构化语言、判定表和判定表三种。
10.软件工程是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
11.PDL是一种介于___自然语言___和形式化语言之间的半形式化语言。
12.从软件的功能角度划分,协助用户开发软件的工具性软件称为_支撑__软件
13.消除软件结构中高扇入扇出的做法是______增加中间层次的控制模块_____。
14.如果一个软件系统的全部实际加工都由原子模块来完成,而其他所有非原子模块仅仅执行控制或协调功能,这样的系统就是____完全因子分解_____的系统。
15.软件的可移植性是指当把软件移植到不同的运行环境时,不需改变其__规格___就能照原样工作的特性。
16.为满足用户对软件提出的新的要求而对软件进行扩充、改进的维护称为____完善性__维护。
17.将整个软件划分成若干单独命名和可编址的部分,称之为___模块___。
18.软件需求的____物理视图_____给出处理功能和数据结构的实际表示形式。
19.在面向对象的开发技术中,__类___是一组具有相同数据结构和相同操作的对象的集合。
20.软件不存在磨损和老化问题,但却存在着____退化__问题。
21.软件工程的各个阶段中,________概要设计__________阶段是将软件需求转化为数据结构和软件的系统结构。
22.需求分析需要依赖_____分析员、程序员和用户_____三类人员才能完成。
23.OMT是指_____对象模型技术_____。
24.可行性研究主要集中在经济可行性、技术可行性、法律可行性和抉择四个方面。
其中___技术___可行性是最难决断的方面。
25.在JSD方法中,TGM是一种能够用于____同步进程__的机制,它是一个数据记录,表明一个特别时间间隔的存在。
26.需求分析方法由对软件的____数据域和功能域_____的系统分析过程及其表示方法组成。
27.瀑布模型最突出的缺点是____缺乏灵活性____。
28.JSD方法是一种面向____数据结构____的分析和设计方法。
29.SC图中____模块____是用矩形框来表示的。
30.一个面向对象的程序的每一成分应是___对象___,计算是通过新的对象的建立和对象之间的通信来执行的。
31.系统分析的第一步就是____识别用户要求____。
32.Goto语句对程序的_____清晰性___有很大的破坏作用。
33.规定功能的软件,如果在一定程序上对自身错误的作用具有屏蔽能力,则称此软件为具有___容错___功能的软件。
34.软件的___可靠___性表明了一个程序按照用户的要求和设计的目标,执行其功能的正确程度。
35.从一些错误征兆着手,通过分析它们之间的关系来找出错误的方法叫做__归纳__法。
36.一般技术可行性主要考虑___开发的风险____、资源的有效性和技术三个方面。
37.软件实现阶段中,___编码__的任务就是将软件的详细设计转换成用程序设计语言实现的程序代码。
38.按软件的功能分类,设备驱动程序属于___系统__软件。
39.SA方法是面向____数据流____进行需求分析的方法,适合于数据处理类型软件的需求分析。
40._____软件工程过程_____是为获得软件产品,在软件工具支持下由软件工程师完成的一系列软件工程活动。
41.在软件合成技术中,有三种方式将构件合成更大的构件,它们是连接、消息传递和继承以及____管理机制____。
42.提高存储器效率的关键是____程序的简单性____。
43.为了解除软件的开发和运行对计算机系统的依赖性,在软件开发中提出了___软件移植__的问题,并将其作为衡量软件质量的因素之一。
44.在___过程设计____阶段,要决定各个模块的实现算法。
45.测试用例是指输入数据及其___预期的输出结果___。
46.度量模块独立性的两个准则是模块间的____耦合____和模块的__内聚___。
47.在需求分析过程中___数据模型___是首先要集中考虑的问题。
48.Goto语句对程序的___清晰性____有很大的破坏作用。
49.___数据结构____是数据的各个元素之间的逻辑关系的一种表示。
50.第一个真正广泛使用的高级语言是___PL/1___
51.成本效益分析是从____经济____角度评价开发一个新的软件项目是否可行。
52.模块间共享同一全局变量的耦合称为___外部___耦合。
53.按记录的组织方式,文件分为顺序文件、直接存取文件、索引顺序文件、分区文件和虚拟存储文件以及___倒排文件__六种。
54.DFD的中文名称为数据流程图,它以图形的方式刻画数据流从____输入到输出____的移动变换过程。
55.所有软件定义与开发工作最终是为了解决____数据处理____问题,也就是将一种形式的数据转换成另一种形式的数据。
其转换过程必定经历___输入___、加工数据和产生结果数据。
56.___耦合___是模块之间的相对独立性(相互连接的紧密程度)的度量。
57.自顶向下,逐步细化的过程实际上是一个___反复推敲____的过程。
58.机器语言和汇编语言都称为面向___机器___的语言。
59.软件的特点之一是开发过程中没有明显的____制造过程____。
60.如果数据设计得好,往往能产生很好的____模块独立性____,具有很强的___和较低的___程序复杂性____。
二、单项选择题(本大题共65小题)
1.快速原型模型的主要特点之一是()
A)开发完毕才见到产品B)及早提供全部完整的软件产品
C)开发完毕后才见到工作软件D)及早提供工作软件
参考答案:
D
2.对象模型技术的三个模型中最关键的一个模型是()。
A)功能模型B)行为模型C)动态模型D)对象模型
参考答案:
D
3.以下内聚性最强的是()
A)逻辑内聚B)时间内聚C)功能内聚D)通信内聚
参考答案:
C
4.结构化分析(SA)方法是一种()的分析方法。
A)面象对象B)面象数据流C)面象数据结构D)面象过程
参考答案:
B
5.软件结构图中,模块框之间若有直线连接,表示它们之间存在()
A)调用关系 B)组成关系 C)链接关系D)顺序执行关系
参考答案:
A
6.结构化分析(SA)方法是一种()的分析方法。
A)面向对象B)面向过程C)面向数据结构D)面向数据流
参考答案:
D
7.软件生存周期中重要的一步,也是决定性的一步是()。
A)需求分析B)软件设计C)程序编写D)软件测试
参考答案:
A
8.在以下度量模块独立性的内聚准则的部分内聚类型中,内聚性最强的是()。
A)逻辑内聚B)时间内聚C)功能内聚D)通信内聚
参考答案:
C
9.α测试和β测试是在()阶段进行的。
A)单元测试B)组装测试C)确认测试D)系统测试
参考答案:
C
10.软件工程的三要素是()。
A)方法、工具和文档B)方法、工具和过程
C)方法、文档和人D)方法、过程和人
参考答案:
B
11.允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试的测试用例设计方法是()。
A)黑盒测试B)白盒测试C)选择测试D)穷举测试
参考答案:
B
12.模块的基本属性是()。
A)名称、功能和逻辑B)名称、逻辑和状态
C)功能、逻辑和状态D)名称、逻辑和状态
参考答案:
C
13.又称为有效性测试的是()。
A)单元测试B)组装测试C)确认测试D)系统测试
参考答案:
C
14.在结构化设计(SD)方法中全面指导模块划分的最重要的原则是()
A)程序模块化B)模块高内聚C)模块低耦合D)模块独立性
参考答案:
D
15.选择程序设计语言时()是最重要的因素。
A)项目的应用范围B)算法复杂性C)软件执行环境D)开发人员水平
参考答案:
A
16.使用程序设计的控制结构导出测试用例的测试方法属于()
A)黑盒测试B)白盒测试C)边界测试D)系统测试
参考答案:
B
17.N-S图,也称盒图,是()时使用的一种图形工具。
A)系统结构设计B)过程设计C)数据设计D)接口设计
参考答案:
B
18.需求分析最终结果是产生()
A)项目开发计划B)需求规格说明书
C)设计说明书D)可行性分析报告
参考答案:
B
19.软件模块结构改进的几种试探性原则中,控制范围和作用范围原则是指()。
A)控制范围在作用范围之外B)作用范围在控制范围之外
C)作用范围在控制范围之内D)控制范围在作用范围之内
参考答案:
C
20.在一个类中,每个对象都是类的()。
A)实例B)子集C)元素D)成员
参考答案:
A
21.以下不是软件需求分析时进行系统动态分析的图形工具是()。
A)状态迁移图B)时序图C)Petri网D)E-R图
参考答案:
D
22.数据流图(DFD图)中表示“加工”的图形符号是()。
A)箭头B)双横线C)矩形框D)圆
参考答案:
D
23.以下不是软件需求分析时进行系统动态分析的图形工具是()。
A)状态迁移图B)时序图C)Petri网D)E-R图
参考答案:
D
24.软件结构图(SC图)中一个模块的扇入是指()。
A)该模块的所有上层模块数B)该模块的所有下层模块数
C)直接调用该模块的所有上层模块数D)该模块直接调用的所有下层模块数
参考答案:
C
25.版本控制是属于()的一项技术。
A)软件分析B)软件配置管理C)软件设计D)软件编码
参考答案:
B
26.结构化程序设计的原则中要求每一个控制结构()。
A)只能有一个入口和一个出口B)可以有一个入口和多个出口
C)可以有多个入口和一个出口D)可以有多个入口和多个出口
参考答案:
A
27.软件开发的资源中,()是最重要的资源。
A)人力资源B)硬件资源C)软件资源D)软件复用性及软件部件库
参考答案:
C
28.软件是一种抽象的()
A)程序 B)数据 C)逻辑产品 D)物理产品
参考答案:
C
29.内聚和藕合是用于度量模块的()的两个指标。
A.独立性B.复杂性C.规模D.可维护性
参考答案:
A
30.软件结构图(SC图)中一个模块的扇出是指()。
A)该模块的所有上层模块数B)该模块的所有下层模块数
C)直接调用该模块的所有上层模块数D)该模块直接调用的所有下层模块数
参考答案:
D
31.因计算机硬件和软件环境的变化而作出的修改软件的过程称为()
A)纠正性维护B)适应性维护C)完善性维护D)预防性维护
参考答案:
B
32.软件项目计划的第一项活动是确定软件的()。
A)定义B)范围C)用户D)成本
参考答案:
B
33.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:
-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是()
A)条件覆盖法B)等价分类法C)边界值分析法D)错误推测法
参考答案:
C
34.以下不属于McCall软件质量模型中的质量特性的是()。
A)结构性B)完整性C)正确性D)效率
参考答案:
A
35.软件详细设计的主要任务是确定每个模块的()
A)算法和数据结构B)外部接口C)功能D)编程语言
参考答案:
A
36.软件测试的策略将测试过程按4个步骤进行,以下与程序编码阶段同一阶段进行的测试是()。
A)单元测试B)组装测试C)确认测试D)系统测试
参考答案:
A
37.可行性研究主要集中在以下四个方面,其中()是最难决断的方面。
A)经济可行性B)技术可行性C)法律可行性D)抉择
参考答案:
B
38.如果一个软件系统是使用类、对象、()和通信这4个概念设计和实现的,则可以认为这个软件系统是面向对象的。
A)继承B)复用C)重载D)多态
参考答案:
A
39.数据流图(DFD图)是()中使用的图形表达工具。
A)JSD方法B)OMT方法C)SA方法D)Booch方法
参考答案:
C
40.JSD方法的需求分析阶段不包括()。
A)功能描述B)实体动作分析C)实体结构分析D)定义初始模型
参考答案:
A
41.以下不属于面向对象开发方法的是()
A)SA/SD方法B)Coad与Yourdon方法C)OMT方法D)Bootch方法
参考答案:
A
42.以下不是调试的任务的是()。
A)找出程序是否有错B)找出错误的位置
C)找到程序错误原因D)纠正找到的错误
参考答案:
A
43.若有一个计算型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:
-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是()。
A)条件覆盖法B)等价分类法C)错误推测法D)边界值分析法
参考答案:
D
44.软件需求分析就是把软件功能和性能总体概念描述为具体的(B)。
A)项目开发计划B)软件需求规格说明C)设计说明书D)可行性分析报告
45.目前流行的C语言属于第(C)代程序设计语言。
参看:
P192
A)一B)二C)三D)四
46.软件开发的资源中,(C)是最重要的资源。
A)人力资源B)硬件资源C)软件资源D)软件复用性及软件部件库
47.数据流图(DFD图)中表示“加工”的图形符号是(D)。
A)箭头B)双横线C)矩形框D)圆
48.N-S图,也称盒图,是(B)时使用的一种图形工具。
A)系统结构设计B)过程设计C)数据设计D)接口设计
49.结构化程序设计的原则中要求每一个控制结构(A)。
A)只能有一个入口和一个出口B)可以有一个入口和多个出口
C)可以有多个入口和一个出口D)可以有多个入口和多个出口
50.可行性研究主要集中在以下四个方面,其中(B)是最难决断的方面。
A)经济可行性B)技术可行性C)法律可行性D)抉择
51.允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试的测试用例设计方法是(B)。
A)黑盒测试B)白盒测试C)选择测试D)穷举测试
52.软件需求分析的主要任务是解决目标系统的(A)的问题。
A)做什么B)怎么做C)是否做 D)对谁做
53.以下不是软件需求分析时进行系统动态分析的图形工具是(D)。
A)状态迁移图B)时序图C)Petri网D)E-R图
54.CASE是(D)的英文简称。
A)计算机软件B)软件工程C)计算机工程D)计算机辅助软件工程
55.因计算机外部环境或数据的变化而做出的修改软件的过程称为(C)。
A)纠正性维护B)完善性维护C)适应性维护D)预防性维护
56.版本控制是属于(B)的一项技术。
A)软件分析B)软件配置管理C)软件设计D)软件编码
57.软件项目计划的第一项活动是确定软件的(B)。
A)定义B)范围C)用户D)成本
58.α测试和β测试是在(C)阶段进行的。
A)单元测试B)组装测试C)确认测试D)系统测试
59.数据流图(DFD图)是(C)中使用的图形表达工具。
A)JSD方法B)OMT方法C)SA方法D)Booch方法
60.数据字典是对数据定义信息的集合,它所定义的对象都包含于(A)
A)数据流图B)程序框图C)软件结构D)方框图
61.以下不是软件需求分析时进行系统动态分析的图形工具是(D)。
A)状态迁移图B)时序图C)Petri网D)E-R图
62.以下过程设计表达工具中,不是图形工具的是(D)。
A)PFCB)N-SC)PADD)PDL
63.软件度量各种方法中的LOC度量法是一种(B)。
A)面向规模的间接度量B)面向规模的直接度量
C)面向功能的间接度量D)面向功能的直接度量
64.在以下度量模块独立性的内聚准则的部分内聚类型中,内聚性最弱的是(A)。
A)逻辑内聚B)时间内聚C)功能内聚D)通信内聚
65.软件模块结构改进的几种试探性原则中,控制范围和作用范围原则是指(C)。
A)控制范围在作用范围之外B)作用范围在控制范围之外
C)作用范围在控制范围之内D)控制范围在作用范围之内
三、名词解释(本大题共10小题)
1.软件工程
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
软件工程主要包括软件开发技术和软件工程管理两方面的内容。
软件工程的三要素是方法、工具和过程。
2.数据词典(DD)
数据字典的任务是对于数据流图中出现的所有被命名的图形元素在数据词典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。
数据词典中所有的定义应是严密的、精确的,不可有半点含混,不可有二义性。
3.软件生存周期模型
软件生存周期模型是从软件项目需求定义直到软件经使用后废弃为止,跨越整个生存期的系统开发、动作和维护所实施的全部过程,活动和任务的结构框架。
目前有多种软件生存期模型,如瀑布模型、演化模型、螺旋模型、喷泉模型等。
4.SA方法
SA是指结构化分析方法。
结构化分析方法是需求分析中使用最多的方法之一,适用于数据处理类型软件的需求分析。
基本思想是采用自顶向下,逐步分解的方法分析整个系统,有效地控制系统开发的复杂性。
5.可行性研究
可行性研究是指综合研究一个软件项目是否可以进行或者是否值得进行。
可行性研究的主要内容包括经济可行性,技术可行性,社会可行性(法律可行性)以及可行方案的选择等方面。
6.文档
文档是指记录软件生产和维护过程的文字资料。
在软件工程中,文档常常用来表示对活动、需求、过程或结果进行描述、定义、规定、报告或认证的任何书面或图示的信息。
它们描述和规定了软件设计和实现的细节,说明使用软件的操作命令。
文档也是软件产品的一部分,没有文档的软件就不成其为软件。
7.软件工程的三要素
软件工程的三要素是:
方法、工具和过程
软件工程方法为软件开发提供了“如何做”的技术;软件工具为软件工程方法提供了自动或半自动的支撑环境;软件工程的过程是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。
8.容错软件
容错软件的定义很多,归纳起来有以下4种:
1)在一定程度上对自身错误的作用具有屏蔽能力
2)在一定程度上能从错误状态自动恢复到正常状态
3)在因错误而发生错误时,仍然能在一定程度上完成预期的的功能
4)在一定程序上具有容错能力
9.模块的独立性
模块独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其它的模块的接口是简单的。
一般采用模块间的耦合和模块的内聚这两个准则来度量模块的独立性。
10.SADT
SADT是结构化分析设计技术的英文简称。
是D.T.Ross等人于1977年提出来的一种结构化分析与设计的技术,已广泛用于系统定义,软件需求分析,系统设计与软件设计。
四、简答题.
1、什么是软件危机?
产生原因是什么?
参考答案:
软件开发技术的进步未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。
产生原因:
⑴软件规模越来越大,结构越来越复杂。
⑵软件开发管理困难而复杂。
⑶软件包开发费用不断增加。
⑷软件开发技术落后。
⑸生产方式落后,仍采用手工方式。
⑹开发工具落后,生产率提高缓慢。
2、什么是软件开发方法?
有哪些主要方法?
参考答案:
使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。
通过使用成功的软件开发方法,在规定的投资和时间内,开发出符合用户需求的高质量的软件。
软件开发方法是克服软件危机的重要方面之一,对软件工程及软件包产业的发展起了不可估量的作用。
主要有:
结构化方法,JACKSON方法,维也纳开发方法﹙VDM﹚,面向对象开发方法。
3、软件的一生会经历哪几个阶段?
各个阶段的任务是什么?
。
参考答案:
正如同任何事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程。
一般称其为计算机软件的生存期。
软件生存周期的六个步骤:
1)制定计划。
确定系统目标,给出它的功能、性能、可靠性以及接口等方面的要求,研究完成软件任务的可行性,制定完成开发任务的实施计划。
2)需求分析和定义。
对待开发软件提出的需求进行分析并给出详细的定义,然后编写出软件软件需求说明书或系统功能说明书。
3)软件设计。
由设计人员把已确定了的各项需求转换成一个相应的体系结构,并进一步对每一个模块要完成的工作进行具体的描述。
4)程序编写。
把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的源程序清单。
5)软件测试。
在设计测试用例的基础上检验软件的各个组成部分。
6)运行/维护。
软件投入正式使用并对软件在运行过程中可能由于多方面的原因,需要对它进行修改。
4、4.成本--效益分析可用哪些指标进行度量?
参考答案:
⑴.投资回收率:
通常把建立系统若干年后能取得的收益折算成现在的价值和开发系统所需的费用进行比较得出投资回收率。
⑵.投资回收期:
就是使累计的经济效益等于最初的投资费用所需的时间。
⑶.纯收入:
整个生存周期之内的累计经济效益(折成现在值)与投资之差。
5、软件设计的基本原理包括哪些内容
参考答案:
软件设计的基本原理包括:
⑴模块化:
模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成
整体,可以满足问题的要求。
模块化即按照一定的原则,将软件划分成若干个模块,每个模块完成一个特定的功能,然后把这些模块按照某种方法组装成一个软件系统。
(可降低复杂度、减少工作量)
模块具有以下几种特性:
接口:
模块的输入输出。
功能:
指模块实现什么功能。
逻辑:
描述模块内部如何实现要求及所需的数据。
状态:
该模块的运行环境,模块间调用与被调用关系。
⑵抽
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 期末考试 复习题 参考答案