软件工程课件:8-第八讲(0).ppt

上传人(卖家):罗嗣辉 文档编号:2046131 上传时间:2022-01-21 格式:PPT 页数:31 大小:392KB
下载 相关 举报
软件工程课件:8-第八讲(0).ppt_第1页
第1页 / 共31页
软件工程课件:8-第八讲(0).ppt_第2页
第2页 / 共31页
软件工程课件:8-第八讲(0).ppt_第3页
第3页 / 共31页
软件工程课件:8-第八讲(0).ppt_第4页
第4页 / 共31页
软件工程课件:8-第八讲(0).ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、毛新军毛新军 教授教授计算机科学与技术系计算机科学与技术系602教研室教研室 0731-(45)73649软件工程导论软件工程导论 之之Copyright Xinjun Mao软件维护软件维护2n软件在交付给用户使用后,由于应用需求、环境变化以及自身问题,对它进行维护不可避免n软件维护是一个长期过程,耗费较大Copyright Xinjun Mao软件维护软件维护31.软件维护的分类2.软件维护过程3.软件的可维护性4.维护活动5.维护的副作用6.逆向工程和重构工程Copyright Xinjun Mao软件维护软件维护4n纠正性维护n完善性维护n适应性维护n预防性维护Copyright Xi

2、njun Mao软件维护软件维护5n什么是纠正性维护 纠正软件中的错误n起因 用户在使用软件过程中一旦发现错误,他们会向开发人员提出纠正性维护的请求n目的 诊断和改正软件系统中潜藏的错误Copyright Xinjun Mao软件维护软件维护6n什么是适应性维护 对软件进行改造以便适应新的环境和平台n原因 软件运行于一定的环境(硬件、OS、网络等)之上,运行环境发展很快n目的 适应环境变化和发展而对软件进行维护Copyright Xinjun Mao软件维护软件维护7n什么是改善性维护 对软件进行改造以增加新的功能、修改已有的功能n原因 在软件系统运行期间,用户可能要求增加新的功能、建议修改已

3、有功能或提出其他改进意见n目的 满足用户日益增长的各种需求而对软件系统进行的改善和补充Copyright Xinjun Mao软件维护软件维护8n什么是预防性维护 对软件的结构进行改造以便提高软件的可靠性和可维护性等n原因 为进一步改善软件系统的可维护性和可靠性,为以后的软件改进奠定基础的维护活动n目的 获取软件结构,重新改善软件结构Copyright Xinjun Mao软件维护软件维护91.软件维护的分类2.软件维护过程3.软件的可维护性4.维护活动5.维护的副作用6.逆向工程和重构工程Copyright Xinjun Mao软件维护软件维护10用用户户的的维维护护请请 求求软软件件研研读

4、读设设计计规规划划方方案案修修改改设设计计重重新新编编写写代代码码复复审审苦苦读读代代码码?重重新新编编写写代代码码复复审审测测试试并并交交付付用用 户户使使用用Copyright Xinjun Mao软件维护软件维护11n维护成本不断增加 70年代(3540),80(60)n软件维护工作量涉及二方面 助动性:用于理解代码功能,结构特征以及性能约束 生产性:用于分析和评价、修改设计和代码Copyright Xinjun Mao软件维护软件维护12n软件维护工作量模型:M = P + K * e (c-d) 其中 M= 维护总工作量 P=生产性工作量 K=经验常数 C=复杂度(表示设计好坏和文档

5、完整程度) D=对欲维护软件的熟悉程度n模型表明:如果没有好的软件开发方法或者软件开发人员不能参与维护,那么软件维护工作量会指数上升Copyright Xinjun Mao软件维护软件维护13n软件版本控制 - 重要问题n很难追踪软件的创建过程 - 文档不齐全n理解他人的软件比较困难n人员流动大,维护人员得不到开发人员帮助n软件修改困难,易出错n缺乏成就感Copyright Xinjun Mao软件维护软件维护141.软件维护的分类2.软件维护过程3.软件的可维护性4.维护活动5.维护的副作用6.逆向工程和重构工程Copyright Xinjun Mao软件维护软件维护15n什么是软件的可维护

6、性 软件被理解、改正、调整和改进的程度n影响软件可维护性的因素 软件开发方法-结构化、OO、. 文档是否齐全 开发人员素质 软件系统结构是否清晰、易于理解 标准的程序设计语言 文档的结构是否标准化 .Copyright Xinjun Mao软件维护软件维护16n复审是保证软件可维护性的一项重要工作(1) 需求分析的复审 对将来可能修改和改进的部分加注释,对软件的可移植性加以讨论,并考虑可能影响软件维护的系统界面(2) 设计阶段的复审 从易于维护和提高设计总体质量的角度全面评审数据设计、总体结构设计、过程设计和人机界面设计Copyright Xinjun Mao软件维护软件维护17(3) 编码阶

7、段的复审 强调编码风格和内部文档(4) 阶段性测试 必要的预防性维护(5) 软件维护活动完成之际也要进行复审Copyright Xinjun Mao软件维护软件维护181.软件维护的分类2.软件维护过程3.软件的可维护性4.维护活动5.维护的副作用6.逆向工程和重构工程Copyright Xinjun Mao软件维护软件维护19n“抓着谁就是谁”不可取,好的组织模式极为重要Copyright Xinjun Mao软件维护软件维护20n所有的维护申请都应以标准化的形式 纠正性维护:记录出错现场(输入数据、出错信息等) 适应性和完善性维护:提供简短的修改规格说明书 维护申请单将成为外部文档,应被视

8、为完成维护任务 的主要依据Copyright Xinjun Mao软件维护软件维护21n确认用户的维护请求n按关键程度将每一维护任务在任务队列中排队n对队首的维护任务开展工作n状况复审Copyright Xinjun Mao软件维护软件维护22n 记录维护活动过程中的各种信息n目的: 估算维护技术的有效性 估算维护技术的实际成本Copyright Xinjun Mao软件维护软件维护23n度量和统计维护数据 软件每次运行的平均失效次数 各类维护的成本 维护阶段增删一个语句所花费的人时数 各类维护的百分比Copyright Xinjun Mao软件维护软件维护241.软件维护的分类2.软件维护过

9、程3.软件的可维护性4.维护活动5.维护的副作用6.逆向工程和重构工程Copyright Xinjun Mao软件维护软件维护25n改动 - 新的错误n维护的副作用是指由于维护或者在维护过程中其他一些不期望的行为引入的错误 代码副作用: 如修改或者删除程序、修改或者删除语句标号、修改逻辑符号等等。慎重,可通过回归测试发现 数据副作用: 因修改信息结构而带来的不良后果,如局部和全局数据的再定义,记录或者文件格式的再定义等 文档副作用: 由于在设计文档中未能准确反映软件修改情况而带来的不良后果 Copyright Xinjun Mao软件维护软件维护261.软件维护的分类2.软件维护过程3.软件的

10、可维护性4.维护活动5.维护的副作用6.逆向工程和重构工程Copyright Xinjun Mao软件维护软件维护27n逆向工程和重构工程是预防性维护采用的主要技术n逆向工程:分析已有程序,寻求比源代码更高级的抽象形式;或者在软件生命周期中,将某种形式的描述转换为更高抽象形式描述的活动n重构:在同一抽象级别上的转换系统的描述形式n设计恢复:借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计的信息n重构工程:在逆向工程所获得信息的基础上修改或者重构已有的系统,产生系统一个新版本的过程Copyright Xinjun Mao软件维护软件维护28Copyright Xinjun Mao软件维护软件维护291.软件维护的分类2.软件维护过程3.软件的可维护性4.维护活动5.维护的副作用6.逆向工程和重构工程Copyright Xinjun Mao软件维护软件维护30n思考题 为什么软件维护在整个软件生命周期中占有重要的地位?Copyright Xinjun Mao软件维护软件维护31Practice, Practice, and Practice

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(软件工程课件:8-第八讲(0).ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|