网站大量收购独家精品文档,联系QQ:2885784924

软件工程 第8篇.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 维护 8.1 软件维护的定义 8.2 软件维护的特点 8.3 软件维护过程 8.4 软件的可维护性 8.5 预防性维护 8.6 软件再工程过程 8.7 小结 习题 8.1 软件维护的定义 定义: 在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。 4类维护: 完善性维护占全部维护活动的50%~66%, 改正性维护占17%~21%, 适应性维护占18%~25%, 其他维护活动只占4%左右。 上述4类维护活动都必须应用于整个软件配置,维护软件文档和维护软件的可执行代码是同样重要的。 8.2 软件维护的特点 8.2.1 结构化维护与非结构化维护差别巨大 非结构化维护 2. 结构化维护 8.2.2 维护的代价高昂 在过去的几十年中,软件维护的费用稳步上升。1970年用于维护已有软件的费用只占软件总预算的35%~40%,1980年上升为40%~60%,1990年上升为70%~80%。 有形 无形 8.2.3 维护的问题很多 8.3 软件维护过程 维护过程本质上是修改和压缩了的软件定义和开发过程. 图8.2 维护阶段的事件流 8.4 软件的可维护性 定义: 维护人员理解、改正、改动或改进这个软件的难易程度。 8.4.1 决定软件可维护性的因素 5个: 可理解性 2. 可测试性 3. 可修改性 4. 可移植性 5. 可重用性 8.4.2 文档 文档是影响软件可维护性的决定因素。 软件系统的文档可以分为用户文档和系统文档两类。 8.4.3 可维护性复审 可维护性是所有软件都应该具备的基本特点,必须在开发阶段保证软件具有提到的5个可维护因素。 8.5 预防性维护 8.6 软件再工程过程 8.7 小结 维护是软件生命周期的最后一个阶段,也是持续时间最长代价最大的一个阶段。软件工程学的主要目的就是提高软件的可维护性,降低维护的代价。 软件维护通常包括4类活动:为了纠正在使用过程中暴露出来的错误而进行的改正性维护;为了适应外部环境的变化而进行的适应性维护;为了改进原有的软件而进行的完善性维护;以及为了改进将来的可维护性和可靠性而进行的预防性维护。 软件的可理解性、可测试性、可修改性、可移植性和可重用性,是决定软件可维护性的基本因素,软件重用技术是能从根本上提高软件可维护性的重要技术,而本书第9章至第12章将要讲述的面向对象的软件技术是目前最成功的软件重用技术。 软件生命周期每个阶段的工作都和软件可维护性有密切关系。良好的设计,完整准确易读易理解的文档资料,以及一系列严格的复审和测试,使得一旦发现错误时比较容易诊断和纠正,当用户有新要求或外部环境变化时软件能较容易地适应,并且能够减少维护引入的错误。因此,在软件生命周期的每个阶段都必须充分考虑维护问题,并且为软件维护预做准备。 文档是影响软件可维护性的决定因素,因此,文档甚至比可执行的程序代码更重要。文档可分为用户文档和系统文档两大类。不管是哪一类文档都必须和程序代码同时维护,只有和程序代码完全一致的文档才是真正有价值的文档。 虽然由于维护资源有限,目前预防性维护在全部维护活动中仅占很小比例,但是不应该忽视这类维护活动,在条件具备时应该主动地进行预防性维护。 预防性维护实质上是软件再工程。典型的软件再工程过程模型定义了库存目录分析、文档重构、逆向工程、代码重构、数据重构和正向工程等6类活动。在某些情况下,以线性顺序完成这些活动,但也并不总是这样。上述模型是一个循环模型,这意味着每项活动都可能被重复,而且对于任意一个特定的循环来说,再工程过程可以在完成任意一个活动之后终止。 习题 8-1 软件的可维护性与哪些因素有关?在软件开发过程中应该采取哪些措施才能提高软件产品的可维护性? 8-2 假设你的任务是对一个已有的软件做重大修改,而且只允许你从下述文档中选取两份: (a)程序的规格说明; (b)程序的详细设计结果(自然语言描述加上某种设计工具表示); (c)源程序清单(其中有适当数量的注解)。 你将选取哪两份文档?为什么这样选取?你打算怎样完成交给你的任务? 8-3 分析预测在下列系统交付使用以后,用户可能提出哪些改进或扩充功能的要求。如果由你来开发这些系统,你在设计和实现时将采取哪些措施,以方便将来的修改? (1) 储蓄系统(参见习题2第2题); (2) 机票预订系统(参见习题2第3题); (3) 患者监护系统(参见习题2第4题)。 单击此处编辑母版标题样式 单击此处编辑母版副标题样式 8.5 预防性维护 图8.3 软件再工程过程模型 * * 单击此处编辑母版标题样式 单击此处编辑母版副标题样式

文档评论(0)

0520 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档