西安交通大学软件学院:《面向对象的软件工程》 第六章(6-2) 远程软工

⑤,丽步交通大净现代远程教育課程 软件工程概论 主讲教师:刘海岩副教授 mailhaiyanliuhyl@yahoo.com.cn 2021/2/20
2021/2/20 1

西安交通大学现代远程教育课程 软件工程概论 第5章软件维护 软件维护的概念 软件维护的活动 软件的可维护性 软件再工程 主讲教师:刘海岩副教授
2 第5章 软件维护 • 软件维护的概念 • 软件维护的活动 • 软件的可维护性 • 软件再工程

西安交通大学现代远程教育课程 软件工程概论 61软件维护的概念 当软件系统在实际环境被用户使用时,软件开发宣告结 束。但软件总是要变化的,在软件交付使用后修改软件的过 程称为软件维护 软件维护一般不包括重大的体系结构的改变,变更的实 现方法一般是修改已有的系统构件以及在必要的地方添加新 构件到系统中 1、软件维护的分类 ·改正性维护:修改软件缺陷。 适应性维护:适应变更的操作环境(硬件、操作系统 平台、其他支持软件)。 ·增强性维护:系统需求改变(机构因素、业务改变) 主讲教师:刘海岩副教授
3 6.1 软件维护的概念 当软件系统在实际环境被用户使用时,软件开发宣告结 束。但软件总是要变化的,在软件交付使用后修改软件的过 程称为软件维护。 软件维护一般不包括重大的体系结构的改变,变更的实 现方法一般是修改已有的系统构件以及在必要的地方添加新 构件到系统中。 1、软件维护的分类 • 改正性维护:修改软件缺陷。 • 适应性维护:适应变更的操作环境(硬件、操作系统 平台、其他支持软件)。 • 增强性维护:系统需求改变(机构因素、业务改变)

西安交通大学现代远程教育课程 软件工程概论 Lien忆z和 Swanson(1980)对维护的工作量做过调查 如图所示。 Nosek和Pava(1990)在十年后给出的数据与 此相似。 适应性维护和增强 性维护占了绝大部分工 作量。维护是系统开发 缺陷修补 (17%) 过程的自然延续,同样 功能添加 也涉及到需求描述、设 软件适应性 和修改(65%) (18%) 计、实现和测试活动 维护工作量分布 主讲教师:刘海岩副教授
4 Lientz和Swanson(1980)对维护的工作量做过调查, 如图所示。Nosek和Palvia(1990)在十年后给出的数据与 此相似。 适应性维护和增强 性维护占了绝大部分工 作量。维护是系统开发 过程的自然延续,同样 也涉及到需求描述、设 计、实现和测试活动

西安交通大学现代远程教育课程 软件工程概论 2、维护的成本 维护成本和开发成本的比例在不同的应用域中是不同 的。 Guimaraes(1983)的研究表明,对于业务应用系统,维 护成本和系统开发成本大体相等。对于嵌入式实时系统,维 护费用是开发成本的四倍以上。 带来高维护费用的关键因素: ·人员的不稳定 合同责任 维护人员技术水平 系统结构衰退 遗留系统的结构受到频繁变更的破坏;没有使用现代的 软件工程技术开发;文档不全、不一致;没有采用配置管理 系统变更时在寻找系统构件的合适版本上浪费时间。 主讲教师:刘海岩副教授
5 2、维护的成本 维护成本和开发成本的比例在不同的应用域中是不同 的。Guimaraes(1983)的研究表明,对于业务应用系统,维 护成本和系统开发成本大体相等。对于嵌入式实时系统,维 护费用是开发成本的四倍以上。 带来高维护费用的关键因素: • 人员的不稳定 • 合同责任 • 维护人员技术水平 • 系统结构衰退 遗留系统的结构受到频繁变更的破坏;没有使用现代的 软件工程技术开发;文档不全、不一致;没有采用配置管理, 系统变更时在寻找系统构件的合适版本上浪费时间

西安交通大学现代远程教育课程 软件工程概论 Belady和 Lehman提出了一个计算维护工作量的模型: M=p+K×eC0 其中M:软件维护所有的工作量; p:生产性工作量(分析、设计、编码及测试); K:经验常数; C:复杂程度; d:维护人员对软件的熟悉程度。 该模型描述了影响维护的诸多因素中重要的关系。如 果一个系统开发没有遵循软件工程原则,软件结构不好, c的值就会很高,再加上维护人员对软件的不熟悉,d的值 很低。结果是,维护的成本呈指数级的增长 主讲教师:刘海岩副教授
6 Belady和Lehman提出了一个计算维护工作量的模型: M=p+K×e (c- d) 其中 M:软件维护所有的工作量; p:生产性工作量(分析、设计、编码及测试); K:经验常数; c:复杂程度; d:维护人员对软件的熟悉程度。 该模型描述了影响维护的诸多因素中重要的关系。如 果一个系统开发没有遵循软件工程原则,软件结构不好, c的值就会很高,再加上维护人员对软件的不熟悉,d的值 很低。结果是,维护的成本呈指数级的增长

西安交通大学现代远程教育课程 软件工程概论 如何降低软件维护的费用? (1)从开发阶段的一开始就按质量标准构建系统,给 予“可维护性”属性以足够的重视,这样可以使系统的整 个生命周期成本减少。下图说明了这个问题。系统1在开 发成本中多投入$25000,用于提高系统的可维护性,结 果在整个生命周期中节省了$100000的维护成本。 系统1 系统2 0501001502002503035040045050千美元 □开发成本 □维护成本 开发和维护成本 主讲教师:刘海岩副教授
7 如何降低软件维护的费用? (1)从开发阶段的一开始就按质量标准构建系统,给 予“可维护性”属性以足够的重视,这样可以使系统的整 个生命周期成本减少。下图说明了这个问题。系统1在开 发成本中多投入$25000,用于提高系统的可维护性,结 果在整个生命周期中节省了$100 000的维护成本

西安交通大学现代远程教育课程 软件工程概论 (2)采用演化式的系统开发模型(如增量、螺旋) 建立能结合新需求而演化和变更的系统 (3)实施软件再工程,改善系统结构,提高可维 护性。 8 主讲教师:刘海岩副教授
8 (2)采用演化式的系统开发模型(如增量、螺旋), 建立能结合新需求而演化和变更的系统。 (3)实施软件再工程,改善系统结构,提高可维 护性

西安交通大学现代远程教育课程 软件工程概论 62软件维护活动 Pfleeger和 Bohner(1990)提出了软件维护的一种模型, 其中包含了度量的反馈,见下图: 预防性 适应性 改正性 完善性 管理软 新系统 件维护性 变动 请求 分析软件 理解 实现维 解释波 (再)测试受 变动后果 软件的变动 护变动 动效应 影响的软件 已有系统 影响范围 复杂性 适应性 稳定性 可测试性 可追踪性 模块性 致性 检测性 导向图 文档自描述 完整性 软件维护活动 9 主讲教师:刘海岩副教授
9 6.2 软件维护活动 Pfleeger和Bohner(1990)提出了软件维护的一种模型, 其中包含了度量的反馈,见下图:

西安交通大学现代远程教育课程 软件工程概论 该图说明了当要求进行一项变动时要执行的活动,底 部带标注的箭头代表提供的度量信息,管理人员利用这些 信息决定什么时候和怎样进行变动 维护活动: (1)变更分析 各种变更带来的的负面影响 产生不正确或不完整的补丁软件、结构很差的设计与 编码、构件不标准等等。 这些负面影响使软件复杂性增加,更不易理解。因此 对变更的成本、影响要进行分析 (2)理解变更,规划新版本 根据变更的类型(缺陷修正、适应性调整或增加新功 能),决定哪些变更在下一个版本中完成 10 主讲教师:刘海岩副教授
10 该图说明了当要求进行一项变动时要执行的活动,底 部带标注的箭头代表提供的度量信息,管理人员利用这些 信息决定什么时候和怎样进行变动。 维护活动: (1)变更分析 各种变更带来的的负面影响: 产生不正确或不完整的补丁软件、结构很差的设计与 编码、构件不标准等等。 这些负面影响使软件复杂性增加,更不易理解。因此 对变更的成本、影响要进行分析。 (2)理解变更,规划新版本 根据变更的类型(缺陷修正、适应性调整或增加新功 能),决定哪些变更在下一个版本中完成
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西安交通大学软件学院:《面向对象的软件工程》 第六章 软件维护.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第五章 软件测试续.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第五章 软件测试.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第四章 软件设计.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第三章 软件需求分析.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第二章 软件项目管理.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第一章 绪论.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第十一章 软件工程的前景.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第十章 面向对象测试.ppt
- 武汉大学计算机学院:《多媒体技术及应用》 第四章 多媒体同步.ppt
- 武汉大学计算机学院:《多媒体技术及应用》 第二章 多媒体系统的主要属性.ppt
- 武汉大学计算机学院:《多媒体技术及应用》 第三章 多媒体数椐压缩編码.ppt
- 武汉大学计算机学院:《多媒体技术及应用》 第一章 多媒体通信技术概述.ppt
- 武汉大学计算机学院:《多媒体技术及应用》 第五章 多媒体通信网络的服务质量.ppt
- 武汉大学计算机学院:《多媒体技术及应用》 Chapter 7 protocols for Qos Support.ppt
- 武汉大学计算机学院:《多媒体技术及应用》 Chapter 6 Integrated and Differentiated Services.ppt
- 华中科技大学计算机学院:《计算机系统结构》课程PPT教学课件(讲稿,共十章,清华第2版,主讲:林安).ppt
- 华中科技大学计算机学院:《计算机系统结构》课程习题解答(清华第2版).doc
- 《过程控制》 第十六讲 过程计算机控制系统特点.ppt
- 《过程控制》 第十五讲 磨矿工艺简介.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第七章 远程软工.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第七章(7-2) 面向对象软件工程的概念.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第八章 远程软工.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第八章 面向对象分析.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第九章 远程软工.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第九章(9-2) 面向对象设计.ppt
- 《网络程序设计》PPT电子课件(共三章).ppt
- 《C语言》课程教学资源(作业习题)实例试题100题.doc
- 《汇编语言程序设计教程》 第一章 基础知识.ppt
- 《汇编语言程序设计教程》 第二章 Intel80x86系列微处理器.ppt
- 《汇编语言程序设计教程》 第三章 Windows汇编程序基础.ppt
- 《汇编语言程序设计教程》 第四章 数据操作.ppt
- 《汇编语言程序设计教程》 第五章 分支与循环程序设计.ppt
- 《汇编语言程序设计教程》 第六章 子程序设计.ppt
- 《汇编语言程序设计教程》 第七章 常用数据结构.ppt
- 《汇编语言程序设计教程》 第八章 汇编语言高级编程技术.ppt
- 《汇编语言程序设计教程》 第九章 I/0程序设计.ppt
- 《汇编语言程序设计教程》 第十章 保护模式及其编程.ppt
- 黑龙江八一农垦大学:《计算机辅助设计》课程教学大纲(草业科学及园林专业).doc
- 黑龙江八一农垦大学:《计算机辅助设计》理论课程各章电子教案.doc