软件工程基础之07 软件维护要领.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章小结 软件维护可以分为纠错性维护、适应性维护、完善性维护、预防性维护。 软件维护实践中经常会遇到各种困难,需要在技术、管理方面进行考虑,并对维护费用进行估算。 软件维护按IEEE 维护过程模型可以分为七个阶段。 程序的理解对软件维护具有重要意义,程序理解的任务就是要揭示程序的功能与实现机制。 软件的再工程是对现有软件进行仔细审查和改造,进行重新构造,最终成为一个新的形式。六种活动构成了再工程的循环模型。 软件逆向工程包括数据逆向工程、处理逆向工程和用户界面逆向工程。 作业 为什么需要软件维护?简述软件维护的主要种类。 简述软件可维护性中软件自身的因素和软件维护环境两方面的内容。 简述IEEE 软件维护过程模型。 试从不同抽象级别阐述应该如何理解程序,应得到什么输出。 什么是软件的逆向工程?简述其意义。 选择你认为是最困难的一种逆向工程活动进行阐述,具体分析其难点所在。 什么是软件的再工程?简述其主要步骤。 Footer Text Footer Text 数计学院 第七章 软件维护 软件维护概述 1 软件维护技术 5 软件维护过程模型 3 应注意的问题 2 小结 6 软件维护概述 软件维护的基本概念 软件维护的基本类型 维护的困难性 软件维护的定义 IEEE/EIA 12207[ISO/IEC2008]中对软件维护的定义是:软件维护是指由于软件产品出现问题或需要改进而对代码及相关文档的修改,其目的是对现有软件产品进行修改的同时保持其完整性。 软件维护的必要性 软件维护能够改正错误。 软件维护能够改善设计。 软件维护能够实现软件的改进。 软件维护能够实现与其他系统的交互。 软件维护能够为使用不同的硬件、软件、系统的新性能以及通讯设备等而对软件进行改进。 软件维护能够完成遗留系统的移植。 软件退出使用。 遗留系统:仍能够使用的旧系统,有时对于业务运行来说至关重要。 原因:过时的语言或技术实现、昂贵的系统支持导致维护昂贵、结构性差。 软件维护的成本 软件维护阶段一般要消耗软件生命周期中经费开支的大部分。 软件维护的费用占软件总预算的比例: 70年代的35%~40% 80年代上升为40%~60% 90年代已经占70%~80% 软件维护的基本类型 维护的类型有四种: 纠错性维护 适应性维护 完善性维护 预防性维护 国外的统计数字表明,完善性维护占全部维护活动的50%~66%,纠错性维护占17%~21%,适应性维护占18%~25%,其他维护活动只占4%左右 纠错性维护 在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分隐藏的错误遗留到运行阶段。 设计错误、编码错误、数据错误、文档错误 这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。 为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误用,应当进行的诊断和改正错误的过程就叫做纠错性维护。 适应性维护 在使用过程中, 外部环境(新的硬、软件配置) 数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质) 网络环境等其他可能发生的变化。 为使软件适应外部、数据、网络的变化,而去修改软件的过程就叫做适应性维护。 完善性维护 在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。 为了满足新的功能与性能要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。 这种情况下进行的维护活动叫做完善性维护。 实践表明,在几种维护活动中,完善性维护所占的比重最大。即大部分维护工作是改变和加强软件,而不是纠错。 完善性维护不一定是救火式的紧急维修,而可以是有计划、有预谋的一种再开发活动。 预防性维护 预防性维护是防止问题发生而事先维护,目的是为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。 体系结构不良、数据结构不理想、文档不全、缺少变更记录等。 预防性维护定义为:采用适当的方法对需要维护的软件或软件中的某一部分(重新)进行设计、编码和测试。 逆向工程、软件再工程等。 软件维护中应注意的问题(一) 技术方面 程序的理解:有限理解 测试:完整测试消耗大,往往选择回归测试、局部测试。软件运行中,协调测试困难。 影响分析 可维护性 影响分析 影响分析是对修改的影响进行完整分析,衡量消耗的可接受程度。 目标: 决定改变的范围。这对合理计划和完成工作有重要意义 对完成工作所需的资源进行精确的估计。 分析改变的费用/效益比 由于对软件进行变更往往是牵一发而动全身的,因此如果给出了一个变更,必须考虑到关联性的复杂情况。 可维护性 可维护性是指通过一定的手段,使软件可以被维护、改进、改动或修正,以满足特定的需求的方便程度。 决定要素: 可理解性 可测试性 可修改性 可移植性 可重用性 环境要素: 维护文档 运行环境

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档