第八章--维护.ppt

上传人:本田雅阁 文档编号:2916495 上传时间:2019-06-05 格式:PPT 页数:18 大小:357.02KB
返回 下载 相关 举报
第八章--维护.ppt_第1页
第1页 / 共18页
第八章--维护.ppt_第2页
第2页 / 共18页
第八章--维护.ppt_第3页
第3页 / 共18页
第八章--维护.ppt_第4页
第4页 / 共18页
第八章--维护.ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《第八章--维护.ppt》由会员分享,可在线阅读,更多相关《第八章--维护.ppt(18页珍藏版)》请在三一文库上搜索。

1、第八章,维护,问题一:什么是软件维护?它有哪几种类型?,定义: 软件维护(Software maintenance)是一个软件工程名词,是指在软件产品发布后,因修正错误、提升性能或其他属性而进行的软件修改。 软件维护主要是指根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改,修改时应充分利用源程序。修改后要填写程序修改登记表,并在程序变更通知书上写明新旧程序的不同之处。,软件维护类型:,1.改正性维护折叠编辑本段 改正性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。这方面的维护工作量要占整个维护工作量的17%21%。所发现的错误有的不太重要,不影响系统的正常运行,其维护

2、工作可随时进行:而有的错误非常重要,甚至影响整个系统的正常运行,其维护工作必须制定计划,进行修改,并且要进行复查和控制。,2.适应性维护 适应性维护是指使用软件适应信息技术变化和管理需求变化而进行的修改。这方面的维护工作量占整个维护工作量的18%25%。由于计算机硬件价格的不断下降,各类系统软件屡出不穷,人们常常为改善系统硬件环境和运行环境而产生系统更新换代的需求;企业的外部市场环境和管理需求的不断变化也使得各级管理人员不断提出新的信息需求。这些因素都将导致适应性维护工作的产生。进行这方面的维护工作也要像系统开发一样,有计划、有步骤地进行。,3.完善性维护是为扩充功能和改善性能而进行的修改,主

3、要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。这些功能对完善系统功能是非常必要的。另外,还包括对处理效率和编写程序的改进,这方面的维护占整个维护工作的50%60%,比重较大.也是关系到系统开发质量的重要方面。这方面的维护除了要有计划、有步骤地完成外.还要注意将相关的文档资料加入到前面相应的文档中去。,4.预防性维护为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。例如将专用报表功能改成通用报表生成功能,以适应将来报表格式的变化。这方面的维护工作量占整个维护工作量的4%左右。,问题二

4、:非结构化维护和结构化维护的主要区别是什么?,区别是:软件生命周期、软件配置的完整性 1.非结构化 在非结构化的系统中,每个节点存储自身的信息或信息的索引(如指针和IP地址)。当用户需要在P2P系统中获取信息时,他们预先并不知道这些信息 (如某个文件)会在那个节点上存储。因此,在非结构化P2P系统中,信息搜索的算法难免带有一定的盲目性,例如最简单的泛洪式查找(类似于广播)和扩展环查找(从最近的n个节点开始,层层转发直到找到目标或超出了跳数的上限为止)。 2.结构化 P2P网络中的节点是有固定结构的,每个节点只存储特定的信息或特定信息的索引。当用户需要在P2P系统中获取信息时,他们必须知道这些信

5、息(或索引)可能存在于那些节点中。 用户预先知道应该搜索哪些节点,避免了非结构化P2P系统中使用的泛洪式查找,因此提高了信息搜索的效率。,问题三:软件维护有哪些副作用?,软件修改是一项很危险的工作,对一个复杂的逻辑过程,仅仅做一项微小的改动都可能引入潜在的错误。虽然设计文档化和细致的回归测试有助于排除错误,但是维护仍然会产生副作用。软件维护的副作用是指由于维护或在文档化过程中其他一些不期望的行为引入的错误。副作用大致可分为三类: 代码副作用 虽然每次代码修改都可能引入潜在的错误,但是下列修改最易出错: (l)修改或删除子程序; (2)修改或删除语句标号; (3)修改或删除标识符; (4)为提高

6、执行效率而做的修改; (5)修改文件的open.close操作; (6)修改逻辑操作符; (7)由设计变动引起的代码修改; (8)修改对边界条件的测试。,代码副作用有时可通过回归测试发现,此时应立即采取补救措施。然而,有时直到交 i付运行后才暴露出来,故对代码进行上述修改应特别慎重。 数据副作用 在维护阶段一一旦修改了数据结构软件设计与数据可能就不再匹配错误随即出现数据副作用是指因修改软件的信息结构而带来的不良后果。容易引起数据副作用的傅包括: (1)局部或全局常量的再定义; (2)记录或文件格式的再定义; (3)增减数据或其他复杂数据结构的体积; (4)修改全局数据; (5)重新初始化控制标

7、志和指针; (6)重新排列I()表或子程序参数表。 设计文档化有助于限制数据副作用,因为设计文档中详细地描述了数据结构并提一个交叉访问表,把数据和引用它们的模块对应起来。,问题四:什么叫软可维护性?它主要由哪些因素决定?,软件可维护性即维护人员对该软件进行维护的难易程度,具体包括理解、改正、改动和改进该软件的难易程度。 决定可维护性的因素: 1.系统的大小 2.系统的年龄 3.结构合理性 可维护性可通过7个质量特性来衡量: 可理解性 可测试性 可修改性 可靠性 可移植性 可使用性 效率,问题五:.如何度量软件的可维护性?,目前有若干对软件可维护性进行综合度量的方法,但要对可维护性作出定量度量还

8、是困难的。还没有一种方法能够使用计算机对软件的可维护性进行综合性的定量评价。 下面是度量一个可维护的软件的七种特性时常采用的方法,即质量检查表、质量测试、质量标准。 质量检查表是用于测试程序中某些质量特性是否存在的一个问题清单。 质量测试与质量标准则用于定量分析和评价程序的质量。由于许多质量特性是相互抵触的,要考虑几种不同的度量标准去度量不同的质量特性。,问题六:如何提高软件的可维护性?,(1)建立明确的软件质量目标: 如果要程序满足可维护性七个特性的全部要求,那么要付出很大的代价,甚至是不现实的,但有些可维护性是相互促进的,因此要明确软件所追求的质量目标。 (2.)使用先进的软件开发技术和工

9、具: 利用先进的软件开发技术能大大提高软件质量和减少软件费用。面向对象的软件开发方法就是一个非常实用而强有力的软件开发方法,用面向对象方法开发出来的软件系统,稳定性好,比较容易修改,比较容易理解,易于测试和调试,因此,可维护性好。,(3)建立明确的质量保证: 质量保证是指为提高软件质量所做的各种检查工作。质量保证检查是非常有效的方法,不仅在软件开发的各阶段中得到了广泛应用,而且在软件维护中也是一个非常主要的工具。为了保证可维护性,以下四类检查是非常有用的: (1)在检查点进行检查。 (2)验收检查。 (3)周期性的维护检查。 (4)对软件包的检查。 (4).选择可维护的语言: 程序设计语言的选

10、择对维护影响很大。低级语言很难掌握,很难理解,因而很难维护。一般来说,高级语言比低级语言更容易理解,第四代语言更容易理解,容易编程,程序容易修改,改进了可维护性。 (5).改进程序的文档: 程序文档是对程序功能、程序各组成部分之间的关系、程序设计策略、程序实现过程的历史数据等的说明和补充。程序文档对提高程序的可阅读性有重要作用。为了维护程序,人们必须阅读和理解程序文档。,A=3,B=0 路径:sacbde,语句覆盖,判定覆盖,A=4,B=0 路径:sabde A=2,B=2 路径:sacbe,条件覆盖,A=3,A!=3,B1,B2, A2,B=0) A=2,B=2 路径:sabe (A!=3,B1,A=2,B!=0),判定/条件覆盖,A=3,B=0 路径:sacbde A=2,B=2 路径:sabe,条件组合覆盖,(1)A=3,B1 (2)A=3,B1 (4)A!=3,B2,B=0 (6)A2,B!=0 (7)A=2,B=0 (8)A=2,B!=0,(1)和(6) A=3,B=2 路径:sacbe (2)和(5) A=3,B=0 路径:sacbde (3)和(8) A=2,B=2 路径:sacbe (4)和(7) A=2,B=0 路径:sabde,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1