第八章__维护

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第八章维护

一、概述P2

二、软件维护的定义

所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。维护的类型有四种:

1、改正性维护(Corrective Maintenance)--诊断和改正错误的过程

在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部

分隐藏的错误遗留到运行阶段。

这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。

为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的

误使用,所进行的诊断和改正错误的过程就叫做改正性维护。

2、适应性维护(Adaptive Maintenance )--为适应变化了的环境而进

行的软件修改活动

在使用过程中,外部环境(新的硬、软件配置)、数据环境(数据库、

数据格式、数据输入/输出方式、数据存储介质)都可能发生变化。

为使软件适应这种变化,而去修改软件的过程就叫做适应性维护。

3、扩充与完善性维护(Perfective Maintenance)

在软件的使用过程中,用户往往会对软件提出增加新功能或修改已

有功能、改善性能的要求。

为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增

强软件性能、改进加工效率、提高软件的可维护性。

这种情况下进行的维护活动叫做扩充与完善性维护。

4、预防性维护(Preventive Maintenance)

预防性维护是为了提高软件的可维护性、可靠性等,为以后进一步

改进软件打下良好基础。

预防性维护定义为:采用先进的软件工程方法对需要维护的软件或

软件中的某一部分(重新)进行设计、编码和测试。目前,这类维护活动相对比较少。

各类维护所占比例:

三、软件维护的特点

1、结构化维护与非结构化维护差别巨大

非结构化维护----软件配置的惟一成份是程序代码,维护活动从艰苦地评价程序代码开始。P8

结构化维护----有一套完整的软件配置存在,维护工作从评价设计文档开始。P9

2、影响软件维护的因素诸多

系统大小、程序设计语言、系统年龄、是否应用数据库技术、是否采用较先进的软件开发技术、开发时是否考虑将来的修改、其他因

素(应用的类型、数学模型、任务的难度、开关与标记、IF嵌套深度、索引或下标数等)

3、软件维护的代价高昂

首先,软件维护需要的工作量很大,平均说来,大型软件的维护成

本高达开发成本的4倍左右。目前国外许多软件开发组织把60%以上的人力用于维护已有的软件,而且随着软件数量增多和使用寿命延长,这个百分比还在持续上升。

有形的软件维护成本是花费了多少钱,而无形的维护成本有更大的

负面影响。

(1) 一些合理的修复或修改请求不能及时安排,使得客户不满意;

(2) 变更的结果引入新的故障,使得软件整体质量下降;

(3) 把软件人员抽调到维护工作中,干扰了软件开发工作。

维护工作量的计算模型:

d

c

+

=

p

Ke

M-

其中:

M 是维护中消耗的总工作量

P 是生产性工作量

K 是一个经验常数

c 是因缺乏好的设计和文档而导致复杂性的度量

d 是维护人员对软件熟悉程度的度量

模型表明,如果使用了不好的软件开发方法(未按软件工程要求做),原来参加开发的人员或小组不能参加维护,则工作量(及成本)将

按指数级增加。

4、影响软件维护的典型问题P14~16

难以读懂他人的程序

无文档或不全

软件人员流动性大

设计时未考虑修改需要,修改困难

维护工作无吸引力,缺乏成就感

难以跟踪软件的创建过程、软件版本的进化过程,软件的变化未在

文档中反映出来

四、软件维护的过程

软件维护过程本质上是更改和压缩了的软件定义和开发过程。

1、前期工作

事实上,远在提出一项维护要求之前,与软件维护有关的工作已

经开始了。(机构、制度和标准)

首先要建立维护的机构

申明维护申请报告的提出过程及评价的过程

为每一个维护申请规定标准的处理步骤

建立维护活动的记录保管,并规定复审的标准

2、维护机构P18~19

维护要求维护管理员→系统管理员→变化授权人

3、维护报告

应该由软件维护人员向用户提供标准化格式表格,使用户能表达所

需软件维护要求;

维护申请报告或称软件问题报告,由申请维护的用户填写;

用户必须完整地说明产生错误的情况,包括输入数据、错误清单以

及其它有关材料;

如果申请的是适应性维护或完善性维护,用户必须提出一份修改说

明书,列出所有希望的改进。

维护申请报告将由维护管理员和系统管理员来研究处理。他们应相

应地做出软件修改报告,指明:

(1) 所需修改变动的性质;

(2) 申请修改的优先级;

(3) 为满足某个维护申请报告,所需的工作量;

(4) 预计修改后的状况。

软件修改报告应提交给变化授权人(修改负责人),经批准后才能进

一步安排维护工作。

4、软件维护工作流程P23

尽管维护申请的类型不同,但都要进行同样的技术工作----是一次

压缩了的软件工程。

(1) 修改软件需求说明

(2) 修改软件设计

(3) 设计评审

(4) 对源程序做必要的修改

(5) 单元测试

相关文档
最新文档