
全国计算机二级公共基础第三章 软件工程基础.docx
8页第三章 软件工程基础一、选择题(1) 下列叙述中正确的是( )A) 软件测试的主要目的是发现程序中的错误B) 软件测试的主要目的是确定程序中错误的位置C) 为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D) 软件测试是证明软件没有错误【答案】A【解析】本题考查软件工程中测试的目的和方法仅就软件测试而言 ,它的目 的是发现软件中的错误,但是,发现错误并不是最终目的,最终目的是通过测 试发现错误之后还必须诊断并改正错误,这就是调试的目的由于测试的目标 是暴露程序中的错误.从心理学角度看,由程序的编写者自己进行测试是不恰 当的因此,在软件测试阶段通常由其他人员组成测试小组来完成测试工作 因此,经过上述分析可知选项A的说法是正确的,而选项B、c、D的说法是错 误的2)下列描述中正确的是A) 软件工程只是解决软件项目的管理问题B) 软件工程主要解决软件产品的生产率问题C) 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D) 软件工程只是解决软件开发中的技术问题【答案】 C【解析】软件工程学是研究软件开发和维护的普遍原理与技术的一门工程学科 所谓软件工程是指,采用工程的概念、原理、技术和方法指导软件的开发与维 护。
软件工程学的主要研究对象包括软件开发与维护的技术、方法、工具和管 理等方面由此可见,选项A、B和D的说法均不正确.选项C正确3)在软件设计中,不属于过程设计工具的是A) PDL(过程设计语言)B) PAD图C) N-S图D) DFD图【答案】 D【解析】数据流图DFD,是结构化分析方法最主要的一种图形工具,不属于过程 设计具5)用黑盒技术测试用例的方法之一为A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试【答案】A【解析】黑盒测试主要方法有等价值划分法、边界值分析法、错误推测法、因果 图法等白盒测试的主要方法有逻辑覆盖、基本路径测试循环覆盖等只有 A 属于黑盒测试6) 软件需求分析阶段的工作可以分为4个方面:需求获取、需求分析、编写需求分析说明书和A)阶段性报告B)需求评审C)总结D)都不正确【答案】B【解析】需求分析的四个方面是:需求获取、需求分析、编写需求分析说明书和 需求评审7) 在数据库的两级映射中,从概念模式到内模式的映射一般由 实现A)数据库系统B)数据库管理系统C)数据库管理员D)数据库操作系统【答案】 B【解析】从概念模式到内模式的映射一般数据库管理系统(DBMS)实现。
20) 详细设计的结果基本决定了最终程序的A) 代码的规模B) 运行速度C) 质量D) 可维护性解析: 详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,但 详细设计阶段的任务还不是具体的编写程序,而是要设计出程序的“蓝图”,以 后程序员将根据这个蓝图写出实际的程序代码,因此,详细设计阶段的结果基本 上就决定了最终的程序代码的质量故本题答案应该为选项 C)21) 下列不属于静态测试方法的是A) 代码检查B) 白盒法C) 静态结构分析D) 代码质量度量解析: 静态测试包括代码检查、静态结构分析和代码质量度量等其中白盒测试属于动态测试故本题答案应该为选项 B)23)为了提高测试的效率,应该A) 随机选取测试数据B) 取一切可能的输入数据作为测试数据C) 在完成编码以后制定软件的测试计划D) 集中对付那些错误群集的程序解析: 测试的目的是发现软件中的错误经验表明,程序中存在错误的概率与 该程序中已发现的错误数成正比这一现象说明,为了提高测试效率,测试人员 应该集中对付那些错误群集的程序故本题答案应该为选项 D)25)下列叙述中,不属于软件需求规格说明书的作用的是A) 便于用户、开发人员进行理解和交流B) 反映出用户问题的结构,可以作为软件开发工作的基础和依据C) 作为确认测试和验收的依据D) 便于开发人员进行需求分析解析: 软件需求规格说明书(SRS, Software Requirement Specification)是 需求分析阶段的最后成果,是软件开发中的重要文档之一。
它有以下几个方面的 作用:①便于用户、开发人员进行理解和交流;②反映出用户问题的结构,可 以作为软件开发工作的基础和依据;③作为确认测试和验收的依据26)下列不属于软件工程的 3 个要素的是A) 工具B) 过程C) 方法D) 环境解析: 软件工程包括 3 个要素,即方法、工具和过程方法是完成软件工程项 目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各 个环节的控制、管理故本题答案应该为选项 D)28) 软件开发的结构化生命周期方法将软件生命周期划分成A) 定义、开发、运行维护B) 设计阶段、编程阶段、测试阶段C) 总体设计、详细设计、编程调试D) 需求分析、功能定义、系统设计解析: 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 软件生命周期它可以分为软件定义、软件开发及软件运行维护3个阶段29) 在软件工程中,白箱测试法可用于测试程序的内部结构此方法将程序看 做是A) 路径的集合B) 循环的集合C) 目标的集合D) 地址的集合解析: 软件的白盒测试方法是把测试对象看做一个打开的盒子,它允许测试人 员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑 路径进行测试。
故本题答案应该为选项 A)30) 下列不属于结构化分析的常用工具的是A) 数据流图B) 数据字典C) 判定树D) PAD 图解析: 结构化分析的常用工具有数据流图、数据字典、判定树和判定表而 PAD 图是常见的过程设计工具中的图形设计故本题答案应该为选项 D)34)软件工程的出现是由于A) 程序设计方法学的影响B) 软件产业化的需要C) 软件危机的出现D) 计算机的发展解析: 软件工程概念的出现源自于软件危机为了消除软件危机,通过认真研 究解决软件危机的方法,认识到软件工程是使计算机软件走向工程科学的途径, 逐步形成了软件工程的概念故本题答案应该为选项C)35)软件开发离不开系统环境资源的支持,其中必要的测试数据属于A) 硬件资源B) 通信资源C) 支持软件D) 辅助资源答案:D(37)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是 指A) 模块间的关系B) 系统结构部件转换成软件的过程描述C) 软件层次结构D) 软件开发过程解析: 软件设计包括软件结构设计、数据设计、接口设计和过程设计其中结 构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型 转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件 与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。
故 本题答案应该为选项B)7)在进行单元测试时,常用的方法是A) 采用白盒测试,辅之以黑盒测试B) 采用黑盒测试,辅之以白盒测试C) 只使用白盒测试D) 只使用黑盒测试【答案】A【解析】白盒测试是测试程序内部逻辑结构,黑盒测试只依据程序的需求规格说 明书,检查程序的功能是否符合它的功能说明从程序内部的逻辑结构对系统进 行测试才是测试的根本,更容易发现和解决程序中的问题,因此单元测试时应该 以白盒测试为主,而黑盒测试为辅6)软件设计的基本原理中, 是评价设计好坏的重要度量标准A)信息隐蔽性 B)模块独立性C)耦合性 D)内聚性答案:B评析:信息隐蔽是指,在一个模块内包含的信息(过程或数据),对于不需要这 些信息的其他模块来说是不能访问的模块的独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的 联系最少且接口简单模块独立性是评价设计好坏的重要度量标准,而衡量软件 的模块独立性使用的是耦合性和内聚性两个度量标准:内聚性是指一个模块内部 各个元素间彼此结合的紧密程度的度量一个模块的内聚性越强,则该模块的模 块独立性越强;耦合性是模块间互相连接的紧密程度的度量耦合性取决于各个 模块之间接口的复杂度、调用方式以及哪些信息通过接口。
8. 在结构化方法中,软件功能分解属于下列软件开发中的 阶段A、 详细设计B、 需求分析C、 总体设计D、 编程调试解析:总体设计过程通常由两个主要阶段组成:系统设计,确定系统的具体实现 方案;结构设计,确定软件结构为确定软件结构,首先需要从实现角度把复杂 的功能进一步分解分析员结合算法描述仔细分析数据流图中的每个处理,如果 一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功 能本题答案为 C6. 下列不属于软件调试技术的是 A、 强行排错法B、 集成测试法C、 回溯法D、 原因排除法解析:调试的关键在于推断程序内部的错误位置及原因主要的调试方法有强行排错法、回 溯法和原因排除法本题答案为 B二、填空题(2)在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块 和承接模块(桩模块)其中 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果答案】驱动模块【解析】由于模块不是一个独立的程序,不能单独运行,因此,在进行模块测试 时,还应为每个被测试的模块另外设计两类模块:驱动模块和承接模块其中驱 动模块的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结 果;承接模块的作用是模拟被测试模块的下层模块。
通常,承接模块有多个5) 软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段 编码和测试属于 阶段答案】开发或软件开发【解析】本题考查软件工程的软件生命周期及其各阶段的基本任务一般说来, 软件生命周期由软件定义、软件开发和软件维护三个时期组成软件定义时期的任务是确定软件开发工程必须完成的总目标;导出实现工程 目标应该采用的的策略及系统必须完成的功能;确定工程的可行性;估计完 成该项工程需要的资源和成本,并且制定工程进度表软件开发时期的任务是设计程序结构,给出程序的详细规格说明;编写程序代 码,并且仔细测试编写出的每一个程序模块;最后进行综合测试,也就是通过 各种类型的测试使软件达到预定的要求软件维护时期的任务是使软件持久的满足用户的需要具体地说,就是诊断和 改正在使用过程中发现的软件错误;修改软件从而适应环境的变化;根据用户 的要求改进或扩充软件使其更完善;修改软件为将来的维护活动预先做准备显然,编码和测试属于软件开发阶段划线处心填入“开发”或“软件开发”7) 软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的 答案】正确性【解析】本题考查软件工程中需求规格说明书的评审。
衡量需求规格说明书好坏 的标准按重要性次序排列为:正确性、无歧义性、完全性、可验证性、一致性、 可理解性、可修改性和可追踪性因此,划线处应填入“正确性”8) 在两种基本测试方法中,_ 测试的原则之一是保证所测模块中每一个独立路径至少要执行一次答案】白盒或白箱或白盒子或 WhiteBox【解析】本题考查软件工程的测试测试一般有两种方法:黑盒测试和白盒测试 黑盒测试不考虑程序的内部逻辑结构和处理过程,只着眼于程序的外部特性用 黑盒测试来发现程序中的错误,必须用所有可能的输入数据来检查程序能否都能 产生正确的输出白盒测试是在了。
