软件工程第7章软件维护与再工程.pptx
《软件工程第7章软件维护与再工程.pptx》由会员分享,可在线阅读,更多相关《软件工程第7章软件维护与再工程.pptx(37页珍藏版)》请在课桌文档上搜索。
1、第7章 软件维护与再工程,软件维护分类软件可维护性软件维护实施软件再工程,1.软件维护分类,所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。可以通过描述软件交付使用后可能进行的以下4项活动,具体地定义软件维护。改正性维护完善性维护适应性维护预防性维护,改正性维护,因为软件测试不可能暴露出一个大型软件系统中所有潜藏的错误,所以必然会有第一项维护活动:在任何大型程序的使用期间,用户必然会发现程序错误,并且把他们遇到的问题报告给维护人员。把诊断和改正错误的过程称为改正性维护。,适应性维护第二项维护活动,因此,适应性维护,也就是为了和变化了的环境适当地配合而进行的修
2、改软件的活动,是既必要又经常的维护活动。,完善性维护,当一个软件系统顺利地运行时,常常出现第三项维护活动:在使用软件的过程中用户往往提出增加新功能或修改已有功能的建议,还可能提出一般性的改进意见。为了满足这类要求,需要进行完善性维护。这项维护活动通常占软件维护工作的大部分。,预防性维护,当为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件时,出现了第四项维护活动。这项维护活动通常称为预防性维护,目前这项维护活动相对比较少。,2.软件可维护性,可以把软件的可维护性定性地定义为:维护人员理解、改正、改动或改进这个软件的难易程度。影响软件可维护性的因素有:系统大小、系统文档、
3、系统年龄。可通过软件的易理解性、可靠性、易修改性、易移植性的评价,而对软件系统进行可维护性综合评估。,决定软件可维护性的因素,维护就是在软件交付使用后进行的修改,修改之前必须理解待修改的对象,修改之后应该进行必要的测试,以保证所做的修改是正确的。如果是改正性维护,还必须预先进行调试以确定错误的具体位置。因此,决定软件可维护性的因素主要有下述5个。可理解性可测试性可修改性可移植性可重用性,1.可理解性,软件可理解性表现为外来读者理解软件的结构、功能、接口和内部处理过程的难易程度。模块化(模块结构良好,高内聚,松耦合)、详细的设计文档、结构化设计、程序内部的文档和良好的高级程序设计语言等,都对提高
4、软件的可理解性有重要贡献。,2.可测试性,诊断和测试的容易程度取决于软件容易理解的程度。良好的文档软件结构可用的测试工具调试工具,以前设计的测试过程开发阶段用过的测试方案,以便维护人员进行回归测试。在设计阶段应该尽力把软件设计成容易测试和容易诊断的。对于程序模块来说,可以用程序复杂度来度量它的可测试性。模块的环形复杂度越大,可执行的路径就越多,因此,全面测试它的难度就越高。,3.可修改性,软件容易修改的程度和本书第5章讲过的设计原理和启发规则直接有关。耦合、内聚、信息隐藏、局部化、控制域与作用域的关系等,都影响软件的可修改性。,4.可移植性,软件可移植性指的是,把程序从一种计算环境(硬件配置和
5、操作系统)转移到另一种计算环境的难易程度。把与硬件、操作系统以及其他外部设备有关的程序代码集中放到特定的程序模块中,可以把因环境变化而必须修改的程序局限在少数程序模块中,从而降低修改的难度。,5.可重用性,所谓重用(reuse)是指同一事物不做修改或稍加改动就在不同环境中多次重复使用。大量使用可重用的软件构件来开发软件,可以从下述两个方面提高软件的可维护性。(1)通常,可重用的软件构件在开发时都经过很严格的测试,可靠性比较高,且在每次重用过程中都会发现并清除一些错误,随着时间推移,这样的构件将变成实质上无错误的。因此,软件中使用的可重用构件越多,软件的可靠性越高,改正性维护需求就越少。(2)很
6、容易修改可重用的软件构件使之再次应用在新环境中,因此,软件中使用的可重用构件越多,适应性和完善性维护也就越容易。,文档,文档可以分为用户文档和系统文档两类。1.用户文档用户文档是用户了解系统的第一步,它应该能使用户获得对系统的准确的初步印象。(1)功能描述(2)安装文档(3)使用手册(4)参考手册(要完整)(5)操作员指南(如果需要有系统操作员的话),2.系统文档,所谓系统文档指从问题定义、需求说明到验收测试计划这样一系列和系统实现有关的文档。描述系统设计、实现和测试的文档对于理解程序和维护程序来说是极端重要的。和用户文档类似,系统文档的结构也应该能把读者从对系统概貌的了解,引导到对系统每个方
7、面每个特点的更形式化更具体的认识。,可维护性复审,可维护性是所有软件都应该具备的基本特点,必须在开发阶段保证软件具有可维护因素。在完成了每项维护工作之后,都应该对软件维护本身进行仔细认真的复审。不能准确反映软件当前状态的设计文档可能比完全没有文档更坏。如果对软件的可执行部分的修改没有及时反映在用户文档中,则必然会使用户因为受挫折而产生不满。,为什么要进行可维护性复审?,在软件再次交付使用之前,对软件配置进行严格的复审,则可大大减少文档的问题。在需求分析阶段的复审过程中,应该对将来要改进的部分和可能会修改的部分加以注意并指明;应该讨论软件的可移植性问题,并且考虑可能影响软件维护的系统界面。在正式
8、的和非正式的设计复审期间,应该从容易修改、模块化和功能独立的目标出发,评价软件的结构和过程;设计中应该对将来可能修改的部分预作准备。,代码复审应该强调编码风格和内部说明文档这两个影响可维护性的因素。在设计和编码过程中应该尽量使用可重用的软件构件,如果需要开发新的构件,也应该注意提高构件的可重用性。在测试结束时进行最正式的可维护性复审,这个复审称为配置复审。配置复审的目的是保证软件配置的所有成分是完整的、一致的和可理解的,而且为了便于修改和管理已经编目归档了。,3.软件维护实施,开发组可承担软件初期维护,但当软件转入正常使用以后,其维护工作则一般由专门的维护机构承担。软件维护机构人员组成有:维护
9、负责人、系统监督员、配置管理员、维护工程师。其中,维护负责人全权负责维护任务,包括技术与管理两个方面的工作。维护将由申请报告启动,其一般由软件用户提出。维护机构则对维护申请进行评审。维护活动需要记录存档,需要进行评价。,维护实施过程本质上是修改和压缩了的软件定义和开发过程,而且事实上远在提出一项维护要求之前,与软件维护有关的工作已经开始了。首先必须建立一个维护组织随后必须确定报告和评价的过程而且必须为每个维护要求规定一个标准化的事件序列 此外,还应该建立一个适用于维护活动的记录保管过程,并且规定复审标准。,维护实施过程的本质,1.维护组织,虽然通常并不需要建立正式的维护组织,但是,即使对于一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 软件 维护 工程
链接地址:https://www.desk33.com/p-381522.html