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

软件工程 第9章 软件维护 CUMT 11-07-26.pptVIP

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

张 磊 博士,副教授 zhanglei@cumt.edu.cn 9.1 软件维护的概念 9.2 软件维护的代价 9.3 维护过程 9.4 可维护性 9.5 维护的副作用 9.1软件维护的概念 1.软件维护的定义 2.影响维护工作量的因素 3.软件维护的策略 4.维护成本 9.1.1软件维护的定义 在软件已经交付用户使用之后,为了改正错误或满足新的需求而进行修改软件的过程。 维护的类型有: 改正性维护 适应性维护 完善性维护 预防性维护 1.改正性维护 在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分隐藏的错误遗留到运行阶段。 这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。 为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程就叫做改正性维护。 定义: 运行时期为诊断、改正错误而修改软件的过程。 原因: 开发时期测试是不彻底的,会有部分隐藏的错误遗留到运行时期。 目的: 识别和改正软件错误; 2.适应性维护 在使用过程中, 外部环境(新的硬、软件配置) 数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质) 可能发生变化。 为使软件适应这种变化,而去修改软件的过程就叫做适应性维护。 定义: 为使软件适应变化而修改软件的过程。 原因: 在软件运行过程中, ⑴外部环境——新的硬、软件配置。 ⑵数据环境 数据库 数据输入/输出方式 数据存储介质 可能发生变化。 3.完善性维护 在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。 为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。 这种情况下进行的维护活动叫做完善性维护。 定义: 为了满足这些要求,需要修改或再开发软件的维护活动叫做完善性维护。 这种情况下进行。 原因: 在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。 目的: 扩充软件功能 增强软件性能 4.预防性维护 预防性维护是为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。 预防性维护定义为:采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试。 定义: 对需要维护的软件或软件中的某一部分(重新)进行设计、编码和测试。 目的: 了提高软件的可维护性、可靠性等; 为以后进一步改进软件打下良好基础。 5.各类维护工作所占的比重 实践表明,在几种维护活动中,完善性维护所占的比重最大。即大部分维护工作是改变和加强软件,而不是纠错。 完善性维护不一定是救火式的紧急维修,而可以是有计划、有预谋的一种再开发活动。 事实证明,来自用户要求扩充、加强软件功能、性能的维护活动约占整个维护工作的50% 在整个软件维护阶段所花费的全部工作量中,完善性维护占了几乎一半的工作量。 软件维护活动所花费的工作占整个生存期工作量的70%以上,这是由于在漫长的软件运行过程中需要不断对软件进行修改,以改正新发现的错误、适应新的环境和用户新的要求,这些修改需要花费很多精力和时间,而且有时会引入新的错误 三类维护占 维护在软件生存期 总维护比例 所占比例 软件维护的工作占整个生存期工作量的70%以上 9.1.2软件维护的代价 在软件的维护过程中,需要花费大量的工作量,从而直接影响了软件维护的成本。 应当考虑有哪些因素影响软件维护的工作量,相应应该采取什么维护策略,才能有效地维护软件并控制维护的成本 费用代价(有形) 1970年 35%~40% 1980年 40%~60% 1990年 70%~80% 其它(无形) 不能及时满足用户合理的修改要求,引起用户不满; 抽调开发者去从事维护,使得开发造成混乱。 引入了新的潜伏的故障,降低了软件的质量; 1. 维护工作量的计算模型 M = P + K × exp(c-d) M是维护的总工作量 P是生产性工作量 K是经验系数 c是复杂程度(非结构化设计和缺少文档都会增加软件的复杂程度) d是维护人员对软件的熟悉程序 2.影响维护代价的非技术因素 3.影响维护代价的技术因素 ⑴软件对运行环境的依赖性 ⑵编程语言 ⑶编程风格 风格好?可理解性好?代价越低; ⑷测试与改错工作 ⑸文档的质量 清晰、正确和完整的文档?降低维护的代价 4.维护成本 有形的软件维护成本是花费了多少钱,无形的维护成本有更大的影响。 一些合理的修复或修改请求不能及时安排,使得客户不满意; 变更的结果引入新的故障,使得软件整体质量下降; 把软件人员抽调到维护工作中,干扰了软件开发工作。 9.3软件维护活动

文档评论(0)

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

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

1亿VIP精品文档

相关文档