软件工程学:维护试题.pptx

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章介绍软件维护的定义、种类、特点;维护的过程;提高软件可维护性的因素;以及软件再工程过程。 第8章 维 护(Maintenance) 软件维护的任务:保证软件在一个相当长的时间内能够正常运行。 软件维护的目的:满足用户对已开发软件产品的性能与运行环境不断提高的需求,进而达到延长软件寿命。 §1. 软件维护的定义 诊断和改正用户使用软件时所发现的软件错误的过程。约占全部维护活动的 17 % ~21%。 软件维护:就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。 软件维护包括4项活动: ① 改正性维护(corrective maintenance) ② 适应性维护(adaptive maintenance) 为了使软件和变化了的环境(如软/硬件升级、新数据库等)适当地配合而修改软件的活动。约占全部维护活动的18 % ~25%。 ③ 完善性维护(perfective maintenance) §1. 软件维护的定义 注:① 一般维护的工作量占生存周期70%以上,维护成本约为开发成本的4倍; ② 文档维护与代码维护同样重要。 为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而主动修改软件的活动。与其它维护活动共占总维护的4%左右。 为了增加软件新功能、改已有功能(如改造界面)、增强软件性能、提高运行效率等,而修改软件的活动。 约占全部维护活动的50% ~66%。 ④ 预防性维护(preventive maintenance) 软件结构、系统接口、 约束条件……??? 不知道! 1、结构化维护与非结构化维护的对比 评价代码 评价设计文档 交付使用 §2. 软件维护的特点 结构化维护与非结构化维护的区别: 结构化维护是在软件开发中使用软件工程方法学的结果;非结构化维护是没有使用良好定义的方法学开发的结果。 结构化维护是从评价设计文档开始,确定软件结构特点、性能特点及接口特点;而非结构化维护是从评价代码开始,评价困难且对软件结构、系统接口、性能设计约束常产生误解。 结构化维护可估计改动带来的影响并计划实施途径;非结构化对程序的改动后果难于估计。 结构化维护是先修改设计并复查,在编写相应的代码;非结构化维护在艰难理解后直接修改代码。 结构化维护可进行回归测试,非结构化维护不能进行回归测试且付出较大代价。 §2. 软件维护的特点 ? 有形代价:费用已上升至总预算的80%; ? 无形代价: ? 占用资源以致延误开发; ? 修改不及时引起用户不满 ; ? 维护引入新错误,降低了软件质量;等等。 ? 生产率大幅度下降。 §2. 软件维护的特点 其中:M = Total maintenance effort; P = Productive efforts (e.g. Analysis, evaluation, design, coding, and testing); K = Empirical constant ; c = Complexity ( caused by the lack of structured design and documentation) d = Degree to which the maintenance team is familiar with the software. 2、维护的代价 M = P + K e(c-d) ? 软件维护工作分为生产性活动和非生产性活动,维护工作量的经验模型: 3、维护的问题 别人的程序很难读懂 说明性文档不可缺少! 文档与代码不一致 那是给谁看呢? 开发人员往往不参加维护 工资不一样嘛! 大多数软件在设计时没有考虑将来的修改 所以不 是人人 能发财 值得注意的是:软件工程的思想至少部分地解决了与维护有关的每一个问题。 §2. 软件维护的特点 §3. 软件维护过程 在维护活动开始之前就明确维护责任是十分必要的,这样可以大大减少维护过程中可能出现的混乱。 维护过程本质上是修改和压缩了的软件定义和开发过程。 1、建立维护组织(maintenance team) 系统管理员 客户要求 任务评价 任务评价 钱太少 不干! §3. 软件维护过程 2、维护报告 §3. 软件维护过程 ⑴ 维护要求表(Maintenance Request Form) 由用户填写的外部文件(维护申请报告),提供错误情况说明(输入数据,错误清单等),或修改说

您可能关注的文档

文档评论(0)

过各自的生活 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档