- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 第八章 维 护 * 软件维护 软件维护是软件生命周期的最后一个阶段 软件维护需要的工作量非常大 大型软件的维护成本高达开发成本的四倍左右。 软件工程的主要目的:提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。 * 8.1软件维护的定义 所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。 软件维护的分类: 改正性维护 适应性维护 完善性维护 预防性维护 * 1 改正性维护 在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分隐藏的错误遗留到运行阶段。 这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。 为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程就叫做改正性维护。 改正性维护的工作量占全部维护活动的17%~21%。 * 2 适应性维护 为了和变化了的环境适当地配合而进行的修改软件的活动,是既必要又经常的维护活动。 外部环境(新的硬、软件配置) 数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质) 可能发生变化。 适应性维护的工作量占全部维护活动的18%~25% * 3 完善性维护 在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。 为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。 这种情况下进行的维护活动叫做完善性维护。 * 4 预防性维护 预防性维护是为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。 预防性维护定义为:采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试。 * 三类维护占 维护在软件生存期 总维护比例 所占比例 * 8.2 软件维护的特点 1 结构化维护与非结构化维护差别巨大 2 维护的代价高昂 3 维护的问题很多 理解别人写的程序通常非常困难. 需要维护的软件无文档或不全. 软件人员流动性大. 设计时未考虑将来修改需要,修改困难. 维护工作无吸引力,缺乏成就感. * * 影响维护工作量的因素 1.系统大小 2.程序设计语言 语言的功能越强,生成程序的模块化和结构化程度越高,所需的指令数就越少,程序的可读性越好。 * 影响维护工作量的因素 3.系统年龄: 老系统随着不断的修改,结构越来越乱; 维护人员经常更换。 没有文档,或文档太少。 文档在许多地方与程序实现变得不一致。 * 影响维护工作量的因素 4.数据库技术的应用: 使用数据库,可以简单而有效地管理和存储用户程序中的数据,还可以减少生成用户报表应用软件的维护工作量。 5.先进的软件开发技术: 使用能使软件结构比较稳定的分析与设计技术,及程序设计技术,如面向对象技术、复用技术等,可减少大量的工作量。 * 影响维护工作量的因素 6.其它: 应用的类型 数学模型 任务的难度 开关与标记、IF嵌套深度、索引或下标数等 对维护工作量都有影响。 许多软件在开发时并未考虑将来的修改,为软件的维护带来许多问题。 * 8.3 维护过程 维护过程本质上是修改和压缩了的软件定义和开发过程。 首先建立维护组织,确定报告和评价过程,为每个维护要求规定一个标准化的事件序列,并记录维护活动和规定复审标准。 * 软件维护的事件流 8 .4 软件的可维护性 衡量软件质量的几个主要质量特性: 可维护性 可使用性 可靠性 软件可维护性 指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩充或压缩的容易程度。 * 二、可维护性的度量(1) 可理解性 人们通过阅读源代码和相关文档,了解程序功及其如何运行的容易程度。 可靠性 表明一个程序按照用户的要求和设计目标,在给定的一段时间内正确执行的概率。 可测试性 表明诊断和测试的容易程度。 可修改性 表明程序容易修改的程度。 * 二、可维护性的度量(2) 可移植性 表明把程序从一种计算环境转移到另一种计算环境的难易程度。 可重用性 指同一个软件(或软件成份)不做修改或稍加改动,就可以在不同环境中多次重复使用。 * 8.4.2 文档 文档比程序代码更重要 文档分为用户文档和系统文档两类。 用户文档主要描述系统功能和使用方法,不关心这些功能是怎样实现的。 系统文档指从问题定义、需求说明到验收测试这样系列的有关文档。 * *
文档评论(0)