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

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

1、云计算的概念

云计算是一种基于互联网的大众参与的计算模式,其计算资源(包括计算能力、存储能力、交互能力等)是动态、可伸缩被虚拟化而且以服务方式提供。目的是为用户提供简单易用、安全可靠、需用即得的服务,对用户屏蔽有关计算、存储、同心合控制的底层操作细节终端用户无需关心使用了哪些特定的应用软件和资源,直接得到所需的服务。

在云计算中,存储和运算将不再运行在本地计算机或服务器中,而是运行在分布于Internet 上的大量计算机上,也就是说,云计算通过把原来由个人计算机和私有数据中心执行的任务转移给分布在Internet 上由全体用户共享的大型计算中心来完成,实现了计算机硬件、软件等计算资源及对这些计算资源进行安装、配置与维护等服务资源的充分共享。

所谓的”云”其实是指分布在Interact 中的形形色色的计算中心,包含成千上万甚至几十万、几百万台计算机或服务器。用户不再购买高性能的硬件,也不再购买或开发各种功能的软件,而是使用任何可上网的设备,连接”云”,利用”云”提供的的软件或服务,直接在”云”上处理并存储数据。因此,云计算可以看作是并行计算、分布式计算和网格计算的发展。

云计算与网格计算的主要区别在于:网格计算侧重于解决计算和存储资源的分配,即将大家提供的计算和存储资源根据各自应用的需要重新分配给大家;而云计算则倾向于计算、存储和应用资源的共享,在云计算中,用户不仅不需要象网格计算那样,提供计算和存储资源,也不需要自己购买或开发应用,所有的一切全都由云服务商提供。

2、云计算下的软件工程特点

(1)构件的成熟度提高,软件的可重复程度得到了提升,软件复用一直是提高软件开发效率克服软件危机的重要途径,而构件可以在更高抽象层次上实现大力度的软件复用。软件复用成都的提高一方面可以运用成熟构建模块减少软件开发错误,提高软件的可信性;另一方面则可以缩短开发时间,提高开发的绩效。

(2)开发者面向业务应用,需求工程成为重点,在PaaS的平台中,开发者有可能写很少的代码甚至不需要代码,而只需按照业务流程对平台中提供的各类资源进行设计和组织即可。这种模式下,需求与开发具有了同等的语境,同时需求在软件工程中的地位也将更加重要。

(3)云计算下的软件工程打破了软件开发商与用户的二次格局,第三方云计算中心的作用更加重要。云计算模式下的软件开发和运行环境基本上都是由云计算中心来构架的,这些资源按照开发者的要求进行配置。在开发者一端省去了硬件设施构架、运行环境调试等工作,只需要一个浏览器和一些简单的工具就可以实施开发。来发完成之后的测试及运行和维护也全部由云计算中心负责。

3、云计算技术对软件开发的影响

影响开发模式

很多软件仍采用传统的模式,这种模式是单机版,单机版在使用的时候有局限性,不能充分地利用资源。而且利用率不高还受限制。一般只能利用个人计算机上的资源,不能使用其他的资源。而云计算技术出现后,改变了单机模式,将单机变为云计算,并且逐渐的将这种模式取代,在利用资源的时候,打破了资源的局限,同时提高资源的利用效率。云计算通过虚拟化技术使得上层和底层实现分离,资源在云端,用户可以随时访问云端资源。

影响开发工具

计算机在运行的时候,需要使用一些辅助软件,而开发工具就是保证软件具有生命一定生命周期的工具。在很长一段时间,程序员在开发软件的时候,都是使用Java、Delphi等语言,转换编码程序,重新的编码并且按照这个编码去执行。在开发软件的时候,重点开发的就是软件的内存以及性能等。在云计算技术被广泛使用后,开发软件的时候,使用最多的语言就是互联网语言,在使用了互联网语言之后,与互联网的联系更密切。而且在开发软件的时候,程序员开始关注云计算下的资源分布。从这一点变化上可以看出,在使用云计算之后,其对软件开发的影响不仅仅是开发工具,它还影响着开发者。

影响软件设计

受云计算的影响,软件的设计结构也出现了变化。软件在开发的时候,是通过获取资源实现的开发,在使用云计算技术之后,获取信息的方式出现变化,逐渐转变成虚拟化。而云计算对于软件的开发还是有影响的,设计方向改变。在获取资源的时候不再受时间以及地域的限制,任意的时间以及地点都可以获取资源。

影响设计模型

云计算在软件开发的影响还表现设计模型上,集中体现在Hadoop上,这个是软件设计中的核心软件。主要的任务就是处理数据,从众多数据中提取一些数据,将数据变形以及加载。在设计软件模型的时候,使用了云计算技术可以让模型中的数据变得更多,而且还能保证软件的利用效率。

对安全性的影响

云平台环境使得数据集中存储,而云服务商则拥有超级用户的角色,如果没有严格的监管或超级用户的权限被滥用,会增加用户数据泄露的风险。另外,在使用云服务时,用户数据的控制权会转移到云服务提供商的手中,用户无法知道自己的数据位置,也不知道提供商是否对数据进行了正确的防护。

4、 云计算和传统软件的未来发展

相对于传统软件应用,CRM 、HRM 、和财务系统等应用通用性更强,产品化程度较高,更符合用户移动办公的要求,且无需大量的数据传输,因此在云环境下,这种软件更多的受到厂商和用户的青睐。相反,那些流程复杂、个性化较强、产品化程度不高的软件应用则不宜采用SaaS模式。从短期来看,云计算所带来的各项变化对个人的影响还比较小,或许和从前的许多技术一样,云计算将首先给企业(尤其是中小企业)带来最为直接的变化:他们能够快速搭建自己想要的各种应用,而不用再为服务器资源而烦恼。

当然,云计算的在未来的发展也面临着各种挑战,其中安全和隐私将成为首要问题。所以,一些传统软件和既有应用不可能在短时间内全部被SaaS应用所取代,而各应用之间的数据互通和流程协同将更加紧密。传统软件业也将认识到云计算对未来来影响,并逐渐向服务性产业转变。

5、结束语

由上述可知,云计算技术对于软件开发有一定的影响,它不但会影响软件开发的模式、开发的工具以及开发者,而且对于软件的设计模型也有一定的影响。云计算技术改变了传统的软件开发模式,创新了新的开发模式,提高了软件开发的效率,而且,这种变化的影响是长久的。在软件中使用云计算技术可以促进软件开发的发展,而且,云计算技术也在不断地完善,云计算技术的发展对于软件开发的影响会越来越大。

参考文献:

李未《云计算、物联网与群体软件工程》

史杰,解继丽,史少华《论云计算对软件工程的影响》

宋小荣,冯荣耀《浅析云计算与传统软件的相互影响》

posted @ 2016-10-21 23:01  1406卜令军  阅读(175)  评论(1编辑  收藏  举报