软件工程—第十一章

第十一章—软件演化

软件系统在交付之后仍然在不断的演化,即进入软件的运行维护阶段,以保证软件长期处于可用状态,并能够适应实际业务的不断变化。

软件在更改过程中的演化特性具体如下:1.软件维护是一个必然的过程2.软件的不断修改会导致软件的退化3.软件系统的演化特性是在早期的开发阶段建立起来的4.软件开发的效率与投入的资源无关5.在软件系统中添加新的功能不可避免地会产生新的缺陷。

软件维护可以分为三种类型:改正性维护、适应性维护、完善性维护。软件维护的特点:1.软件维护受开发过程影响大2.软件维护困难多3.软件维护成本高。

软件再过程以系统理解为基础,结合逆向工程、重构和正向工程等方法,将现有系统重新构造为新的形势,过程模型主要包括对象的选择、反向工程、文档重构、代码重构、数据重构和正向工程等活动。

时间: 2024-11-09 00:38:06

软件工程—第十一章的相关文章

现代软件工程 第十一章 练习与讨论

1  如何避免在产品开发后期不断有重大修改,导致其它模块的连锁反应? DCR Tell mode vs. Ask mode设计变更 在项目早期,如果大家觉得要做一个设计变更,便可以采用告知模式(Tell-mode)的形式,也就是说,修改方必须通告所有关系人:“我在这里修改了某某界面, 我在某个API 增加了一个参数.”但是修改方不必取得其他关系人(或者模块)的事先同意,就是说可以先行设计并编码.当然,如果其他关系人不同意,修改还是不能签入. 当项目进行到稳定阶段,例如达到了代码完成(CC)阶段,

现代软件工程 第十一章 【软件设计与实现】 练习与讨论

一.            如何避免在产品开发后期不断有重大修改,导致其他模块的连锁反应? 我认为首先前期的需求分析要尽可能完善并确定,需求变更是程序员所不能承受生命之重.另外题目中谈到的设计模式变更方法,是个很好的控制策略.项目早期采用Tell-mode,可以先行设计并编码,有较高的自由度:到了项目稳定阶段,采用Ask-mode,默认不同意变更设计,需要等待肯定答复,有效避免了修改的频繁,避免其他模块的连锁反应. 二.            每周进度报告 报表可以帮助我们掌控项目进度,把握项目

软件工程第一章至十一章汇总

第一章软件软件是计算机程序,规程及运行计算机系统可能需要的文档和数据.软件分为通用软件和定制软件.软件的特性:1.复杂性2.不可见性3.不断变化4.大多数软件仍然是定制的,而不是通过已有的构件组装而成.软件于二十世纪50~60年代,70年代,80年代,90年代至今进行发展.在此过程中遇到一些危机:1.软件的开发成本和进度难以估计,延迟交付甚至取消项目的现象屡见不鲜.2.软件存在着错误多,性能低,不可靠,不安全等质量问题.3.软件的成本在计算机系统的整个成本中所占的比例越来越大.4.软件的维护极其

软件工程——理论方法与实践(段落概述第一章至第十一章)

第一章软件软件是计算机程序,规程及运行计算机系统可能需要的文档和数据.软件分为通用软件和定制软件.软件的特性:1.复杂性2.不可见性3.不断变化4.大多数软件仍然是定制的,而不是通过已有的构件组装而成.软件于二十世纪50~60年代,70年代,80年代,90年代至今进行发展.在此过程中遇到一些危机:1.软件的开发成本和进度难以估计,延迟交付甚至取消项目的现象屡见不鲜.2.软件存在着错误多,性能低,不可靠,不安全等质量问题.3.软件的成本在计算机系统的整个成本中所占的比例越来越大.4.软件的维护极其

软件工程——理论、方法与实践 第十一章

第十一章.软件演化      第十一章   主要讲 1.软件演化的特性,软件维护是一个必然的过程,软件的不断修改会导致软件的退化,软件系统的演化特性是在早期的开发阶段建立起来的,软件开发的效率与投入的资源无关,在软件系统中添加新的功能不可避免地会产生新的缺陷: 2.软件的维护,软件维护是指在软件运行或维护阶段对软件产品进行的修改:分为改正型维护.适应性维护.完善性维护:并介绍了维护的特点和过程: 3.软件再工程,软件再工程以系统理解为基础,结合逆向工程.重构和正向工程等方法,讲现有系统重新构造成

软件工程概论总结第十一章

 第十一章 软件演化 软件演化的特性: 1.软件维护是一个必然的过程. 2.软件的不断修改会导致软件的退化. 3.软件系统的演化特性是在早期的开发阶段建立起来的. 4.软件开发的效率与投入的资源无关. 5.在软件系统中添加新的功能不可避免地产生新的缺陷,因此在一个发布的新版本中有较大的功能增量将会意味着需要发布下一个版本,该版本中的新增功能较少,而主要是修补这些新产生的软件缺陷. 软件维护 软件维护是指在软件运行或维护阶段对软件产品所进行的修改. 1.改正性维护 2.适应性维护 3.完善性维护

javascript高级程序设计 第十一章--DOM扩展

javascript高级程序设计 第十一章--DOM扩展DOM最主要的扩展就是选择符API.HTML5和Element Traversal Selectors API:定义了两个方法 querySelector() 和 querySelectorAll(),能够基于CSS选择符从DOM中取得元素.querySelector()方法接收一个CSS选择符,返回该模式匹配的第一个元素,querySelectorAll()接收的参数一样,但是返回NodeList实例: matchesSelector()

c++ primer 5th 笔记:第十一章

第十一章:关联容器 笔记 1. 关联容器和顺序容器有着根本的不同:关联容器中的元素是按关键字来保存和访问的.与之相对,顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的. 2. 关联容器支持高效的关键字查找和访问,两个主要的关联容器类型是map和set.map中的元素是一些关键字-值对:关键字起到索引的作用,值则表示与索引相关联的数据.set中每个元素只包含一个关键字:set支持高效的关键字查询操作--检查一个给定关键字是否在set中. 3. 当从map中提取一个元素时,会得到一个pair

zabbix专题:第十一章 zabbix proxy分布式监控配置

zabbix专题:第十一章 zabbix proxy分布式监控配置             对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.co zabbix proxy分布式监控配置 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix proxy可以非常简便的实现了集中式.分