什么是软件进化?(software evolution?)

软件进化是一个过程,商业计算机程序需要随着时间的推移不断更新、维护和改进,以保持其可行性。在这方面,软件演化是由外部业务和消费者需求驱动的,这些需求随着其他软件和技术的发展而变化。然而,软件发展背后的驱动因素通常是一个内部因素,其重点是生产产品的工程团队和依赖其成功盈利的公司。英国伦敦帝国理工学院(Imperial College of London,England)在20世纪70年代初首次颁布了...

软件进化是一个过程,商业计算机程序需要随着时间的推移不断更新、维护和改进,以保持其可行性。在这方面,软件演化是由外部业务和消费者需求驱动的,这些需求随着其他软件和技术的发展而变化。然而,软件发展背后的驱动因素通常是一个内部因素,其重点是生产产品的工程团队和依赖其成功盈利的公司。英国伦敦帝国理工学院(Imperial College of London,England)在20世纪70年代初首次颁布了三条软件进化基本定律,自那时起,截至2011年,这三条定律已扩展到总共八条。也有人尝试利用线性序列模型和原型模型等模型对过程进行量化,但似乎最适合软件熵生命周期的范式是类似生物达尔文进化论的范式。

Software evolution involves a commercial computer program requires continual updating, maintenance, and improvement over time in order for it to remain a viable product.

随着社会需求的变化,软件体系结构变化背后的基本驱动因素类似于促使企业升级工业机械或标准操作程序的动力。随着软件的使用越来越多,对它的新需求或新功能变得越来越明显,必须在产品的后续版本中加以考虑。所有软件发布时都会出现以前未知的错误,因此必须定期执行修补程序和维护程序,以纠正可能使公司容易受到软件本身攻击的安全漏洞等情况。软件发展的一个关键因素也是这样一个事实,即这些程序必须越来越多地适应在不同类型的新兴计算机设备上以及在不同的操作系统体系结构中工作,从而使程序具有更广泛的吸引力。

满足所有这些需求对于确定软件项目是否可行至关重要,而且,自2011年起,软件资产是信息经济的一个至关重要的方面,软件演化已成为业务适应和增长的一个基本方面。伦敦帝国理工学院(Imperial College of London)的计算机科学家梅尔·雷曼(Meir Lehman)被认为是创造了雷曼定律的功臣,该定律简洁地定义了软件进化的过程,并引导开发人员对软件可视化进行前瞻性思考。雷曼兄弟的法律基于这样一个前提:软件随着对其性能的反馈的增加而发展,其不可避免的趋势是变得越来越复杂。

雷曼兄弟表示,软件进化的本质反映了自然变化,如果蝇的变异、城市随时间扩展的方式,以及军事结构如何逐步改进武器系统。该过程的前三条定律模拟了这些趋势,详细描述了持续的变化、日益增加的复杂性以及所谓的大型程序演化。持续变化指的是,必须对计划进行调整,以满足当前现实世界的业务条件,这反映了随着计划必须满足日益多样化的意外需求,其复杂性不断增加。大型程序进化指的是纠错的必要性以及与市场需求紧密相关的程序的新版本。

在软件演化的其余五条定律中,第四条是组织稳定性,它指的是一个程序的增长有其自身的生命,而不管有意投入的资源水平如何,第五条是熟悉度守恒,它表明程序的增量增长是不可避免的。雷曼兄弟八条法律中的第六条是持续增长,这是满足消费者需求所必需的;第七条是质量下降,这强调了一个事实,即所有软件最终都会面临无法满足的功能限制。软件进化的最后一条雷曼定律是反馈系统本身,它将影响软件程序生存能力的所有力量联系在一起,以迅速推动软件程序取得更大的成功或不可避免的过时和死亡。

  • 发表于 2021-12-14 17:28
  • 阅读 ( 134 )
  • 分类:互联网

你可能感兴趣的文章

返祖(atavism)和退化演化(retrogressive evolution)的区别

...,生物体都趋向于原始特征。 目录 1. 概述和主要区别 2. 什么是返祖现象 3. 什么是逆行进化 4. 返祖进化与退化进化的相似性 5. 并列比较——表格形式的返祖与逆行进化 6. 摘要 什么是返祖(atavi**)? 返祖现象是指在个体中突然重...

  • 发布于 2020-09-21 21:30
  • 阅读 ( 681 )

化学的(chemical)和有机进化(organic evolution)的区别

...化是在有机进化之前形成的。 目录 1. 概述和主要区别 2. 什么是化学进化 3. 什么是有机进化 4. 化学和有机进化的相似性 5. 并列比较-化学和有机进化的表格形式 6. 摘要 什么是化学演化(chemical evolution)? 地球的化学演化解释了生...

  • 发布于 2020-10-17 15:33
  • 阅读 ( 257 )

适应性辐射(adaptive radiation)和发散演化(divergent evolution)的区别

...和发散进化之间的关键区别。 目录 1. 概述和主要区别 2. 什么是适应性辐射 3. 什么是发散进化 4. 适应性辐射与发散演化的相似性 5. 并列比较-自适应辐射与发散进化的表格形式 6. 摘要 什么是适应性辐射(adaptive radiation)? 辐射是...

  • 发布于 2020-10-18 19:03
  • 阅读 ( 588 )

进化(evolution)和革命(revolution)的区别

...个派生词。进化论和进化论是进化论的衍生物。 进化是什么意思? 进化在词典中的意思是“某物的逐渐发展或某物从一个阶段到另一个阶段变化的渐进过程”。换句话说,进化是一个过程,在一个时期内,某物经过不同的阶段...

  • 发布于 2020-10-27 11:34
  • 阅读 ( 350 )

进化(evolution)和物种形成(speciation)的区别

...。本文将简要讨论进化和物种形成这两个术语的区别。 什么是进化(evolution)? 进化是指地球上的生命从同一祖先进化而来,并根据环境随时间的变化而发生的各种适应性变化。进化主要是通过长期收集的研究和观察来支持的。...

  • 发布于 2020-10-28 14:41
  • 阅读 ( 231 )

会聚(convergent)和发散演化(divergent evolution)的区别

...比较胚胎学和比较生物化学。 目录 1. 概述和主要区别 2. 什么是收敛进化 3. 什么是发散进化 4. 趋同与发散进化的相似性 5. 并排比较-表格形式的收敛与发散演化 6. 摘要 什么是收敛演化(convergent evolution)? 趋同进化是一种进化,...

  • 发布于 2020-11-04 18:06
  • 阅读 ( 445 )

三菱e-evolution想要将其性能与您的技能相匹配

...说这样可以提高重心。 Mitsubishi e-Evolution Concept 为什么要强调处理?在备受尊敬的兰瑟进化(Lancer Evolution)于2015年被淘汰后,三菱不得不填补其阵容中的一个空缺,当时该公司正面临财务困境,汽车销量不断下滑。因此...

  • 发布于 2021-06-21 15:40
  • 阅读 ( 128 )

适应(adaptation)和进化(evolution)的区别

...身体结构与现代人的不同。它让我们看到了我们的祖先是什么样的,他们是什么样子的,以及他们为了生存所做的一切。 如考古记录所示,骨骼结构表明,随着时间的推移,会发生变化。这也表明,我们的祖先更大,更粗壮,...

  • 发布于 2021-06-23 04:41
  • 阅读 ( 237 )

进化(evolution)和革命(revolution)的区别

...以指强行推翻**或社会秩序。 这篇文章解释道, 1.进化是什么意思——进化一词的定义、含义和用法 2.革命是什么意思——革命一词的定义、含义和用法 3.进化和革命有什么区别 进化意味着什么 进化是指逐渐发生的变化或发展...

  • 发布于 2021-06-28 04:43
  • 阅读 ( 278 )

收敛的(convergent)和发散演化(divergent evolution)的区别

...不同物种共享一个共同祖先的过程。 覆盖的关键领域 1.什么是趋同进化-定义、特征、示例2.什么是发散进化-定义、特征、示例3.趋同进化和发散进化的相似之处是什么-共同特征概述4.趋同进化和发散进化的区别是什么-主要区别...

  • 发布于 2021-06-29 08:20
  • 阅读 ( 872 )
御姐霹雳cZ
御姐霹雳cZ

0 篇文章

相关推荐