第10章 软件维护new

第10章 软件维护new

ID:34389084

大小:832.78 KB

页数:76页

时间:2019-03-05

第10章 软件维护new_第1页
第10章 软件维护new_第2页
第10章 软件维护new_第3页
第10章 软件维护new_第4页
第10章 软件维护new_第5页
资源描述:

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

1、第10章软件维护南京理工大学计算机学院1第10章软件维护软件维护°软件维护是软件生命周期的最后一个阶段,它处于系统投入生产性运行以后的时期中,因此不属于系统开发过程。°软件维护需要的工作量非常大,虽然在不同应用领域维护成本差别很大,但是,平均说来,大型软件的维护成本高达开发成本的四倍左右。目前国外许多软件开发组织把60%以上的人力用于维护已有的软件,而且随着软件数量增多和使用寿命延长,这个百分比还在持续上升。将来维护工作甚至可能会束缚住软件开发组织的手脚,使他们没有余力开发新的软件。°前面各章讲述的软件工

2、程方法学的主要目的就是要提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。南京理工大学计算机学院2前一页休息第10章软件维护10.1软件维护的概念南京理工大学计算机学院3前一页休息第10章软件维护软件维护的定义°所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。°通常可以通过描述软件交付使用后可能进行的四项活动,具体地定义软件维护。°因为软件测试不可能暴露出一个大型软件系统中所有潜藏的错误,所以必然会有第一项维护活动:在任何大型程序的使用期间,用户必然

3、会发现程序错误,并且把他们遇到的问题报告给维护人员。我们把诊断和改正错误的过程称为改正性维护。南京理工大学计算机学院4前一页休息第10章软件维护软件维护的定义°计算机科学技术领域的各个方面都在迅速进步,大约每过若干个月就有新一代的硬件宣告出现,经常推出新操作系统或旧系统的修改版本,时常增加或修改外部设备和其他系统部件;另一方面,应用软件的使用寿命却很容易超过十年,远远长于最初开发这个软件时的运行环境的寿命。因此,适应性维护,也就是为了和变化了的环境适当地配合而进行的修改软件的活动,是既必要又经常的维护活动

4、。南京理工大学计算机学院5前一页休息第10章软件维护软件维护的定义°当一个软件系统顺利地运行时,常常出现第三项维护活动:在使用软件的过程中用户往往提出增加新功能或修改已有功能的建议,还可能提出一般性的改进意见。为了满足这类要求,需要进行完善性维护。这项维护活动通常占软件维护工作的大部分。°当为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件时,出现了第四项维护活动。这项维护活动通常称为预防性维护,目前这项维护活动相对说比较稀少。°从上述关于软件维护的定义不难看出,软件维护绝不仅限于

5、纠正使用中发现的错误,事实上在全部维护活动中一半以上是完善性维护。国外的统计数字表明,完善性维护占全部维护活动的50%~66%,改正性维护占17%~21%,适应性维护占18%~25%,其他维护活动只占4%左右。南京理工大学计算机学院6前一页休息第10章软件维护影响维护工作量的因素1.软件的老化。老软件随着不断的修改,结构越来越乱,经常出现系统故障,严重影响了系统的性能发挥;2.软件过大。系统越大,理解掌握起来越困难;系统越大,所执行功能越复杂。这直接影响着软件的维护工作量。3.模块或单个子程序过大。模块越

6、大,程序的结构和逻辑流越复杂,维护起来难度就越大。4.软件对运行环境的依赖性。由于硬件以及操作系统更新很快,使得对运行环境依赖性很强的应用软件也要不停地更新,导致较高的维护代价。南京理工大学计算机学院7前一页休息第10章软件维护影响维护工作量的因素5.将易变的参数编在代码中。这种处理将使得程序经常要修改,以适应变化,增加了维护的频度。为了减少频繁地修改,要求对程序改造,让它能从输入模块或一个数据表中读入参数。6.维护人员的专业技能。用低级语言编写的程序,尤其是汇编语言,需要大量的时间和人力去维护。7.编程

7、语言。虽然低级语言比高级语言具有更好的运行速度,但是低级语言比高级语言难以理解。8.先进的软件开发技术。在软件开发时,若使用能使软件结构比较稳定的分析与设计技术及程序设计技术,如面向对象技术、复用技术等,可减少大量的维护工作量。9.其他。南京理工大学计算机学院8前一页休息第10章软件维护软件维护的策略1.改正性维护。°通常要生成100%可靠的软件并不一定合算,成本太高。但通过使用新技术,可大大提高可靠性,并减少进行改正性维护的需要。°减少改正性维护的方法:w⑴利用应用软件包和API,直接复用现成的、可靠的

8、、可复用构件以降低维护难度。w⑵采用结构化和模块化的开发方法,降低理解和测试的难度w⑶采用防错性编程技术,把自检能力引入程序,通过非正常状态的检查,提供审查跟踪能力。w⑷通过周期性维护审查,在形成维护问题之前就可确定质量缺陷。南京理工大学计算机学院9前一页休息第10章软件维护软件维护的策略2.适应性维护。°这一类的维护不可避免,但可以控制。w⑴在配置管理时,把硬件、操作系统和其他相关环境因素的可能变化考虑在内,可以减少某些适应

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

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

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