网站大量收购闲置独家精品文档,联系QQ:2885784924

软件工程 (第二版)第6章软件维护.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 软件维护 6.1 软件维护的内容 1. 校正性维护 在软件交付使用后,由于软件开发过程中产生的错误在测试中并没有完全彻底地发现,因此必然有一部分隐含的错误被带到维护阶段来。这些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护, 校正性维护占整个维护工作的21%。 2. 适应性维护 随着计算机的飞速发展,计算机硬件和软件环境在不断发生变化,数据环境也在不断发生变化。为了使应用软件适应这种变化而修改软件的过程称为适应性维护。例如,某个应用软件原来是在DOS环境下运行的,现在要把它移植到Windows环境下来运行;某个应用软件原来是在一种数据库环境下工作的,现在要改到另一种安全性较高的数据库环境下工作,这些变动都需要对相应的软件作修改。这种维护活动要占整个维护活动的25%。 3. 完善性维护 在软件漫长的运行时期中,用户往往会对软件提出新的功能要求与性能要求。这是因为用户的业务会发生变化,组织机构也会发生变化。为了适应这些变化,应用软件原来的功能和性能需要扩充和增强。这种增加软件功能、增强软件性能和提高软件运行效率而进行的维护活动称为完善性维护。例如,软件原来的查询响应速度较慢,要提高响应速度;软件原来没有帮助信息,使用不方便,现在要增加帮助信息。这种维护性活动数量较大,占整个维护活动的50%。 4. 预防性维护 为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。这是为以后进一步的运行和维护打好基础。这需要采用先进的软件工程方法对需要维护的软件或软件中的某一部分进行设计、编码和测试。在整个维护活动中,预防性维护占很小的比例,只占4%。 6.2 软件维护的特点 6.2.1 非结构化维护和结构化维护 软件的开发过程对软件的维护有较大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。 1. 非结构化维护 因为只有源程序,而文档很少或没有文档,维护活动只能从阅读、理解和分析源程序开始。由于没有需求说明文档和设计文档,只有通过阅读源程序来了解系统功能、软件结构、数据结构、系统接口和设计约束等。这样做,一是非常困难;二是难于搞清楚这些问题;三是常常误解这些问题。要想搞清楚,需花费大量的人力、物力,最终对源程序修改的结果是难以估量的,因为没有测试文档,不可能进行回归测试,很难保证程序的正确性。这就是软件工程时代以前进行维护的情况。 2. 结构化维护 用软件工程思想开发的软件具有各个阶段的文档,这对于理解、掌握软件功能、性能、软件结构、数据结构、系统接口和设计约束有很大作用。进行维护活动时,需从评价需求说明开始,搞清楚软件功能、性能上的改变;对设计说明文档进行评价,对设计说明文档进行修改和复查;根据设计的修改,进行程序的变动;根据测试文档中的测试用例进行回归测试;最后,把修改后的软件再次交付使用。这对于减少精力、减少花费和提高软件维护效率有很大的作用。 6.2.2 维护的困难性 软件维护的困难性主要是由于软件需求分析和开发方法的缺陷造成的。软件生存周期中的开发阶段没有严格而又科学的管理和规划,就会引起软件运行时的维护困难。这种困难表现在如下几个方面: (1) 读懂别人的程序是困难的。要修改别人编写的程序,首先要看懂、理解别人的程序。而理解别人的程序是非常困难的,这种困难程度随着程序文档的减少而很快的增加,如果没有相应的文档,困难就达到非常严重的地步。一般程序员都有这样的体会,修改别人的程序,还不如自己重新编程序。 (2) 文档的不一致性。文档的不一致性是维护工作困难的又一因素。它会导致维护人员不知所措,不知根据什么进行修改。这种不一致表现在各种文档之间的不一致以及文档与程序之间的不一致。这种不一致是由于开发过程中文档管理不严所造成的。在开发中经常会出现修改程序却遗忘了修改与其相关的文档,或某一文档做了修改,却没有修改与其相关的另一文档这类现象。要解决文档不一致性,就要加强开发工作中的文档版本管理工作。 (3) 软件开发和软件维护在人员和时间上的差异。如果软件维护工作由该软件的开发人员来进行,则维护工作就变得容易,因为他们熟悉软件的功能、结构等。但通常开发人员与维护人员是不同的,这种差异会导致维护的困难。由于维护阶段持续时间很长,正在运行的软件可能是十几、20年前开发的,开发工具、方法、技术与当前的工具、方法和技术差异很大,这又是维护困难的另一因素。 (4) 软件维护不是一项吸引人的工作。由

您可能关注的文档

文档评论(0)

autohhh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档