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

软件工程基础与实例第八章维护教材.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 维护 主要学习内容 软件维护的概念及特点 软件的可维护性 软件维护的步骤 可维护性 8.1 软件维护的概念及特点 1.软件维护的概念 (1)改正性维护 在软件交付使用后,由于开发时测试得不彻底或不完全,在运行阶段会暴露一些开发时未能测试出来的错误。为了识别和纠正软件错误,改正软件性能上的缺陷,避免实施中的错误使用,应当进行的诊断和改正错误的过程,这就是改正性维护。 (2)适应性维护 随着计算机技术的飞速发展和更新换代,软件系统所需的外部环境或数据环境可能会更新和升级,如操作系统或数据库系统的更换等。为了使软件系统适应这种变化,需要对软件进行相应的修改,这种维护活动称为适应性维护。 8.1 软件维护的概念及特点 (3)完善性维护 在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下进行的维护活动叫做完善性维护。完善性维护不一定是救火式的紧急维修,而可以是有计划的一种再开发活动。 (4)预防性维护 这类维护是为了提高软件的可维护性,可靠性等,为以后进一步改进软件打下良好的基础的维护活动。具体来讲,就是采用先进的软件工程方法对需要维护的软件或软件中的某一部分重新进行设计、编码和测试的活动。 国外的统计调查表明,在整个软件维护阶段所花费的全部工作量中,完善性维护约占50%,适应性维护约占25%,改正性维护约占20%,预防性维护约占5%,如图8-1所示。这说明大部分的维护工作是改变和加强软件,而不是纠错 2.软件维护的特点 (1)软件维护受开发过程影响大 结构化维护:如果采用软件工程的方法进行软件开发,保证每个阶段都有完整且详细的文档,这样维护就会相对容易。通常被称为结构化维护。 非结构化维护:反之,如果不采用软件工程方法开发软件,软件只有程序而欠缺文档,则维护工作会变得十分困难,通常被称为非结构化维护。 (2)软件维护困难多 软件维护的困难主要表现在以下几个方面: 1)读懂别人的程序是很困难的,而文档的不足更增加了这种难度。 2)文档的不一致性是软件维护困难的又一个因素 3)软件开发和软件维护在人员和时间上存在差异。 4)软件维护不是一件吸引人的工作。 2.软件维护的特点 (3)软件维护成本高 软件维护活动可分为生产性活动和非生产性活动。生产性活动包括分析评价、修改设计和编写程序代码等;非生产性活动包括理解程序代码功能、数据结构、接口特点和设计约束等。因此,维护活动的总工作量可以用下面的公式表示: M=P+K×exp(c-d) 其中,M表示维护工作的总工作量,P表示生产性活动的工作量,K表示经验常数,c表示复杂性程度,d表示维护人员对软件的熟悉程度。 这个公式表明,若c越大,d越小,则维护工作量将成指数规律增加。c增加表示软件未采用软件工程方法开发,d减小表示维护人员不是原来的开发人员,对软件的熟悉程度低,重新理解软件花费很多的时间。 8.2 软件的可维护性 在各类维护中的测重点 8.2 软件的可维护性 决定软件可维护性的因素 ①可理解性 1)编程环境:选择高级程序设计语言; 2)模块化:模块结构良好、功能独立; 3)编程风格:使用有意义的数据名和过程名,语句间层次关系清晰; 4)文档说明:必要的注释,详细的设计文档和程序内部的文档。 ②可测试性 是指论证程序正确性的容易程度 好程序的特征:可理解、可靠、简单 度量方法:程序复杂度 8.2 软件的可维护性 ③可修改性 可修改性是指修改程序的难易程度。一个可理解性的程序也具有较好的可修改性,另外,采用的编程环境及程序的结构划分等都对可修改性有影响。 可靠性 可靠性是指一个程序在满足用户功能需求的基础上,在一定时间内正确执行的概率,可靠性的度量标准有:平均失效间隔时间,平均修复时间,软件的平均失效间隔时间越长,平均修复时间越短,说明软件的可靠性越好 8.2 软件的可维护性 可移植性 指将程序从原来环境中移植到一个新的计算机环境的难易程度 。 好程序的特征:结构好,不特别依赖于某一具体的计算机或操作系统。 可使用性 可使用性是指某一功能模块在软件实现过程中的重复使用频率 执行效率 执行效率是指软件在运行过程中对机器资源的浪费程度,即对存储容量、通道容量和执行时间的使用情况 8.3 软件维护的步骤 8.4 软件维护过程文档写作规范 描述改正性维护过程中的维护记录 习题 1.为什么说软件维护是不可避免的? 2.软件维护分哪几种类型?软件的可维护性与哪些因素有关 ? * * 维护管理员接

文档评论(0)

舞林宝贝 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档