软件工程第七章软件维护与再工程

上传人:e****s 文档编号:252005539 上传时间:2024-11-12 格式:PPT 页数:18 大小:178.50KB
返回 下载 相关 举报
软件工程第七章软件维护与再工程_第1页
第1页 / 共18页
软件工程第七章软件维护与再工程_第2页
第2页 / 共18页
软件工程第七章软件维护与再工程_第3页
第3页 / 共18页
点击查看更多>>
资源描述
*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,软件工程,第七讲 软件维护与再工程,第七讲 软件维护与再工程,7.1 软件维护的类型与策略,7.2 软件可维护性的概念,7.3 软件维护的实施过程和管理,7.4 软件再工程,7.1 软件维护的类型与策略,1软件维护的根本概念,在软件运行/维护阶段对软件所进行的修改称为软件维护。,修改可能包括代码、文档、数据等多方面。,软件维护比软件开发更困难,需要更多的创造性工作。,需要理解别人的程序,对程序的修改不能影响该程序的正确性和完整性,必须在较短的时间内完成,包括大量的需求分析、设计、测试等工作,软件维护的特点,维护活动限定在已有系统的框架内完成,。一般系统越老,维护越困难。,通常,维护时间比开发时间长,。但一项具体的维护工作比该软件的开发时间短。,软件开发从无到有产生所有的测试数据,而维护通常可以使用现有的测试数据进行,回归测试,。有时需要产生新的测试数据,对软件修改及修改后的影响进行必要的测试。,2软件维护的种类,纠错改正性维护约占维护工作量的21,改正软件中的错误。,适应性维护约占维护工作量的25,适应外部环境变化的修改。如硬件配置、软件配置、数据环境DB、存储方式等。,完善性维护约占维护工作量的50,在使用过程中,针对用户提出的新的功能与性能要求,而修改和再开发软件,以扩充功能、增强性能、改进处理效率、提高软件的可维护性。,预防性维护约占维护工作量的4,为了提高软件的可维护性、可靠性,对软件和软件中的某一局部重新进行设计、编制和测试。,7.2 软件可维护性的概念,1软件可维护性,指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩充或压缩的容易程度。,2影响可维护性的主要软件属性,可理解性,可测试性,可修改性,可靠性,可移植性,可使用性,效率,7.3 软件维护的实施过程和管理,1软件维护的工作流程,2软件维护的主要任务,第一、分析和理解现有系统,第二、修改系统,第三、重新验证、确认修改局部,第二、修改系统最重要的维护工作,设计程序的修改方案,设计如何改变程序的方案,在理解的根底上,从总体和全局的观点出发,提出修改方案的方针与策略;,逐步把要改变的软件局部如模块别离出来;,仔细地研究每个要改变的和受影响的局部的内部细节。,按方案改变程序,正确、有效地编写改变局部的代码;,消除任何不期望的副作用;,所谓副作用是指因修改软件而造成的错误或其它不希望发生的情况。,有三种副作用:,修改代码的副作用,修改数据的副作用,修改文档的副作用,控制程序改变的波动效应。,所谓波动效应是指当改变程序地一局部而影响程序地其他局部时,就出现了波动效应。,估计修改的影响,A,B,C,W,X,公共子程序X内含有:,全局变量Y,全局数据结构Z,ABCW共同使用Y,Z,注:修改X,则改变Y和Z;,因此要改变A、B、CW。,此时,波动效应就大。,第三、重新验证、确认修改局部,修改少数代码和修改多数代码都应该重新验证和确认。,注意:,对于改变局部和未改变局部都要进行;,重新确认应该邀请用户参加;,重新验证和确认过程中发现的错误和错误类别,应该同从前的测试结果进行比较,估计被损害的程度;,利用自开工具帮助重新确认过程。,3软件维护的管理,软件维护管理的重要性,软件维护管理的职能,控制程序的改变:有效性、合理性、经济性,要进行监督和控制,程序的质量检查,按设计标准进行改变,安排维护方案,建立维护机构,软件维护的管理流程,软件维护申请报告,一般地,维护申请报告通常由申请维护的用户填写,是维护工作的根底。维护申请报告一般包括:,遇到的错误及其描述可从运行日志来;,当时的环境输入、程序、其他条件等。,软件修改报告,软件开发组织根据维护申请报告相应地做出软件修改报告。软件修改报告应提交修改负责人,经批准后才能进一步安排维护工作。,软件修改报告用于记录在维护期间对软件所作的每一次修改。由直接进行修改和负责文档管理的人员共同填写。软件修改报告一般包括:,为满足维护申请表的要求所需要的工作量,要求修改的性质和范围,请求的优先次序,修改有关的数据,7.4 软件再工程Re-Engineering,1软件再工程的定义,将新技术和新工具应用于老的软件的一种较彻底的预防性维护。,软件再工程的目的:,在商业上要提高产品的竞争力;在技术上要提高产品的质量。但这种愿望无法靠软件的维护来实现,因为:,1软件的可维护性可能极差,实在不值得去做;,2即使软件的可维护性比较好,但也只是治表不治本。软件再工程干脆对已有软件进行全部或局部的改造,赋予软件新的活力。,(2)软件再工程过程模型,信息库分析:软件公司维护的所有应用软件的根本信息,包括应用软件的设计、开发及维护方面的数据。,文档重构:重新构建原本缺乏文档的应用系统的文档。,逆向工程:,软件的逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序表示的过程;是一个设计恢复(提取数据结构、体系结构和程序设计结构)的过程。,信息库分析,文档重构,逆向工程,代码重构,数据重构,正向工程,代码重构:,从代码中导出遵从结构化程序设计思想的过程设计。,数据重构:数据重构从理解现有数据结构开始,再重新设计数据,包括数据标准化、数据命名合理、文件格式转换、数据库格式转换等。,正向工程:它根据重构后软件的设计信息,改变或重构现存软件,已到达改善其整体质量的目的。,软件再工程的例子,软件视图、信息库、综合、分解与变换,信息库,S-Designor,CDM,PDM,应用,数据库,S-Designor,S-Designor,正向工程,反向工程,本讲小结,本讲主要介绍了教材中的第11章的内容。,软件维护是软件生命周期中的最后一个阶段。软件能够成功地运行并能发挥其效能,与软件维护工作是分不开的。,软件维护工作与软件开发工作同样重要。,可以说软件维护过程是一个再分析、再设计、再编码、再测试、再确认的过程。,软件再工程技术既可以用于软件维护,也可以用于再造软件。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!