1、国家二级 VF机试(软件工程基础)模拟试卷 2及答案与解析 一、选择题 1 构成计算机软件的是 ( A)源代码 ( B)程序和数据 ( C)程序和文档 ( D)程序、数据及相关文档 2 下列描述中正确的是 ( A)程序就是软件 ( B)软件开发不受计算机系统的限制 ( C)软件既是逻辑实体,又是物理实体 ( D)软件是程序、数据与相关文档的集合 3 软件按功能可以分为:应用软件、系统软件和支撑软件 (或工具软件 )。下面属于应用软件的是 ( A)编译程序 ( B)操作系统 ( C)教务管理系统 ( D)汇编程序 4 下面描述中,不属于软件危机表现的是 ( A)软件过程不规范 ( B)软件开发生
2、产率低 ( C)软件质量难以控制 ( D)软件成本不断提高 5 下面不属于软件工程的 3个要素是 ( A)工具 ( B)过程 ( C)方法 ( D)环境 6 软件生命周期是指 ( A)软件产品从提出、实现、使用维护到停止使用退役的过程 ( B)软件从需求分析、设计、实现到测试完成的过程 ( C)软件的开发过程 ( D)软件的运行维护过程 7 软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开 发阶段任务的是 ( A)测试 ( B)设计 ( C)可行性研究 ( D)实现 8 软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于 ( A)定义阶段 ( B)开发阶段 ( C)维护阶
3、段 ( D)上述三个阶段 9 下面不属于软件设计原则的是 ( A)抽象 ( B)模块化 ( C)自底向上 ( D)信息隐藏 10 下面不属于需求分析阶段任务的是 ( A)确定软件系统的功能需求 ( B)确定软件系统的性能需求 ( C)需求规格说明书评审 ( D)制定软件集成测试计划 11 在软件开发中 ,需求分析阶段可以使用的工具是 ( A) N-S图 ( B) DFD图 ( C) PAD图 ( D)程序流程图 12 在软件设计中不使用的工具是 ( A)系统结构图 ( B) PAD图 ( C)数据流图 (DFD图 ) ( D)程序流程图 13 在软件设计中,不属于过程设计工具的是 ( A) P
4、DL(过程设计语言 ) ( B) PAD图 ( C) N-S图 ( D) DFD图 14 数据字典 (DD)所定义的对象都包含于 ( A)数据流图 (DFD图 ) ( B)程序流程图 ( C)软件结构图 ( D)方框图 15 在 软件开发中,需求分析阶段产生的主要文档是 ( A)软件集成测试计划 ( B)软件详细设计说明书 ( C)用户手册 ( D)软件需求规格说明书 16 在软件开发中,需求分析阶段产生的主要文档是 ( A)可行性分析报告 ( B)软件需求规格说明书 ( C)概要设计说明书 ( D)集成测试计划 17 下面不属于软件设计阶段任务的是 ( A)软件总体设计 ( B)算法设计 (
5、 C)制定软件确认测试计划 ( D)数据库设计 18 耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 ( A)提高 耦合性降低内聚性有利于提高模块的独立性 ( B)降低耦合性提高内聚性有利于提高模块的独立性 ( C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度 ( D)内聚性是指模块间互相连接的紧密程度 19 两个或两个以上模块之间关联的紧密程度称为 ( A)耦合度 ( B)内聚度 ( C)复杂度 ( D)数据传输特性 20 下面不能作为结构化方法软件需求分析工具的是 ( A)系统结构图 ( B)数据字典 (DD) ( C)数据流程图 (DFD图 ) ( D)判定表 21
6、 程序流程图中带有箭头的线段表示的是 ( A)图元关系 ( B)数据流 ( C)控制流 ( D)调用关系 22 软件测试的目的是 ( A)评估软件可靠性 ( B)发现并改正程序中的错误 ( C)改正程序中的错误 ( D)发现程序中的错误 23 下列描述中正确的是 ( A)软件测试的主要目的是发现程序中的错误 ( B)软件测试的主要目的是确定程序中错误的位置 ( C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作 ( D)软件测试是证明软件没有错误 24 下列描述中正确的是 ( A)软件测试应该由程序开发者来完成 ( B)程序经调试后一般不需要再测试 ( C)软件维护只包括对程
7、序代码的维护 ( D)以上三种说法都不对 25 下面属于黑盒测试方法的是 ( A)语句覆盖 ( B)逻辑覆盖 ( C)边界值分析 ( D)路径覆盖 26 下面不属于软件测试实施步骤的是 ( A)集成测试 ( B)回归测试 ( C)确认测试 ( D)单元测试 27 程序调试的任务是 ( A)设计测试用例 ( B)验证程序的正确性 ( C)发现程序中的错误 ( D)诊断和改正程序中的错误 国家二级 VF机试(软件工程基础)模拟试卷 2答案 与解析 一、选择题 1 【正确答案】 D 【试题解析】 软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文
8、档。 【知识模块】 软件工程基础 2 【正确答案】 D 【试题解析】 计算机软件与硬件是计算机系统中相互依存的两部分。计算机软件是包括程序、数据及相关文档的完整集合。软件由两部分组成:一部分是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。软件具有以下六个特点: 软件是一种逻辑实体,而不 是物理实体,具有抽象性。 软件的生产与硬件不同,它没有明显的制作过程。 软件在运行、使用期间不存在磨损、老化问题。 软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移值的问题。 软件复杂性高,成本昂贵。 软件的开发涉及诸多社会因素。 【知识模块】
9、软件工程基础 3 【正确答案】 C 【试题解析】 编译程序和汇编程序属于支撑软件,操作系统属于系统软件,而教务管理系统属于应用软件。 【知识模块】 软件工程基础 4 【正确答案】 A 【试题解析】 软件危机主 要表现在 6个方面: 软件需求的增长得不到满足; 软件开发成本和进度无法控制; 软件质量难以保证; 软件不可维护或维护程度非常低; 软件的成本不断提高; 软件开发生产率的提高赶不上硬件的发展和应用需求的增长。 【知识模块】 软件工程基础 5 【正确答案】 D 【试题解析】 软件工程的 3个要素是工具、过程和方法。 【知识模块】 软件工程基础 6 【正确答案】 A 【试题解析】 软件生命周
10、期是指软件产品从提出、实现、使用、维护到停止使用、退役的过程。 【知识模块】 软件工程基础 7 【正确答案】 C 【试题解析】 软件生命周期是指软件产品从提出、实现、使用、维护到停止使用退役的过程。其中,定义阶段包括可行性研究与计划制定和需求分析。测试、概要设计、详细设计和实现属于开发阶段。 【知识模块】 软件工程基础 8 【正确答案】 B 【试题解析】 本题考查软件生命周期的相关概念。通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件 生命周期。一般包括可行性研究与需求分析、设计、实现、
11、测试、交付使用以及维护等活动。还可以将软件生命周期分为软件定义、软件开发及软件运行维护三个阶段。 【知识模块】 软件工程基础 9 【正确答案】 C 【试题解析】 软件设计的基本原则包括抽象、信息隐藏、模块化、局部化、确定性、一致性、完备性和可验证性。 【知识模块】 软件工程基础 10 【正确答案】 D 【试题解析】 需求分析阶段的工作可分为 4个阶段:需求获取、需求分析、编写需求规格说明书、需求评审。 【知识模块】 软件 工程基础 11 【正确答案】 B 【试题解析】 在软件开发中,需求分析阶段常使用的工具有数据流图 (DFD),数据字典 (DD)、判断树和判断表。 【知识模块】 软件工程基础
12、 12 【正确答案】 C 【试题解析】 在软件开发的各个阶段经常会使用到一些图形工具,如在需求分析阶段使用数据流图 (DFD图 ),在概要设计阶段使用系统结构图,在详细设计阶段使用程序流程图、 N-S图或者 PAD图等。 【知识模块】 软件工程基础 13 【正确答案】 D 【试题解析】 DFD(数据流图 Data-Flow-Diagram)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示。它直接支持系统功能建模。在软件详细设计的过程阶段,要对每个模块规定的功能以及算法的设计给出适当的算法描述。常见的过程设计工具有:图形工具:程序流程图, N-S, PAD, HIPO:表格工具:判定表:
13、语言工具: PDL(伪码 )。 【知识模块】 软件工程基础 14 【正确答案】 A 【试题解析】 数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各 个元素做出详细的说明。 【知识模块】 软件工程基础 15 【正确答案】 D 【试题解析】 在软件开发过程中,需求分析阶段产生的主要文档是软件需求规格说明书。 【知识模块】 软件工程基础 16 【正确答案】 B 【试题解析】 需求分析的最终结果是生成软件需要规格说明书,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标与确认,又可以作为控制软件开发进程的依据。 【知
14、识模块】 软件工程基础 17 【正确答案】 C 【试题解析】 软件设计阶段总体分为 两部分:概要设计和详细设计,此阶段的主要任务就是将需求规格说明文档转换为软件设计文档,将需求阶段提出的问题,一一解释,形成详细设计文档,并根据功能要求,定制相应数据结构、各种流程图等,为下一步编码做准备。 【知识模块】 软件工程基础 18 【正确答案】 B 【试题解析】 耦合性是反映模块间互相连接的紧密程度,内聚性是指一个模块内部各个元素间彼此接合的紧密程序。提高模块的内聚性,降低模块的耦合性是有利于模块的独立性。 【知识模块】 软件工程基础 19 【正确答案】 A 【试题解 析】 模块的独立性是指每个模块只完
15、成系统要求的独立的子功能,并且与其他模块的联系较少且接口简单。衡量软件的模块独立性使用:内聚性和耦合性两个定性度量标准。内聚性是对一个模块内部各个元素彼此结合的紧密程度的度量;耦合性是对模块间互相连接的紧密程度的度量。一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。 【知识模块】 软件工程基础 20 【正确答案】 A 【试题解析】 按照 DeMarco的定义, “结构化分析就是使用数据流图 (DFD图 )、数据字典 (DD)、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化规格说明的目标文档。 ”系统结构图不能作为
16、结构化方法软件需求分析工具。 【知识模块】 软件工程基础 21 【正确答案】 C 【试题解析】 程序流程图是一种传统的、应用广泛的软件过程设计工具,通常也称为程序框图。其中,用带箭头的线段表示控制流,用柜形表示加工步骤,用菱形表示逻辑条件。 【知识模块】 软件工程基础 22 【正确答案】 D 【试题解析】 软件测试的目的是为了发现程序中的错误,而软件调 试是为了更正程序中的错误。 【知识模块】 软件工程基础 23 【正确答案】 A 【试题解析】 软件测试是为了发现错误而执行程序的过程。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。为
17、了达到好的测试效果,应该由独立的第三方来构造测试,程序员应尽量避免检查自己的程序。 【知识模块】 软件工程基础 24 【正确答案】 D 【试题解析】 为了达到好的测试效果,应该由独立的第三方进行测试工作。因为从心理学角度讲,程序人员或设 计方在测试自己的程序时,要采取客观的态度是会不同程度地存在障碍的,所以选项 A)错误。在程序调试时,修改了一个错误的同时可能引入了新的错误,解决的办法是在修改了错误之后,必须进行回归测试,所以选项 B)错误。所谓软件维护,就是将交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改,所以选项C)错误。 【知识模块】 软件工程基础 25 【正确答案】 C 【试题解析】 采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。 【知识模块】 软件工程基础 26 【正确答案】 B 【试题解析】 软件测试实施的步骤有单元测试、集成测试和确认测试。 【知识模块】 软件工程基础 27 【正确答案】 D 【试题解析】 程序调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能多地发现软件中的错误。先要发现软件的错误,然后借助于一定的调试工具去执行并找出错误的具体位置。软件测试贯穿整个软件生命期,调试主要在开发阶段。 【知识模块】 软件工程基础