《软件工程》总结——第十一章
本章的主要内容是软件演化
软件演化的特性
1985 年,Lehman 和 Belady 总结了软件在更改过程中演化的特性:1. 软件维护是一个必然的过程;2. 软件的不断修改会导致软件的退化;3. 软件系统的演化特性是在早起的开发阶段建立起来的。4. 软件开发的效率与投入的资源无关;5. 在软件系统中添加新功能无可避免的会产生新的缺陷。对于软件变更引起的各种问题,人们通常采用不同的策略进行处理:软件维护和软件再工程。
软件维护
软件维护的概念
软件维护是指在软件运行或维护阶段对软件产品所进行的修改,这些修改可能是改正软件中的错误,也可能是增加新的功能以适应新的需求,但是一般不包括软件系统结构上的重大改变,根据软件维护的不同原因,软件维护可以分成三种类型:改正性维护、适应性维护和完善性维护。
软件维护的特点
1. 软件维护受开发过程影响大;2. 软件维护困难多;3. 软件维护成本高。
软件维护的过程
1. 改正性维护:首先应该评价软件错误的严重程度,对于十分严重的错误,维护人员应该立即实施维护;对于一般性的错误,维护人员可以将有关的维护工作与其他开发任务一起进行规划。在有些情况下,有的错误非常严重,以致不得不临时放弃正常的维护控制工作程序,即不对修改可能带来的负作用作出评价,也不对文档作相应的更新,而是立刻进行代码的修改。这是一种救火式的改正性维护,只有在非常紧急的情况下才使用,这种维护在全部维护中只占一小部分比例。应当说明的是,救火式不是取消,只是推迟了维护所需要的控制盒评价。一旦危机取消,这种控制和评价活动必须进行,以确保当前的修改不会增加更为重要的问题。
2. 适应性维护:首先应该确定软件维护的优先次序,再与其他开发任务一起进行规划。
3. 完善性维护:考虑到商业上的需要和软件的发展趋势,有些完善性维护可能不会被接受。杜宇被接受的维护申请,应该确定其优先次序并规划其开发工作。
软件再工程
软件再工程以系统理解为基础,结合逆向工程、重构和正向工程等方法,将现有系统重新构造成为新的形式。形象的说,就是”把今天的方法学用于昨天的系统以满足明天的需要“。典型的软件再工程过程,主要包括:对象选择、反向工程、文档重构、代码重构、数据重构和正向工程等活动。
转载于:https://www.cnblogs.com/zchenjian/p/4300892.html
《软件工程》总结——第十一章相关推荐
- 软件工程复习提纲——第十一章
软件工程复习提纲,期末.考研的学霸笔记 第十一章--软件项目管理 第十一章 软件项目管理 事件4的最早时刻为:EET=max{2+3,6+0}: 事件9的最迟时刻为: LET=21-1=20: 事件8 ...
- 第十一章.软件工程(下)
目录 第十一章.软件工程 第九节.面向对象设计 面向对象(OAA)的基本概念 面向对象开发各阶段划分及任务 OOA 设计原则 OOA - UML OOA 设计模式的概念 OOA 设计模式的分类 创建型 ...
- 【软考软件评测师】第十一章 软件工程之系统维护
[软考软件评测师]第十一章 软件工程之系统维护 第十一章 软件工程之系统维护 [软考软件评测师]第十一章 软件工程之系统维护 第一部分 知识点集锦 1.可维护性 2.可用性可靠性 3.可伸缩性 4.改 ...
- 《管理学》第十一章 创新
<管理学>第十一章 创新 前言 写一下<管理学>笔记.内容分为两个部分,一个是书本笔记:一个是MOOC笔记: 因为之前提前预习了沟通的内容,所以课本笔记就直接复制下面的那部分笔 ...
- [swift 进阶]读书笔记-第十一章:互用性 C11P1 实践:封装 CommonMark
第十一章:互用性 Interoperability 前言: swift 的最大优点就是与C 或者 OC 混编的时候稳的一匹 本章主要讲了swift和C之间的一些知识点. 11.1 实践:封装 Comm ...
- 【译】 WebSocket 协议第十一章——IANA 注意事项(IANA Considerations)
概述 本文为 WebSocket 协议的第十一章,本文翻译的主要内容为 WebSocket 的 IANA 相关注意事项. IANA 注意事项(协议正文) 11.1 注册新 URI 协议 11.1.1 ...
- java语言仅支持单重继承_java语言程序设计基础篇习题_复习题_第十一章
java语言程序设计基础篇习题_复习题_第十一章 11.1 下面说法是真是假?一个子类是父类的子集. 11.2 使用什么关键字来定义一个子类 11.3 什么是单一继承?什么是多重继承?java支持多重 ...
- 《javascript设计模式》笔记之第十章 和 第十一章:门面模式和适配器模式
第十章:门面模式 一:门面模式的作用 简化已有的api,使其更加容易使用 解决浏览器的兼容问题 二:门面模式的本质 门面模式的本质就是包装已有的api来简化操作 三:门面模式的两个简单例子 下面这 ...
- 计算机网络离不开光缆,九年级物理全册 第二十一章 第四节 越来越宽的信息之路习题课件 新人教版.ppt...
九年级物理全册 第二十一章 第四节 越来越宽的信息之路习题课件 新人教版.ppt 第二十一章信息的传递,第四节越来越宽的信息之路,1微波的性质更接近光波,大致沿_______传播,需要每隔_____k ...
- 开发日记-20190915 关键词 汇编语言王爽版 第十一章
第十一章 标志寄存器 CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理器,个数和结构都可能不同)具有以下三种作用. (1)用来存储相关的指令的某些执行结果 (2)用来为CPU执行相关的指令提供 ...
最新文章
- 超棒的jQuery矢量地图生成插件 - JQVAMP
- SVN 版本服务器搭配全过程详解(含服务端、客户端)
- mysql pom依赖关系_常用的POM依赖
- Maven Filter
- [C++学习笔记](double*)malloc(n * sizeof(double));
- AAAI 2021 | 从语义关系建模的角度进行句子语义关系匹配
- k均值例子 数据挖掘_人工智能、数据挖掘、机器学习和深度学习的关系
- PAT乙级 1006 换个格式输出整数
- druid 多数据源_SpringBoot+Mybatis+Druid+PageHelper 实现多数据源并分页
- 网上照片之博客照片与网店照片拍摄心得
- 进制转化(北理乐学编程题目)
- lisp 读取样条曲线座标点_autolisp绘制样条曲线
- 英语语法特殊句型刷题总结
- 使用Unity实现时光倒流
- 周浩正:写给编辑人的信 编务报告书 一个实例
- MLY -- 13.Error analysis:look at dev set examples to evaluate ideas
- 千万别吃着别人,骂着别人
- x265编码H265
- 小扎不要「脸」了?Facebook正式改名Meta!买它,满仓元宇宙
- 什么是css sprites?
热门文章
- python基础知识面试题-深入解答关于Python的11道基本面试题
- python篮球-用Python让蔡徐坤在我的命令行里打篮球!|附完整代码
- python读取本地文件-python解析本地HTML文件
- python画动态图代码-Python使用matplotlib画动态图
- python表白源代码-python浪漫表白源码
- 上海python培训比较好的机构-上海python培训机构哪个好?
- 为什么说python是世界上最好的语言-python是世界上最好的语言
- python处理excel视频-从零基础开始用Python处理Excel数据 视频教程
- python真的那么火吗-现在为什么 Python 这么火?
- python培训班排行榜-西安排名前十的python开发培训学校排行榜