[软件工程] 维 护

维 护

  • 维 护
    • 8.1 软件维护的类型
      • 一、软件维护的类型
      • 二、维护的步骤
      • 三、维护工作的组织管理
    • 8.2 软件维护的特性
      • 一、结构化维护与非结构化维护
      • 二、软件维护的代价
    • 8.3 软件维护的技术
      • 一、面向维护的技术
      • 二、软件支援技术
      • 三、软件维护中应注意的问题(谨慎、工具使用)

维 护

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 软件维护的技术

    一、面向维护的技术

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

    二、软件支援技术

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

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

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年9月27日
下一篇 2019年9月27日

相关推荐