软件工程——软件维护.ppt
《软件工程——软件维护.ppt》由会员分享,可在线阅读,更多相关《软件工程——软件维护.ppt(30页珍藏版)》请在优知文库上搜索。
1、2023-3-10软件工程软件工程软件维护软件维护o 一、软件维护的概念o 二、软件维护分类o 三、维护问题o 四、维护成本o 五、维护过程o 六、维护的副作用o 七、如何做好软件维护2023-3-10o 软件维护阶段覆盖了从软件交付使用到软件被淘汰为止的整个时期。软件的开发时间可能需要一、二年,甚至更短,但它的使用时间可能要经历几年或几十年。o 在软件开发过程中始终强调软件的可维护性。原因是,一个应用系统由于需求和环境的变化以及自身暴露的问题,在交付用户使用后,对它进行维护是不可避免的,统计和估测结果表明,信息技术中硬件费用一般占35%,软件占65%,而软件后期维护费用有时竟高达软件总费用的
2、80%,所有前期开发费用仅占20%。软件维护一、软件维护的概念 o 什么是软件维护n 是指软件系统交付使用以后,为了改正错误或满足新的需要而修改软件的过程 o 国标GB/T 11457-95给出如下定义 n 在一软件产品交付使用后对其进行修改,以纠正故障;n 在一软件产品交付使用后对其进行修改,以纠正故障、改进其性能和其它属性,或使产品适应改变了的环境2023-3-10o 按照维护的起因分类四类: 纠错性维护 适应性维护 完善性维护 预防性维护二、软件维护分类 1. 纠错性维护(Corrective Maintenance) 为改正软件系统中潜藏的错误而进行的活动。 纠错性维护是指在系统开发阶
3、段已发生而系统测试阶段尚未发纠错性维护是指在系统开发阶段已发生而系统测试阶段尚未发现的错误。这方面的维护工作量占整个维护工作量的现的错误。这方面的维护工作量占整个维护工作量的17%-21%。所发现的错误有的不太重要,不影响系统的正常运行。所发现的错误有的不太重要,不影响系统的正常运行,其维护工作可随时进行;而有的错误非常重要,甚至影响整,其维护工作可随时进行;而有的错误非常重要,甚至影响整个系统的正常运行,其维护工作必须制定计划,进行修改,并个系统的正常运行,其维护工作必须制定计划,进行修改,并且要进行复查和控制。且要进行复查和控制。 这部分维护工作实际上就是软件系统运行过程中修改前期没有这部
4、分维护工作实际上就是软件系统运行过程中修改前期没有发现的发现的bug,在修改旧,在修改旧bug过程中也可能会引入新的过程中也可能会引入新的bug,这这部分工作以后会成为新的纠错性维护工作。在软件开发过程中部分工作以后会成为新的纠错性维护工作。在软件开发过程中加强测试,可以有效减少这部分的维护工作。加强测试,可以有效减少这部分的维护工作。2023-3-102. 适应性维护(Adaptive Maintenance) 为适应软件运行环境的变化而修改软件的活动。 适应性维护是指是软件适应信息技术变化和管理需求而进行的修适应性维护是指是软件适应信息技术变化和管理需求而进行的修改。这方面的维护工作量占整
5、个维护工作量的改。这方面的维护工作量占整个维护工作量的18%-25%。由。由于目前计算机硬件价格的不断下降,各类系统软件层出不穷,人于目前计算机硬件价格的不断下降,各类系统软件层出不穷,人们常常为改善系统硬件环境和运行环境而产生系统更新换代的需们常常为改善系统硬件环境和运行环境而产生系统更新换代的需求;企业的外部市场环境和管理需求的不断变化也使得各级管理求;企业的外部市场环境和管理需求的不断变化也使得各级管理人员不断提出新的信息需求。这些因素都将导致适应性维护工作人员不断提出新的信息需求。这些因素都将导致适应性维护工作的产生。的产生。2023-3-103.完善性维护(Perfective Ma
6、intenance) 根据用户在软件使用过程中提出的建设性意见而进行的维护活动。 完善性维护是为扩充功能和改善性能而进行的修改,主要是完善性维护是为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。这些功能对完善系统功能是非常必规定的功能与性能特征。这些功能对完善系统功能是非常必要的。另外,还包括对处理效率和编写程序的改进,这方面要的。另外,还包括对处理效率和编写程序的改进,这方面的维护占整个维护工作的的维护占整个维护工作的50%-60%,比重较大,也是关系,比重较大,也是关系到系
7、统开发质量的重要方面。完善性维护是软件维护工作的到系统开发质量的重要方面。完善性维护是软件维护工作的主要部分,触发这类维护工作的常常是用户业务交易增加了主要部分,触发这类维护工作的常常是用户业务交易增加了,或是业务流程改变了,需要修改软件;也可能是软件不能,或是业务流程改变了,需要修改软件;也可能是软件不能满足业务量要去,需要在性能上有所提高。满足业务量要去,需要在性能上有所提高。2023-3-104. 预防性维护(Preventive Maintenance) 为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。 预防性维护为了改进应用软件的可靠性和可维护性,为预防性维护为了改
8、进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,主动增加预防性的新了适应未来的软硬件环境的变化,主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。这方的功能,以使应用系统适应各类变化而不被淘汰。这方面的维护工作占整个维护工作量的面的维护工作占整个维护工作量的4%左右,是维护工作左右,是维护工作中占比最少的一部分工作。中占比最少的一部分工作。2023-3-10三、维护问题o 和软件维护有关的部分问题 :n理解别人的代码通常是非常困难的,而且难度随着软件配置成分的缺失而迅速增加n需要维护的软件往往没有文档、或文档资料严重不足、或软件的变化未在相应的文档中反映出来2023-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 软件 维护
