软件工程教学课件ch8.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文档。上传文档
查看更多
第8章 维护 基本任务: 是保证软件在一个相当长的时期能够正常运行。 软件维护需要的工作量很大,60%以上的人力用于维护已有的软件,随着投入使用的软件数量增多和使用寿命延长,这个百分比还在持续上升。最终导致软件开发组织没有余力开发新的软件。 软件工程的目的: 要提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。 第8章 维护 8.1 软件维护的定义 8.2 软件维护的特点 8.3 软件维护过程 8.4 软件的可维护性 8.5 预防性维护 8.6 软件再工程过程 8.7 小结 习题 8.1 软件维护的定义 软件维护: 在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。 可以通过以下4项活动,具体地定义软件维护。 四种维护类型: 改正性维护 适应性维护 完善性维护 预防性维护 8.1 软件维护的定义 1.改正性维护 在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分隐藏的错误遗留到运行阶段。 这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。 改正性维护: 为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程。 8.1 软件维护的定义 2.适应性维护 在使用过程中,外部环境、数据环境可能发生变化。 外部环境(新的硬、软件配置) 数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质) 适应性维护:为使软件适应这种变化,而去修改软件的过程。 8.1 软件维护的定义 3.完善性维护 在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。 完善性维护: 为了满足上述要求,需要修改或再开发软件而进行的完善性的维护活动。以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。 完善性维护不一定是救火式的紧急维修,可以是有计划、有预谋的一种再开发活动。 8.1 软件维护的定义 4.预防性维护 预防性维护: 为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础而修改软件的维护活动。 预防性维护的定义: 采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试的过程。 8.1 软件维护的定义 国外的统计数字表明: 完善性维护占全部维护活动的50%~66%, 改正性维护占17%~21%, 适应性维护占18%~25%, 其他维护活动只占4%左右。 完善性维护占了几乎一半的工作量。 可见: 大部分维护工作是改变和加强软件,不是纠错。 8.2 软件维护的特点 8.2.1 结构化维护与非结构化维护差别巨大 8.2.2 维护的代价高昂 8.2.3 维护的问题很多 8.2 软件维护的特点 8.2.1 结构化维护与非结构化维护差别巨大 1. 非结构化维护 如果软件配置的惟一成分是程序代码, 那么维护活动从艰苦地评价程序代码开始。 没有设计文档及测试文档。 非结构化维护需要付出很大代价,这种维护方式是没有使用良好的方法学开发出来的软件的必然结果。 8.2.1 结构化维护与非结构化维护差别巨大 2. 结构化维护 如果有一个完整的软件配置存在, 那么维护工作从评价设计文档开始; 估量要求的改动将带来的影响,并且计划实施途径。 然后修改设计并且对所做的修改进行仔细复查。 编写相应的源程序代码; 使用在测试说明书中包含的信息进行回归测试; 把修改后的软件再次交付使用。 8.2.2 维护的代价高昂 软件维护活动所花费的工作占整个生存期工作量的70%以上。 在漫长的软件运行过程中需要不断对软件进行修改,以改正新发现的错误、适应新的环境和用户新的要求,这些修改需要花费很多精力和时间,而且有时会引入新的错误。 维护费用是软件维护的最明显的代价,还有一些 无形的代价。 8.2.2 维护的代价高昂 无形的代价还有: 可用的资源必须供维护任务使用,以致耽误甚至丧失了开发的良机。 改错或修改的不及时,引起的用户不满; 由于维护时的改动,在软件中引入了潜伏的错误,从而降低了软件的质量; 把软件工程师调去从事维护工作,在开发过程中造成的混乱。 生产率的大幅度下降,尤其在维护旧程序时常常遇到。 维护工作量的一个模型:M=P+K×exp(c-d) 其中: M是维护用的总工作量, P是生产性工作量(分析等必要的过程) , K是经验常数, c是复杂程度(非结构化设计和缺少文档都会增加软件的复杂程度), d是维护人员对软件的熟悉程度。 模型表明: 如果软件的开发途径不好(没有使用软件工程方法学),而且原来的开发人员不能参加

文档评论(0)

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

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

版权声明书
用户编号:8135026137000003

1亿VIP精品文档

相关文档