- 8
- 0
- 约6.36千字
- 约 33页
- 2023-07-12 发布于江苏
- 举报
*;一、软件维护的概念
二、软件维护分类
三、维护问题
四、维护成本
五、维护过程
六、维护的副作用
七、如何做好软件维护;
;一、软件维护的概念 ;按照维护的起因分类四类:
纠错性维护
适应性维护
完善性维护
预防性维护
;纠错性维护(Corrective Maintenance)
——为改正软件系统中潜藏的错误而进行的活动。
纠错性维护是指在系统开发阶段已发生而系统测试阶段尚未发现的错误。这方面的维护工作量占整个维护工作量的17%-21%。所发现的错误有的不太重要,不影响系统的正常运行,其维护工作可随时进行;而有的错误非常重要,甚至影响整个系统的正常运行,其维护工作必须制定计划,进行修改,并且要进行复查和控制。
这部分维护工作实际上就是软件系统运行过程中修改前期没有发现的bug,在修改旧bug过程中也可能会引入新的bug,这部分工作以后会成为新的纠错性维护工作。在软件开发过程中加强测试,可以有效减少这部分的维护工作。
;适应性维护(Adaptive Maintenance)
——为适应软件运行环境的变化而修改软件的活动。
适应性维护是指是软件适应信息技术变化和管理需求而进行的修改。这方面的维护工作量占整个维护工作量的18%-25%。由于目前计算机硬件价格的不断下降,各类系统软件层出不穷,人们常常为改善系统硬件环境和运行环境而产生系统更新换代的需求;企业的外部市场环境和管理需求的不断变化也使得各级管理人员不断提出新的信息需求。这些因素都将导致适应性维护工作的产生。;完善性维护(Perfective Maintenance)
——根据用户在软件使用过程中提出的建设性意见而进行的维护活动。
完善性维护是为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。这些功能对完善系统功能是非常必要的。另外,还包括对处理效率和编写程序的改进,这方面的维护占整个维护工作的50%-60%,比重较大,也是关系到系统开发质量的重要方面。完善性维护是软件维护工作的主要部分,触发这类维护工作的常常是用户业务交易增加了,或是业务流程改变了,需要修改软件;也可能是软件不能满足业务量要去,需要在性能上有所提高。;预防性维护(Preventive Maintenance)
——为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。
预防性维护为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。这方面的维护工作占整个维护工作量的4%左右,是维护工作中占比最少的一部分工作。;三、维护问题;;过去的二十年,软件维护的成本在不断增长。
七十年代,一个信息系统机构用于软件维护的费用占其软件总预算的35~40%,八十年代接近60%。
若维护方式没有大的改进,未来几年,许多大型软件公司可能要将其预算的80%用于软件系统的维护上。;软件维护除费用外的无形代价包括
维护活动占用了其他软件开发可用的资源,使资源的利用率降低
一些修复或修改请求得不到及时安排,使得客户满意率下降
维护的结果把一些新的潜在的错误引入软件,降低了软件质量
将软件人员抽调到维护工作中,使得其它软件开发过程受到干扰 ;;在软件维护中,影响维护工作量的因素主要有以下六种:
系统的大小
系统规模越大,其功能就越复杂,软件维护的工作量也随之增大。
程序设计语言
使用功能强大的程序设计语言可以控制程序的规模。语言的功能越强,生成程序的模块化和结构化程度越高,所需的指令数就越少,程序的可读性越好。;;先进的软件开发技术
在软件开发过程中,如果采用先进的分析设计技术和程序设计技术,如面向对象技术、复用技术等,可减少大量的维护工作量。
其它一些因素
如应用的类型、数学模型、任务的难度、开关与标记、IF嵌套深度、索引或下标数等,对维护工作量也有影响。;五、维护过程;;*;;(1)代码副作用—下面的修改最易引起副作用:
①修改或删除子程序;
②修改或删除语句标号;
③修改或删除标识符;
④为提高程序效率而做的修改;
⑤修改逻辑操作符;
⑥由设计变动引起的代码修改;
⑦修改分支处的判断条件;
;;;1.爱上软件维护工作
首先要认识软件维护工作在软件生命周期中的重要性,做维护工作虽然不能成为台前英雄,但却是个实实在在的幕后英雄。实际上很多所谓的开发人员所
原创力文档

文档评论(0)