什么是软件进化
软件进化是指在软件工程中,软件在第一次开发后,不断被更新、改进的过程。
软件进化的发展历程
在有计算机的早期,软件进化的行为主要就是给新的应用编写新的程序。直到20世纪60年代后期,人们才开始意识到旧的软件系统不能只是简单地被淘汰,软件需要被管理,软件的维护和进化是一个重要的活动。
现在人们普遍接受这个观点,反映现实世界应用的经常使用的软件必须持续不断地被改进和增强来维持人们对它的满意程度。这个观点第一次出现是被作为软件进化的原则陈述出来的。对这个观点,早在1968年在Garmisch会议上就被公开讨论过。同时,IBM公司于1968年开始了对软件过程的研究,Lehman等人在IBM中研究了规划设计过程,而用来检验和建模持续变化过程的一份研究报告被应用到了IBM的OS/360操作系统上,这份报告是关于支持软件版本实现的计划和管理的工具等系统进化的很简单的模型。尽管这个模型豹发展是相对简单的,但对它的研究促进了软件进化的发展及软件进化原则的出现。1971年,人们第一次把对软件过程看作是一个反馈系统(feedback system)进行了讨论。1979年开始,人们把软件进行了SPE三种类型的分类,认为E类型系统解决的问题、从事的应用都是现实世界中的,是现实世界中模型的反映,并认为E类型软件必须要持续不断地进行进化。从1974年开始一直到1996年,人们逐渐形成并完善了软件进化的8个基本原则,这些基本原则都是针对E类型软件的。
人们早期对于进化研究的数据是从IBMOS/360—370操作系统上获得的,随后是其他操作系统。早期的研究主要集中在进化的行为上。Lehman等人在对软件进化的研究中认为进化是大型程序的内在特性,每个特定系统都存在潜在的进化要求,这个现象可以被系统地研究和建模,且这些相关的模型可被用来预测未来系统的发展情况。
早期的研究在很大程度上不被计算机科学和软件工程组织重视,尽管如此,这个现象逐渐吸引了其他人的注意。由于程序的动态增长及其过程中各种因素的影响,1989年,出现了软件不确定原则,随后是1993年FEAST(Feedback,Evolution And Software Technology)假设,该假设认为全球的E类型软件系统的进化过程是一个自我稳定的系统,一个复杂的多循环、多层次、多代理的反馈系统,该假设是以前研究的一个总的反映。在1996年和2001年期间,人们开展了FEAST/1和FEAST/2工程,这些工程是依赖于FEAST假设的,它研究了在E类型软件系统的进化和软件过程的改进中反馈的作用和影响。直到现在,软件进化一直被人们进行着广泛系统的研究。
参考文献
惠长江,吴江.软件进化研究综述.计算机技术与发展.2007,4
猜你喜欢内容
-
什么是风险性决策
在财经领域,风险性决策是一种常见但又充满挑战的决策方式。风险性决策指的是在决策过程中,存在多种可...
-
商业险需要什么手续
在如今的社会经济环境中,商业险作为一种重要的风险保障手段,受到了越来越多人的关注。然而,办理商业...
-
没指标是什么意思
例如,在股票投资中,可能指没有特定的技术分析指标来辅助判断股票的走势;在基金投资中,可能意味着没...
-
什么是时点存款
在金融世界中,时点存款是一个具有特定含义和特点的概念。时点存款,简单来说,是指在某个特定时间点上...
-
南方现金通e的特点是什么
南方现金通 e 作为一款在基金市场上备受关注的产品,具有一系列显著的特点,这些特点在理财规划中展现出...
-
什么是产品的品种
在财经领域中,产品的品种是一个重要的概念。简单来说,产品品种指的是具有特定特征和属性的一类产品。...
-
货币资金的管理方法有哪些
货币资金作为企业资产的重要组成部分,其管理的有效性直接影响着企业的运营和发展。合理的货币资金管理...
-
几内亚的货币是什么
几内亚共和国,位于西非西岸,是一个资源丰富但经济发展面临诸多挑战的国家。其法定货币是几内亚法郎。...
-
应收据的定义是什么
在财务管理领域,应收据是一种常见且重要的金融工具。应收据,简单来说,是由付款人或受票人签发,由收...
-
L型经济压力线的含义是什么
在经济领域中,“L 型经济压力线”是一个备受关注的概念。简单来说,L 型经济压力线描述的是经济增长在...