[软件工程] 维 护

维 护

8.1 软件维护的类型

软件维护是指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程。按照不同的维护目的,维护工作可分成4类。

一、软件维护的类型

  • 完善性维护(Perfective Maintenance)
    扩充原有系统的功能,提高原有系统的性能,满足用户的实际需要。

  • 纠错性维护(Corrective Maintenance)
    对在测试阶段未能发现的,在软件投入使用后才逐渐暴露出来的错误的测试、诊断、定位、纠错以及验证、修改的回归测试过程。

  • 适应性维护(Adaptive Maintenance)
    要使运行的软件能适应运行环境的变动而修改软件的过程。

  • 预防性维护(Preventive Maintenance)
    为了进一步改善软件的可靠性和易维护性,或者为将来的维护奠定更好的基础而对软件进行修改。
    四类软件维护的比例
    在这里插入图片描述

二、维护的步骤

在这里插入图片描述

三、维护工作的组织管理

软件维护工作不仅是技术性的,它还需要大量的管理工作与之相配合,才能保证维护工作的质量。管理部门应对提交的修改方案进行分析和审查,并对修改带来的影响作充分的估计,对于不妥的修改予以撤销。需修改主文档时,管理部门更应仔细审查。

在这里插入图片描述

8.2 软件维护的特性

一、结构化维护与非结构化维护

  • 结构化维护 — 指软件开发过程是按照软件工程方法,软件的维护过程,有一整套完整的方案、技术、审定过程。
  • 非结构化维护 — 缺乏必要的文档说明,难于确定数据结构、系统接口等特性。维护工作令人生畏,事倍功半。

二、软件维护的代价

维护费用高达开发费用的55% — 70%,而且逐年上涨。
  维护中还可能引入新的潜在错误。
Belady 和 Lehman 提出软件维护工作模型:
    M=P+K*e(C – D)
其中:
    M—维护总工作量
    P—生产性活动 K—经验常数
    C—程序复杂度(由非结构化维护引起的)
    D—对维护软件熟悉程度的度量。

8.3 软件维护的技术

一、面向维护的技术

在软件开发阶段用来减少错误,提高软件可维护性的技术。涉及到软件开发的所有阶段。
  可维护性(可测试性、可理解性、可修改性、可移植性、可重用性)

二、软件支援技术

在软件维护阶段用于提高维护工作的效率和质量的技术。主要用到测试阶段的技术。

三、软件维护中应注意的问题(谨慎、工具使用)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值