电子科技大学软件工程期末复习笔记(八):软件维护

目录

前言

重点一览

软件维护的定义

四种类型的维护

软件维护的必要性

软件维护的成本

软件维护的困难性

可维护性的定义

决定软件可维护性的因素

软件维护的过程模型

维护费用估算

软件再工程

软件逆向工程

本章小结


前言

本复习笔记基于王玉林老师的课堂PPT与复习大纲,供自己期末复习与学弟学妹参考用。


重点一览

本节分值在八分,重点还是在概念理解方面。 


软件维护的定义

是指由于软件产品出现问题或需要改进而对代码及相关文档的修改,其目的是对现有软件产品进行修改的同时保持其完整性


四种类型的维护

  • 纠错性维护
  • 适应性维护
  • 完善性维护
  • 预防性维护

在维护阶段的最初一段时期,纠错性维护的工作量较大,随着错误发现率逐渐降低并趋于稳定适应性维护和完善性维护的工作量逐步增加


软件维护的必要性

  • 改正错误、改善设计;
  • 改正设计以适应新的软硬件操作环境;
  • 增加新的应用范围。

软件维护的成本

有形的维护成本是花费的金钱,无形的维护成本有更大的影响

  • 合理修复/修改请求未及时落实:使得客户不满
  • 变更结果导致新的故障:产品质量下降
  • 软件人员抽调到维护工作中:开发效率降低
  • ......

软件维护的困难性

  • 配置管理工作不到位
  • 人员变动造成的影响
  • 许多软件的可读性差
  • 时间紧、任务重的情况下处理维护请求
  • ......

可维护性的定义

是指纠正软件系统出现的错误和缺陷,以及为满足新要求进行修改、扩充或压缩的容易程度

可维护性、可使用性、可靠性是衡量软件质量的重要特性和用户十分关心的内容

软件的可维护性是软件开发阶段各个时期的关键目标


决定软件可维护性的因素

  • 主要因素
  1. 可理解性
  2. 可使用性
  3. 可测试性
  4. 可修改性
  5. 可移植性
  6. 效率
  7. 可靠性
  • 对于不同类型的维护,这其中类型的侧重点不同。

软件维护的过程模型


维护费用估算


软件再工程

定义:软件再工程(Re-engineering)指对现有软件进行仔细审查和改造,对其进行重新构造,使之成为一个新的形式,同时包括随之产生的对新形式的实现。


软件逆向工程

含义:

  • 分析程序以便在比源程序更高的抽象层次上创建出程序的某种描述的过程,也就是说,逆向工程是一个恢复设计结果的过程
  • 分析目标系统,识别系统的构件及其交互关系,并且通过高层抽象或其他形式来展现目标系统的过程

考虑内容:

  • 抽象的层次、完备性、工具与分析人员协同工作的程度、过程的方向性等因素

主要内容:

  • 数据的逆向工程
  • 处理的逆向工程
  • 用户界面的逆向工程

本章小结

  • 软件维护可以分为纠错性维护、适应性维护、完善性维护、预防性维护
  • 软件维护实践中经常会遇到各种困难,需要在技术、管理方面进行考虑,并对维护费用进行估算
  • 软件维护按IEEE维护过程模型可以分为七个阶段
  • 程序的理解对软件维护具有重要意义,程序理解的任务就是要揭示程序的功能与实现机制
  • 软件的再工程是对现有软件进行仔细审查和改造,进行重新构造,最终成为一个新的形式。六种活动构成了再工程的循环模型
  • 软件逆向工程包括数据、处理和用户界面等逆向工程
     

猜你喜欢

转载自blog.csdn.net/m0_59180666/article/details/129253182