如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
软件维护的概念严格按照软件工程标准生产的软件产品在维护过程中纠错性维护的工作量很低,不到总维护工作量的1/5。由于改善性维护和适应性维护需要修改需求规格说明书,应按照需求变更来进行管理,相当于螺旋模型中的又一次迭代过程,因此工作量很大。软件维护的特点软件工程与软件维护的关系结构化维护:软件配置存在,维护工作从评价设计文档开始,确定软件重要的结构特点、性能特点及接口特点;估量要求的改动将带来的影响,并且计划实施途径。然后首先修改设计并且对所做的修改进行仔细复查。编写相应的源程序,使用测试文档中的信息进行回归测试;最后把修改后的软件再次交付使用。无形的维护成本:(1)一些看起来是合理的改错或修改的要求不能及时满足,使得用户不满意;(2)维护时产生的改动,可能会带来新的潜伏的故障,从而降低了软件的整体质量;(3)当必须把软件开发人员抽调去进行维护工作时,将在开发过程中造成混乱。20世纪70年代,软件的维护费用约占软件总预算的35~40%。80年代时,软件维护费用进一步增加,约占软件总预算的60%。近年来,该值已上升到80%左右。随着软件复杂性的不断提高,软件的维护难度越来越大。这不仅导致维护成本不断增高,软件生产率急剧下降,还会带来其他方面的负面影响。用于软件维护的工作量可以分为两部分:一部分用于生产性活动,另一部分用于非生产性活动。下面的表达式是由Belady和Lehman提出的维护工作量的计算模型:1)无法追踪软件的整个创建过程。2)无法追踪软件版本的进化过程。软件交付使用后对软件不断修复和完善的过程,就是软件版本的进化过程,每一次进化都会使软件的主、次版本号增大。3)理解别人的程序非常困难。4)得不到开发人员的帮助。5)软件配置不完整或不正确。6)分析和设计的缺陷。7)维护工作让人没有成就感。软件维护过程维护机构维护申请报告维护的工作流程无论是哪一种类型的维护,都要进行以下工作:维护记录(8)程序修改的层次和名称;维护评价软件可维护性可以从以下四个方面来度是软件的可维护性:1.可理解性2.可测试性3.可修改性4.可移植性5.可重用性提高软件可维护性的方法在软件工程每一阶段的复审中,可维护性都是一个重要的指标。在需求分析阶段的复审中,应在规格说明书中对将来可能修改和可以改进的部分加以注明;在设计阶段的复审中,应该从易于维护和提高设计总体质量的角度对设计进行全面评审;代码复审主要审查代码风格和内部文档(程序注释等)这两个直接影响可维护性的因素。最后,每一阶段性测试,直到软件正式交付之前,都应该进行的预防性维护。正式的可维护性复审放在测试完成之后,称为配置复审。目的是保证配置中所有成分的完整、一致、易于理解且便于修改控制。软件维护的副作用1、软件维护的定义答:软件维护是在软件已交付给用户使用后,为了改正错误,或者满足用户新的需求而修改软件的过程。软件维护的原因多种多样,归纳起来主要有三种类型:(改正性、适应性和扩充性)(1)改正在特定的使用条件下暴露出的一些潜在程序错误或设计缺陷;(2)因为在软件使用过程中数据环境发生变化(例如一个事务处理代码发生改变)或处理环境发生变化(例如安装了新的硬件或操作系统),需要修改软件以适应这种变化。(3)用户和数据处理人员在使用时常提出改进现有功能,增加新的功能,以及改善总体性能要求,就需要修改软件把这些要求归纳到软件中。2、软件维护活动包括哪几类,其根本目的是什么答:由上面的原因而引起的软件维护活动可归纳为如下几类:1)改正性维护(20%):在软件交付使用后,由于开发时测试的不完全、不彻底,必然有一部分隐藏的错误被带到运行阶段来。这些隐藏下来的错误在某些特定的使用环境下就会暴露。为了识别和纠正软件错误,改正软件性能上的缺陷,排除实施中的误使用,应当进行的诊断和改正错误的过程。2)适应性维护(25%):随着计算机的飞速发展,外部环境(新的硬、软件配置)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化,为了适应这种变化,而去修改软件的过程。3)完善性维护(50%):在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能,增强软件性能、改进加工效率,提高软件的可维护性。在维护阶段的最初一两年,改正性维护的工作量较大。随着错误发现率急剧降低,并趋于稳定,就进入了正常使用期。然而,由于改造的要求,适应性维护和完善性维护的工作量逐渐增加,在这种维护过程中又会引入新的错误,从而加重了维护的工作量。实践表明,在几种维护活动中,完善性维护所占的比重最大。即大部分维护工作是改变和加强软件,而不是纠错。4)预防性维护(5%):为了提高软件的可靠性