第八章 软件维护(1)

您所在的位置:网站首页 简述软件维护的类型 第八章 软件维护(1)

第八章 软件维护(1)

2024-06-14 02:00| 来源: 网络整理| 查看: 265

叮咚,瞌睡虫又来搬文字啦。。。果然一停暖气就降温。。院子里的杏花已被昨天的雨水和大风折腾的凋零一地,看到今天只有两例确诊,感觉离自由的距离又更进了一步(撒花)。

今天学习是的软件维护

需要充分认识软件维护工作的重要性和迫切性,以提高软件的可维护性,尽量减少软件维护的工作量和费用,从而提高软件系统的整体效益。

8.1.1软件维护的定义

软件维护时指软件系统交付使用以后,为了改正软件运行错误,或者因满足新的需求而加入新功能的修改软件的过程,软件维护活动就是需要改正现有错误,改进现有软件以适应新环境的过程。

8.1.2软件维护的分类

①改正在特定使用条件下暴露出来的,测试阶段未能发现的,潜在软件错误和设计缺陷。

②因在软件使用过程中数据环境发生变化(如事物处理代码改变)或处理环境发生变化(如按照了新硬件或更换了操作系统)需要根据实际情况、修改软件以适应这些变化。

③提出改进现有功能,增加新的功能或者改善系统总体性能等要求,为了满足此类要求而对软件进行的修改。

④为了预防软件系统的失效而对软件系统所实施的修改。

由于上述原因引起的维护活动可能归结为以下4类:改正性维护、适应性维护、完善下维护和预防性维护。

1、改正性维护:把软件投入使用后才逐渐暴露出来的错误的诊断、定位、改错的过程,称为改正(纠错)性维护,占整个维护工作量的21%,主要维护策略:有开发过程、采用新技术、利用应用软件包、提高系统结构化程度,进行周期性维护审查等。

2、适应性:为了适应计算机的飞速发展,使软件适应外部新的硬件和软件环境,或者数据环境(数据库、数据格式、数据输入/输出方式、数据储存介质)发生的变化而进行修改软件的过程。

主要维护策略对可能变化的因素进行配置管理,将环境变化而必须修改的部分局部化、即局限于某些程序模块等。

3、完善性维护

扩充软件功能,增加软件性能、提高软件运行效率和可维护性而进行的维护活动,称为完善性维护。

主要维护策略:尽量采用功能强、方便使用的工具、采用原型化的开发方法等

4、预防性维护

是为了提高软件未来的可维护性,可靠性等或为了给改进奠定更好的基础而修改软件的过程,主要维护策略:采用提前实现软件重用等技术。

8.1.3软件维护的特点

①软件维护时软件生存周期中延续时间最长,工作量最大的一个阶段,大中型软件产品的开发时间一般为1-3年,运行期可达5-10年,在整个过程中需要进行上述4种类型的大量软件维护。

②软件维护不仅工作量大、任务重、而且维护不当还会产生一些意想不到的副作用,甚至引起新的错误。

③是一个修改和简化的软件开发活动,开发的所有环节几乎都要维护,需要采用软件工程原理和方式进行,才能保证软件维护活动的高效率、标准化。

④软件维护工作一直未受到软件设计者们的足够重视,有关软件维护方面的文献资料很少,相应的技术手段和方法也很缺乏。

8.2软件维护的过程

首先要建立一个维护组织,然后建立维护活动登记申请制度及对维护方案的审批制度,规定复审的评价标准。

8.2.1结构化维护与非结构化维护

只配置源程序,注解和说明很少,容易理解出错,没有测试方面的文档,不可能进行回归测试)这些让程序员望而却步、事倍功半,这就是非结构化维护。

如果存在完整的软件配置,维护工作可以从设计文档、确定软件的重要的结构特点,功能特性和接口特点,确定所要求得修改和校正,计划一种处理方法,修改设计并进行复审,编制新的源程序,进行回归测试、最后交付使用,这就是结构化维护,此方法会大大减少维护工作量,且维护质量较高。

8.3图结构化维护与非结构化维护对比图

必须按照软件工程学的方法来开发 软件,这样才能降低维护成本,提高软件维护的效率和质量。

8.2.2维护组织

图8.4是一种典型的软件维护组织方式。

8.2.3维护工作的流程

软件维护过程是:建立维护机构\rightarrow编写软件维护申请报告 \rightarrow确定软件维护工作流程\rightarrow整理维护文档\rightarrow评价维护性能

1、建立维护机构:维护管理员、修改批准人员、系统管理员、配置管理和维护人员。

2、编写软件维护申请报告:提出维护清单、如申请的是适应完整或预防性维护,必须提出一份修改说明书,由维护管理员和系统管理员共同研究处理,相应地做出软件变更报告SCR,SCR内容包括:所需修改变动的性质、申请修改的优先级、为满足该维护申请报告所需的工作量(人员数、时间数等);预计修改后的结果。

3、确定软件维护流程

图8.5软件维护流程图

(1) 确认维护类型:需要维护人员与用户反复协商弄清错误概况和对业务的影响大小,用户系统做什么样的修改,把这些情况存入维护数据库,由维护管理员判断维护的类型,针对不同维护类型,进行不同优先级别的安排。

(2)实施相应维护:修改软件需求说、修改设计、设计评审、对源程序做必要的修改,单元测试、集成测试(回归测试)确认测试、软件配置评审等。

3、维护评审:应对发以下问题进行总结。

①在目前情况下、设计、编码和测试那些方面可以改进

②那些维护资源应该有而实际没有

③工作中主要的或次要的障碍是什么

④从维护申请的类型来看,是否应该有预防性维护

4、整理软件维护文档

每项维护活动都应收集相关的数据,主要包括:修改程序增加的源程序语句条数;修改程序所减少的源程序语句条数,每次修改所付出的人员和时间数;维护申请报告的名称和维护类型,维护工作的净收益等。

5、评价软件维护性能



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3