- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程第2版教学课件ppt作者王宜贵第7章软件维护课件.ppt
7.1 软件维护概述7.1.1软件维护的类型 1.改正性维护 2.适应性维护 3.完善性维护 4.预防性维护 7.1 软件维护概述7.1.2软件维护的特点 1.软件工程学方法对软件维护的影响 采用了软件工程学方法进行的结构化维护方式,会大大减少维护的工作量,减少浪费,提高总体维护质量。 2.维护的代价 在过去的几十年中,维护费用在不断地上升。 3.维护工作的困难 软件人员的流动性 没有文档资料或缺乏完整的文档资料 软件设计时没有强调模块独立 软件维护工作不吸引人 7.1 软件维护概述7.1.3 软件维护的副作用 修改软件往往伴随着引起新的错误的危险,即它会带来副作用。 1.修改代码的副作用 2.修改数据的副作用 3.修改文档的副作用 7.2 软件维护活动7.2.1 维护机构 7.2 软件维护活动7.2.2 维护申请 软件修改报告内容 (1)维护请求的性质。 (2)维护请求的优先级。 (3)完成维护请求所需的工作量。 (4)预计维护后的结果。 7.2 软件维护活动7.2.3 维护工作流程 7.2 软件维护活动7.2.4 程序修改的步骤 1.分析理解程序 2.修改程序 3.验证程序 7.2 软件维护活动7.2.5 维护记录 (1)程序名称; (2)源语句数; (3)机器指令条数; (4)所用的程序设计语言; (5)程序安装日期; (6)程序安装后运行次数; (7)与 (6)有关的故障处理次数; (8)程序改动的层次和名称; (9)因程序改动而增加的源语句数; (10)因程序改动而删除的源语句数; (11)每个改动所耗费的“人时”数; (12)程序改动日期; (13)维护人员的姓名; (14)维护申请报告的名称; (15)维护类型; (16)维护开始和完成日期; (17)累计用于维护的人时数;(18)维护工作的纯效益。 7.2 软件维护活动7.2.6 维护评价 可以从以下七个方面对维护性能进行定量的度量: (1)每个程序运行平均故障处理次数; (2)累计用于每种维护的人时数; (3)每个程序、每种语言、每类维护所进行的平均代码改动次数; (4)因程序改动而增加或删除的一条源语句平均花费的人时数; (5)改动每种语言平均花费的人时数; (6)一份维护申请报告平均周转时间; (7)不同维护类型所占的百分比。 7.3 软件的可维护性7.3.1 决定软件可维护性的因素 1.可理解性 2.可测试性 3.可修改性 7.3 软件的可维护性7.3.2 提高可维护性的方法 1.明确软件的质量目标和优先级 2.使用提高软件质量的技术和工具 3.采取有效的质量保证审查措施 4.选择便于维护的程序设计语言 5.完善软件文档 7.3 软件的可维护性7.3.3 可维护性复审 在软件生命周期的每一个阶段都应考虑并努力提高可维护性,在每个阶段结束前的技术审查和管理复审中,也应侧重可维护性的复审。 7.4 软件再工程 软件再工程是通过对旧软件实施处理来增进对软件的理解,同时又提高软件自身的可维护性、可复用性等。 软件的逆向工程是通过分析一个源程序,力图建立源代码抽象层次的程序表示的过程。逆向工程是一个设计的恢复过程。逆向工程工具可以从一个现有的程序中提取有关程序数据、体系结构和程序设计方面的信息。 7.4 软件再工程 软件的逆向工程是通过分析一个源程序,力图建立源代码抽象层次的程序表示的过程。逆向工程是一个设计的恢复过程。 软件重构是对源代码或数据进行修改,使其易于理解和维护,以适应将来的变更。通常重构并不修改整个软件程序的体系结构,而是关注模块的细节。如果重构扩展到模块边界之外并设计软件体系结构,则重构就会变成正向工程。 正向工程也称为改造,即用从现存软件恢复设计中得到的信息来重构现存系统,以改变其整体质量。 * * *
文档评论(0)