Alex_McAvoy

想要成为渔夫的猎手

软件维护

【概述】

软件维护是软件产品生命周期的最后一个阶段

概括地说,软件维护就是指在软件产品交付给用户之后,为了改正软件测试阶段未发现的缺陷,改进软件产品的性能,补充软件产品的新功能等,所进行的修改软件的过程

进行软件维护通常需要软件维护人员与用户建立一种工作关系,使软件维护人员能够充分了解用户的需要,及时解决系统中存在的问题

软件维护分为纠错性维护、适应性维护、预防性维护、完善性维护这四种,各种维护的工作量比例如下图:

【软件维护过程】

典型的软件维护的过程可以概括为以下五个阶段:

  • 建立维护机构
  • 用户提出维护申请并提交维护申请报告
  • 维护人员确认维护类型并实施相应的维护工作
  • 整理维护记录并对维护工作进行评审
  • 对维护工作进行评价

在维护人员实施相应的维护工作过程中,涉及到的技术工作如下图:

在整理维护记录过程中,需要记录的数据有:

在对维护工作进行评价时,可参考的评价标准有:

  • 每次程序运行平均失效的次数(每次运行失效的概率)
  • 用于每一类维护活动的总人时数
  • 平均每个程序、每种语言、每种维护类型所做的程序变动数
  • 维护过程中增加或删除一个源语句平均花费的人时数
  • 维护每种语言平均花费的人时数
  • 一张维护申请报告的平均周转时间
  • 不同维护类型所占的百分比

【软件的可维护性】

软件的可维护性是用来衡量对软件产品进行维护的难易程度的标准, 它是软件质量的主要特征之一

软件产品的可维护性越高,纠正并修改其错误或缺陷,对其功能进行扩充或完善时,消耗的资源越少,工作越容易

开发可维护性高的软件产品是软件开发的一个重要目标,而影响软件可维护性的因素有很多,如可理解性、可测试性、可修改性等

要想提高软件产品的可维护性,软件开发人员需要在开发过程和维护过程中都对其非常重视,提高可维护性的措施有以下几种:

  • 建立完整的文档
  • 采用先进的维护工具和技术
  • 注重可维护性的评审环节

【软件维护的副作用】

软件维护是存在风险的,对原有软件产品的一个微小的改动都有可能引入新的错误,造成意想不到的后果

软件维护的副作用主要有三类:

  • 修改代码的副作用:人类通过编程语言与计算机进行交流,每种编程语言都有严格的语义和语法结构
  • 修改数据的副作用:数据结构被改动时有新的错误产生的现象
  • 修改文档的副作用:在软件产品的内容更改之后没有对文档进行相应的更新而为以后的工作带来不便的情况
感谢您对我的支持,让我继续努力分享有用的技术与知识点!