[计算机类试卷]软件工程练习试卷2及答案与解析.doc

上传人:terrorscript155 文档编号:506651 上传时间:2018-11-29 格式:DOC 页数:25 大小:334KB
下载 相关 举报
[计算机类试卷]软件工程练习试卷2及答案与解析.doc_第1页
第1页 / 共25页
[计算机类试卷]软件工程练习试卷2及答案与解析.doc_第2页
第2页 / 共25页
[计算机类试卷]软件工程练习试卷2及答案与解析.doc_第3页
第3页 / 共25页
[计算机类试卷]软件工程练习试卷2及答案与解析.doc_第4页
第4页 / 共25页
[计算机类试卷]软件工程练习试卷2及答案与解析.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、软件工程练习试卷 2及答案与解析 1 在结构化设计中, _描述了模块的输入输出关系、处理内容、模块的内部数据和模块的调用关系,是系统设计的重要成果,也是系统实施阶段编制程序设计任务书和进行程序设计的出发点和依据。 ( A)系统流程图 ( B) IPO图 ( C) HIPO图 ( D)模块结构图 2 软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定 _。 ( A)模块间的操作细节 ( B)模块问的相似性 ( C)模块问的组成关系 ( D)模块的具体功能 3 在面向数据流的设计方法中,一般把数据流图中的数据流划分为 _两种。 ( A)数据流和事务流 ( B)变换流

2、和数据流 ( C)变换流和事务流 ( D)控制流和事务流 4 在新系统全部正式运行前,一部分一部分地代替旧系统的统转换策略称为_。 ( A)直接转换 ( B)位置转换 ( C)分段转换 ( D)并行转换 5 开发专家系统时,通过描述事实和规则由模式匹配得出结论,这种情况下适用的开发语言是 _。 ( A)面向对象语言 ( B)函数式语言 ( C)过程式语言 ( D)逻 辑式语言 6 在高级程序设计语言中,用于描述程序中的运算步骤、控制结构及数据传输的是_。 ( A)语句 ( B)语义 ( C)语用 ( D)语法 7 某软件开发从详细设计到集成测试各阶段所需工作量估计 (按软件工程师人月数估计 )

3、如表 5-4所示,这几个阶段分配的软件工程师和程序员人数如表 5-5所示。假设编码与单元测试阶段,软件工程师的生产率是程序员的 2倍。若在该项目的这几个阶段都增加一名软件工程师,则这几个阶段可以缩短 _个月完成任务 (假定各个开发阶段串行工作 )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 8 基线是软件生存期各个开发阶段的工作成果,测试阶段的基线是 _。 ( A)可提交的软件 ( B)被测试的程序 ( C)提交报告 ( D)测试报告 9 集成测试有各种方法,以下关于集成测试的描述中,不正确的是 _。 ( A)增量式集成测试容易定位错误,排除错误 ( B)非增量式集成测试不能充分

4、利用人力,会拖延工程进度 ( C)增量式集成测试的强度大,测试更彻底 ( D)即使各个模块都通过了测试,但系统集成以后仍可能出现错误 10 黑盒测试方法是根据软 件产品的功能设计规格说明书,通过运行程序进行测试,证实每个已经实现的功能是否符合设计要求。如果某产品的文本编辑框允许输入 1 255个字符,采用 _测试方法,其测试数据为: 0个字符、 1个字符、255个字符和 256个字符。 ( A)等价类划分 ( B)边界值分析 ( C)比较测试 ( D)正交数组测试 11 测试是保证软件质量的重要手段。根据国家标准 GB 8566-88计算机软件开发规范的规定,应该在 _阶段制定系统测试计划。

5、( A)需求分析 ( B)概要设计 ( C)详细设计 ( D)系统测试 12 软件测试通常分为单元测试、组装测试、确认测试、系统测试等四个阶段。_属于确认测试阶段的活动。 ( A)设计评审 ( B)代码审查 ( C)结构测试 ( D)可靠性测试 13 系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。 _不是系统测试的内容。 ( A)路径测试 ( B)可靠性测试 ( C)安装测试 ( D)安全测试 14 代码走查 (code walkthrough)和代码审查 (code inspection)是两种不同的代码评 审方法,这两种方法的主要区别是 _。 ( A)在代码

6、审查中由编写代码的程序员来组织讨论,而在代码走查中由高级管理人员来领导评审小组的活动 ( B)在代码审查中只检查代码中是否有错误,而在代码走查中还要检查程序与设计文档的一致性 ( C)在代码走查中只检查程序的正确性,而在代码审查中还要评审程序员的编程能力和工作业绩 ( D)代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的 15 一个故障已经被发现,而且也被排除了,为了检查修改是否引起了其他故障,这时应该进行 _。 ( A)程 序走查 ( B)退化测试 ( C)软件评审 ( D)接收测试 16 下列叙述中,与提高软件可移植性相关的是 _。 ( A)选择时间效率高的算法 ( B)尽可能

7、减少注释 ( C)选择空间效率高的算法 ( D)尽量用高级语言编写系统中对效率要求不高的部分 17 以下内容中, _应写入操作手册。 ( A)描述系统对各种输入数据的处理方法 ( B)说明系统升级时产商提供的服务 ( C)描述系统处理过程的各个界面 ( D)说明系统各部分之间的接口关系 18 关于维护软件所需的成本,以下叙述 正确的是 _。 ( A)纠正外部和内部设计错误比纠正源代码错误需要更大的成本 ( B)与需求定义相比,源代码的文字量大得多,所以源代码得维护成本更高 ( C)用户文档需要经常更新,其维护成本超过了纠正设计错误的成本 ( D)需求定义的错误会在设计时被发现并纠正,因此需求定

8、义纠错的成本小于源代码纠错的成本 19 下面列出了系统维护工作流程中的几项关键步骤,正确的工作顺序是 _。 用户提交维护申请报告 交付使用 更新文档 测试 核实和评价维护申请报告 制定维护计划 实施维护 ( A) ( B) ( C) ( D) 20 软件项目管理中可以使用各种图形工具,在以下关于各种图形工具的论述中正确的是 _。 ( A)流程图直观地描述了工作过程的具体步骤,以及这些步骤之间的时序关系,可以用于控制工作过程的完成时间 ( B) PERT图画出了项目中各个活动之间的时序关系,可用于计算工程项目的关键路径,以便控制项目的进度 ( C)因果分析图能表现出软件 过程中各种原因和效果之间

9、的关系,并且表现了它们随时间出现的顺序和重要程度,这些数据可用于改进软件过程的性能 ( D) Gantt图为整个项目建立了一个时间表,反映了项目中的所有任务之间的依赖关系,以及各个任务的起止日期,这些信息可用于项目的任务调度 20 (1)可用于描述数据流图中数据存储及其之间的关系,最初用于数据库概念设计。在某学生选课系统中使用该工具来描述,学生的学号属于 (2)。 21 (1) ( A)实体关系图 ( B)数据字典 ( C) IPO图 ( D)判定表 22 (2) ( A)实体 ( B)关系 ( C)属性 ( D)方法 22 下列聚合类型中内聚程度最高的是 (1),下列耦合类型中耦合程度最低的

10、是 (2)。 23 (1) ( A)偶然内聚 ( B)时间内聚 ( C)功能内聚 ( D)过程内聚 24 (2) ( A)数据耦合 ( B)控制耦合 ( C)公共耦合 ( D)内容耦合 24 根据 McCabe环路复杂性度量,下面程序图 (图 5-2)的复杂度是 (1),对这个程序进行路径覆盖测试,可得到的基本路径是 (2)。 25 (1) ( A) 2 ( B) 3 ( C) 4 ( D) 5 26 (2) ( A) ABCHIK; ABCHJK: ABCDEFG ( B) ABCHIK; ABCHJK; ABCDEFGCHIK: ABCDEGCHIK ( C) ABCHIK; ABCHJK

11、; ABCDEFGCHIK: ABDEGCHJK ( D) ABCHIK; ABCHJK; ABCDEFGCHIK; ABCDEFGCHJK; ABCDEGCHIK 26 至 是风险管理中的 4个活动,其恰当的顺序是 (1)。风险识别的一个方法是(2)。 选择风险管理工具 研究风险处理方法 风险评估处理结 果 风险识别、确认和度量 27 (1) ( A) ( B) ( C) ( D) 28 (2) ( A)定义风险参照水准 ( B)预测风险组合 ( C)建立风险条目检查表 ( D)制定风险尺度 28 软件测试是为了发现错误而执行程序的过程。检验软件是否满足用户需求的测试称为 (1)。 (2)是

12、维护中常用的方法,其目的是检验修改所引起的副作用。黑盒测试法主要根据 (3)来设计测试用例。 29 (1) ( A)确认测试 ( B)有效性测试 ( C)系统测试 ( D)集成测试 30 (2) ( A)回归测试 ( B)模块测试 ( C)功能测试 ( D)结构测试 31 (3) ( A)程序数据结构 ( B)程序流程图 ( C)程序内部逻辑 ( D)程序外部功能 31 软件的维护并不只是修正错误。为了满足用户提出的增加新功能、修改现有功能以及一般性的改进要求和建议,需要进行 (1),它是软件维护工作的主要部分;软件测试不可能揭露旧系统中所有潜在的错误,所以这些程序在使用过程中还可能发生错误,

13、诊断和更正这些错误的过程称为 (2);为了改进软 件未来的可维护性或可靠性,或者为了给未来的改进提供更好的基础而对软件进行修改,这类活动称为(3)。 32 (1) ( A)完善性维护 ( B)适应性维护 ( C)预防性维护 ( D)改正性维护 33 (2) ( A)完善性维护 ( B)适应性维护 ( C)预防性维护 ( D)改正性维护 34 (3) ( A)完善性维护 ( B)适应性维护 ( C)预防性维护 ( D)改正性维护 软件工程练习试卷 2答案与解析 1 【正确答案】 C 【试题解析】 在结构化设计中,分层输入一处理一输出图 (HIPO图 )既可以描述软件总的模块层次结构,又可以描述每

14、个模块的输入 /输出关系、处理内容、模块的内部数据和模块的调用关系。它是系统设计的重要成果,也是系统实施阶段编制程序设计任务书和进行程序设计的出发点和依据。 【知识模块】 软件工程 2 【正确答案】 C 【试题解析】 软件设计通常可分为概要设计和详细设计两个阶段。其中,概要设计的主要任务是 软件系统的结构、 进行模块划分、 确定每个模块的功能、接口以及 模块间的调用关系。 体系结构设计的主要目标是开发一个模块化的程序结构,并表示出 模块间的控制关系。此外,体系结构设计将程序结构和数据结构相结合,为数据在程序中的流动定义了接口。因此,软件结构设计的主要任务是要确定模块问的组成关系。 对于选项 A

15、“模块间的操作细节 ”属于软件物理设计的工作任务之一;对于选项D“模块的具体功能 ”属于软件逻辑设计的工作任务之一,选项 A及选项 D均是软件实现过程中需要考虑的内容。而对于选项 B“模块问的相似性 ”不属于是软件结构设计的主要任务之一。 【知识模块】 软件工程 3 【正确答案】 C 【试题解析】 结构化设计方法方法采用结构图 (sc)来 描述程序的结构。结构图的基本成分由模块、调用和输入 /输出数据组成。通常在需求分析阶段,用结构化分析方法产生了数据流图。面向数据流的设计能方便地将数据流图 (DFD)转换成程序结构图,数据流图中从系统的输入数据到系统的输出数据流的一连串连续变换将形成一条信息

16、流。数据流图的信息流大体可分为两种类型,一种是变换流,另一种是事务流。 信息沿着输入通路进入系统,同时将信息的外部形式转换成内部表示,然后通过变换中心处理,再沿着输出通路转换成外部形式化离开系统。具有这种特性的信息流称为变换流。 信息沿着输入 通路到达一个事务中心,事务中心根据输入信息的类型在若干个动作序列中选择一个来执行,这种信息流称为事务流。 【知识模块】 软件工程 4 【正确答案】 C 【试题解析】 新系统试运行成功之后,就可以在新系统和旧系统之间互相转换。分段转换又称逐步转换、向导转换、试点过渡法等。这种转换方式实际上是直接转换与并行转换方式的结合。在新系统全部正式运行前,一部分一部分

17、地代替旧系统。那些在转换过程中还没有正式运行的部分,可以在一个模拟环境中继续试运行。 这种转换方式既保证了可靠性,又不至于费用太大 。但是它要求子系统之间有一定的独立性,否则就无法实现这种分段转换的设想。 【知识模块】 软件工程 5 【正确答案】 D 【试题解析】 用逻辑式程序设计语言编写程序不需要描述具体的解题过程,只需要给出一些必要的事实和规则。这些规则是解决问题的方法的规范说明,根据这些事实和规则,计算机利用谓词逻辑,通过演绎推理得到求解问题的执行序列。逻辑式语言主要用在人工智能领域,也应用在自然语言处理、数据库查询、算法描述等方面,尤其适合于作为专家系统的开发工具。 函数式程序设计语言

18、的数据结构本质上是 表,而函数又可以作为值出现在表中,因此函数式程序的控制结构取决于函数,以及函数的定义和调用。函数式语言主要用于符号数据处理,如微分和积分演算、数理逻辑、游戏推演以及人工智能等其他领域。 【知识模块】 软件工程 6 【正确答案】 A 【试题解析】 在高级程序设计语言中,语句用于描述程序中的运算步骤、控制结构及数据传输。 程序设计语言的语法是语言的外观。给出语言的语法意味着给出语句、声明和其他语言结构的书写规则。语义则表示不同的语法结构的含义。在程序语言的手册中,语言的描述都是围绕着语法 结构展开的。通常,先给出各种语句结构的语法,然后给出对应该结构的语义以描述内在含义。 语句

19、是关于程序与使用者之间的关系。 【知识模块】 软件工程 7 【正确答案】 D 【试题解析】 这是一道考查软件开发工作量估算的试题。 由表 5-4可知,编码与单元测试阶段所花费的时间大约是 12个人月,即 1名软件工程师需要 12个月的时间才能完成。根据题目的假设:该阶段软件工程师的生产率是程序员的 2倍,则 1名程序员需要花 费 24个月才能完成。 根据表 5-4和表 5-5给出的数据,可得到如表 5-6所示的开发时间。若按照表 5-5的人员配置总共需要 13个月才能完成这 3个阶段的工作。若在每个阶段都增加 1名软件工程,则得到如表 5-7所示的开发时间。此时只需 9个月就可以完成这 3个阶

20、段的工作,因此可以将工作缩短 13-9=4个月。 【知识模块】 软件工程 8 【正确答案】 D 【试题解析】 这是一道考查软件配置管理的基本概念题。基线 (baseline)是软件生命期各个开发阶段末尾的特定点,也称为里程碑 (milestone)。连续的开发工作在这些点上被分割开来进行成果检验,必要时可以进行变更控制。有了基线,就可以防止开发中的错误跨越阶段向后扩散,也可以防止跨越里程碑去修改另一开发阶段的工作成果。 软件规划阶段的基线是开发计划;需求分析阶段的基线是需求规格说明书和用户手册;系统设计阶段的基线是设计规格说明书;系统编码阶段的基线是程序清单;系统测试阶段的基线是测试报告。 【

21、知识模块】 软件工程 9 【正确答案】 B 【试题解析】 集成测试也称组测试,是把系统的各个模块按照系统设计说明书的要求组合起来进行测 试。组合的过程可以是增量式的和非增量式的。所谓非增量式测试是先分别测试各个模块,然后把所有的模块组合起来进行总体测试。而增量式测试是先测试一个模块,然后再加入一个模块进行测试,通过不断地增加模块,进行多次测试,最后完成整个系统的测试。这两种测试方法的优缺点对比见表 5-8。 【知识模块】 软件工程 10 【正确答案】 B 【试题解析】 对于选项 A的 “等价类划分测试方法 ”是将程序的输入域划分为数据类,以便导出测试案例,等价划分的测试案例设计基于对输入条件的

22、等价类评估。 对于选项 B的 “边界值分析测试方法 ”是一种补充等价类划分的测试案例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试案例。例如,如果某产品的文本编辑框允许输入 1 255个字符,则其边界值分析测试数据为:第0个字符、第 1个字符、第 255个字符和第 256个字符。 对于选项 C的 “比较测试方法 ”是利用冗余系统的经验,对关键应用程序开发不同的版本,利用自动化工具对其输出进行比较。 对于选项 D的 “正交数组测试方法 ”被应用于输入域相对较小但对穷举测试而言又过大的问题。正交数组测试对于发现与区域错误相关的错误特 别有用。 【知识模块】 软件工程 11 【正确答

23、案】 A 【试题解析】 根据国家标准 GB 8566-88计算机软件开发规范的规定,单元测试是根据详细设计阶段给出的 “规格说明书 ”在编码阶段完成的测试工作;集成测试的计划是在概要设计阶段制定的;系统测试计划应该在需求分析阶段就开始制订,并在设计阶段细化和完善,而不是等系统编码完成后才制订测试计划;而验收测试则检测产品是否符合最终用户的需求。 软件测试的各个阶段与软件开发阶段的对应关系如图 5-3所示。 【知识模块】 软件工程 12 【 正确答案】 D 【试题解析】 软件测试通常分为 单元测试、 组装测试、 确认测试、 系统测试等四个阶段。表 5-9给出了这 4个阶段的主要工作任务和测试依据

24、。 确认测试包括有效性测试和软件配置审查。有效性测试是在模拟的环境下,运用黑盒测试方法,验证所测软件是否满足需求规格说明书列出的要求。在有效性测试中除考虑功能、性能以外,还需检验可移植性、可靠性、兼容性、用户界面及系统所提供的文档资料是否符合要求等内容。软件配置审查的目的在于确保已开发软件的所有文档资料均已编写齐全,足以支持投入运行以后的软件维护工作。 【知识模块】 软件工程 13 【正确答案】 A 【试题解析】 系统测试是将软件系统与硬件、外设和网络等其他因素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。常见的系统

25、测试主要有恢复测试、强度测试、性能测试、可靠性测试、安装测试和安全性测试。 而对于选项 A的 “基本路径测试 ”属于白盒测试技术的一种测试方法,该方法允许测试用例设计者导出一个过程设计的逻辑复杂性测度,并使用该测度作为指南来定义执行路径的基本集。从 该基本集导出的测试用例保证对程序中的每一条语句至少执行一次。 【知识模块】 软件工程 14 【正确答案】 D 【试题解析】 代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的。因此选项 D说法正确。而选项 A的说法应改正为 “在代码走查中由编写代码的程序员来组织讨论,而在代码审查中由高级管理人员来领导评审小组的活动 ”。 选项 B的说法应

26、改正为 “无论代码审查和代码走查都要检查程序与设计文档的一致性 ”。 选项 C中说要评审程序员的编程能力和工作业绩也是不对的。 【知识模 块】 软件工程 15 【正确答案】 B 【试题解析】 一个故障已经被发现,而且也被排除了,因为在修改过程中纠正了老的错误又会引入新的错误,此时应该进行退化测试 (RegesSion Test),以防止出现新错误的。退化测试包括以下步骤: 插入新代码,程序成为新版本; 测试可能受新代码影响功能; 测试修改前的基本功能; 测试新版本的功能。 选项 A的 “程序走查 ”是由 Bell等人提出来的一种评价程序语言的方法,它以用户为中心,通过走查用户使用程序完成任务的

27、情况进而评价程序语言设计的可用性和流畅性。 对于选项 C的 “软件评审 ”,是指对软件元素或者项目状态的一种评估手段,以确定其是否与计划的结果保持一致,并使其得到改进。 对于选项 D的 “软件接收测试 ”,是确保证关键任务的应用软件能在及所运行的硬件设施上高效地运行,与严格的操作标准一致。 【知识模块】 软件工程 16 【正确答案】 D 【试题解析】 软件可移植性是指与软件可从某一环境移植到另一环境的能力有关的一组属性。 通常高级语言具有较好的可移植性,因此编辑时应尽量用高级语言编写系统中对效率要求不高的程序部分。采用减 少注释、选择时间 /空间效率高的算法都不能提高软件的可移植性。 【知识模

28、块】 软件工程 17 【正确答案】 C 【试题解析】 操作手册主要用于指导用户在系统运行时的操作,系统提供的界面是用户进行各种操作的依据,因此系统处理过程的各个界面应写入操作手册。 系统对各种输入数据的处理方法和系统各部分之间的接口关系是系统开发阶段的内容,系统升级时厂商提供的服务与用户在系统中的操作无关,这些工作并不是用户重点关心的内容。 【知识模块】 软件工程 18 【正确答案】 A 【试题解 析】 根据系统开发的生命周期可知,系统设计阶段在前,软件编码阶段在后,纠正开发阶段早期的错误要比纠正后期的错误代价大,因此纠正外部和内部设计错误比纠正源代码错误需要更大的成本。 【知识模块】 软件工

29、程 19 【正确答案】 A 【试题解析】 系统维护工作正确的流程顺序是:用户提交维护申请报告 核实和评价维护申请报告 制定维护计划 实施维护 测试 更新文档 交付使用。 【知识模块】 软件工程 20 【正确答案】 B 【试题解析】 项目管理是在指定时间内用最少的费用开发可接受的系统 的管理过程,内容包括确定系统开发范围、计划、人员安排、组织、指导和控制。 对于选项 A的 “流程图 ”,它表达了系统中各个元素之间的信息流动情况,是进行系统详细设计的工具。因此选项 A的说法是错误的。 选项 B的 “PERT图 ”,是一种图形化的网络模型,描述一个项目中的任务和任务之间的关系。 PERT图用来在任务

30、被调度之前弄清项目任务之间的依赖关系。PERT图的特点是通过关键路径法进行包括费用在内的资源最优化考虑,压缩关键路径上的工作,在规定的时间以前把它高效率地完成。因此选项 B的说法是正确的。 选项 C的 “因果分析图 ”,也称鱼骨图,是一种用于确定、探索和描述问题及其原因和结果的图形工具。可以用因果分析图来迫使团队考虑问题的复杂性,并让他们以一种客观的态度来看待引起问题的原因。因果分析图可以帮助团队来确立引起问题的首要和次要原因,并帮助他们组织产生于头脑风暴会议中的观点。因此选项 C的说法是错误的。 选项 D的 “Gantt图 ”,它和 PERT图是进度安排的常用图形描述方法。 Gantt图中横

31、坐标表示时间、纵坐标表示任务,图中的水平线段表示对一个任务的进度安排、线段的起点和终点对应在横坐标上的时间分别表 示该任务的开始时间和结束时间,线段的长度表示完成该任务所需的时间。 Gantt图能够清晰地描述每个任务从何时开始,到何时结束以及各个任务之间的并行关系,但是它不能清晰地反映出各任务之间的依赖关系,难以确定整个项目的关键所在。因此选项 D的说法是错误的。 【知识模块】 软件工程 【知识模块】 软件工程 21 【正确答案】 A 【知识模块】 软件工程 22 【正确答案】 C 【试题解析】 实体关系 (ER)模型将现实的信息结构统一用实体、属性以及实体之间的关系来描述,它可用于描述数据流

32、 图中数据存储及其之间的关系。 实体是客观存在并可互相区分的 “事物 ”。实体必须有一组表征其特征的 “属性 ”来描述。关系是实体之间存在的对应的联系,关系也可以有属性。在某学生选课系统中使用 ER图来描述时,通常学生的学号定义为 “学生 ”这一实体的属性。 【知识模块】 软件工程 【知识模块】 软件工程 23 【正确答案】 C 【知识模块】 软件工程 24 【正确答案】 A 【试题解析】 模块的内聚性表现了模块内部各个子成分 (代码 )功能的集中程度。按模块内聚程度从低到高排序为: 偶 然内聚、 逻辑内聚、 时间内聚、 通信内聚、 顺序内聚、 功能内聚。 模块的耦合度表现了模块之间相互关联的

33、程度。按模块耦合程度从低到高排序为: 无直接耦合、 数据耦合、 标记耦合、 控制耦合、 公共耦合、 内容耦合等 6级。 【知识模块】 软件工程 【知识模块】 软件工程 25 【正确答案】 C 【知识模块】 软件工程 26 【正确答案】 B 【试题解析】 对程序图环路复杂度的求解有 3种方法。解法 1:程序图的环路数是源代码复杂程度的度量。根据 McCabe度量法,环路数 N=e-n+2,其中, e表示有向图的边数, n表示节点数。图 5-2中 e=13, n=11,得到 N=13-11+2=4。 解法 2:计算有向图把平面划分成的区域数。图 5-2中有 3个闭合区域外加 1个开放区域,共 4个

34、区域。所以程序图的复杂度是 4。 解法 3:图 5-2中有 3个判断节点,即节点 C、 E、 H,所以程序图的复杂度是判断节点数加 1,即 3+1=4。 路径测试的关键是要找出程序图中所有可能的路径,这些基本路径都是从程序起点到终点,并且包含了至少一条独立的边。对图 5-2所示的程序进行路径覆盖测试,可得 到 4条基本路径: ABCHIK; ABCHJK; ABCDEFGCHIK;ABCDEGCHIK。 【知识模块】 软件工程 【知识模块】 软件工程 27 【正确答案】 D 【知识模块】 软件工程 28 【正确答案】 C 【试题解析】 风险管理包含 风险管理、 风险处理、 风险评估和 风险识别

35、等 4个不同的活动。 风险识别是试图系统化的确定对项目计划 (估算、进度、资源分配 )的威胁。风险识别的一个方法是建立风险条目检查表,该检查表可以用于识别风险、已知的以及可预测的风险。 风险预测又称风险估算,它从两个方面评估一个风险:风险发生的可能性或概率;以及风险发生所产生的后果。 在进行风险评估时经常采用定义风险参照水准的方法。对于大多数软件项目来说,成本、进度和性能就是 3种典型的风险参照水准。 风险控制的目的是辅助项目组建立处理风险的策略。一个有效的策略必须考虑风险避免、风险监控、风险管理及意外事件计划等问题。 依照试题给出的风险管理的 4个活动,其对应的顺序是:首先风险识别、确认和度

36、量,然后研究风险处理方法,接着选择风险管理工具,最后评估风险处理结果 。 【知识模块】 软件工程 【知识模块】 软件工程 29 【正确答案】 A 【知识模块】 软件工程 30 【正确答案】 A 【知识模块】 软件工程 31 【正确答案】 D 【试题解析】 软件测试是为了发现错误而执行程序的过程。软件测试的主要步骤有单元测试、集成测试 (组装测试 )和确认测试。其中,确认测试的任务是检查软件的功能、性能及其他特征是否与用户的需求一致,它是以需求规格说明书作为依据的测试。确认测试通常采用黑盒测试法。 黑盒测试也称为功能测试,是根据规 格说明所规定的功能 (即程序的外部功能 )来设计测试用例,它不考

37、虑程序的内部结构和处理过程。常用的黑盒测试技术有等价类划分、边值分析、错误猜测、因果图等。 回归测试是为了验证修改的正确性及其影响而进行的,是维护中常用的方法,以确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。回归测试作为软件生存周期的一个组成部分,在整个软件测试过程中占有很大的比重,软件开发的各个阶段都会进行多次回归测试。 【知识模块】 软件工程 【知识模块】 软件工程 32 【正确答案】 A 【知识 模块】 软件工程 33 【正确答案】 D 【知识模块】 软件工程 34 【正确答案】 C 【试题解析】 按照每次进行维护的具体目标的不同,软件维护可分为完善性维护、适应性维护、改正性 (纠错性 )维护和预防性维护等 4种类型。每种软件维护类型的定义以及在整个维护工作量中所占的比例见表 5-10。 【知识模块】 软件工程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1