软件工程课件-6第六章软件维护

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

第六章 软件维护
1.什么是软件维护?
软件维护是指软件系统交付使用以 后,为了改正错误或满足新的需求而 修改软件的过程。
4
整理ppt
第六章 软件维护
2.软件维护的原因
✓ 在运行中发现了在测试阶段未能发现的软件错误 和设计缺陷;
✓ 需要改进设计,以增强软件的功能,提高软件的 性能;
✓ 要求已运行的软件能适应特定的硬件、软件、外 部设备和通信设备等的工作环境,或是要求适应
6
整理ppt
第六章 软件维护 6.1 软件维护的内容
1.软件维护的类型 按照不同的维护原因,维护工作可分成四类。 ✓ 校正性维护 ✓ 适应性维护 ✓ 完善性维护 ✓ 预防性维护
7
整理ppt
第六章 软件维护 6.1 软件维护的内容
2.什么是校正性维护
对在测试阶段未能发现,而在软 件投入使用后才逐渐暴露出来的错误 的测试、诊断、定位、纠错以及验证、 修改的回归测试过程,称为校正性维 护。
15
整理ppt
第六章 软件维护 6.2.3 软件维护的费用
软件维护费用一般要占到整个开发费用 的60% ~ 70%,而且逐年上涨。
只有减少软件维护的工作量才能有效降 低维护成本,而减少维护工作量就要分析 影响软件维护的各种因素。
16
整理ppt
第六章 软件维护 6.2.3 软件维护的费用
1.影响软件维护的因素
18
整理ppt
第六章 软件维护 6.2.3 软件维护的费用
Belady 和 Lehman 提出软件维护工作模型: M=P+K*exp(C - D)
其中:
M—维护工作的总工作量
P—生产性活动的工作量
K—经验常数
C—程序复杂度
D—对维护软件熟悉程度的度量
显然,若C越大,D越小,则维护工作量成指数
增长,为此,必须防止出现非结构化维护并尽可能
19
由熟悉软件的原开发人员参加维护。 整理ppt
第六章 软件维护 6.3 软件维护的实施
6.3.1 维护的组织 6.3.2 维护的流程
20
整理ppt
第六章 软件维护 6.3.1 维护的组织
临时维护小组
维护机构
长期维护小组
21
整理ppt
第六章 软件维护 6.3.1 维护的组织
1.临时维护小组
已变动的数据或文件;
✓ 为使投入运行的软件与其它相关的程序有良好的 接口,以利于协同工作;
✓ 为使运行软件的应用范围得到必要的扩充。
5
整理ppt
第六章 软件维护
3.软件维护的意义
✓ 软件维护处于软件生命期的最后阶段,也是 最长的一个阶段,提高软件的可维护性,可 减少维护的工作量和费用
✓ 纠正软件开发过程未发现的错误,增强、改 进和完善软件的功能和性能,适应软件的发 展,延长软件的寿命,发挥其效益
术,以及程序设计技术,如:面向对象技术、构件
17
技术、可视化程序整设理计ppt 技术等,可减少维护工作量。
第六章 软件维护 6.2.3 软件维护的费用
2.软件维护的工作量模型
维护活动分为生产性活动和非生产性活动
✓ 生产性活动 包括分析评价、修改设计和编写程序代码 等。
✓ 非生产性活动 包括理解程序代码、解释数据结构、接口 特点和设计约束等。
第六章 软件维护 6.2 软件维护的特点
6.2.1 非结构化维护和结构化维护 6.2.2 维护的困难性 6.2.3 软件维护的费用
13
整理ppt
第六章 软件维护 6.2.1 非结构化维护和结构化维护
✓ 非结构化维护
— 缺乏必要的文档说明,或者文档说明不 一致,难于确定数据结构、系统接口等特性。
非正式机构,执行特殊或临时的维护任 务,如:对程序排错的检查、检查完善性 维护的设计、进行质量控制的复审。
采用“同事复审”、“同行复审”的方 法。
22
整理ppt
第六章 软件维护 6.3.1 维护的组织
2.长期维护小组 长期维护小组
组长:有经验的系统分析员,向上级 汇报维护工作
副组长:协调部门、小组、用户之间 的关系
软件工程
任课教师:程丽 计算机与信息学院
1
源自文库
整理ppt
第六章 软件维护
6.1 软件维护的内容 6.2 软件维护的特点 6.3 软件维护的实施 6.4 软件可维护性
2
整理ppt
第六章 软件维护
课程的任务、目的和基本要求 –熟悉软件维护的内容、特点、实施 –了解如何提高软件的可维护性
3
整理ppt
✓ 结构化维护
—按照软件工程方法开发软件,各阶段文档 齐全,易于理解和掌握软件功能、性能、软 件结构、数据结构、系统接口和设计约束。
14
整理ppt
第六章 软件维护 6.2.2 维护的困难性
1、读懂别人的程序带来的困难
2、文档不一致带来的困难
3、软件开发与维护人员不一致带来的 困难
4、软件开发与维护时间上的差异带来 的困难
8
整理ppt
第六章 软件维护 6.1 软件维护的内容
3.适应性维护
计算机的软件环境、硬件环境、数据环境 在不断的变化,使运行的软件能适应运行环 境或者数据的变动而修改软件的过程称为适 应性维护。
9
整理ppt
第六章 软件维护 6.1 软件维护的内容
4.完善性维护 扩充原有系统的功能,提高系统的
性能,提高软件运行的效率,满足用 户的实际需要而进行的维护活动称为 完善性维护。
维护负责人:负责维护小组人事管理 工作
维护程序员:分析程序改变要求并修改
23
整理ppt
第六章 软件维护 6.3.2 维护的流程
1、制定维护申请报告 2、审查申请报告并批准 3、进行维护并做详细记录 4、复审
24
整理ppt
第六章 软件维护 6.3.2 维护的流程
1.制定维护申请报告 维护申请报告也称软件问题报告,由申
10
整理ppt
第六章 软件维护 6.1 软件维护的内容
5.预防性维护
为了进一步改善软件的可靠性和 可维护性,或者为可预见的将来的软 件的运行和维护打下更好的基础,而 对软件进行的维护活动称为预防性维 护。
11
整理ppt
第六章 软件维护 6.1 软件维护的内容
6.各种维护所占 的比例
12
整理ppt
✓ 系统的大小:系统越大,功能越复杂,维护工作量 就越大。
✓ 程序设计语言:语言的功能越强,生成程序所需要 的指令(程序)越少,而且程序的可读性也越好, 维护工作量也就越小。
✓ 系统年龄:系统越老,修改维护的次数就越多,结 构也就越乱,维护工作量也就越大。
✓ 软件开发新技术的应用:使用先进的分析和设计技
相关文档
最新文档