第六章 软件维护

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 软件维护的技术

一、面向维护的技术

  • 在软件开发阶段用来减少错误,提高软件可维护性的技术。涉及到软件开发的所有阶段。
  • 可维护性(可测试性、可理解性、可修改性)

二、软件支援技术

  • 软件维护阶段用于提高维护工作的效率和质量的技术。主要用到测试阶段的技术。
  • (信息收集、错误原因分析、软件分析与理解、维护方案评价、代码与文档的修改、修改后的确认。)

三、软件维护中应注意的问题

  • 谨慎、工具使用

第六章完

软件工程复习笔记——第六章 软件维护相关推荐

  1. 《信息与编码》考试复习笔记6----第六章连续信源熵和信道容量(考点在连续信道容量)

    系列文章链接目录 一.<信息与编码>考试复习笔记1----第一章概论 二.<信息与编码>考试复习笔记2----第二章离散信息源 三.<信息与编码>考试复习笔记2-- ...

  2. 软件工程学习笔记——第六章 软件设计方法

    目录 第一章 概述 第二章 过程和活动 第三章 软件过程模型 第四章 问题定义和可行性研究方法 第五章 需求分析方法-1 第五章 需求分析方法-2 第六章 软件设计方法 第七章 软件实施与测试方法 第 ...

  3. 传感器原理与检测技术复习笔记第六章-压电式传感器

    第六章 压电式传感器 文章目录 第六章 压电式传感器 工作原理 压电效应 正压电效应 逆压电效应 压电材料 石英晶体(单晶体) 压电陶瓷(多晶体) 压电式传感器等效电路 压电式传感器的测量电路 压电元 ...

  4. 三角矩阵的逆矩阵怎么求_电子科技大学矩阵理论复习笔记 第六章 广义逆矩阵...

    本章针对奇异矩阵或长方形矩阵,如何实现求逆展开(1)构造出广义逆,(2)对广义逆的计算,(3)广义逆的应用 6.1 矩阵的单边逆 为引入广义逆做铺垫. 值域 N(A)(null 零空间)同理,它表示的 ...

  5. 【软考中级】多媒体应用设计师复习笔记第六章

    第6章多媒体数字版权管理技术 6.1多媒体数字版权管理概述 数字版权管理DRM是具有端到端保护功能的数字内容管理机制,通过定义生命周期和用户行为等手段,实现? 对内容使用和消费的管理.DRM技术的目的 ...

  6. 《通信原理》复习笔记9----第九章数字信号的最佳接收及第九章相关例题

    系列文章链接目录 一.<通信原理>复习笔记1----第一章绪论 二.<通信原理>复习笔记1----第一章绪论相关例题 三.<通信原理>复习笔记3----第三章随机过 ...

  7. 《通信原理》复习笔记1----第一章绪论

    系列文章链接目录 一.<通信原理>复习笔记1----第一章绪论 二.<通信原理>复习笔记1----第一章绪论相关例题 三.<通信原理>复习笔记3----第三章随机过 ...

  8. 《通信原理》复习笔记4----第四章信道

    系列文章链接目录 一.<通信原理>复习笔记1----第一章绪论 二.<通信原理>复习笔记1----第一章绪论相关例题 三.<通信原理>复习笔记3----第三章随机过 ...

  9. 深入理解 C 指针阅读笔记 -- 第六章

    Chapter6.h #ifndef __CHAPTER_6_ #define __CHAPTER_6_/*<深入理解C指针>学习笔记 -- 第六章*/typedef struct __p ...

最新文章

  1. 美国 2006 年机器学习和知识发现年会数据挖掘使用率较高算法排名
  2. 印度裔“教授”奇葩操作!办假AI顶会,骗欧美学术精英,收报名费3688元
  3. jQuery总体架构的理解
  4. C语言在BST中找到最接近目标的值的算法(附完整源码)
  5. iOS之深入解析类加载的底层原理:类如何加载到内存中
  6. android webview 模拟器,android – WebView没有填满设备或模拟器的整个屏幕
  7. 极速写作2017彻底卸载_如何将 Flash 从 Mac 和 Windows 系统中彻底卸载?
  8. 配置OpenCV产生flann\logger.h(66): error C4996: ‘fopen': This function or variable may be unsafe问题
  9. [渝粤教育] 中国地质大学 嵌入式操作系统 复习题 (2)
  10. 设计模式三大类及六大设计原则
  11. 蚂蚁金服OceanBase挑战TPCC | TPC-C基准测试之存储优化
  12. 终端执行php,PHP命令行执行PHP脚本的注意事项总结
  13. 虚机不能启动的特例思考
  14. IOS开发学习----给表视图设置缩进级别
  15. git branch/git checkout建立分支
  16. 数学建模算法:层次分析法之如何选择旅游目的地
  17. SpringBoot整合集成p6spy
  18. JSP基本语法(2)函数
  19. python 输入整数数组_Python 2中的整数数组输入
  20. 02_Unity小窍门100条(中)

热门文章

  1. 什么时候?才可以千秋万代一统江湖!!!
  2. 做电商直播绝不能忽视的事:主播人设和账号定位
  3. 北京工商专修学校计算机学院院长,北京工商大学计算机学院
  4. windows WinExec()
  5. c8051f310烧录_C8051F烧录器-C8051F系列烧录工具下载v1.0.0.1 官方最新版-西西软件下载...
  6. 自动钉木箱机器人_一种全自动木箱钉装机的制作方法
  7. MySQL基础必会,简单易懂
  8. shift+delete删除的文件还能恢复吗?可以的!
  9. 抖音用计算机怎么表白,抖音表白代码
  10. python另存为对话框_“另存为文件”对话框如何不允许覆盖