西安工业大学《软件工程》第八章 维护

西安工业大学《软件工程》第八章 维护

ID:34403222

大小:235.06 KB

页数:14页

时间:2019-03-05

西安工业大学《软件工程》第八章 维护_第1页
西安工业大学《软件工程》第八章 维护_第2页
西安工业大学《软件工程》第八章 维护_第3页
西安工业大学《软件工程》第八章 维护_第4页
西安工业大学《软件工程》第八章 维护_第5页
资源描述:

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

1、第八章维护软件维护是软件生命周期的最后一个阶段,它处于系统投入生产性运行以后的时期,因此不属于系统开发过程。要想充分发挥软件系统的作用,产生良好的经济效益和社会效益,就必须搞好软件的维护。软件维护需要的工作量非常大,虽然在不同应用领域维护成本差别很大,但是,平均说来,大型软件的维护成本高达开发成本的四倍左右。目前国外许多软件开发组织把60%以上的人力用于维护已有的软件,而且随着软件数量增多和使用寿命延长,这个百分比还在持续上升。典型的情况是,软件维护费用与开发费用的比例为2﹕1,一些大型软件的维护费用,甚至达到开发费用的40~50倍。这也是造成软件成本大幅度上升的一个重要

2、原因。本书前面各章讲述软件工程方法学的主要目的就是要提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。8.1软件维护的概念软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。软件维护的最终目的,是为了满足用户对已开发产品的性能与运行环境不断提高的要求,进而延长软件的寿命。要求进行维护的原因多种多样,归结起来有三种类型:(1)改正在特定的使用条件下暴露出来的一些潜在的程序错误或设计缺陷;(2)因在软件使用过程中数据环境变化或处理环境变化而需要修改软件以适应变化;(3)用户和数据处理人员在使用时提出改进现有功能,增加新的功能,以

3、改善总体性能。按照每次进行维护的具体目标的不同,软件维护可以分为以下四类:(1)完善性维护无论是应用软件还是系统软件,在使用软件的过程中用户往往都会提出增加新功能或修改已有功能的建议,还可能提出一般性的改进意见。为了满足这类要求,需要进行完善性维护。一般开发后投入使用的是第一版,以后可能会有第二版、第三版……。在整个软件维护工作量中,完善性维护约占50%~60%。(2)适应性维护计算机科学技术领域的各个方面都在迅速进步,大约每过36个月就有新一代的硬件宣告出现,经常推出新操作系统或旧系统的修改版本,时常增加或修改外部设备和其他系统部件;另一方面,应用软件的使用寿命很容易超

4、过十年,远远长于最初开发这个软件时的运行环境的寿命。因此,适应性维护,也就是为了和变化了的环境适当地配合而进行的修改软件的话动,是既必要又经常的维护活动。这类维护大约占整个维护工作量的25%左右。(3)纠错性维护因为软件测试不可能暴露出一个大型软件系统中所有潜藏的错误,所以在任何大型程序的使用期间,用户必然会发现程序错误,并且把他们遇到的问题报告给维护人员。我们把诊断和改正错误的过程称为纠错性维护,也叫改正性维护。这类维护约占总维护量的20%左右。(4)预防性维护当为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件时,出现了通常称为预防性维护的维护

5、活动。目前这项维护活动相对说比较少,主要是对早期开发且仍在使用的软件进行的。这类维护约占维护总量的4%左右。从上述关于软件维护的定义和分类可以看出,软件维护绝不仅仅是在运行过程中纠正发现的错误,事实上在软件维护活动中—半以上的工作是进行完善性维护。应该注意,上述四类维护活动都必须应用于整个软件配置,维护软件文档和维护软件的可执行代码是同样重要的。8.2软件维护的特点为了理解软件维护的特点,下面从三个不同的方面进行讨论。8.2.1结构化维护和非结构化维护对于软件系统的每一次维护要求,可根据系统的配置情况,进行不同方式的维护工作。工作方式不同,所付出的工作量差别也较大。图8.

6、1描绘了作为维护要求的可能发生的事件流。维护要求配置评价设计评价代码计划途径?修改设计重编程序重编程序复查复查交付使用图8.1结构化维护与非结构化维护的对比如果软件配置是程序代码,那么维护活动是很艰苦的,必须从评价软件开始。由于缺乏内部文档资料,使得这种评价工作变得相当复杂且难以进行。如软件结构、全程数据结构、系统接口、性能和设计约束等特点不清楚的话,程序代码就很难弄清楚,甚至被曲解。特别是由于没有保存测试纪录,使回归测试无法进行。所以改变程序代码所引起的后果将难以确定,不仅浪费了人力物力,还会使维护人员的积极性受到打击。这就是没有使用软件工程方法开发软件的必然结果。如果

7、有—个完整的软件配置存在,那么维护工作从评价设计文档开始,根据文档来确定软件重要的结构特点、性能特点以及接口特点,估计改正或修改将带来的影响,并且计划实施途径。然后修改设计,进行评审,编写相应的源程序代码,并使用在测试说明书中包含的信息进行回归测试,最后把修改后的软件再次交付使用。这就是结构化维护,它是在软件开发的早期应用软件工程方法论的结果。虽然有了软件的完整配置并不能保证维护中没有问题,但是确实能减少维护的工作量并且能提高维护的总体质量。8.2.2维护的代价在过去的二十几年中,软件维护的费用稳步上升。1970年用于维护已有

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

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

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