云计算对传统软件工程的影响

  云计算对传统软件工程的影响


随着计算机技术的发展以及互联网的普及,软件开发也愈发地变得多样而高效化。而随着云计算的出现,软件工程又迈出了新的篇章。那么,何谓云计算呢?云计算对传统软件工程究竟带来了哪些改变和影响?本文将就此话题展开讨论。

 

 

 

何谓云计算?


 2006年8月9日,Google首席执行官埃里克·施密特在搜索引擎大会上首次提出"云计算"(cloud computing)的概念,云计算是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。对云计算的定义有许多种说法,现阶段广为接受的是美国国家标准与技术研究院定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括:网络、服务器、存储、应用软件、服务),这些资源能够被快速提供,只需投入很少的管理工作,或与供应商进行很少的交互。

简而言之,云计算是通过使计算分布在大量的分布式计算机上,而非本地计算或远程服务器中,并把计算能力当作一种商品进行流通。

 

 

 

云计算的特点


通过对云计算定义的理解,我们可以发现,云计算主要有以下几个特点:

1.虚拟化程度较高:云计算其实是一种网络服务,无论用户身处何处,都可以利用互联网终端应用相关服务,实现功能虚拟化。

2.规模庞大:云计算实际上是利用大量的分布式计算机进行计算。据相关资料显示,谷歌公司就有100多万台云计算服务器,搜狐则有40万台,可见其规模之庞大。

3.通用性好:云计算可以让不同用户同时享用同一云上的服务,也可以满足不同应用的不同需求,十分便利。

4.成本低廉:云计算价格低廉,用户无需为此投入过多的财力与精力。

 

 

 

云计算对软件工程的影响


从1968年“软件工程”的概念被提出以来,软件发展的一个主要趋势便是,软件要存储更多的信息、处理更复杂的逻辑、进行更大规模的运算。通过云计算的特点我们可以发现,将云计算应用到传统软件工程中,将会有效解决上述问题。那么在云计算下的软件工程模式究竟如何呢?

1.云计算环境下的软件体系结构模式:与传统软件工程相比,基于云计算的软件体系拥有前所未有的开放性和成熟的构件化。云计算应用软件必将大量利用云服务提供的现成的软件构件,而新研制的软件有会被之后开发的软件所利用。

具体来说,云计算应用软件体系结构在本质上是完全分布的,由客户端、服务端、管理端等多种软件构件有机集成,如下图所示。 

                                                      

2.云计算环境下的软件开发组织模式:

与传统软件工程不同,云计算下软件生命周期的模型大多为并发模型、或多重螺旋模型。在软件部署后,交付的都是中间版,软件升级成为常态。

对于开发流程而言,软件开发也不再是一个封闭的、全局控制的流程,而是存在多个并发和自治的流程,在一个项目中,自底向上、自顶向下有机集成。其中,需求阶段将占据较大的工作量比例,而软件测试的工作量则大大降低,软件质量也得到有效提升。

3.云计算环境下的软件部署、运行管理和维护模式:

云计算给软件部署、运行管理和维护带来了高度的灵活性。对于一个特定的应用,软件部署、运行管理、维护和开发过程是并行的,第一次部署的可能只是一小部分功能,在随后的软件升级中不断完善。由于云计算模式极大的降低了软件构件之间的耦合程度,软件的客户端、服务端、管理端等构件完全以并发、独立的方式部署和管理,甚至软件运行的基础设施也可以在用户透明的方式完成升级换代和重新部署。

云计算软件按照用户的需求随时运行,软件运行平台可以产生多重虚拟环境,用户可以根据自己的喜好来选择。在服务器端,可以把大规模的服务器系统虚拟化为单一处理单元和连续的存储单元,降低用户端的管理复杂程度。

 

 

 

总结


通过上述讨论可以见得,在当今软件工程飞速发展的条件下,云计算对于软件工程的帮助可谓巨大。它不仅有效地解决了软件危机,同时也为软件开发提供了新的思路。相信,这种进步,是软件工程发展路上的必然趋势。

 

 

 

 

参考文献


[1]  史杰,解继丽,史少华  论云计算对软件工程的影响  昆明学院学报  2011,33(6):67~68

[2]  张勇  云计算环境下软件工程模式初探  北方自动控制技术研究所  2009

[3]  贾应炜  云计算环境下的GIS软件工程设计分析  现代电子技术  2015年9月1日第38卷第17期

posted @ 2016-10-22 17:17  JinxMiracle  阅读(341)  评论(0编辑  收藏  举报