软件工程教案--第八章 维护2012

软件工程教案--第八章 维护2012

ID:20416441

大小:479.00 KB

页数:56页

时间:2018-10-10

软件工程教案--第八章 维护2012_第1页
软件工程教案--第八章 维护2012_第2页
软件工程教案--第八章 维护2012_第3页
软件工程教案--第八章 维护2012_第4页
软件工程教案--第八章 维护2012_第5页
资源描述:

《软件工程教案--第八章 维护2012》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件工程 第八章维护第八章维护8.1软件维护的定义8.2软件维护的特点8.3软件维护过程8.4软件的可维护性(自学)8.5提高可维护性的方法(补充自学)8.6预防性维护(自学)8.7软件再工程过程(自学)8.1软件维护的定义在软件产品被开发出来并交付用户使用之后,就进入了软件的运行维护阶段:这个阶段是软件生命周期的最后一个阶段,其基本任务是保证软件在一个相当长的时期能够正常运行。软件维护需要的工作量非常大,平均说来,大型软件的维护成本高达开发的4倍左右。目前国外许多软件开发组织把60%以上的人力用于维护已有的软件,而且随着软件产品数量增多和使用寿命延长,这个百分比

2、还在持续上升。软件工程的主要目标就是提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。1.软件维护的定义:在软件运行/维护阶段对软件产品进行的修改就是所谓的维护。2.改正性维护:在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分隐藏的错误遗留到运行阶段。这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程就叫做改正性维护。3.适应性维护:在使用过程中,外部环境(新的硬、软件配置)和数据环境(数据库、数据格式、数据输入/输出方式、数据存储介

3、质)可能发生变化。为使软件适应这种变化,而去修改软件的过程。8.1软件维护的定义4.完善性维护:软件的使用过程中,用户往往会对软件提出新的功能与性能要求。进而需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性的维护活动实践表明,完善性维护所占的比重最大。即大部分维护工作是改变和加强软件,而不是纠错。完善性维护占了几乎一半的工作量。完善性维护不一定是救火式的紧急维修,而可以是有计划、有预谋的一种再开发活动。事实证明,来自用户要求扩充、加强软件功能、性能的维护活动约占整个维护工作的50%。5.预防性维护:采用先进的软件工程方法对需要维

4、护的软件或软件中的某一部分(重新)进行设计、编制和测试。是为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。8.1软件维护的定义软件维护活动所花费的工作占整个生存期工作量的70%以上,这是由于在漫长的软件运行过程中需要不断对软件进行修改,以改正新发现的错误、适应新的环境和用户新的要求,这些修改需要花费很多精力和时间,而且有时会引入新的错误。8.1软件维护的定义1.影响维护工作量的因素在软件的维护过程中,需要花费大量的工作量,从而直接影响了软件维护的成本。系统大小:系统越大,理解掌握起来越困难,所执行功能越复杂。因而需要更多的维护工作量。程序设计语

5、言:语言的功能越强,程序的模块化和结构化程度越高,程序的可读性越好。系统年龄:数据库技术的应用程度先进的软件开发技术其它:应用的类型、数学模型、任务的难度、开关与标记、IF嵌套深度、索引或下标数等对维护工作量都有影响。8.2软件维护的特点2.结构化维护与非结构化维护差别巨大非结构化维护的代价很高(浪费精力并且遭受挫折),这种维护方式是没有使用软件工程方法学出来的软件的必然结果。以完整的软件配置为基础的结构化维护,是在软件开发过程中应用软件过程方法学的结果。虽然有了软件的完整配置并不能保证维护时没有问题,但是确实能减少精力的浪费并且可以提高维护的总体质量在过去的几十

6、年中,软件维护的费用稳步上升。1970年用于维护已有软件的费用只占软件总预算的35%~40%,1980年上升为40%~60%,1990年上升为70%~80%。8.2软件维护的特点3、维护成本(维护的代价高昂)有形的软件维护成本是花费了多少钱,无形的维护成本有更大的影响。不能及时安排,使得客户不满意;变更的结果引入新的故障,使软件整体质量下降把软件人员抽调到维护工作中,干扰了软件开发软件维护的代价是降低了生产率,在做老程序的维护时非常明显。例如,开发每一行源代码耗资25美元,维护每一行源代码需要耗资1000美元。维护工作量包括生产性活动(如分析和评价、设计修改和实现

7、)和“轮转”活动(如力图理解代码在做什么、试图判明数据结构、接口特性、性能界限等)。8.2软件维护的特点维护工作量的模型M是维护中消耗的总工作量p是上面描述的生产性工作量K是一个经验常数c是因缺乏好的设计和文档而导致复杂性的度量d是对软件熟悉程度的度量。模型指明,如果使用了不好的软件开发方法(未按软件工程要求做),原来参加开发的人员或小组不能参加维护,则工作量(及成本)将按指数级增加。8.2软件维护的特点4.维护的问题很多与软件维护有关的绝大部分问题,都可归因于软件开发的方法有缺点。在软件生命周期的头两个时期没有严格而又科学的管理和规划,几乎必然会导致在最后阶段出

8、现问题。和

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。