第八章 软件维护(1) | 您所在的位置:网站首页 › 软件维护的一般流程是怎样的 › 第八章 软件维护(1) |
叮咚,瞌睡虫又来搬文字啦。。。果然一停暖气就降温。。院子里的杏花已被昨天的雨水和大风折腾的凋零一地,看到今天只有两例确诊,感觉离自由的距离又更进了一步(撒花)。 今天学习是的软件维护 需要充分认识软件维护工作的重要性和迫切性,以提高软件的可维护性,尽量减少软件维护的工作量和费用,从而提高软件系统的整体效益。 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维护工作的流程 软件维护过程是:建立维护机构 1、建立维护机构:维护管理员、修改批准人员、系统管理员、配置管理和维护人员。 2、编写软件维护申请报告:提出维护清单、如申请的是适应完整或预防性维护,必须提出一份修改说明书,由维护管理员和系统管理员共同研究处理,相应地做出软件变更报告SCR,SCR内容包括:所需修改变动的性质、申请修改的优先级、为满足该维护申请报告所需的工作量(人员数、时间数等);预计修改后的结果。 3、确定软件维护流程 图8.5软件维护流程图 (1) 确认维护类型:需要维护人员与用户反复协商弄清错误概况和对业务的影响大小,用户系统做什么样的修改,把这些情况存入维护数据库,由维护管理员判断维护的类型,针对不同维护类型,进行不同优先级别的安排。 (2)实施相应维护:修改软件需求说、修改设计、设计评审、对源程序做必要的修改,单元测试、集成测试(回归测试)确认测试、软件配置评审等。 3、维护评审:应对发以下问题进行总结。 ①在目前情况下、设计、编码和测试那些方面可以改进 ②那些维护资源应该有而实际没有 ③工作中主要的或次要的障碍是什么 ④从维护申请的类型来看,是否应该有预防性维护 4、整理软件维护文档 每项维护活动都应收集相关的数据,主要包括:修改程序增加的源程序语句条数;修改程序所减少的源程序语句条数,每次修改所付出的人员和时间数;维护申请报告的名称和维护类型,维护工作的净收益等。 5、评价软件维护性能 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |