软件工程课件 课第7章 维护(20081208)

上传人:wt****50 文档编号:50658288 上传时间:2018-08-09 格式:PPT 页数:23 大小:1.62MB
返回 下载 相关 举报
软件工程课件 课第7章 维护(20081208)_第1页
第1页 / 共23页
软件工程课件 课第7章 维护(20081208)_第2页
第2页 / 共23页
软件工程课件 课第7章 维护(20081208)_第3页
第3页 / 共23页
软件工程课件 课第7章 维护(20081208)_第4页
第4页 / 共23页
软件工程课件 课第7章 维护(20081208)_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《软件工程课件 课第7章 维护(20081208)》由会员分享,可在线阅读,更多相关《软件工程课件 课第7章 维护(20081208)(23页珍藏版)》请在金锄头文库上搜索。

1、LOADINGLOADINGDGIL第7章 维护软件维护 的特点软件维护 的定义软件维护过 程教学单位教师介绍南京信息工程大学NANJING UNIVERSITY OF INFORMATION SCIENCE &TECHNOLOGYInstructor: Bi Shuoben (毕硕本 ) Email: Tel: 025-58699833(H)Software EngineeringSoftware Engineering7.37.17.2第7章 维护计算机与软件学院 毕硕本7.1 软件维护的定义l软件的运行维护阶段是软件生命周期的最后 一个阶段,所谓软件维护就是在软件已经交 付使用之后,为

2、了改正错误或满足新的需要 而修改软件的过程。l软件维护的基本任务是保证软件在一个相当 长的时期能够正常运行。软件维护需要的工作量很大,平均说来,大型软 件的维护成本高达开发成本的4倍左右。目前国外许多软件开发组织把60%以上的人力用 于维护已有的软件,而且随着软件数量增多和使 用寿命延长,这个百分比还在持续上升。第7章 维护计算机与软件学院 毕硕本7.1 软件维护的定义改正性 维护在任何大型程序的使用期间,用户必 然会发现程序错误,并且把他们遇到 的问题报告给维护人员。把诊断和改 正错误的过程称为改正性维护。适应性 维护就是为了和变化了的环境适当地配 合而进行的修改软件的活动,是既 必要又经常

3、的维护活动。第7章 维护计算机与软件学院 毕硕本7.1 软件维护的定义完善性 维护在使用软件的过程中用户往往提出增加 新功能或修改已有功能的建议,还可能 提出一般性的改进意见,为此进行的维 护称完善性维护。这项维护活动通常占 软件维护工作的大部分。预防性 维护当为了改进未来的可维护性或可靠 性,或为了给未来的改进奠定更好 的基础而修改软件时,而进行的维 护活动。第7章 维护计算机与软件学院 毕硕本7.1 软件维护的定义l国外的统计数字表明,完善性维护占全部维 护活动的50%66%,改正性维护占17% 21%,适应性维护占18%25%,其他维护 活动只占4%左右。l上述4类维护活动都必须应用于整

4、个软件配置 ,维护软件文档和维护软件的可执行代码是 同样重要的。第7章 维护计算机与软件学院 毕硕本7.2 软件维护的特点7.2.1 结构化维护与非结构化维护差别巨大如果有一个完整的软件配置存在, 那么维护工作从评价设计文档开始 。 确定软件重要特点;估量要求的 改动将带来的影响,计划实施途径 修改设计并且对所做的修改进行 仔细复查; 编写相应的源程序代码;进行回 归测试; 把修改后的软件再次交付使用。非结构化维护结构化维护如果软件配置的惟一成分是 程序代码,那么维护活动从 评价程序开始,而且常常由 于程序内部文档不足而使评 价更困难,对于软件结构、 性能和设计约束等经常会产 生误解。 非结构

5、化维护需要付出很大 代价,是没有使用良好定义 的方法学开发出来的软件的 必然结果。第7章 维护计算机与软件学院 毕硕本7.2 软件维护的特点7.2.2 维护的代价高昂70%80%40%60%35%40%1990年1980年1970年用于维护已有软件的费用占软件总预算的百分比第7章 维护计算机与软件学院 毕硕本7.2 软件维护的特点l维护费用只不过是软件维护的最明显的代价 ,其他一些现在还不明显的代价将来可能更 为人们所关注。例如,可用的资源必须供维 护任务使用,以致耽误甚至丧失了开发的良 机,这是软件维护的一个无形的代价。第7章 维护计算机与软件学院 毕硕本7.2 软件维护的特点l用于维护工作

6、的劳动可以分成生产性活动(例 如,分析评价,修改设计和编写程序代码等)和非生 产性活动(例如,理解程序代码的功能,解释数据结 构、接口特点和性能限度等)。下述表达式给出维 护工作量的一个模型: M=P+Kexp(c-d) M是维护用的总工作量 P是生产性工作量, K是经验常数, c是复杂程度(非结构化设计和缺少文档都会增加 软 件的复杂程度), d是维护人员对软件的熟悉程度。如果没有使用软件工程 方法学,而且原来的开 发人员不能参加维护工 作,那么维护工作量和 费用将指数地增加。第7章 维护计算机与软件学院 毕硕本7.2 软件维护的特点l在软件生命周期中没有严格而又科学的管理 和规划,几乎必然

7、会导致在最后阶段出现问 题。理解别人写的程序通常非常困难,而且困难程度 随着软件配置成分的减少而迅速增加。如果仅有 程序代码没有说明文档,则会出现严重的问题。需要维护的软件往往没有合格的文档,或者文档 资料显著不足。认识到软件必须有文档仅仅是第 一步,容易理解的并且和程序代码完全一致的文 档才真正有价值。7.2.3 维护的问题很多第7章 维护计算机与软件学院 毕硕本7.2 软件维护的特点l当要求对软件进行维护时,不能指望由开发人员 给我们仔细说明软件。 l 绝大多数软件在设计时没有考虑将来的修改。除 非使用强调模块独立原理的设计方法学,否则修 改软件既困难又容易发生差错。l软件维护不是一项吸引

8、人的工作,形成这种观念 很大程度上是因为维护工作经常遭受挫折。第7章 维护计算机与软件学院 毕硕本7.3 软件维护过程l维护过程本质上是修改和压缩了的软件定义 和开发过程,而且远在提出一项维护要求之 前,与软件维护有关的工作应该开始了。1. 1. 建立一个维护组织建立一个维护组织2. 2. 确定报告和评价的过程确定报告和评价的过程3. 3. 规定事件序列规定事件序列4. 4. 建立记录保管过程建立记录保管过程5. 5. 评价维护活动评价维护活动第7章 维护计算机与软件学院 毕硕本7.3 软件维护过程l每个维护要求都通过维护管理员转交给相应 的系统管理员去评价。系统管理员对维护任 务做出评价之后

9、,由变化授权人决定应该进 行的活动。l维护组织图如下:7.3.1 维护组织第7章 维护计算机与软件学院 毕硕本7.3 软件维护过程维护组织图第7章 维护计算机与软件学院 毕硕本7.3 软件维护过程l软件维护人员通常给用户提供空白的维护要 求表有时称为软件问题报告表,这个表 格由要求一项维护活动的用户填写。要求如 果遇到了一个错误,必须完整描述导致出现 错误的环境。l维护要求表是一个外部产生的文件,它是计 划维护活动的基础。7.3.2 维护报告第7章 维护计算机与软件学院 毕硕本7.3 软件维护过程l软件组织内部应该制定出一个软件修改报告 ,它给出下述信息: 满足维护要求表中提出的要求所需要的工

10、作量; 维护要求的性质; 这项要求的优先次序; 与修改有关的事后数据。l在拟定进一步的维护计划之前,把软件修改 报告提交给变化授权人审查批准。第7章 维护计算机与软件学院 毕硕本7.3 软件维护过程l首先应该确定要求进行的维护的类型。用户 常常把一项要求看作是为了改正软件的错误( 改正性维护),而开发人员可能把同一项要求 看作是适应性或完善性维护。l维护事件流图如下:7.3.3 维护的事件流第7章 维护计算机与软件学院 毕硕本7.3 软件维护过程维护阶段的事件流对一项改正性维护要 求的处理,从估量错 误的严重程度开始如果是一个严重的错误, 则在系统管理员的指导下 分派人员,并且立即开始 问题分

11、析过程如果错误并不严重,那么 改正性的维护和其他要求 软件开发资源的任务一起 统筹安排维护事件流中最后一个事件是 复审,它再次检验软件配置的 所有成分的有效性,并且保证 事实上满足了维护要求表中的 要求第7章 维护计算机与软件学院 毕硕本7.3 软件维护过程l适应性维护和完善性维护的要求沿着相同的 事件流通路前进。应该确定每个维护要求的 优先次序,并且安排要求的工作时间,就好 像它是另一个开发任务一样。如果一项维护 要求的优先次序非常高,可能立即开始维护 工作。l不管维护类型如何,都需要进行同样的技术 工作。这些工作包括修改软件设计、复查、 必要的代码修改、单元测试和集成测试、验 收测试和复审

12、。不同类型的维护强调的重点 不同,但基本途径是相同的。第7章 维护计算机与软件学院 毕硕本7.3 软件维护过程l对于软件生命周期的所有阶段而言,以前记 录保存都是不充分的,软件维护则根本没有 记录保存下来。由于这个原因,往往不能估 价维护技术的有效性,不能确定一个产品程 序的“优良”程度,而且很难确定维护的实际 代价是什么。l保存维护记录遇到的第一个问题就是,哪些 数据是值得记录的?7.3.4 保存维护记录第7章 维护计算机与软件学院 毕硕本7.3 软件维护过程值得记录的 数据Swanson提出了上述内容安装后程序失效的次数程序变动的层次和标识程序变动增加的源语言数安装后程序运行的次数机器指令

13、条数使用的设计语言程序安装的日期源语句数程序标识第7章 维护计算机与软件学院 毕硕本7.3 软件维护过程l如果已经保存维护记录了,则可对维护工作 做一些定量度量。至少可从下述7个方面度量 维护工作:l每次程序运行平均失效的次数;l用于每一类维护活动的总人时数;l平均每个程序、每种语言、每种维护类型所做的 程序变动数;l维护过程中增加或删除一个源语句平均花费的人 时数;7.3.5 评价维护活动第7章 维护计算机与软件学院 毕硕本7.3 软件维护过程l维护每种语言平均花费的人时数;l一张维护要求表的平均周转时间;l不同维护类型所占的百分比。l根据对维护工作定量度量的结果,可以做出 关于开发技术、语言选择、维护工作量规划 、资源分配及其他许多方面的决定,而且可 以利用这样的数据去分析评价维护任务。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号