软件工程 第十五章 软件维护

软件工程 第十五章 软件维护

ID:6155888

大小:869.00 KB

页数:32页

时间:2017-11-16

软件工程 第十五章 软件维护_第1页
软件工程 第十五章 软件维护_第2页
软件工程 第十五章 软件维护_第3页
软件工程 第十五章 软件维护_第4页
软件工程 第十五章 软件维护_第5页
资源描述:

《软件工程 第十五章 软件维护》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十五章软件维护在软件开发过程中始终强调软件的可维护性。原因是,一个应用系统由于需求和环境的变化以及自身暴露的问题,在交付用户使用后,对它进行维护是不可避免的,统计和估测结果表明,信息技术中硬件费用一般占35%,软件占65%,而软件后期维护费用有时竟高达软件总费用的80%,所有前期开发费用仅占20%。许多大型软件公司为维护已有软件耗费大量人力、财力。因此,必须建立一套评估、控制和实施软件维护的机制,这就是本章重点讨论的内容。15.1软件维护的分类生存周期的最后一个阶段,所有活动都发生在软件交付并投入运行之后。维护活动根据起因可分为改正性维护、适应性维护、改善

2、性维护和预防性维护四类:改正性维护是为诊断和改正软件系统中潜藏的错误而进行的活动。适应性维护是为适应环境的变化而修改软件的活动。改善性维护是根据用户在使用过程中提出的一些建设性意见而进行的维护活动。预防性维护是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。第十五章软件维护15.2维护过程软件维护与软件开发阶段的各项活动相比,直到近期才引起人们足够的重视,因此有关维护的技术和方法研究得还很不够。本节主要讨论:(1)维护阶段的主要活动及软件工程的目标、原则对这些活动的影响;(2)维护阶段的代价;(3)软件维护中经常遇到的一些问题。第十五

3、章软件维护15.2.1结构化与非结构化的维护15.2维护过程非结构化如果软件配置中唯一可用的是源代码,那么维护只能从“苦读”代码开始。由于缺乏内部文档,读代码是一项很枯燥、很困难的工作。软件系统的许多微妙之处(例如软件总体结构、全局数据、系统接口、性能和设计方面的约束等)不是搞不清楚就是常常被误解,以致无法估量对源代码修改所产生的后果。特别是,由于没有保存测试记录,使“回归测试”无法进行。对于没有使用良好开发方法开发的软件,不得不采用非结构化的方式进行维护并为此付出高昂的代价(浪费大量人力,且让维护人员有挫折感)。15.2维护过程结构化如果欲维护的软件存在一

4、个完整的软件配置,维护活动将从阅读设计文档开始。首先确定软件的重要结构、性能及接口特征,评估这次维护可能带来的影响并规划出一个具体实施方案;然后从修改设计入手(采用以前讨论过的设计技术),设计复审通过之后再修改代码,并参照测试规格说明书对软件进行回归测试,测试通过后交付用户使用。上述过程也称为结构化维护,它是采用软件工程方法学开发软件的自然结果。拥有完整的软件配置能减少维护工作量,提高维护质量。15.2维护过程15.2.2维护的成本过去的二十年,软件维护的成本在不断增长。七十年代,一个信息系统机构用于软件维护的费用占其软件总预算的35~40%,八十年代接近

5、60%。若维护方式没有大的改进,未来几年,许多大型软件公司可能要将其预算的80%用于软件系统的维护上。15.2维护过程维护的成本其他因素也已经引起人们的注意。如:由于资源(人力、设备)优先用于维护任务,影响新软件系统的开发,可能会丧失机会;有时还要付出一些无形的代价,如某些貌似合理但实际不能满足的维护请求将引起用户不满;在软件维护过程中引入的潜在错误降低了软件的质量;从开发小组中临时抽调工程师从事维护工作冲击正在进行的开发等等。最后,维护旧程序使生产率(按每人月代码行或每人月功能点计算)大幅度下降。15.2维护过程15.2.3可能存在的问题软件维护中出现的大

6、部分问题都可归咎于软件规划和开发方法的缺陷。软件开发时采用急功近利还是放眼未来的态度,对软件维护影响极大。一般说来,软件开发若不严格遵循软件开发标准,软件维护就会遇到许多困难。15.2维护过程典型问题(1)很难甚至不可能追踪软件版本的进化过程,软件的变化没在相应文档中反映出来;(2)很难甚至不可能追踪软件的整个创建过程;(3)理解他人的程序非常困难,当软件配置不全,仅有源代码时问题尤为严重;(4)软件人员流动性很大,维护他人软件时很难得到开发者的帮助;(5)软件没有文档、或文档不全、或文档不易理解、或与源代码不一致;(6)多数软件设计未考虑修改的需要

7、(有些设计方法采用了功能独立和对象类型等一些便于修改的概念),软件修改不仅困难而且容易出错。(7)软件维护不是一项有吸引力的工作,从事这项工作令人缺乏成就感。15.2维护过程15.3可维护性软件可维护性指,软件被理解、改正、调整和改进的难易程度。可维护性是指导软件工程各个阶段工作的一条基本原则,也是软件工程追求的目标之一。第十五章软件维护15.3.1影响可维护性的因素软件的可维护性受各种因素的影响。设计、编码和测试时漫不经心,软件配置不全都会给维护带来困难。除了与开发方法有关的因素外,还有下列与开发环境有关的因素:①是否拥有一组训练有素的软件人员;②系

8、统结构是否可理解;③是否使用标准的程序设计语言;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。