软件工程第13章(3-03).pptVIP

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程第13章(3-03)

软件维护 软件在交付使用之后,随着需求和环境的变化,以及软件自身潜在问题的逐渐显露,对其进行跟踪维护便成了不可或缺的工作环节。软件维护的代价很大,很多软件的维护成本已经达到了整个生命周期成本的40%~70%之间。因此,软件开发人员需要具有耐心和细心,并积极开拓创新,不断探索提高维护质量和效率的新方法。 本章主要介绍了软件维护的基本内容,分步描述了软件维护的五个过程,说明软件的可维护性,以及提高软件可维护性的五种方法;对软件再工程的相关内容作了具体介绍。 1.软件维护的概念 软件交付使用后的变更等工作被称之为软件维护。确切地说,软件维护是指在软件运行或维护阶段对软件产品所进行的修改,这些修改可能是改正软件中的错误,也可能是增加新的功能以适应新的需求,但是一般不包括软件系统结构上的重大改变。软件维护是一种技术措施,从技术的角度,国标GB/T11457-89对软件维护给出了两个定义如下: 在某一软件产品交付使用后对其进行修改,以纠正故障。 在某一软件产品交付使用后对其进行修改,以纠正故障,改进其性能和其他属性,以使产品适应了改变的环境。 软件维护工作不改变软件的基本结构,而是对软件做局部性的修改以响应变更的需求。 软件维护是软件生命周期的最后一个阶段,软件从部署完毕到退役的整个环节内,对软件改动所做的工作是维护的内容。软件维护的主要目标是使已部署的软件按照需求规格说明书的要求(或用户的新需求)运行,这要求软件不仅要满足用户所需要的各项功能需求,同时还要满足用户对软件的非功能需求。软件维护的基本内容则包含了实现这些目标所做的全部工作。 2.软件维护的特点 软件的维护工作具有如下几个方面的特点: ① 软件维护是软件生产性活动中延续时间最长、工作量最大的活动之一。大、中型软件产品,开发期一般为1~3年,运行期可达5~10年。在这么长时间的软件运行过程中,需要不断改正软件中的残留错误,适应新的环境和用户新的要求。这些工作需要花费大量的精力和时间。 ② 软件维护不仅工作量大、任务重,而且如果维护得不正确,还会产生一些意想不到的副作用,甚至引入新的错误。因此,软件维护直接影响软件(产品)的质量和使用寿命,维护活动必须慎重对待。 ③ 软件维护活动实际是一个修改和简化的软件开发过程。软件开发的所有环节,如分析、设计、实现和测试等几乎都要在维护活动中用到。 ④ 软件维护和软件开发一样,都需要采用软件工程的原理和方法。这样才可以保证软件维护的标准化和高效率,从而降低维护成本。 ⑤ 系统越大,理解掌握起来就越困难。系统越大,所执行的功能就越复杂。因而需要更多的维护工作量。 3.1.2 软件维护的分类 在软件的开发过程中,维护阶段是软件生命周期的最后一个阶段,它不仅是花费时间最长、投入人力和财力资源最多的一个阶段,而且也是难度系数最大的一个阶段,对于不同的维护种类应该采取不同的策略。在一般的情况下,软件维护可分如下几类: 1.改正性维护 2.适应性维护 3.完善性维护 4.预防性维护 3.1.3 软件维护的成本问题 软件维护阶段是软件生命周期中占用时间和精力最多的一个阶段,需要花费大量的时间、人力与物力。为了降低和控制软件维护的成本,应当考虑有哪些因素影响软件维护的工作量,并相应采取最合适的维护策略。 20世纪70年代,软件的维护费用约占软件总预算的35%~40%。20世纪80年代时,软件维护费用进一步增加,约占软件总预算的60%。近年来,该值已上升到80%左右。该统计表明,随着软件复杂性的不断提高,软件的维护难度越来越大。这不仅导致维护成本不断增高,软件生产率急剧下降,还会带来其他方面的负面影响。例如,由于在资源(人力、设备等)的使用中,维护的优先级要高于现行的开发任务,所以在维护时对资源的占用必然会影响正在开发的项目,致使维护对后继项目的影响不断扩大,从而可能导致恶性循环。 经费上的开支是最明显的,这是有形的代价。还有其他无形的代价是无法估量的,更应该引起注意。如有时为了维护需要,而不得不把可用的资源提供给维护工作,由此耽误或丧失了开发时机;合理的修改需要不能及时处理,从而引起用户的不满;改动软件可能引入新的错误,使软件质量下降;以及把许多开发能手都用在现有软件的维护上,势必影响开发工作的投入。 3.1.4 软件维护中的典型问题 (1)无法追踪软件的整个创建过程 (2)无法追踪软件版本的进化过程 (3)理解别人的程序非常困难 (4)得不到开发人员的帮助 (5)文档的不一致性 (6)分析和设计的缺陷 (7)时间差异造成的 3.1.5 软件维护的副作用 所谓维护的副作用,就是指由于修改程序而导致的错误或其他不需要的动作。在软件维护的过程中,通常有三类主要副作用:修改代码的副作用、修改数据的副作用和修改文档资料的副作用。 1.修改代码的副作用 对

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档