18_软件维护.pptVIP

  1. 1、本文档共44页,可阅读全部内容。
  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文档。上传文档
查看更多
18_软件维护

广东工业大学计算机学院 软件工程 Software Engineering 第18章 软件维护 为了软件工作适应环境的变化,就必须对软件进行维护 。 本章内容: 18.1 软件维护概述 18.2 软件可维护性 18.3 软件维护的特点 18.4 软件维护的实施 18.5 维护“老化代码” 18.6 逆向工程和再工程 18.1 软件维护概述 18.1.1 软件维护的定义 属于软件维护工作的活动不只是对软件中的错误进行修改,只要是因为以下的原因之一产生的活动都属于软件维护: (1)对软件中的错误进行修改。 (2)因软件在使用过程中的软硬件环境发生变化,需要修改软件以适应这种变化。 (3)用户要求增加新的功能,提高软件的性能等。 (4)为适应新的工作要求而对软件部分或整体进行再工程(reengineering)。 软件维护的分类 1. 改正性维护(Corrective maintenance) 软件开发时,由于测试技术的限制,没有一种可以检查出所有错误的测试技术,必然会有一部分隐藏的错误被带到运行阶段来。这些隐藏下来的错误在运行时就有可能在某些特定的环境下出现。这种对软件中存在的错误进行修改的维护活动,就叫做改正性维护。据统计,改正性维护占整个维护工作的五分之一。 2. 适应性维护(Adaptive maintenance) 为了让软件适应新的软硬件环境对软件进行的修改活动的过程就叫做适应性维护。 3. 完善性维护(Perfective maintenance) 在软件的使用过程中,用户往往对软件提出新的功能与性能要求。为了满足这些要求,对软件进行修改而产生的维护活动叫做完善性维护。比如修改用户界面,使之易于理解和使用,该种类型的维护占维护工作的很大部分。 4. 预防性维护(Preventive maintenance) 除了以上三类维护之外,还有一类维护活动,叫做预防性维护。这是为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。通常,预防性维护定义为:“把今天的方法学用于昨天的系统以满足明天的需要”。 18.1.2 影响维护工作的因素 1. 系统大小 系统越大、越复杂,维护人员理解起来就越困难。因而需要更多的维护工作量。可用源程序语句数、输入输出文件数、实现的功能模块数量来衡量系统的大小。 2. 系统的开发文档 系统的开发文档完善,维护工作就好做很多。开发文档不完善,则维护的工作量将会很大,因为要通过源程序去阅读、理解一个程序的功能和设计思想将是非常困难的。 3. 其他因素 在程序中使用的数学模型、任务的难度、IF嵌套深度、索引或下标数等,对维护工作量都有影响。 此外,许多软件在开发时并未考虑将来的修改,这就为软件的维护带来许多问题。 18.1.3 维护成本 软件的维护成本体现为有形和无形两类。有形的软件维护成本是花费了多少钱,无形的成本是对其他方面的影响,可以是以下几种: (1)维护不及时和不能满足用户新的功能需求,使得客户不满意。 (2)在维护时因引入了新的错误,使软件整体质量下降,从而造成更大的维护活动。 (3)当必须把软件人员抽调到维护工作中去时,影响正在进行的软件开发工作。 软件维护的代价是在生产率(用LOC/人月或功能点/人月度量)方面惊人的下降。 18.2 软件可维护性 对于一个复杂的软件系统,造成维护工作十分困难的一个直接原因是缺乏软件开发文档。因为没有足够的、规范的文档,很难理解以前的软件的功能、算法和很难阅读和理解源程序。但实际上,最根本的原因是没有严格按照软件工程的规范和标准来开发软件,在维护时也没按照规范来做,为以后的维护带来了更多的问题。所以,为了使得软件能够易于维护,首先必须考虑使软件具有可维护性。 18.2.1 软件可维护性的定义 软件可维护性就是指进行维护活动时的容易程度。可维护性、可使用性、可靠性是衡量软件质量的几个主要质量特性,也是用户十分关心的几个方面。软件的可维护性是软件开发阶段各个时期的关键目标。目前广泛使用的是用如下的七个特性来衡量程序的可维护性。而且对于不同类型的维护,这七种特性的侧重点也不相同。 表18-1 在各类维护中的侧重点 18.2.2 可维护性的度量(七种) 1. 可理解性 可理解性是指人们通过阅读源代码和相关文档,了解程序功能及其如何运行,对源程序的代码容易理解。可理解性高的程序应具有模块化,编程风格清晰、易读,不使用具有歧义的代码,使用有意义的标示符作为变量名和函数名等特征。 2. 可靠性 可靠性指按照用户的要求和设计目标,一个程序在给定的一段时间内正确执行的概率,是软件整体质量的一个重要的因素。 度量可靠性的方法,主要有两种: (1)根据程序存在的错误的统计数字,进行可靠性预测

文档评论(0)

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

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

1亿VIP精品文档

相关文档