首页 > 代码库 > 云计算对传统软件工程的影响
云计算对传统软件工程的影响
云计算是互联网的底层基础设施的抽象,是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云计算技术是继1980年代大型计算机到客户端-服务器的大转变之后的又一种巨变。而云计算技术的出现对于传统的软件工程来说,也是一种巨大的革新。
从纯粹的技术层面上来看,云计算实质上针对软件和信息系统的架构进行了重组。云计算技术已经将软件系统变革为一个全新的软件服务模式,在系统运营管理,软件系统建构和软件开发模式方面都有较大的更新。别是对软件开发以及基于云计算的软件开发的发展趋势有巨大的影响。
云计算对于传统软件工程的影响主要在以下几个方面:
1.对开发模式的影响
传统的软件模式是单机版本,而云计算技术则将单机版变成了云计算。单机版的局限性在于可运用的资源的有限性,局限于个人设备上的物理资源。而云计算的出现,使得这种模式被彻底改变,通过互联网,使得资源的利用不再受限于个人设备。云计算通过虚拟化技术使得上层和底层实现分离,资源在云端,用户可以随时访问云端资源。如今的软件开发,资源一般有人力资源、软件资源和硬件资源,在云资源高度虚拟化的情况下,通过云计算的三种模式IaaS(基础设施即服务)、PaaS(平台即服务)和SaaS(软件即服务),软件资源和硬件资源都可以通过云端轻松获得,对于软件开发者来说,剩下要考虑的资源只剩下人力资源。另外,基于云计算的的软件工程不再是瀑布模型,取而代之的是并发模型、多重螺旋模型。部署软件之后,每一阶段交付的都是中间版本,软件的升级随之越来越频繁。而由于软件开发所需的构件与资源都在云端,软件开发的过程变得更加灵活,所以软件的部署、运维、开发都可以实现并发进行。
2.对软件开发工具的影响
软件开发工具主要是基于计算机的用于辅助软件生命周期过程的工具,过去的软件开发人员主要利用开发工具把编程语言代码化,并编译执行。其主要的侧重点在于物理资源的利用,包括CPU性能、内存大小等。而基于云计算技术,互联网语言也逐渐成为了软件开发中的主流。在软件开发的过程中,开发人员的关注点已经向云计算架构下的计算资源组成方面转变。源代码控制、持续集成和自动化测试工具在云计算出现之前的很长一段时间一直在流传,但现在,这些工具正在变得比以往任何时候都容易使用。
3.对软件设计的结构的影响
在云计算的影响下,软件的设计结构也出现了变化。软件在传统开发过程中,视获取资源为重点。在使用了云计算技术之后,获取资源不再受时间以及地域的限制。云计算通过软件及服务的模式,封装、继承了一些传统软件开发过程中的基本单元。我们通过云服务即可使一些组件为我们所用,使开发人员在一定程度上避免了重复的造轮子。于是,软件的体系结构也就处于分布式,不同的软件可以享用共同的组件,应用之间没有严格的物理边界。
4.对开发人员的影响
在云计算的影响下,开发者越来越面向于业务应用,需求工程成为重点。在pass平台中,开发者有可能写很少的代码或者不写代码,而仅仅按照业务流程对平台中提供的各类资源进行设计和重组即可。因此,相比于传统软件工程,对于程序员的编程能力要求也就不需要那么高。此外,需求与开发也拥有了同等的语境,需求在软件工程中的地位变得更加重要。
5.对安全性的影响
云平台环境使得数据集中存储,而云服务商则拥有超级用户的角色,如果没有严格的监管或超级用户的权限被滥用,会增加用户数据泄露的风险。另外,在使用云服务时,用户数据的控制权会转移到云服务提供商的手中,用户无法知道自己的数据位置,也不知道提供商是否对数据进行了正确的防护。这些因素,也使得软件开发面临更多的风险。
从许多互联网企业、软件企业等的行动上,我们可以看出云计算的确对传统软件工程产生了一些影响,传统软件工程的思想观念以及价值链受到了冲击。但我认为,云计算下的软件开发模式并不会彻底替代传统的软件开发模式,两者并存并相互影响才是可能的结果。一则云计算下的软件开发在目前来看,还存在着种种的不足与限制,比如软件的复杂性、服务的安全性等。这都是其无法与传统的软件工程所比拟的。二则,传统软件工程的悠久历史及其理论的完善性远远强于云计算下的软件工程,传统软件工程的理论也被软件企业所广泛使用,仍是目前软件开发的主流思想,被替代还需时间。
云计算是一种新兴的技术理念,它的出现势必对传统技术产生影响,但影响究竟能有多大,让我们拭目以待。
参考文献:
[1]百度百科. 云计算[Z]
[2] 云计算对传统软件工程的影响, 搜狐公众平台
[3]郭晶晶,张秀山,方堃,高鹏,《云计算及其安全性分析》,海军工程大学计算机工程系,湖北武汉,430000
[4] 史杰,解继丽,史少华,《论云计算对软件工程的影响》,联创亚信科技有限公司,天津,30020.
云计算对传统软件工程的影响