软考中级习题与解答——第四章_软件工程(2)
例题11
1、知识点总结
本题考查软件质量属性的概念,核心质量属性包括可用性、性能、可修改性、可测试性等:
- 可用性:系统能够正常运行的时间比例,以及出现故障后恢复正常的能力。
- 性能:系统的响应能力、处理速度等(如响应时间、吞吐量)。
- 可修改性:系统易于修改、扩展的能力(如二次开发的效率)。
- 可测试性:系统易于测试的程度(如测试用例设计、缺陷发现的难易度)。
2、选项分析
- 对于 “系统出错后不能在要求的时间内恢复到正常状态”:
这体现了系统可用性的缺陷(可用性关注故障恢复能力)。 - 对于 “对系统进行二次开发时总要超过半年的时间”:
这体现了系统可修改性差(可修改性关注二次开发、功能扩展的效率)
3、最终答案:D
例题12
1、知识点总结
本题考查新旧系统转换策略的概念,常见的系统转换策略有以下几种:
- 直接转换:在确定新系统运行无误后,立即停止旧系统,启动新系统。
- 并行转换:新旧系统并行运行一段时间,待新系统稳定后,再停止旧系统。
- 分段转换(逐步转换):将新系统分成若干部分,分阶段、逐步替代旧系统,本题描述的就是这种策略。
2、选项分析
- 选项 A(位置转换):并非系统转换的标准策略名称,属于干扰项。
- 选项 B(直接转换):特点是 “一次性全部替换”,与题干 “一部分一部分地代替” 不符。
- 选项 C(并行转换):特点是 “新旧系统同时运行”,并非 “逐步替换”,不符。
- 选项 D(分段转换):核心是 “分部分、逐步替代旧系统”,与题干描述完全一致,正确。
3、最终答案:D
例题13
1、知识点总结
本题考查软件能力成熟度模型(CMM)的 5 个成熟度等级(初始级、可重复级、定义级、管理级、优化级)及各等级的核心特征。CMM 用于评估软件过程的成熟度,指导软件组织改进过程管理。
2、选项分析
- 选项 A:初始级的软件过程无规范、混乱,项目成功高度依赖个人能力(如开发者经验),描述正确。
- 选项 B:管理级(原 “已管理级”)的核心特征是对软件过程和产品质量有定量的度量标准,可通过数据量化管理过程,描述正确。
- 选项 C:定义级的核心特征是软件过程标准化、文档化,但 “持续地进行过程改进” 是优化级的特征(优化级聚焦于过程的持续优化),因此该选项描述错误。
- 选项 D:可重复级能基于以往项目经验,重复成功的过程,实现对成本、进度和功能特性的跟踪,描述正确。
3、最终答案:C
例题14
1、知识点总结
2、选项分析
- 选项 A:软件测试无法发现 “所有” 错误(成本和技术上都不现实),目的是 “尽可能发现现有错误”,描述错误。
- 选项 B:测试应 “尽早介入”(如需求阶段就可开始测试计划,编码中进行单元测试),而非 “开发结束后立即开始”,描述错误。
- 选项 C:测试用例需包含合理数据和不合理数据(异常数据更能验证程序健壮性),仅用 “合理数据” 设计用例不全面,描述错误。
- 选项 D:发现错误多的程序段,通常错误密度更高,因此需要 “更深入的测试”(如增加测试用例、采用多种测试方法),描述正确。
3、最终答案:D
例题15
1、知识点总结
本题考查软件测试阶段的分类及各阶段目标,核心测试阶段包括:
- 单元测试:测试单个模块(函数、类等)的功能正确性。
- 集成测试:验证模块之间的接口、交互是否符合设计要求(即模块间能否 “按规定方式正确工作”)。
- 确认测试:验证软件是否符合用户需求(需求层面的验收)。
- 系统测试:将软件与硬件、其他系统等集成后,测试整体系统的功能、性能等。
2、选项分析
- 选项 A(单元测试):聚焦 “单个模块” 的内部逻辑,不涉及 “与其他模块的交互”,不符。
- 选项 B(集成测试):核心目标是验证 “模块之间的交互、接口是否正确”,与题干 “模块能否与其他模块按规定方式正确工作” 完全匹配,正确。
- 选项 C(确认测试):关注 “是否符合用户需求”,而非 “模块间交互”,不符。
- 选项 D(系统测试):聚焦 “整个系统” 与外部环境的集成,范围远大于 “模块间交互”,不符。
3、最终答案:B
例题16
1、知识点总结
本题考查软件测试的不同类型(α 测试、β 测试、白盒测试、黑盒测试、回归测试)及各自特点:
- α 测试:由开发方内部人员在受控环境下进行的测试,需要用户代表参与。
- β 测试:由用户在实际使用环境中进行的测试,用户自主参与。
- 白盒测试:基于代码内部结构(如逻辑、分支)的测试,能验证内部处理算法。
- 黑盒测试:基于功能需求的测试,不关注内部实现,常用方法有边界值分析、错误推测等。
- 回归测试:软件变更后,重新测试原有功能,确保变更未引入新问题。
2、选项分析
- 选项 A:α 测试需要用户代表参与(开发方与用户共同在受控环境测试),β 测试是用户自主参与。该选项描述 “α 测试不需要用户参与”错误。
- 选项 B:白盒测试的核心就是通过代码内部结构(如语句覆盖、分支覆盖)测试内部逻辑和处理算法,描述正确。
- 选项 C:软件变更后,必须进行回归测试,防止变更破坏原有功能,描述正确。
- 选项 D:黑盒测试的典型方法包括边界值分析(测试输入输出的边界情况)、错误推测(基于经验推测可能的错误场景)等,描述正确。
3、最终答案:A
例题17
1、知识点总结
本题考查极限编程(XP)的核心概念,包括价值观、最佳实践、文档策略等:
- XP 是一种敏捷开发方法,强调用户反馈、迭代开发、简化流程。
- XP 的四大价值观是:沟通、简单、反馈、勇气(注意 “简单” 是核心价值观之一)。
- XP 提倡 “足够的文档”(而非完全减少文档),更重视可工作的软件和用户交互。
- XP 的十二个最佳实践包括:简单设计、测试优先、持续集成等。
极限编程(eXtreme Programming,简称 XP)是一种敏捷软件开发方法,旨在应对快速变化的需求和提高软件开发的效率与质量。
2、选项分析
- 选项 A:XP 高度依赖用户反馈(如通过用户故事、迭代演示获取反馈),描述正确。
- 选项 B:XP 提倡 “简化文档,聚焦可工作的软件”(并非完全取消文档,而是避免冗余文档),描述正确。
- 选项 C:XP 的四大价值观是沟通、简单、反馈、勇气,而非 “变更”,该选项描述错误。
- 选项 D:“简单设计” 是 XP 十二个最佳实践之一(强调设计仅满足当前需求,不过度设计),描述正确。
3、最终答案:C
例题18
1、知识点总结
本题考查软件文档分类,软件文档按产生和使用范围分为:
- 开发文档:供开发团队使用,如需求规格说明书、设计文档、编程手册、编译手册等。
- 管理文档:供项目管理使用,如项目计划、进度报告、测试报告等。
- 用户文档:供最终用户使用,帮助用户理解和使用软件,如使用手册、维护手册、用户报告等。
2、选项分析
- 选项 A(编译手册):属于开发文档(指导开发人员编译、构建软件),不包含在用户文档中。
- 选项 B(使用手册):属于用户文档(指导用户操作软件),不符合题意。
- 选项 C(维护手册):属于用户文档(指导用户或运维人员维护软件),不符合题意。
- 选项 D(用户报告):属于用户文档(记录用户反馈、使用体验等),不符合题意。
3、最终答案:A
例题19
1、知识点总结
2、选项分析
3、最终答案:C
例题20
1、知识点总结
本题考查软件维护的类型,软件维护主要分为以下几类:
- 正确性维护:修复软件中的错误,使软件能正常运行。
- 完善性维护:在软件使用过程中,为满足用户新的需求或改进现有功能而进行的维护(如增加新功能、优化界面等)。
- 适应性维护:为使软件适应运行环境(如操作系统、硬件、数据库等)的变化而进行的维护。
- 预防性维护:为了提高软件的可维护性和可靠性,提前对软件进行的改造和优化,以预防未来可能出现的问题。
2、选项分析
题干中 “企业希望软件系统能提供柱状图的报表”,属于新增功能需求(在原有系统基础上完善功能),因此属于完善性维护。