第六篇软件维护工程.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文档。上传文档
查看更多
第六章 软件维护工程 软件维护的概念 软件维护是在软件已交付给用户使用后,为了改正错误,或者满足用户新的需求而修改软件的过程。软件维护一般不包括重大体系结构的修改。 软件维护的原因: ·修改软件中的错误; ·软件运行环境发生了变化; ·用户要求增加软件新的功能或提高软件的性能。 软件维护分类 纠错性维护 适应性维护 完善性维护 预防性维护 三类维护所占比例: 各类维护活动的根本目的是延长软件生存期 软件维护过程 影响软件维护工作量的因素: 系统的大小。 程序设计语言。 系统的年龄。 数据库技术的应用。 先进的软件开发技术。 其他因素。例如,在程序中使用的数学模型、任务的难度、IF嵌套的深度开关和标记等等,都会对维护工作有影响。 该模型说明,如果没有一个好的软件开发途径,原来的开发人员不能参加维护工作,则维护工作量将按指数级增加。 维护申请报告 内容: (1)所需要修改的性质; (2)申请修改的优先级; (3)为满足某一项维护申请所需要的工作量; (4)预计修改后的状况。 软件维护流程 见教材图 维护记录 软件维护评价 可供参考的度量值是: (1)程序每次运行的平均失效的次数; (2)各类维护活动所花费的总“人时”数; (3)每个程序、每种语言、每种维护类型所做的程序变动平均数; (4)因为维护而增加或删除一个源程序语句,平均花费的“人时”数; (5)维护每一种语言的程序所花费的“人时”数; (6)维护申请报告的平均处理时间; (7)各类维护申请的百分比。 修改程序的副作用 修改代码的副作用 修改数据的副作用 修改文档的副作用 重新验证程序 ·静态确认。在软件修改时,可能会产生新的错误,为此,要进行必要的检查。 ·计算机确认。通过计算机对修改的程序进行确认测试。例如,要确认测试的顺序,首先测试经过修改的部分,再测试没有修改的部分,然后,把它们集成起来测试;准备好标准的和有效的测试用例;充分利用软件工具帮助测试;在确认测试过程中,邀请用户参加。 ·文档验收。经过修改的软件交付给用户前,维护主管部门要检查文档。例如,所有的文档是否完备,是否更新,文档与程序是否一致;全部的测试用例和测试结果是否都正确记载;软件配置是否都有了副本;维护的工序和责任是否已经确定。 维护中的典型问题 (1)难以跟踪软件版本的进化过程, 软件的变化未在文档中反映出来. (2)难以跟踪软件的创建过程. (3)难以读懂他人程序. (4)无文档或不全. (5)软件人员流动性大. (6)设计时未考虑修改需要,修改困难. (7)维护工作无吸引力,缺乏成就感. 软件可维护性 软件可维护性的定义 软件可维护性是指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩充或压缩的容易程度。 软件的可维护性度量 (1)可理解性 可理解性表明人们通过阅读源代码和相关的文档,了解程序功能以及如何运行的容易程度。例如,模块化、程序设计风格,程序结构化、完整性等。 (2)可靠性 可靠性表明一个程序按照用户的要求和设计目标,在给定的一段时间内正确执行的概率。可靠性是度量软件整体质量的一个重要指标之一, (3)可测试性 可测试性表明论证程序正确性的容易程度。一个可测试程序应当是可理解的、可靠的、简单的。因为程序越简单,要证明它的正确性就越容易;要设计有效的和合适的测试用例,重要的是要理解程序。 (4)可修改性 软件可修改性表明程序容易修改的程度。一个可修改的程序,应该具有可理解性、通用性、灵活性等等。通用性是指程序适用于各种功能变化而无须修改;灵活性是指能够容易地对程序进行修改。 (5)可移植性 软件可移植性表明程序能转移到另一个新环境的可能性大小,或者表明程序可以容易地、有效地在各种各样的计算环境中运行的容易程度。一个可移植的程序应具有良好的结构和灵活性,即不依赖具体的硬件环境或操作系统。 (6)效率 软件的效率表明了一个程序能完成预定的功能,但又不浪费资源的程度。这些资源可以包括机器的内存容量、外存容量、通道容量等,以及执行时间。 (7)可用性 软件的可用性定义为程序方便、实用、易使用的程度。例如,界面友好、具有在线帮助功能、容错性好等,不因为用户的误操作而陷入混乱状态。 可维护性的度量 度量程序可维护性的7个特性在各类维护 中的侧重点 改正性维护 适应性维护 完善性维护 可理解性 ? 可测试性 ? 可修改性 ? ? 可靠性 ? 可移植性 ? 可使用性 ? ? 效率 ? 提高可维护性的方法 建

文档评论(0)

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

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

1亿VIP精品文档

相关文档