CH维护.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CH维护

第八章 维护 第八章 维护 维护阶段是软件生命周期的最后一个阶段,其基本任务是保证软件在一个相当长的时期能够正常运行 软件维护需要的工作量很大,平均说来,大型软件的维护成本高达开发成本的4倍左右 目前国外许多软件开发组织把60%以上的人力用于维护已有的软件,将来维护工作甚至可能会束缚住软件开发组织的手脚,使他们没有余力开发新的软件 提高软件的可维护性,减少软件维护所需要的工作量,是软件工程这门学科的主要目的之一 本章内容提要 8.1 软件维护的定义 软件维护是指在软件交付使用之后,为了改正错误或满足新需要而修改软件的过程(包括软件代码和文档 ) 软件维护的任务 1.改正性维护:诊断、改正错误 2.适应性维护:适应新的软硬件环境 3.完善性维护:用户提出新要求 4.预防性维护:为未来的改进奠定基础 本章内容提要 8.2 软件维护的特点 非结构化维护 软件配置的惟一成分是程序代码,维护活动从艰苦地评价程序代码开始,常常由于程序内部文档不足而使评价极其困难,而且对程序代码所做的改动的后果也是难于估量的 结构化维护 有完整的软件配置存在,维护工作从评价设计文档开始,确定软件重要的结构特点、性能特点以及接口特点;估量要求的改动将带来的影响,并且计划实施途径 修改设计并且对所做的修改进行仔细复查 编写相应的源程序代码; 使用在测试说明书中包含的信息进行回归测试; 把修改后的软件再次交付使用 8.2 软件维护的特点 软件维护的代价 有形代价逐年上升 1970年软件维护费用占总费用的35%——40%; 1980年软件维护费用占总费用的40%——60%; 1990年软件维护费用占总费用的70%——80%。 软件维护的无形代价 可用的资源被软件维护所占用; 未能及时满足用户的维护要求时引起用户不满; 维护时改动软件,引入潜在故障,降低软件质量; 抽调人员从事维护工作,对新的开发造成混乱; 导致生产率的大幅下降。 8.2 软件维护的特点 维护工作量模型 维护工作的劳动可以分成生产性活动和非生产性活动 生产型活动包括分析评价,修改设计和编写程序代码等 非生产性活动包括理解程序代码的功能,解释数据结构、接口特点和性能限度等 维护工作量模型 其中: M是维护用的总工作量,P是生产性工作量,K是经验常数,c是复杂程度(非结构化设计和缺少文档都会增加软件的复杂程度),d是维护人员对软件的熟悉程度 如果软件开发没有使用软件工程方法学,而且原来的开发人员不能参加维护工作,那么维护工作量和费用将指数增加 8.2 软件维护的特点 维护存在的问题 难以理解别人的程序 合理文档不足 当需要解释软件时,开发人员已不在 软件设计时未考虑将来的修改 维护不是一项吸引人的工作 因为软件维护,看不到什么“成果”,但工作量很大,更重要的是维护工作难度大,软件维护人员经常遭受挫折 本章内容提要 8.3 软件的维护过程 维护组织结构图 系统监督员一般都是对程序(某一部分)特别熟悉的技术人员。 配置管理员对维护人员实施的修改进行严格把关,控制修改的范围,对软件配置进行审计 修改控制决策机构、维护管理员可以是指定的某个人,也可以是一个包括管理人员、高级技术人员在内的小组 8.3 软件的维护过程 8.3 软件的维护过程 维护记录 维护人员对程序进行修改前要着重做好两个记录:维护申请报告和软件修改报告 维护申请报告 又称软件问题报告,由要求维护活动的用户填写 对改正性维护,用户需要将错误出现的现场信息详细描述出来,包括输入数据、错误清单以及其它有关材料 对适应性维护或改善性维护,应该给出一个简短的需求规格说明书。维护申请被批准后,维护申请报告就成为外部文档,作为本次维护的依据 8.3 软件的维护过程 维护记录 维护人员对程序进行修改前要着重做好两个记录:维护申请报告和软件修改报告 软件修改报告 为满足维护申请报告提出的需求所需的工作量 本次维护活动的类别 本次维护请求的优先级 本次修改的背景数据 8.3 软件的维护过程 维护评价 每次程序运行平均失败的次数; 用于每一类维护活动的总人时数; 平均每个程序、每种语言、每种维护类型所必需的程序变动数; 维护过程中增加或删除源语句平均花费的人时数; 维护每种语言平均花费的人时数; 一张维护请求表的平均周转时间; 不同维护类型所占的比例; 本章内容提要 8.4 软件可维护性(maintainability) 软件的可维护性:软件维护人员理解、改正、改进一个软件的难易程度 决定软件可维护性的因素 可理解性(understandability):理解软件的结构、接口、功能及内部过程 可测试性(testability) :易理解,具有良好的文档 可修改性(modifiability) :耦合、内聚、信息隐藏、局部化、控制域与作用域的关系等

文档评论(0)

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

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

1亿VIP精品文档

相关文档