- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9单元 软件维护
9.1 软件维护的基本概念 9.2 软件维护的特点 9.3 软件维护过程 9.4 提高可维护性的方法 9.5 软件再工程 库存目录分析 包含关于每个应用系统的基本信息(例如,应用系统的名字,最初构建它的日期,已做过的实质性修改次数,过去18个月报告的错误,用户数量,安装它的机器数量,它的复杂程度,文档质量,整体可维护性等级,预期寿命,在未来36个月内的预期修改次数,业务重要程度等)。 软件再工程过程示意图 逆向工程是分析已有的程序,寻求比源代码更高级的抽象表现形式。 把软件源程序还原为软件文档或软件设计的过程。通过逆向工程,可以从更高的抽象度来观察软件。抽象度的多少可由抽象的层次,文档的完整性,工具等因素决定。 重构例子(Extract Method) * * * 第9章 软件维护 * 第9章 软件维护 9.1 软件维护的基本概念 软件维护(Software Maintenance)是指软件系统交付使用以后,为了改正软件运行错误,或者因满足新的需求而加入新功能的修改软件的过程。 软件维护是软件工程的一项重要任务,其主要工作就是在软件运行和维护阶段对软件产品进行必要的调整和修改。 9.1.1软件维护的定义 * 第9章 软件维护 9.1 软件维护的基本概念 ? 完善性维护 9.1.2 软件维护的分类及策略 为了扩充软件功能、增强软件性能、提高软件运行效率和可维护性而进行的维护活动称为完善性维护。 ? 适应性维护 为了使软件适应外部新的硬件和软件环境或者数据环境发生的变化,而进行修改软件的过程。 * 第9章 软件维护 9.1 软件维护的基本概念 ? 校正性维护 有些错误是测试阶段未能发现的,在软件投入使用后才逐渐暴露出来的,为了识别和纠正这些错误,修改软件性能上的缺陷,而进行确定和修改错误的过程称为校正性维护。 ? 预防性维护 为了提高软件的可维护性和可靠性而对软件进行修改的过程。 * 软件维护 9.2 软件维护的特点 软件维护时间长、成本高、工作量大 1 软件维护的副作用 2 软件维护的困难性 3 代码副作用 数据副作用 文档副作用 结构化维护和非结构化维护 维护的困难 * 第9章 软件维护 9.3 软件维护过程 9.3.1 软件维护组织 维护申请提交给一个维护管理员,管理员把申请交给某个系统监督员去评价。系统监督员是一位技术人员,他必须熟悉产品程序的某一部分。一旦做出评价,由维护负责人确定如何进行修改。维护人员对程序进行修改的过程中,由配置管理员严格把关,控制修改的范围,对软件配置进行审计。 * 第9章 软件维护 9.3 软件维护过程 9.3.2 软件维护工作的流程 1.制定维护申请报告 2.审查申请报告并批准 3.进行维护并作详细记录 4.复审 * 第9章 软件维护 9.3 软件维护过程 9.3.3软件维护技术 面向维护技术 在软件开发阶段用来减少错误、提高软件可维护性的技术 软件维护 技术 维护支援技术 在软件维护阶段用来提高维护工作的效率和质量的技术 * 第9章 软件维护 9.4 提高可维护性的方法 建立明确的软件质量目标 使用先进的软件开发工具 进行明确的质量保证审查 提高 可维护性的 方法 验收检查 选择可维护的程序设计语言 健全的程序文档 周期性的维护检查 健全程序的文档 * 第9章 软件维护 9.5 软件再工程 软件再工程是一类软件工程活动,是一个工程过程, 它将逆向工程、重构和正向工程组合起来,将现存系统重新构造为新的形式。 ? 1.软件再工程过程模型 * 第9章 软件维护 9.5 软件再工程 ? 软件再工程过程模型 * 第9章 软件维护 9.5 软件再工程 ? 软件再工程过程模型 文档重构是重新构建原本缺乏文档的应用系统的文档 逆向工程是一个恢复原设计的过程 代码重构是在保持系统完整的体系结构基础上,对应用系统 中难于理解、测试和维护的模块重新进行编码,同时更新文档 数据重构是一种全范围的再工程活动,重构系统的数据结构。 正向工程也称革新或改造,它根据现存软件的设计信息,改变或重构现存系统,以达到改善其整体质量的目的 正向工程过程应用软件工程的原理、概念、技术和方法来重新开发某个现有的应用系统。。 需求 新需求 设计 设计 代码 代码 正 向 工 程 逆 向 工 程 (重构) (重构) (重构) * 第9章 软件维护 9.5 软件再工程 ? 2.逆向工程 * 第9章 软件维护 9.5 软件再工程 ? 2.逆向工程 * 第9章 软件维护 9.5 软件再工程 ? 3.软件重构 软件重构又可分为代码重构和数据
文档评论(0)