版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第13章 软件维护软件维护是软件生命周期的最后一个阶段,软件从部署完毕到退役的整个时间内对软件的改动所做的工作都是维护的内容。在项目的各个阶段对项目的可维护性进行充分考虑、对可维护性的严格评审以及在维护阶段有效地组织和管理维护活动,则是保证软件可维护性和降低维护费用的关键。本章重点内容:维护的主要内容、维护的流程、如何在软件的生产过程各个阶段保证软件的可维护性目标。13.1软软件维护护的基本本内容软件维护护的主要要目标是是使已部部署的软软件按照照需求规规格说明明书的要要求(或或用户的的新需求求)运行行,这要要求软件件不仅要要满足用用户所需需要的各各项功能能需求,,同时还还要满足足用户对对软件的的非功能能需求。。软件维维护的基基本内容容则包含含了实现现这些目目标所做做的全部部工作。。13.2软软件维护护的分类类按照维护护的起因因分类::纠错性维维护适应性维维护改善性维维护预防性维维护四类类。1.纠错性维维护——为改正软软件系统统中潜藏藏的错误而而进行的的活动。。用户在使使用软件件过程中中发现软软件的错错误是激激发该种种维护的的起因。。四类13.2软软件维护护的分类类2.适应性维维护——为适应软软件运行行环境的的变化而修修改软件件的活动动。软件的运运行环境境包括两两个方面面,硬件件和软件件,软件件则大体体上包括括操作系系统、中中间件、、虚拟机机等等。。13.2软软件维护护的分类类3.改善性维维护——根据用户户在软件件使用过过程中提提出的建建设性意意见而进进行的维维护活动动。主要是针针对用户户提出的的新的软软件需求求或修改改原有的的软件需需求而进进行的维维护,该该种维护护通常占占所有维维护工作作量的一一半以上上。软件件在部署署之后一一段时间间内,用用户的改改善性维维护应该该是递减减的。13.2软软件维护护的分类类4.预防性维维护——为了进一一步改善善软件系系统的可可维护性性和可靠靠性,并并为以后后的改进进奠定基基础。预防性维维护可以以采取逆逆向工程程(reverseengineering)和重构工工程(re-engineering)方式。13.2软软件维护护的分类类严格按照照软件工工程标准准生产的的软件产产品在维维护过程程中纠错错性维护护的工作作量很低低,不到到总维护护工作量量的1/5。由于改善善性维护护和适应应性维护护需要修修改需求求规格说说明书,,应按照照需求变变更来进进行管理理,相当当于螺旋旋模型中中的又一一次迭代代过程,,因此工工作量很很大。13.3软软件维护护的特点点软件维护护是一种种繁琐而而又不可可或缺的的工作,,由于维维护通常常要求维维护人员员在用户户现场进进行,而而且维护护任务可可能非常常紧急,,因此对对现场维维护人员员的压力力很大。。而且没没有丝毫毫的成就就感。13.3.1结构化维维护与非非结构化化维护非结构化化维护——软件的配配置中只只有源代代码。由于没有有分析和和设计文文档,无无法对程程序的功功能进行行反向追追踪,理理解别人人的代码码是很痛痛苦的事事情。由于配置置中没有有测试文文档,所所以维护护后的代代码无法法进行回回归测试试。因而而导致程程序的结结构化被被不断的的破坏,,维护的的质量无无法得到到保证。。13.3.1结构化维维护与非非结构化化维护结构化维维护——待维护的的软件的的配置是是完整的的。用户提出出的维护护申请用用正向追追踪很容容易从分分析设计计文档追追踪直至至代码中中,从而而使维护护人员很很容易定定位代码码的维护护点。所所以这种种维护不不会破坏坏软件的的结构。。结构化维维护不仅仅能减少少维护的的工作量量,还能能提高维维护的质质量。图15-3-1非结构化化维护和和结构化化维护维护请求求配置理解代码码功能理解??修改代码码测试复审审理解设计计方案规划划修改设计计修改代码码测试复审审交付使用用软件代码13.3.2维护成本本20世纪70年代,软软件的维维护费用用约占软软件总预预算的35~40%。80年代时,,软件维维护费用用进一步步增加,,约占软软件总预预算的60%。近年来,,该值已已上升到到80%左右。随着软件件复杂性性的不断断提高,,软件的的维护难难度越来来越大。。这不仅仅导致维维护成本本不断增增高,软软件生产产率急剧剧下降,,还会带带来其他他方面的的负面影影响。维护工作作量的估估算模型型M=P+Ke(c-d)其中:M:维护所用用工作量量;P:生产性工工作量—分析评价价、修改改设计和和代码;;Ke(c-d):助动性工工作量—理解文档档和代码码;K:经验常数数;c:软件的维维护复杂杂度,由由软件本本身的复复杂度,,软件的设计计质量以以及文档档化的程程度等因因素决定定;d:维护人员员对软件件的熟悉悉程度;;可见维护护工作量量同软件件的维护护复杂度度成指数数关系。。13.3.3维护可能能存在的的问题1)无法追追踪软件件的整个个创建过过程。2)无法追追踪软件件版本的的进化过过程。软件交付付使用后后对软件件不断修修复和完完善的过程,就就是软件件版本的的进化过过程,每每一次进化都会会使软件件的主、、次版本本号增大大。3)理解别别人的程程序非常常困难。。4)得不到到开发人人员的帮帮助。5)软件配配置不完完整或不不正确。。6)分析和和设计的的缺陷。。7)维护工工作让人人没有成成就感。。13.4软软件维护护过程13.4.1维护组织织维护组织织一般由由维护员员,维护护管理员员,系统统管理员员,修改改控制决决策机构构,配置置管理员员组成。。维护员——真正执行行维护的的人员;;维护管理理员——协调维护护活动的的人员;;系统管理理员——系统的管管理者;;修改控制制决策机机构——决定一次次维护的的走向。。修改控制制和决策策机构、、用户、、系统管管理员、、维护人人员之间间不能跨跨越维护护管理员员进行沟沟通和采采取行动动。图15-4-1维护组织织信息流流图修改控制制决策机机构系统管理员维护管理员维护员配置管理员维护申请请单维护流程程用户的维维护请求求激发了了一次维维护活动动,用户户将维护护申请提提交给维维护管理理员,维维护管理理员将该该维护请请求交给给系统管管理员对对维护活活动可能能引起的的软件修修改进行行评估,,并将评评估结果果反馈给给维护管管理员,,维护管管理员按按照维护护请求单单制定软软件修改改报告单单并提交交给修改改决策机机构进行行维护决决策。修修改决策策机构根根据情况况决定采采取的行行动(拒拒绝请求求还是接接收请求求),并并把结果果反馈给给维护管管理员,,如果允允许维护护,维护护管理员员将通知知维护员员执行该该次维护护。13.4.2维护的报报告与审审核用户提出出的维护护申请必必须采用用标准的的格式,,须填写写由维护护人员制制定的::维护申请请单(MaintenanceRequestForm,MRF)或软件问题题报告单单(SoftwareProblemReport,SPR)。如果是纠纠错性维维护,应应填写SPR。在填写SPR时,用户户必须完完整地记记录出错错信息((什么错错误)和和出错场场景(在在什么情情况下出出现的错错误)。。其他种类类的维护护,要填填MRF。在MRF中应该附附加简短短的修改改规格说说明,也也就是在在需求规规格说明明书中应应作哪些些改动,,比如增增加功能能或修改改功能等等。13.4.2维护的报报告与审审核维护管理理员将MRF后之提交交给系统统管理员员,并据据此对软软件改动动量作评评估。系系统管理理员核准准该维护护申请后后,维护护组织内内部要制制定一个个软件修修改报告告单(SoftwareChangeReport,SCR),MRF并不是软软件文档档的配置置项。而而软件修修改的真真正依据据是SCR,其内容如下下:1)本次修修改所需需工作量量;2)本次维维护活动动的性质质;3)本次维维护请求求的优先先级;4)本次修修改的背背景数据据(来自自于MRF或SPR的陈述))。将SCR提交给修修改控制制决策机机构,作作为维护护进一步步工作的的依据。。SCR是保证软软件版本本进化可可跟踪性性所必须须的文档档。13.4.3维护过程程的事件件流用户的维维护请求求提交给给维护组组织后的的信息流流程如图图15-4-2所示。收收到维护护请求后后,维护护组织首首先要判判断维护护的类型型,即本本次维护护请求是是纠错性性维护还还是其他他类型的的维护。。对于纠纠错维护护要启动动纠错维维护流程程,如果果是其他他类型的的维护则则启动适适应性或或改善性性维护流流程。用用户和维维护组织织有时会会对维护护的类型型有不同同的看法法。图15-4-2维护活动动的事件件流其他出错维护请求求类型“救火活活动”当排在队队列之首首严重性按SE方方法学规规划、组组织、实实施工程程队列中还还有维护护请求评估后分分类评估后按按优先级级在对列排排队通知请求求者并说明原原因资源用于于开发新新的软件件采取行动动从维护请请求队列列之首取取一任务务类型按优先级级在对列列中排队队评估后按按优先级级在队列列排队是否适应性改善性非常严重重并不严重重是否13.4.4保存维护护记录为了能够够很好地地评价维维护的有有效性,,必须详详细记录录软件维维护过程程中的各各种数据据,这些些数据包包括:(1)程序标标志;(2)源程序序行数;;(3)目标程程序的指指令条数数;(4)所用的的编程语语言;(5)安装程程序的日日期;(6)自安装装之日起起程序运运行的次次数;(7)自安装装之日起起程序失失败的次次数;(8)程序修修改处的的层数和和标志;;13.4.4保存维护护记录(9)因程序序变动而而增加和和删除的的源程序序行数;;(10)每处改改动所耗耗费的人人时数;;(11)程序改改动的日日期;(12)软件工工程师标标志;(13)MRF的标志;;(14)本次维维护的类类型;(15)维护开开始和结结束的日日期;(16)用于本本次维护护累计的的人时数数;(17)执行本本次维护护的纯利利润。上述数据据应保存存到维护护数据库库里,作作为维护护评价的的依据。。13.4.5评价维护护活动通过每次次维护活活动的详详细记录录,可通通过下面面的指标标度量维维护的有有效性::(1)程序运运行的平平均失效效次数((失效次次数/运运行的次数数);(2)维护活活动耗费费的总人人时数;;(3)各种程程序,及及各种语语言的平平均变动动数;(4)维护阶阶段修改改每条语语句所花花费的人人时数;;(5)维护每每种语言言的程序序平均花花费的人人时数;;(6)一张MRF的平均周周转时间间;(7)各类维维护请求求的百分分比。13.5维维护的副副作用维护的副副作用是是指,由由于维护护或在维维护过程程中其他他一些不不期望的的行为引引入的错错误。副副作用可可分三类类:(1)代码副副作用—下面的修修改最易易引起副副作用::①修改或或删除子子程序;;②修改或或删除语语句标号号;③修改或或删除标标识符;;④为提高高程序效效率而做做的修改改;⑤修改逻逻辑操作作符;⑥由设计计变动引引起的代代码修改改;⑦修改分分支处的的判断条条件;代码副作作用大多多数可在在回归测测试中发发现。13.5维维护的副副作用(2)数据副副作用数据副作作用是由由于修改改数据结结构带来来的副作作用。容容易引起起数据副副作用的的修改包包括:①局部和和全局常常量的再再定义;;②记录或或文件格格式的再再定义;;③增减数数据或是是由于修修改数据据结构的的定义导导致数据结构构长度的的改变;;④修改全全局数据据;⑤重新初初始化控控制标志志和指针针;⑥重新排排列I/O表或子程程序参数数表。设计文档档化有助助于抑制制数据副副作用,,在设计计文档中中有关于于数据结结构的详详细描述述和交叉叉访问表表。13.5维维护的副副作用(3)文文档副作作用由于程序序修改而而没有对对文档进进行相应应的修改改引起文文档的副副作用。。必须保持持文档和和程序的的一致性性。每次次维护之之后,再再次交付付软件之之前应仔仔细评审审整个配配置,这这样才能能更好地地减少文文档的副副作用。。13.6软软件的可可维护性性软件的可可维护性性是指软软件被理理解和被被正确改改动的难难易程度度。软件的可可维护性性差是软软件维护护工作量量和费用用激增的的直接原原因,因因此在软软件工程程的各个个阶段都都要保证证软件具具有较高高可维护护性,从从而降低低软件维维护成本本,这是是软件工工程的重重要目标标之一。。13.6.1影响可维维护性的的因素软件的可可维护性性主要受受下面因因素影响响:(1)软件的的构造过过程是否否严格按按照软件件工程的方法法进行;;(2)开发团团队是否否训练有有素;(3)软件的的开发平平台(操操作系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 兰州科技职业学院《循证护理实践》2023-2024学年第一学期期末试卷
- 江西科技师范大学《商务智能与数据挖掘Ⅰ》2023-2024学年第一学期期末试卷
- 吉首大学《轻量化平台开发》2023-2024学年第一学期期末试卷
- 【物理】重力 同步练习+2024-2025学年人教版物理八年级下册
- 黑龙江幼儿师范高等专科学校《环境3S技术》2023-2024学年第一学期期末试卷
- 重庆邮电大学《公体户外运动》2023-2024学年第一学期期末试卷
- 中央音乐学院《中医大健康》2023-2024学年第一学期期末试卷
- 浙江农林大学暨阳学院《汽车电气设备》2023-2024学年第一学期期末试卷
- 郑州食品工程职业学院《德国史专题》2023-2024学年第一学期期末试卷
- 小学2024-2025学年度劳动技能大赛方案
- 中考物理总复习《力学的综合计算》专项检测卷(带答案)
- AQ 1029-2019 煤矿安全监控系统及检测仪器使用管理规范
- 太阳能驱动的污水处理技术研究与应用
- 未成年旅游免责协议书
- 预防保健科主任竞聘课件
- 团队成员介绍
- 水泵行业销售人员工作汇报
- 《流感科普宣教》课件
- 离职分析报告
- 春节家庭用电安全提示
- 医疗纠纷预防和处理条例通用课件
评论
0/150
提交评论