SE 模型问答 #6



问题:解释“软件维护”这个术语。

答案: - 软件系统的维护可以定义为,在软件系统发布后对其进行的修改或变更。软件维护是软件工程的一部分。软件维护在系统开发中具有重要价值。维护的需求在以下情况下出现:

  • 当用户在自己的地方获得产品时。

  • 安装后

  • 当软件处于运行阶段时。

当在软件运行期间进行任何修改或更改时,称为维护。软件维护涵盖了广泛的领域,包括纠正编码和设计错误、更新文档以及更新用户支持。IEEE 对维护的定义如下:

软件维护是指在交付软件产品后对其进行修改,以纠正错误,提高性能或其他属性,或使产品适应修改后的环境。

根据 Stephan 的说法,软件维护是一项详细的活动,包括:

  • 错误检测和纠正

  • 增强功能

  • 删除过时的功能

  • 优化

软件维护的原因

在软件的生命周期中,维护活动具有重要价值。与开发成本相比,维护成本更高。通常,软件维护占软件生命周期总成本的 40% 到 70%。成本和难度是软件维护的两个缺点。有一些原因增加了对软件维护的需求。

  • 用户需求会随着时间推移而变化。

  • 当硬件技术发生变化时。

  • 当系统的环境发生变化时。

  • 为了提高系统的功能或容量。

  • 为了保持产品的相同质量。

  • 为了解决错误。

  • 为了利用现有软件获得最佳输出。

  • 为了拒绝异常影响。

  • 为了使软件更符合用户的需求。

软件维护的类型

  1. 纠正性维护 - 纠正性维护可以定义为对软件中存在的错误进行的修改。通过纠正性维护方法,软件可以通过消除所有错误来进行更改。因此,此方法的目标是从所有类型的错误中纠正软件。软件存在多种类型的错误,例如规范错误、逻辑错误、编码错误等,纠正性维护解决了所有这些类型的错误。为了恢复系统,在纠正性维护中执行多种类型的操作。

    根据 K. Bennett 的说法:

    维护人员有时会求助于称为修补的紧急修复,以减轻管理层的压力。

    总维护成本的 20% 是纠正性方法的一部分。

  2. 适应性维护 - 适应性维护可以定义为对软件系统进行的修改,使其能够在系统运行的环境中生存。环境是指来自外部影响软件的情况。根据 R. Books 的说法:

    整个或部分环境的变化将需要对软件进行相应的更改。

    总维护成本的 20% 是适应性维护的一部分。

  3. 完善性维护 - 为了提高软件的效率、性能、可维护性和有效性,这称为完善性维护。大多数情况下,增强也包括完善性维护作为其一部分。更改后,用户为了开发人员开发的目的而操作此软件。例如:如果 GUI 无法吸引客户,则会进行一些更改以改进软件的外观和设计。仅仅为了获得完美而进行更改,否则在正常情况下没有必要。软件工程可以完成完善性维护的需求。所有提高质量的更改都包含在完善性维护中。系统更改的原因可能是提高效率和功能以及易于理解。总维护成本的 50% 是完善性维护的一部分。

广告