软件工程概论参考6软件维护.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程导论 taohuating@126.com 第8章 维护 软件交付后,就进入维护期,这是软件生命周期的最后一个阶段,基本任务是保证软件正常运行; 维护需要的工作量很大、投入也大; 对大型软件,是开发成本的4倍左右,主要包括运行成本和维护成本; 国外许多软件开发组织把60%以上的人力用于维护已有的软件,这个百分比还在持续上升 软件工程的目标之一,就是要提高软件的可维护性,减少软件维护成本。 第8章 维护 8.1 软件维护的内容 8.2 维护的特点 8.3 维护任务的实施 8.4 软件的可维护性 8.1 软件维护的内容 为了改正错误或满足新的需要而修改软件的过程,即是软件维护 维护的内容包括四种: 改正性维护(21%) 适应性维护(25%) 完善性维护(50%) 预防性维护(4%) ①改正性维护 由维护人员诊断和改正错误的过程,称为改正性维护。 因为测试的不彻底性和测试的不可能穷举,必然有些隐错,在某些特定应用环境下,必然会暴露出来; 发现错误,极时改正,由维护人员进行 ②适应性维护 硬件换代、操作系统升级速度非常快,而应用软件的使用寿命却可能很长,远长于最初开发这个软件时的运行环境的寿命; 适应性维护,也就是为了使软件与变化了的环境适应而进行的修改 ③完善性维护 使用过程中,用户会提出增新功能或修改已有功能的要求,或者是提出一般性的改进意见。 为了满足这类要求,需要对软件进行完善性维护。 这项维护活动通常占软件维护工作的量最大(50%) ④预防性维护 当为了改善软件的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件时,出现了第四项维护活动。这项维护活动通常称为预防性维护; 目前这项维护活动相对比较少。 小结 从上述关于软件维护的定义不难看出,软件维护绝不仅限于纠正错误,事实上一半以上是完善性维护; 国外的统计数字表明: 完善性维护占50%~66%; 改正性维护占17%~21%; 适应性维护占18%~25%; 其他维护活动只占4%左右。 应该注意,上述4类维护活动都必须应用于整个软件配置,维护软件文档和维护软件的可执行代码是同样重要的。 第8章 维护 8.1 软件维护的内容 8.2 维护的特点 8.3 维护任务的实施 8.4 软件的可维护性 8.2 软件维护的特点 8.2.1 非结构化维护与结构化维护 8.2.2 维护的困难性 8.2.3 维护的费用 8.2.1 非结构化维护与结构化维护 非结构化维护与结构化维护差别很大,维护的困难也不同 1.非结构化维护 如果软件配置只有程序代码,没有或很少有文档,就是非结构化维护,维护活动将非常艰难; 首先难在维护必须从阅读、理解源代码开始; 其次,对于软件结构、数据结构、系统接口、性能和设计约束等经常会产生误解,而且对程序代码所做的改动的后果也是难于估量的; 第三,因为没有测试方面的文档,所以不可能进行回归测试 非结构化维护需要付出很大代价(浪费精力并且遭受挫折的打击),这种维护方式是没有使用良好定义的方法学开发出来的软件的必然结果。 2. 结构化维护 结构化维护是有据、有序地进行的 如果有完整的软件配置,维护工作就可以从评价设计文档开始, (1)确定软件重要的结构特点、性能特点以及接口特点; (2)估量要求的改动将带来的影响,并且计划实施途径。 然后, (1)首先修改设计并且对所做的修改进行仔细复查。 (2)接下来编写相应的源程序代码; (3)使用在测试说明书中包含的信息进行回归测试; (4)最后,把修改后的软件再次交付使用。 上面描述的事件,就所谓的结构化维护,它是在软件开发的早期应用软件工程方法学的结果。 虽然有了软件的完整配置并不能保证维护中没有问题,但是确实能减少精力的浪费并且能提高维护的总体质量。 8.2 软件维护的特点 8.2.1 非结构化维护与结构化维护 8.2.2 维护的困难性 8.2.3 维护的费用 8.2.2 维护的困难性 与软件维护有关的绝大多数问题,都可归因于软件定义和软件开发的方法有缺限。 在软件生命周期的头两个时期没有严格而又科学的管理和规划,几乎必然会导致在最后阶段出现问题。 维护困难主要表现如下: ①读懂别人的程序是困难的 理解别人写的程序通常非常困难,且困难程度随着软件配置成分的减少而迅速增加。 如果仅有程序代码没有说明文档,则会出现严重的问题。 ②文档的不一致性 需要维护的软件往往没有合格的文档,或者文档资料显著不足、内容与软件不一致。 认识到软件必须有文档仅仅是第一步,容易理解的并且和程序代码完全一致的文档才真正有价值的。 ③维护人员不可能总是开发人员 当要求对软件进行维护时,不能指望由开发人员给我们仔细说明软件。 由于维护阶段持续的时间很长,因此,当需要解释软

文档评论(0)

134****9146 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档