【软件工程导论】第八章.维护

~Ooops:本篇博文为观看《软件工程导论 第五版 》张海潘书籍所做的总结性笔记,

有错误请望指出?

一.软件维护的定义和特点

1.定义:在软件已经交付使用后,为了改正错误或满足新的需要,而对软件产品所做出的修改。

2.目的:通过必要的维护工作 ,使系统持久的满足用户的需要。

3.维护的类型:

  • 改正性维护: 指的是在特定环境下暴露的问题,识别和纠正错误,修改性能缺陷。
  • 适应性维护:针对硬件和软件的变化,为适应新环境而进行软件修改。
  • 完善性维护:针对用户提出的新增功能或者时修改已有的功能要求,而进行软件修改。 一般大部分为这种类型。
  • 其他维护:除以上维护类型之外的维护。

4.维护的特点:

  • 结构化和非结构化维护差异明显。

    • 非结构化维护(代价很大)

      只有程序代码,从评价程序代码开始,文档不足,改动的后果难以估计。

    • 结构化维护(代价较小,维护质量高)

      有程序代码和相关文档,从评价设计文档开始,修改设计并进行复查,根据说明书进行回归测试

  • 维护的代价高昂。

    • 有形代价: 维护成本高、

    • 无形代价:引发用户的不满,降低软件质量,影响新项目开发。

      维护工作量的模型:

       		M = P + K * exp(c - d)
       M 维护工作总量 P 生产性工作量  K 经验常数 
       c 软件复杂程度 d 维护人员对软件的熟悉程度
      

      以上模型表明,如果软件开发的途径不当原开发人员不参加维护工作,都加使维护工作量呈指数级增加

5.影响软件维护的因素:

​ 修改别人的程序 ,文档不全,软件结构不合理,软件维护易受挫。与软件维护有关的大多数问题,都可归因于软件定义和软件开发方法有缺陷。

二.软件维护的过程

软件维护过程本质上是修改和压缩了软件定义和开发过程,而远在提出意向维护要求之前,与软件维护有关的工作已经开始了。

维护的一般过程:

建立维护组织 ——> 维护报告 ——> 维护事件流 ——> 保存维护记录 
											——> 评价维护活动
  1. 软件维护的决定性因素

    1.可理解性 2.可测试性 3. 可移植性 4.可修改性 5.可重用性

  2. 文档

    软件文档可以分为用户文档系统文档

    用户文档: 描述系统功能和使用方法。

    系统文档: 描述系统设计,实现,测试等方面内容。

  3. 可维护性复审

    软件工程每一个阶段结束前,应该着重对可维护性进行复审。在系统设计阶段的复审期间,应该从容易修改,模块化,和功能独立的目的出发

4.逆向过程与再工程

​ 逆向工程是指分析已有的程序,寻求比源代码高级的抽象式更高一级的抽象形式。 再生工程,也称为修复和改造工程,它是在逆向工程所获信息的基础上修改或再 生 已有的系统,产生系统的一个新版本。

再工程是:指通过对目标系统的检查和改造,其中包括设计恢复(库存目录分析)、再文档、逆向工程、程序和数据重构以及正向工程等一系列活动,旨在将逆向工程、重构和正向工程组合起来,将现存系统重新构造为新的形式,以开发出质量更高、维护性更好的软件。


三.总结

维护是软件生命周期的最后一个阶段,也是持续时间最长,代价最大的一个阶段,而软件工程的主要目的就是提高软件的可维护性降低维护的代价

1.软件工程的四类活动(类型)。

2.决定软件可维护性的基本因素。

3.文档是影响软件可维护性的决定因素,文档比可执行的程序代码更重要,分为用户文档系统文档

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值