1、国家二级公共基础知识(软件工程基础)-试卷 3及答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.选择题下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。(分数:2.00)_2.下列描述中正确的是(分数:2.00)A.软件交付使用后还需要再进行维护B.软件工具交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令3.下面不属于软件设计原则的是(分数:2.00)A.抽象B.模块化C.自底向上D.信息隐藏4.下面不属于软件需求分析阶段主要工作的是(分数:2.00
2、)A.需求变更申请B.需求分析C.需求评审D.需求获取5.下面不属于需求分析阶段任务的是(分数:2.00)A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划6.在软件生命周期中,能准确确定软件系统必须做什么和必须具备哪些功能的阶段是(分数:2.00)A.概要设计B.详细设计C.可行性分析D.需求分析7.在软件开发中,需求分析阶段可以使用的工具是(分数:2.00)A.N-S图B.DFD图C.PAD图D.程序流程图8.数据流图中带有箭头的线段表示的是(分数:2.00)A.控制流B.事件驱动C.模块调用D.数据流9.在软件设计中不使用的工具是(分数:2
3、.00)A.系统结构图B.PAD图C.数据流图(DFD 图)D.程序流程图10.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符名标识的图符不属于数据流图合法图符的是(分数:2.00)A.控制流B.加工C.数据存储D.源和潭11.在软件设计中,不属于过程设计工具的是(分数:2.00)A.PDL(过程设计语言)B.PAD图C.NS图D.DFD图12.数据流程图(DFD 图)是(分数:2.00)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具13.数据字典(DD)所定义的对象都包含于(分数:2.00)A.数据流图(
4、DFD 图)B.程序流程图C.软件结构图D.方框图14.下列关于数据库设计的叙述中,正确的是(分数:2.00)A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典15.在软件开发中,需求分析阶段产生的主要文档是(分数:2.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书16.软件需求规格说明书的作用不包括(分数:2.00)A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件设计的依据D.软件可行性研究的依据17.在软件开发中,需求分析阶段产生的主要文档是(分数:2.00)A.可
5、行性分析报告B.软件需求规格说明书C.概要设计说明书D.集成测试计划18.从工程管理角度看,软件设计一般分为两步完成,它们是(分数:2.00)A.概要设计与详细设计B.数据设计与接口设计C.软件结构设计与数据设计D.过程设计与数据设计19.下面不属于软件设计阶段任务的是(分数:2.00)A.软件总体设计B.算法设计C.制定软件确认测试计划D.数据库设计20.软件设计中模块划分应遵循的准则是(分数:2.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合21.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是(分数:2.00)A.提高耦合性降低内聚性有利:于二提高模
6、块的独立性B.降低耦合性提高内聚性有利于提高模块的独立性C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度22.软件设计中划分模块的一个准则是(分数:2.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合23.两个或两个以上模块之间关联的紧密程度称为(分数:2.00)A.耦合度B.内聚度C.复杂度D.数据传输特性24.在结构化程序设计中,模块划分的原则是(分数:2.00)A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度25.下面不能作为结构化方法软件需求分析
7、工具的是(分数:2.00)A.系统结构图B.数据字典(DD)C.数据流程图(DFD 图)D.判定表26.下面描述中错误的是(分数:2.00)A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具27.程序流程图中带有箭头的线段表示的是(分数:2.00)A.图元关系B.数据流C.控制流D.调用关系28.下面叙述中错误的是(分数:2.00)A.软件测试的目的是发现错误并改正错误B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试应严格执行测试
8、计划,排除测试的随意性29.软件测试的目的是(分数:2.00)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误30.检查软件产品是否符合需求定义的过程称为(分数:2.00)A.确认测试B.集成测试C.验证测试D.验收测试31.下列描述中正确的是(分数:2.00)A.软件测试的主要目的是发现程序中的错误B.软件测试的主要目的是确定程序中错误的位置C.为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D.软件测试是证明软件没有错误32.下列对于软件测试的描述中正确的是(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运
9、行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则33.下列描述中正确的是(分数:2.00)A.软件测试应该由程序开发者来完成B.程序经调试后一般不需要再测试C.软件维护只包括对程序代码的维护D.以上三种说法都不对34.在黑盒测试方法中,设计测试用例的主要根据是(分数:2.00)A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图35.下面属于黑盒测试方法的是(分数:2.00)A.语句覆盖B.逻辑覆盖C.边界值分析D.路径覆盖36.下面属于白盒测试方法的是(分数:2.00)A.等价类划分法B.逻辑覆盖C.边界值分析法D.错误推测法37.下
10、面不属于软件测试实施步骤的是(分数:2.00)A.集成测试B.回归测试C.确认测试D.单元测试38.软件(程序)调试的任务是(分数:2.00)A.诊断和改正程序中的错误B.尽可能多地发现程序中的错误C.发现并改正程序中的所有错误D.确定程序中错误的性质39.程序调试的任务是(分数:2.00)A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误40.软件调试的目的是(分数:2.00)A.发现错误B.改正错误C.改善软件的性能D.验证软件的正确性国家二级公共基础知识(软件工程基础)-试卷 3答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分
11、数:80.00)1.选择题下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。(分数:2.00)_解析:2.下列描述中正确的是(分数:2.00)A.软件交付使用后还需要再进行维护 B.软件工具交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令解析:解析:通常将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。软件生命周期分为软件定义、软件开发及软件运行维护三个阶段。已交付的软件投入运行后,应在运行使用中不断地维护,根据新提出的需要进行必要而且可能的扩充和删改。3.下面不属于软件设计原则
12、的是(分数:2.00)A.抽象B.模块化C.自底向上 D.信息隐藏解析:解析:软件设计的基本原则包括抽象、信息隐藏、模块化、局部化、确定性、一致性、完备性和可验证性。4.下面不属于软件需求分析阶段主要工作的是(分数:2.00)A.需求变更申请 B.需求分析C.需求评审D.需求获取解析:解析:在软件开发的过程中,应该尽早的制定测试计划,其中在需求分析阶段制定系统测试计划,在概要设计阶段制定集成测试计划,在详细设计阶段制定单元测试计划。5.下面不属于需求分析阶段任务的是(分数:2.00)A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划 解析:解析:
13、需求分析阶段的工作可分为 4个阶段:需求获取、需求分析、编写需求规格说明书、需求评审。6.在软件生命周期中,能准确确定软件系统必须做什么和必须具备哪些功能的阶段是(分数:2.00)A.概要设计B.详细设计C.可行性分析D.需求分析 解析:解析:软件需求是指用户对目标软件系统在功能、行为、设计约束等方面的期望。需求分析的任务是发现需求、求精、建模和定义需求的过程。7.在软件开发中,需求分析阶段可以使用的工具是(分数:2.00)A.N-S图B.DFD图 C.PAD图D.程序流程图解析:解析:在软件开发中,需求分析阶段常使用的工具有数据流图(DFD),数据字典(DD)、判断树和判断表。8.数据流图中
14、带有箭头的线段表示的是(分数:2.00)A.控制流B.事件驱动C.模块调用D.数据流 解析:解析:数据流图是从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。其中带箭头的线段表示数据流,沿箭头方向传递数据的通道,一般在旁边标注数据流名。9.在软件设计中不使用的工具是(分数:2.00)A.系统结构图B.PAD图C.数据流图(DFD 图) D.程序流程图解析:解析:在软件开发的各个阶段经常会使用到一些图形工具,如在需求分析阶段使用数据流图(DFD图),在概要设计阶段使用系统结构图,在详细设计阶段使用程序流程图、N-S 图或者 PAD图等。10.数据流图用于抽象描述一个软件的逻辑模型,
15、数据流图由一些特定的图符构成。下面图符名标识的图符不属于数据流图合法图符的是(分数:2.00)A.控制流 B.加工C.数据存储D.源和潭解析:解析:数据流图中的主要图形元素有加工(转换)、数据流、存储文件(数据源)、源和潭等。11.在软件设计中,不属于过程设计工具的是(分数:2.00)A.PDL(过程设计语言)B.PAD图C.NS图D.DFD图 解析:解析:DFD(数据流图 DataFlowDiagram)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示。它直接支持系统功能建模。在软件详细设计的过程阶段,要对每个模块规定的功能以及算法的设计给出适当的算法描述。常见的过程设计工具有: 图
16、形工具:程序流程图,NS,PAD,HIPO。 表格工具:判定表。 语言工具:PDL(伪码)。12.数据流程图(DFD 图)是(分数:2.00)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具 D.面向对象方法的需求分析工具解析:解析:本题考查数据流程图 DFD的概念。对于面向数据流的结构化分析方法,按照 DeMarco的定义,“结构化分析就是使用数据流图(DFD)、数据字典(DD)、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化规格说明的目标文档”。结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,
17、建立系统的逻辑模型。数据流图(DFDData Flowr Diagram)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。由此可得数据流程图是结构化方法的需求分析工具。13.数据字典(DD)所定义的对象都包含于(分数:2.00)A.数据流图(DFD 图) B.程序流程图C.软件结构图D.方框图解析:解析:数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。14.下列关于数据库设计的叙述中,正确的是(分
18、数:2.00)A.在需求分析阶段建立数据字典 B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典解析:解析:数据库设计目前一般采用生命周期法,即将整个数据库应用系统的开发分解成目标独立的若干阶段。分别是:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段。数据字典是对系统中数据的详尽描述,是各类数据属性的清单。对数据设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。15.在软件开发中,需求分析阶段产生的主要文档是(分数:2.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软
19、件需求规格说明书 解析:解析:在软件开发过程中,需求分析阶段产生的主要文档是软件需求规格说明书。16.软件需求规格说明书的作用不包括(分数:2.00)A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件设计的依据D.软件可行性研究的依据 解析:解析:软件规格说明书主要有三个作用: 用户和软件开发人员之间的合同; 开发人员进行设计和编程的依据; 软件工程项目验收的依据。17.在软件开发中,需求分析阶段产生的主要文档是(分数:2.00)A.可行性分析报告B.软件需求规格说明书 C.概要设计说明书D.集成测试计划解析:解析:需求分析的最终结果是生成软件需要规格说明书,可以为用户、分析
20、人员和设计人员之间的交流提供方便,可以直接支持目标与确认,又可以作为控制软件开发进程的依据。18.从工程管理角度看,软件设计一般分为两步完成,它们是(分数:2.00)A.概要设计与详细设计 B.数据设计与接口设计C.软件结构设计与数据设计D.过程设计与数据设计解析:解析:软件设计是开发阶段最重要的步骤。从工程管理的角度来看可分为两步:概要设计和详细设计。概要设计是将软件需求转化为软件体系结构,确定系统级接口、全局数据结构或数据库模式;详细设计是指确立每个模块的实现算法和局部数据结构,用适应方法表示算法和数据结构的细节。从技术观点来看,软件设计包括软件结构设计(定义软件系统各主要部件之间的关系)
21、、数据设计(将分析时创建的模型转化为数据结构)、接口设计(描述软件内部、软件与协作系统之间以及软件与人之间如何通信)、过程设计(把系统结构部件转换成软件的过程)四个步骤。19.下面不属于软件设计阶段任务的是(分数:2.00)A.软件总体设计B.算法设计C.制定软件确认测试计划 D.数据库设计解析:解析:软件设计阶段总体分为两部分:概要设计和详细设计,此阶段的主要任务就是将需求规格说明文档转换为软件设计文档,将需求阶段提出的问题,一一解释,形成详细设计文档,并根据功能要求,定制相应数据结构、各种流程图等,为下一步编码做准备。20.软件设计中模块划分应遵循的准则是(分数:2.00)A.低内聚低耦合
22、B.高内聚低耦合 C.低内聚高耦合D.高内聚高耦合解析:解析:耦合性和内聚性是模块独立性的两个定性标准,各模块的内聚性越强,则耦合性越弱。软件设计应该遵循高内聚低耦合。21.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是(分数:2.00)A.提高耦合性降低内聚性有利:于二提高模块的独立性B.降低耦合性提高内聚性有利于提高模块的独立性 C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度解析:解析:耦合性是反映模块间互相连接的紧密程度,内聚性是指一个模块内部各个元素问彼此接合的紧密程序。提高模块的内聚性,降低模块的耦合性是有利于模块的独立性
23、。22.软件设计中划分模块的一个准则是(分数:2.00)A.低内聚低耦合B.高内聚低耦合 C.低内聚高耦合D.高内聚高耦合解析:解析:耦合性与内聚性是模块独立性的两个定性标准。一般一个较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。23.两个或两个以上模块之间关联的紧密程度称为(分数:2.00)A.耦合度 B.内聚度C.复杂度D.数据传输特性解析:解析:模块的独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系较少且接口简单。衡量软件的模块独立性使用:内聚性和耦合性两个定性度量标准。内聚性是对一个模块内部各个元素彼
24、此结合的紧密程度的度量;耦合性是对模块间互相连接的紧密程度的度量。一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之问的耦合性和提高模块内的内聚性,有利于提高模块的独立性。24.在结构化程序设计中,模块划分的原则是(分数:2.00)A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度 解析:解析:内聚性是对一个模块内部各个元素间彼此结合的紧密程度的度量。耦合性是对模块间互相连接的紧密程度的度量。在结构化程序设计中,模块划分应遵循高内聚、低耦合的原则,即减弱模块之间的耦合性和提高模块内聚性,有利于提高软件模块的独立
25、性。25.下面不能作为结构化方法软件需求分析工具的是(分数:2.00)A.系统结构图 B.数据字典(DD)C.数据流程图(DFD 图)D.判定表解析:解析:按照 DeMarco的定义,“结构化分析就是使用数据流图(DFD 图)、数据字典(DD)、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化规格说明的目标文档。”系统结构图不能作为结构化方法软件需求分析工具。26.下面描述中错误的是(分数:2.00)A.系统总体结构图支持软件系统的详细设计 B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具解析:解析:软件设
26、计是将软件需求转换为软件表示的过程;数据结构与数据库设计是软件设计的任务之一;PAD 图,即问题分析图,是一种主要用于描述软件详细设计的图形工具。27.程序流程图中带有箭头的线段表示的是(分数:2.00)A.图元关系B.数据流C.控制流 D.调用关系解析:解析:程序流程图是一种传统的、应用广泛的软件过程设计工具,通常也称为程序框图。其中,用带箭头的线段表示控制流,用柜形表示加工步骤,用菱形表示逻辑条件。28.下面叙述中错误的是(分数:2.00)A.软件测试的目的是发现错误并改正错误 B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试应严格执行测
27、试计划,排除测试的随意性解析:解析:软件测试是为了发现错误而执行程序的过程。软件测试要严格执行测试计划,排除测试的随意性。程序调试通常也称 Debug,对被调试的程序进行“错误“定位是程序调试的必要步骤。29.软件测试的目的是(分数:2.00)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误 解析:解析:软件测试的目的是为了发现程序中的错误,而软件调试是为了更正程序中的错误。30.检查软件产品是否符合需求定义的过程称为(分数:2.00)A.确认测试 B.集成测试C.验证测试D.验收测试解析:解析:确定测试是验证软件的功能和性能及其他特性是否满足了需求规格说明
28、书中确定的各种需求以及软件配置是否完全、正确。31.下列描述中正确的是(分数:2.00)A.软件测试的主要目的是发现程序中的错误 B.软件测试的主要目的是确定程序中错误的位置C.为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D.软件测试是证明软件没有错误解析:解析:软件测试是为了发现错误而执行程序的过程。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。为了达到好的测试效果,应该由独立的第三方来构造测试,程序员应尽量避免检查自己的程序。32.下列对于软件测试的描述中正确的是(分数:2.00)A.软件测试的目的是证明程序
29、是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误 D.软件测试的目的是使程序符合结构化原则解析:解析:软件测试是为了发现错误而执行程序的过程。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。软件测试的目的要以查找错误为中心,而不是为了演示软件的正确功能。33.下列描述中正确的是(分数:2.00)A.软件测试应该由程序开发者来完成B.程序经调试后一般不需要再测试C.软件维护只包括对程序代码的维护D.以上三种说法都不对 解析:解析:为了达到好的测试效果,应该由独立的第三方进行测试工作。因为从心理
30、学角度讲,程序人员或设计方在测试自己的程序时,要采取客观的态度是会不同程度地存在障碍的,所以选项 A)错误。在程序调试时,修改了一个错误的同时可能引入了新的错误,解决的办法是在修改了错误之后,必须进行回归测试,所以选项 B)错误。所谓软件维护,就是将交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改,所以选项 C)错误。34.在黑盒测试方法中,设计测试用例的主要根据是(分数:2.00)A.程序内部逻辑B.程序外部功能 C.程序数据结构D.程序流程图解析:解析:黑盒测试法指的是根据程序的外部功能,把程序本身看成一个黑盒子,设计测试用例来验证程序外部功能的正
31、确性。35.下面属于黑盒测试方法的是(分数:2.00)A.语句覆盖B.逻辑覆盖C.边界值分析 D.路径覆盖解析:解析:采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。36.下面属于白盒测试方法的是(分数:2.00)A.等价类划分法B.逻辑覆盖 C.边界值分析法D.错误推测法解析:解析:白盒测试的主要方法有逻辑覆盖、基本路径测试等。37.下面不属于软件测试实施步骤的是(分数:2.00)A.集成测试B.回归测试 C.确认测试D.单元测试解析:解析:软件测试实施的步骤有单元测试、集成测试和确认测试。38.软件(程序)调试的任务是(分数:2.00)A.诊断和改正程
32、序中的错误 B.尽可能多地发现程序中的错误C.发现并改正程序中的所有错误D.确定程序中错误的性质解析:解析:在对程序进行了成功的测试之后将进入程序调试(通常称 Debug,即排错)。程序调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能多地发现软件中的错误。先要发现软件的错误,然后借助于一定的调试工具去执行并找出错误的具体位置。软件测试贯穿整个软件生命期,调试主要在开发阶段。39.程序调试的任务是(分数:2.00)A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误 解析:解析:程序调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能多地发现软件中的错误。先要发现软件的错误,然后借助于一定的调试工具去执行并找出错误的具体位置。软件测试贯穿整个软件生命期,调试主要在开发阶段。40.软件调试的目的是(分数:2.00)A.发现错误B.改正错误 C.改善软件的性能D.验证软件的正确性解析:解析:软件调试的任务是诊断和改正程序中的错误。程序调试活动由两部分组成,一是根据错误的迹象确定程序中的错误的确切性质、原因和位置。二是对程序进行修改,排除这个错误。