专题9:软件维护.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
专题9:软件维护

专题9: 软件维护 本讲内容 软件维护的分类 软件维护过程 软件的可维护性 维护活动 维护的副作用 逆向工程和重构工程 序言 软件在交付给用户使用后,由于自身问题以及应用需求和环境的变化,对它进行维护不可避免 (定义) 软件维护是一个长期过程,耗费很大 与硬件系统维护不同(部件替换、新技术应用) 1.1 软件维护的分类 纠正性维护 适应性维护 完善性维护 预防性维护 1.1.1 纠正性维护 在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分隐藏的错误遗留到运行阶段。 这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。 为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程就叫做改正性维护。 1.1.2 适应性维护 在使用过程中, 外部环境(新的硬、软件配置) 数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质) 可能发生变化。 为使软件适应这种变化,而去修改软件的过程就叫做适应性维护。 1.1.3 完善性维护 在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。 为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。 这种情况下进行的维护活动叫做完善性维护。 1.1.4 预防性维护 预防性维护是为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。 预防性维护定义为:采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试。 实践表明,在几种维护活动中,完善性维护所占的比重最大,几乎达到50%。即大部分维护工作是改变和加强软件,而不是纠错。 完善性维护不一定是救火式的紧急维修,而可以是有计划、有预谋的一种再开发活动。 影响维护工作量的因素 系统大小:系统越大,理解掌握起来越困难。系统越大,所执行功能越复杂。因而需要更多的维护工作量。 程序设计语言:语言的功能越强,程序的模块化和结构化程度越高,指令数就越少,程序的可读性越好。 影响维护工作量的因素 系统年龄: 老系统随着不断的修改,结构越来越乱; 维护人员经常更换,程序又变得越来越难于理解。 许多老系统在当初并未按照软件工程的要求进行开发,因而没有文档,或文档太少。 在长期的维护过程中文档在许多地方与程序实现变得不一致,在维护时就会遇到很大困难。 影响维护工作量的因素 其它: 数据库技术的应用 软件开发技术的先进程度 应用的类型 数学模型 任务的难度 开关与标记、IF嵌套深度、索引或下标数等 软件维护的成本 有形的软件维护成本是花费了多少钱,无形的维护成本有更大的影响。 一些合理的修复或修改请求不能及时安排,使得客户不满意; 变更的结果引入新的故障,使得软件整体质量下降; 把软件人员抽调到维护工作中,干扰了软件开发工作。 软件维护工作量 维护工作量包括 生产性活动:如分析和评价、设计修改和实现。 “轮转”活动:如力图理解代码在做什么、试图判明数据结构、接口特性、性能界限等。 软件维护工作量模型 M是维护中消耗的总工作量 p是上面描述的生产性工作量 K是一个经验常数 c是因缺乏好的设计和文档而导致复杂性的度量 d是对软件熟悉程度的度量。 1.2.3 软件维护的困难 人员流动大,维护人员得不到开发人员的帮助 理解他人的软件比较困难 -- 文档不齐全 软件修改困难,易出错 缺少吸引力,缺乏成就感 软件版本控制非常困难 软件的可维护性 什么是软件的可维护性 纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩充或压缩的容易程度。 可维护性、可使用性、可靠性是衡量软件质量的主要质量特性,也是用户十分关心的几个方面。 软件的可维护性是软件开发阶段各个时期的关键目标 软件的可维护性 目前广泛使用的是用如下的七个特性来衡量程序的可维护性。 可理解性 可使用性 可测试性 可移植性 可修改性 效率 可靠性 软件的可维护性 影响软件可维护性的因素 (可理解、测试、修改) 软件和文档的可理解性 文档是否齐全 软件开发方法学----结构化、OO 软件的结构是否合理(结构的可扩展性) 开发人员素质 是否使用标准的OS,程序设计语言,文档结构…… 文档 文档是影响软件可维护性的决定因素; 比代码更重要; 满足的要求 必须描述如何使用这个系统; 必须描述怎样安装和管理这个系统; 必须描述系统需求和设计, 必须描述系统的实现和测试,以便使系统成为可维护的。 提高可维护性的方法 确定质量管理目标 (可理解、修改、测试) 规范化的程序设计风格 (模块化、结构化) 选择可维护性高的语言 (高级语言) 完善程序文档 保证软件质量审查方法 保证软件可维护性的复审 复审是保证软件可维护性的一项重要工

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档