软件工程第九章 软件维护.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文档。上传文档
查看更多
2. 文档重构 老程序固有的特点缺乏文档,根据具体情况可采用下述3种方法之一来处理这个问题: 1)如果一个程序是相对稳定的,正在走向生命的终点,而且可能不会再修改它,则不必为它建立文档。 2)为了便于今后的维护,必须更新文档,但是由于资源有限,应该采用“使用时建立文档”的方法,也就是说,不是一下子把某应用系统的文档全部都重建起来,而是只建立系统中当前正在修改的那些部分的完整文档。 3)如果某应用系统是用户完成业务工作的关键,而且必须重构全部文档,则仍然应该尽量把文档工作减少到必需的最小量。 3. 逆向工程 软件的逆向工程是,分析程序以便在比源程序更高的抽象层次上创建出程序的某种描述的过程,也就是说,逆向工程是一个恢复设计结果的过程。 第九章 软件维护 软件维护概述 1 软件维护技术 5 软件维护过程模型 3 应注意的问题 2 小结 6 本章学习目标 1 2 3 掌握:软件维护的基本类型;软件的可维护性的决定因素; IEEE 软件维护的过程模型。 了解:软件维护的困难性所在;软件维护在管理上的要点;软件维护的主要程序理解技术;软件再工程的过程模型。 理解:软件维护的基本概念;软件维护在技术上的要点;维护费用的估算;软件逆向工程的概念及主要内容。 软件维护概述 软件维护的基本概念 软件维护的基本类型 维护的困难性 软件维护的定义 IEEE/EIA 12207[ISO/IEC2008]中对软件维护的定义是:软件维护是指由于软件产品出现问题或需要改进而对代码及相关文档的修改,其目的是对现有软件产品进行修改的同时保持其完整性。 软件维护的必要性 1.软件维护能够改正错误。 2.软件维护能够改善设计。 3.软件维护能够实现软件的改进(Implement enhancements) 4.软件维护能够与其他系统进行交互。 5.软件维护能够为使用不同的硬件、软件、系统的新性能以及通讯设备等而对软件进行改进。 6.软件维护能够完成遗留程序的移植。 7.软件退出使用。 软件维护的成本 软件维护阶段一般要消耗软件生命周期中经费开支的大部分。 70年代用于维护已有软件的费用只占软件总预算的35%~40%,80年代上升为40%~60%, 90年代已经占70%~80%。 维护的类型有四种: 纠错性维护 适应性维护 完善性维护 预防性维护 软件维护的基本类型 纠错性维护 在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分隐藏的错误遗留到运行阶段。 这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。 为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程就叫做改正性维护。 适应性维护 在使用过程中, 外部环境(新的硬、软件配置) 数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质) 可能发生变化。 为使软件适应这种变化,而去修改软件的过程就叫做适应性维护。 完善性维护 在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。 为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。 这种情况下进行的维护活动叫做完善性维护。 实践表明,在几种维护活动中,完善性维护所占的比重最大。即大部分维护工作是改变和加强软件,而不是纠错。 完善性维护不一定是救火式的紧急维修,而可以是有计划、有预谋的一种再开发活动。 事实证明,来自用户要求扩充、加强软件功能、性能的维护活动约占整个维护工作的50%。 预防性维护 预防性维护是为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。 预防性维护定义为:采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试。 在整个软件维护阶段所花费的全部工作量中,完善性维护占了几乎一半的工作量。 国外的统计数字表明,完善性维护占全部维护活动的50%~66%,改正性维护占17%~21%,适应性维护占18%~25%,其他维护活动只占4%左右 维护的困难性 1、配置管理工作不到位 2、人员变动造成的影响 3、许多软件的可读性差 4、任务紧、时间急的情况下处理维护请求 软件维护中应注意的问题(一) 技术方面 程序的理解 测试 影响分析 可维护性 影响分析的目标 决定改变的范围。这对合理计划和完成工作有重要意义 对完成工作所需的资源进行精确的估计。 分析改变的费用/效益比 由于对软件进行变更往往是牵一发而动全身的,因此如果给出了一个变更,必须考虑到与之相关的其他复杂情况 决定软件可维护性的主要因素 (1) 可理解性 (2) 可测试性 (3) 可修改性 (4) 可移植性 (5) 可重用性 影响软件可维护性的维护环境的因素 (1) 软件维护的文档 (2)

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档