软件工程复习笔记——第六章 软件维护
第六章 软件维护
6.1 软件维护的类型
- 软件维护是指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程。
一、软件维护的分类
按照不同的维护目的,维护工作可分为4类:
- 完善性维护50%:扩充原有系统的功能,提高性能,满足用户的实际需要
- 纠错性维护25%:对测试阶段未暴露的问题进行即使的修改等
- 适应性维护21%:使运行的软件能适应运行环境的变动而修改软件的过程
- 预防性维护4%:为进一步改善软件的可靠性和易维护性,为未来的维护打下基础而进行的修改
二、维护的步骤
三、维护工作的组织管理
- 软件维护工作不仅是技术性的,它还需要大量的管理工作与之相配合,才能保证维护工作的质量。管理部门应对提交的修改方案进行分析和审查,并对修改带来的影响作充分的估计,对于不妥的修改予以撤销。需修改主文档时,管理部门更应仔细审查。
- 软件维护的管理流程
6.2 软件维护的特性
一、结构化维护与非结构化维护
- 结构化维护—— 指软件开发过程是按照软件工程方法,软件的维护过程,有一整套完整的方案、技术、审定过程。
- 非结构化维护——缺乏必要的文档说明,难于确定数据结构、系统接口等特性。
二、软件维护的代价
维护费用高,逐年上涨
维护中可能引入新的错误
Belady 和 Lehman 提出软件维护工作模型:
M=P+K∗EXP(C−D)M=P+K*EXP(C-D) M=P+K∗EXP(C−D)
M—维护总工作量 P—生产性活动 K—经验常数 C—程序复杂度(由非结构化维护引起的) D—对维护软件熟悉程度的度量。
6.3 软件维护的技术
一、面向维护的技术
- 在软件开发阶段用来减少错误,提高软件可维护性的技术。涉及到软件开发的所有阶段。
- 可维护性(可测试性、可理解性、可修改性)
二、软件支援技术
- 在软件维护阶段用于提高维护工作的效率和质量的技术。主要用到测试阶段的技术。
- (信息收集、错误原因分析、软件分析与理解、维护方案评价、代码与文档的修改、修改后的确认。)
三、软件维护中应注意的问题
- 谨慎、工具使用
第六章完
软件工程复习笔记——第六章 软件维护相关推荐
- 《信息与编码》考试复习笔记6----第六章连续信源熵和信道容量(考点在连续信道容量)
系列文章链接目录 一.<信息与编码>考试复习笔记1----第一章概论 二.<信息与编码>考试复习笔记2----第二章离散信息源 三.<信息与编码>考试复习笔记2-- ...
- 软件工程学习笔记——第六章 软件设计方法
目录 第一章 概述 第二章 过程和活动 第三章 软件过程模型 第四章 问题定义和可行性研究方法 第五章 需求分析方法-1 第五章 需求分析方法-2 第六章 软件设计方法 第七章 软件实施与测试方法 第 ...
- 传感器原理与检测技术复习笔记第六章-压电式传感器
第六章 压电式传感器 文章目录 第六章 压电式传感器 工作原理 压电效应 正压电效应 逆压电效应 压电材料 石英晶体(单晶体) 压电陶瓷(多晶体) 压电式传感器等效电路 压电式传感器的测量电路 压电元 ...
- 三角矩阵的逆矩阵怎么求_电子科技大学矩阵理论复习笔记 第六章 广义逆矩阵...
本章针对奇异矩阵或长方形矩阵,如何实现求逆展开(1)构造出广义逆,(2)对广义逆的计算,(3)广义逆的应用 6.1 矩阵的单边逆 为引入广义逆做铺垫. 值域 N(A)(null 零空间)同理,它表示的 ...
- 【软考中级】多媒体应用设计师复习笔记第六章
第6章多媒体数字版权管理技术 6.1多媒体数字版权管理概述 数字版权管理DRM是具有端到端保护功能的数字内容管理机制,通过定义生命周期和用户行为等手段,实现? 对内容使用和消费的管理.DRM技术的目的 ...
- 《通信原理》复习笔记9----第九章数字信号的最佳接收及第九章相关例题
系列文章链接目录 一.<通信原理>复习笔记1----第一章绪论 二.<通信原理>复习笔记1----第一章绪论相关例题 三.<通信原理>复习笔记3----第三章随机过 ...
- 《通信原理》复习笔记1----第一章绪论
系列文章链接目录 一.<通信原理>复习笔记1----第一章绪论 二.<通信原理>复习笔记1----第一章绪论相关例题 三.<通信原理>复习笔记3----第三章随机过 ...
- 《通信原理》复习笔记4----第四章信道
系列文章链接目录 一.<通信原理>复习笔记1----第一章绪论 二.<通信原理>复习笔记1----第一章绪论相关例题 三.<通信原理>复习笔记3----第三章随机过 ...
- 深入理解 C 指针阅读笔记 -- 第六章
Chapter6.h #ifndef __CHAPTER_6_ #define __CHAPTER_6_/*<深入理解C指针>学习笔记 -- 第六章*/typedef struct __p ...
最新文章
- 美国 2006 年机器学习和知识发现年会数据挖掘使用率较高算法排名
- 印度裔“教授”奇葩操作!办假AI顶会,骗欧美学术精英,收报名费3688元
- jQuery总体架构的理解
- C语言在BST中找到最接近目标的值的算法(附完整源码)
- iOS之深入解析类加载的底层原理:类如何加载到内存中
- android webview 模拟器,android – WebView没有填满设备或模拟器的整个屏幕
- 极速写作2017彻底卸载_如何将 Flash 从 Mac 和 Windows 系统中彻底卸载?
- 配置OpenCV产生flann\logger.h(66): error C4996: ‘fopen': This function or variable may be unsafe问题
- [渝粤教育] 中国地质大学 嵌入式操作系统 复习题 (2)
- 设计模式三大类及六大设计原则
- 蚂蚁金服OceanBase挑战TPCC | TPC-C基准测试之存储优化
- 终端执行php,PHP命令行执行PHP脚本的注意事项总结
- 虚机不能启动的特例思考
- IOS开发学习----给表视图设置缩进级别
- git branch/git checkout建立分支
- 数学建模算法:层次分析法之如何选择旅游目的地
- SpringBoot整合集成p6spy
- JSP基本语法(2)函数
- python 输入整数数组_Python 2中的整数数组输入
- 02_Unity小窍门100条(中)
热门文章
- 什么时候?才可以千秋万代一统江湖!!!
- 做电商直播绝不能忽视的事:主播人设和账号定位
- 北京工商专修学校计算机学院院长,北京工商大学计算机学院
- windows WinExec()
- c8051f310烧录_C8051F烧录器-C8051F系列烧录工具下载v1.0.0.1 官方最新版-西西软件下载...
- 自动钉木箱机器人_一种全自动木箱钉装机的制作方法
- MySQL基础必会,简单易懂
- shift+delete删除的文件还能恢复吗?可以的!
- 抖音用计算机怎么表白,抖音表白代码
- python另存为对话框_“另存为文件”对话框如何不允许覆盖