软件工程及实践[窦万峰]第8章 软件维护.pptVIP

软件工程及实践[窦万峰]第8章 软件维护.ppt

  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文档。上传文档
查看更多
8 . 1 软件维护概述 8 . 2 软件维护类型 8 . 3 软件维护技术与过程 8 . 4 非结构化维护和结构化维护 8 . 5 提高软件的可维护性 8.1.1 软件维护任务 要求维护的原因主要分为如下5种。 (1)在运行中发现在测试阶段未能发现的潜在软件错误和设计缺陷。 (2)根据实际情况,需要改进软件设计,以便增强软件的功能,并提高软件的性能。 (3)要求在某环境下已运行的软件能适应特定的硬件、软件、外部设备和通信设备等新的工作环境,或要求适应已变动的数据或文件。 (4)为使投入运行的软件与其他相关的程序有良好的接口,以利于协同工作。 (5)为使运行软件的应用范围得到必要的扩充。 软件(产品)的维护工作有以下几个特点。 (1)软件维护是软件生产性活动中延续时间最长和工作量最大的活动。 (2)软件维护不仅工作量大和任务重,而且维护不正确还会产生一些意想不到的副作用,甚至引入新的错误。 (3)软件维护活动实际是一个修改和简化的软件开发过程,软件开发的所有环节,如分析、设计、实现和测试等几乎都要在维护活动中用到。 (4)软件维护和软件开发一样都需要采用软件工程原理和方法,这样才可以保证软件维护的标准化和高效率,从而降低维护成本。 以下是定义可维护性,或者影响可维护性的几个软件质量属性。 (1)可理解性:指人们通过阅读源代码和相关文档了解程序功能、结构、接口和内部过程的容易程度,一个可理解的程序主要应该具备模块化、结构化、风格一致化(代码风格与设计风格的一致性)、易识别化,以及文档完整化等一些特性。 (2)可测试性:指论证程序正确性的容易程度,程序复杂度越低,证明其正确性就越容易。 (3)可修改性:指程序容易修改的程度,一个可修改的程序应当是可理解、通用、灵活和简单的。 除此之外,还有以下几个影响可维护性的软件质量属性。 (1)可靠性 (2)可移植性 (3)可使用性 (4)效率 1.纠错性维护 软件测试不可能找出一个软件系统中所有潜伏的错误,所以当软件在特定情况下运行时,这些潜伏的错误可能会暴露出来。 2.完善性维护 在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些日益增长的新要求,需要修改或再开发软件,以便扩充软件功能、增强软件性能、改进处理效率,以及提高软件的可维护性等,这些维护活动称为“完善性维护”(Perfective Maintenance)。 3.适应性维护 适应性维护是为了适应计算机的飞速发展,使软件适应外部新的硬件和软件环境或者数据环境(数据库、数据格式、数据输入/输出方式和数据存储介质)发生的变化而修改软件的过程,占整个维护工作量的25%。 4.预防性维护 通常,除了以上3类正常的维护活动之外,还有一类是为了提高软件的可维护性和可靠性,并主动为以后进一步维护软件打下良好基础的维护活动,这类维护活动称为“预防性维护”(Preventive Maintenance)。 1.面向维护的技术 面向维护的技术是软件开发阶段用于减少错误、提高软件可维护性的技术,它涉及软件开发的所有阶段。 2.维护支援技术 (1)信息收集:收集有关系统在运行过程中的各种问题。 (2)错误原因分析:分析所收集到的信息,分析出错的原因。 (3)软件分析与理解:只有认真理解需要维护的软件,才能保证软件维护正确进行。 (4)维护方案评价:在维护修改前,要确定维护方案,并由相关的组织进行评审通过后才能执行。 (5)代码与文档修改:实施维护方案。 (6)修改后的确认:经过修改的软件需要重新测试。 (7)远距离的维护:网络系统可以通过远程控制维护。 3.软件维护过程 对于各种类型的每一项具体的维护申请,软件维护的工作流程如图8-1所示,维护的主要步骤是确认维护类型、实施相应维护和维护评审。 1.非结构化维护 由于只有源代码,没有或仅有少量的文档,所以维护活动只能从阅读、理解和分析程序源代码开始。 2.结构化维护 由于存在软件开发各阶段的文档,所以对于理解和掌握软件的功能、性能、结构、数据、接口和约束有很大帮助。 1.建立完整的文档 文档(包括软件系统文档和用户文档)是影响软件可维护性的决定因素,由于文档是对软件的总目标、程序各组成部分之间的关系、程序设计策略,以及程序实现过程的历史数据等的说明和补充,因此对提高程序的可理解性有着重要作用。 2.明确质量标准 在软件的需求分析阶段应明确建立软件质量目标,确定所采用的各种标准和指导原则,提出关于软件质量保证的要求。 3.采用易于维护的技术和工具 为了提高软件的可维护性,应采用易于维护的技术和工具。 例如,采用面向对象、软件重用等先进的开发技术可大大提高软件可维护性。 4.加强可维护性复审 在软件工程的每一个阶段及每一项活动的复审环节中应该着重对可维护性进行

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档