软件工程——理论、方法与实践 之 软件演化

软件工程——理论、方法与实践 之 软件演化

一旦软件进去使用期,一些暴露出来的软件问题需要进一步修正和改善,同时新的需求会不断出现,原有的需求也会随着业务的变化而发生变化。因此,软件系统在交付之后仍然在不断地演化,即进去软件的运行维护阶段,以保证软件长期处于可用状态,并能够适应实际业务的不断变化。

软件维护是指在软件运行或维护阶段对软件产品进行的修改,这些可能是改正软件中的错误,也可能是增加新的功能以适应新的需求,但是一般不包括软件系统结构上的重大改变。

几乎每个成熟的软件开发机构都要维护15年或更多年以前开发的程序,这种程序也被称作“遗留系统”。遗留系统通常对组织的核心业务提供关键性支持,因此需要采用先进的软件工程方法对整个软件或软件中的一部分重新设计、编写和测试,以提高软件的可维护性和可靠性,保证系统的正常运行,这就是软件再工程。

时间: 2024-10-15 16:32:11

软件工程——理论、方法与实践 之 软件演化的相关文章

软件工程理论方法与实践

第一章. 概述  软件是人类思维的杰作,并成为人类现代生活的催化剂.今天软件遍布整个世界,在生物工程.现代通信.宇宙探索.商务处理.工业控制等方面发挥出巨大的威力,并推动了商业.科学和工程领域的跨越式发展,对整个社会的经济和文化产生了深远的影响.软件工程师为了解决开发成本效益和软件质量的问题而产生的.软件是计算机程序.规程以及运行计算机系统可能需要的相关文档和数据.软件分为通用软件和定制软件.软件的特性分别是软件是复杂的.软件是不可见的.软件是不断变化的.大多数软件是定制的而不是通过已有构件组装

阅读《软件工程—理论方法与实践》第二章心得体会

软件过程是软件工程人员为了获取软件产品而在软件工具的支持下实施的一系列软件工程活动.其基本活动包括:问题提出.软件需求规格说明.软件设计.软件实现.软件确认.软件演化.软件过程产品涉及软件需求.软件设计.软件实现.软件测试和软件实施等活动产生的结果,这些制品通常是在不同的开发活动之间进行转移和演进.常用软件过程模型:瀑布模型(适用于开发的早期阶段软件需求被完整确定的情况).快速原型模型(必须迅速建立原型,随之迅速修改原型,以反映客户的需求).増量模型(可以较好地适应需求的变化).螺旋模型(强调可

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

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

阅读《软件工程—理论方法与实践》第五章心得体会

阅读第五章所了解到的基本知识,形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动.主要目的是保证软件的正确性.已建立的形式化方法可分为操作类和描述类.操作类方法基于状态和转移;描述类基于数学公理和概念.形式证明与验证技术主要包括模型检测(适用于有穷状态系统,完全自动化并且验证速度快)和定理证明(采用逻辑公式来表示系统规约及其性质,分为自动和交互式两种).一阶线性时态逻辑是一阶谓词逻辑的扩展.对汉诺塔操作规划问题有了更深一步的理解.计算树逻辑是

阅读《软件工程—理论方法与实践》第三章心得体会

通过对第三章的阅读,对以下概念有了了解:软件项目管理是为了使软件项目能够按照预定的成本.进度.质量顺利完成,而对成本.人员.进度.质量.风险等进行分析和管理的活动.其有利于将软件开发人员的个人开发能力转化成企业的开发能力,并使企业的软件开发能力不断提高和成熟.软件项目的特征有软件产品的不可见性.项目的高度不确定性.软件过程的多变化性,降低复杂性和控制变化成为软件项目管理面临的关键问题.软件项目管理集中于人员.产品.过程和项目.软件项目的生命周期包括项目启动(确定项目的目标和范围).项目规划(建立

软件工程理论方法与实践第五章读后感

形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动,从根本上讲,软件设计过程就是一个建立形式化规约,软件设计的最终产物--程序在进行形式化的过程中涉及到三中系统模型:现实世界,模型表示和计算机系统.软件规格说明是对软件系统对象,对象的操作系统以及对象行为的描述,形式化的规格说明可用自然语言图表等形式来描述,模型检测主要用于有穷状态系统,优点是完全自动化并且验证速度快

软件工程理论方法与实践第一章读后感

软件是计算机程序,规程以及运行计算机系统可能需要的相关文档和数据,根据软件服务UI想的范围不同,一般可以将软件划分为通用软件和定制软件两种类型.软件的特性主要有,软件是复杂的,不可见的,不断变化的,大多数软件是定制的而不是通过已有的构建组装而成的,然而在软件开发过程中软件开发的成本和进度难以准确估计,延迟交付甚至取消项目的现象屡见不鲜,软件存在这错误多性能低不可靠不安全等质量问题,软件成本在计算机系统的整个成本中所占比例越来越大,且维护困难等等,而软件工程中则是将工程化应用到软件上,由过程方法和

阅读《软件工程—理论方法与实践》第六章心得体会

面向对象技术是软件工程领域中的重要技术,不仅仅是一种程序设计方法,更是一种对真实世界的抽思维方式.面向对象的软件工程方法涉及到从面向对象分析.面向对象设计.面向对象编程.面向对象测试到面向对象软件维护的全过程.面向对象的基本概念包括对象.类.封装.继承.消息.关联.聚合.多态性.属性和服务是构成对象的两个基本要素.使用共同的建模语言进行软件建模在软件开发过程中很必要(①以一种容易理解的形式为后期使用信息提供了便利的方法,②便于交流).UML富有表达力,描述开发所需要的各种视图,以此为基础组建系统

软件工程理论方法与实践第二章读后感

第二章读后感 为解决软件开发的问题,首先是将整个软件开发任务看做是一个可比较的刻度量的可改造,而软件过程是软件工程人员为了获得软件产品而在软件工具的支持下实施的一系列软件工程活动,主要包括问题提出,软件需求规格说明,软件设计等等.软件过程模型主要分为瀑布模型,快速原型模型,增量模型,螺旋模型,形式化方法模型,基于组件的开发模型.而微软公司的软件过程模型由规划,设计,开发,稳定和发布五个主要阶段组成,采取低近视的软件开发策略,具体表现在解决问题的及时行.不确定和变更因素的可控性,缩短按产品的上市周