软件设计师 · 高频练习

操作系统升级导致软件必须修改,属于哪类软件维护?

中级 单选题 第 1097 题 较难 软件设计师软件维护适应性维护完善性维护软件工程
题目

某业务软件功能没有发现缺陷,但服务器操作系统和数据库版本升级后,原驱动接口不再兼容。开发团队修改适配层,使软件能在新环境中继续运行。这主要属于()。

A 纠错性维护
B 适应性维护
C 完善性维护
D 预防性维护
题目类型:原创高频练习题 用途:用于帮助理解软件设计师相关考点和答案解析,不等同于官方真题。
正确答案
B
答案解析

软件本身没有已知缺陷,修改由外部运行环境变化触发,目的是适应新的操作系统和数据库,因此属于适应性维护。

选项分析

A

错误。题干明确软件功能没有发现缺陷,修改并非修复错误。

B

正确。为适应操作系统、数据库等环境变化而调整。

C

错误。完善性维护通常针对新需求、性能或易用性改善。

D

错误。预防性维护强调提前改善可维护性或消除潜在风险,而非已发生的平台变化。

本题为什么容易错

“让软件更好”听起来像完善性维护,但适配新平台的核心目标不是增加价值功能,而是让原有能力在变化后的环境里继续可用。

先看结论

简短答案

操作系统升级导致软件必须修改,属于哪类软件维护,正确答案是 B(适应性维护)。软件本身没有已知缺陷,修改由外部运行环境变化触发,目的是适应新的操作系统和数据库,因此属于适应性维护。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
纠错性维护 本题干扰项 错误。题干明确软件功能没有发现缺陷,修改并非修复错误。 看到该词不要急着选,先判断是否真正解决题干问题
适应性维护 本题正确答案 正确。为适应操作系统、数据库等环境变化而调整。 看到题干核心场景时优先联想到它
完善性维护 本题干扰项 错误。完善性维护通常针对新需求、性能或易用性改善。 看到该词不要急着选,先判断是否真正解决题干问题
预防性维护 本题干扰项 错误。预防性维护强调提前改善可维护性或消除潜在风险,而非已发生的平台变化。 看到该词不要急着选,先判断是否真正解决题干问题
本题易混淆选项怎么区分
  • 纠错性维护:错误。题干明确软件功能没有发现缺陷,修改并非修复错误。
  • 完善性维护:错误。完善性维护通常针对新需求、性能或易用性改善。
  • 预防性维护:错误。预防性维护强调提前改善可维护性或消除潜在风险,而非已发生的平台变化。
复习

知识点详解

纠错性维护修复交付后发现的错误;适应性维护应对硬件、操作系统、数据库、法规或外部接口变化;完善性维护增加功能或改善性能与易用性;预防性维护通过重构、补文档等降低潜在故障和后续维护成本。

备考速记

错了要纠错,环境变了要适应,用户想更好是完善,提前防患是预防。

软件工程在软件工程场景中的作用

数据库驱动升级、浏览器接口淘汰和外部税务规则变化都可能触发适应性维护。若同一改版还新增报表功能,应把工作项分别归类,而非笼统贴标签。

拓展

同类题怎么考

  • 根据运行环境变化判断适应性维护。
  • 比较完善性与预防性维护的触发目标。
软件工程在软件设计师软考中的考法

先把题干中的“因为”圈出来。因为Bug、环境、新需求或潜在风险,分别对应四类维护。

解题思路

这题不要盯着“修改了代码”,所有维护都会改代码。要看为什么改:不是程序算错,也不是用户要新功能,而是外部平台升级后需要继续兼容,所以选B。

考点定位

判断维护类型先找触发原因:修缺陷是纠错,环境变化是适应,新增或改善用户需求是完善,提前降低未来风险是预防。

易错提醒

  • 见到升级二字就选完善性维护,没有判断是谁升级。
  • 安全漏洞已经暴露仍选预防性维护,忽略它已是缺陷修复。
  • 一次版本同时含多种修改,却强行把整个版本归为单一类型。

备考提示

  • 按触发原因做四格表,不要按代码改动大小判断。
  • 给每类各准备一个反例:修Bug、换平台、加功能、重构防患。

你可能还想了解

  • 操作系统升级为什么是适应性维护?
  • 完善性维护和适应性维护怎么区分?
  • 重构一定属于预防性维护吗?

本文小结

软件因操作系统和数据库环境变化而修改适配层,触发原因是外部环境变化,因此主要属于适应性维护。