软件工程第8章软件维护_第1页
软件工程第8章软件维护_第2页
软件工程第8章软件维护_第3页
软件工程第8章软件维护_第4页
软件工程第8章软件维护_第5页
已阅读5页,还剩24页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第八章信息与本章学习目标231掌握的理解护技术维理解再概念、类型、软工程的概念及主要内容件可定性的决、维护过程以及IEEE模型2本章内容的概念的类型可性及影响过程及IEEE模型技术3的概念交付给最终用户,几天之内,缺陷就有可能送到工程组织。几周之内,某类用户就可能会提出必须修改他们所处环境的特殊要求。以适应几个月之内,另一个公司可能该可能会给他们带来意想不到的好处,因此他们需要做些改进,使软件可以用于他们的环境。所有这些工作都是4的概念简单的说:是在运行阶段对产品所做的修改的定义是:IEEE/EIA 12207ISO/IEC2008中对是指由于产品出现问题或需要改进而对代码及相关文档的修改,其

2、目的是对现有改的同时保持其完整性。费用产品进行修70年代:总的35%-40%;80年代:40%-60%;90年代:70%-80%5的基本类型的类型主要有四种:纠错性适应性完善性预防性6纠错性在交付使用后,因开发时测试的不彻底、不完全,必然会有部分隐藏的错误遗留到运行阶段这些隐藏下来的错误在某些特定的使用环境下就会来出为了识别和纠正错误、改正性能上的缺陷、排除和改正实施中的误使用,应当进行错误这种情况下进行的活动叫做纠错性7适应性在使用过程境可能发生变化外部环境:新的硬件、配置数据环境:数据库、数据格式、数据输入/输出方式、数据介质为使适应这种变化,需要修改这种情况下进行的活动叫做适应性8完善性

3、使用过程中,用户往往会对要求提出新的功能与性能为满足这些要求,需要修改或再开发,以扩充功性能、增强性能、改进加工效率、提高的可这种情况下进行的活动叫做完善性完善性不一定是救火式的紧急维修,而可以是有计划、有预谋的一种再开发活动实践表明,在几种活动中,完善性所占的最大,即大部分工作是改变和加强,而不是纠错功能、性能的维事实证明,来自用户要求扩充、加强护活动约占整个工作的509预防性预防性定义为:采用先进的工程方法对需要的试或中的某一部分(重新)进行设计、编制和测预防性是为了提高的可性、可靠性等,为以后进一步改进打下良好基础统计数字表明完善性改正性适应性其它占全部活动的50%66%占17%21%占

4、18%25%活动只占4%左右10可性可性进行 对的容易程度影响可可理解性可测试性可修改性可移植性可重用性性的主要11可性可的表现为: 有效的模块性采用易于理解的设计模式采用明确定义的编码标准和约定 源代码能够自身文档化且易于理解应用质量保证技术,交付之前已找到潜在问题12过程13IEEE模型图14实现阶段系统测试阶段验收测试阶段设计阶段交付阶段分析阶段分类与鉴别阶段技术程序理解再工程逆向工程15程序理解以建立基本、升级和再工程为目的,在不同的抽象级别上的概念模型,包括从代码本身的模型到基本应用领域的模型,即建立从问题/应用域到程序设计/实现域的清晰。16程序理解的任务通过检查单个的程序设计结构

5、,程序被表示成抽象语法树、符号表或普通源文本尽量做到程序隐含信息的显性表示及程序化关系的可视从源代码中提取信息,并存放在通用的数据库中,然后通过查询语言对数据库进行查询检查程序构造过程中的结构关系,明确表示程序组成部分之间的依赖关系识别程序的义匹配等概念,如标准算法、数据结构、语法及语17再工程Re-engineering指对现有进行仔细和改造,对其进行重新构造,使之成为一个新的形式,同时包括随之产生的对新形式的实现18再工程模型Forwardinventory库存目录分析ysisengineering正向工程Datarestructuring数据重构reng文档重构reversecodeen

6、gineering逆向工程restructuring代码重构19再工程模型:库存目录分析分析库存目录 构建一张包含所有应用系统的表应用系统的名字最初创建时间所做实质性变更的数量使这些变更得以应用的总的工作量上一个实质性变更的日期使上一个变更得以应用的工作量它驻留的系统应用程序接口按照业务重要程度、准,把库中的应用排序从中选出再工程的侯选者、当前可性、预期的修改次数等标然后合理地分配再工程所需要的资源20再工程模型:文档重构老程序固有的特点是缺乏文档,根据具体情况可采用下述三种方法之一来处理这个问题:如果一个程序是相对稳定的,正在生命的终点,而且可能不会再修改它,则不必为它建立文档;为了便于今后

7、的,必须更新文档,但是由于资源有限,应该采用“使用时建立文档”的方法;如果某应用系统是用户完成业务工作的关键,而且必须重构全部文档,则仍然应该尽量把文档工作减少到必需的最小量。21再工程模型:逆向工程源于硬件领域分析程序,在比源程序更高的抽象层次上创建出程序的某种描述逆向工程是一个恢复设计结果的过程逆向工程是分析目标系统,识别系统的构件及其交互关系,并且通过程抽象或其它形式来展现目标系统的过对逆向工程而言,抽象的层次、完备性、工具与分析协同工作的程度、过程的方向性等是需要考虑的22逆向工程过程23逆向工程主要内容1.数据的逆向工程数据结构的逆向工程、数据库结构的逆向工程2.处理的逆向工程需要在

8、不同的抽象级别(系统级、程序级、构件级、模式级和语句级)分析代码对大型系统,通常用半自动方法完成逆向工程3.用户界面的逆向工程界面必须处理的基本动作是什么?系统对这些动作的行为反应的简要描述是什么?24再工程模型:代码重构某些老程序的体系结构比较合理,但是,一些模块的编码方式却难于理解、测试和在这种情况下,可以重构这些模块的代码通常,代码重构并不修改程序的体系结构,它只关注块的设计细节以及在模块中定义的局部数据结构模如果重构扩展到模块边界之外并涉及成了正向工程体系结构,则重构25再工程模型:数据重构对数据体系结构差的程序很难进行适应性和完善性因此,数据体系结构比源代码对程序的长期生存力有更大的影响由于数据结构对程序体系结构及程序中的算法有很大影响,对数据的修改必然会导致程序体系结构或代码层的改变数据重构是一种全范围的再工程活动26再工程模型:正向工程正向工程也称为革新或改造正向工程过程应用现代工程的概念、原理、技术和方法,重新开发现有的某些应用系统在大多数情况下,经过正向工程后,不仅重新实现了现有系统的功能,而且增加了新功能,提高了整体性能27本章复习要点的概念的主要类型纠错性、适应性、完善性、预防性可性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论