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