云计算与传统软件工程

Posted on 2016-10-23 20:08  陈澈  阅读(170)  评论(0编辑  收藏  举报

/*

modified by chenche @ 20190729

龟龟,我曾经为了混过软件工程都去哪些地方东拼西凑出来的这些文章?

羞耻的删除其他文章,留着最久远的一篇留作纪念吧

*/

 

什么是云计算?

 

云计算是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。各种“云计算”的应用服务范围正日渐扩大,影响力也无可估量。

上面是copy百度百科的一段定义,下面我谈下自己的理解,在爱迪生时代,他的想法是谁要用电就自己建立一个发电厂,在之后,就出现了电网,将电力这个资源变成一种按需取用的资源,更加便捷更加廉价。云计算也是将计算这种资源变成一个网络资源,带来的是各种便利。

 

 什么是软件工程?

 

早期的计算机系统以硬件为主,程序员在早期的计算机上通过比较复杂的操作来运行比较简单的程序,程序的规模一般不会很大。但随着计算机硬件的不断发展,计算机系统的性能也越来越强,在上面运行的软件规模也就越来越大。到了上个世纪六十年代,“软件危机”这一事实逐渐被大家所认识,这其中的具体问题包括:软件生产难以满足用户日益增长的需求、软件开发者与用户交流不充分、软件质量难以保证、软件维护不当等问题。我想这样的问题的出现原因应该主要是以下原因造成的:软件规模越来越大,小型程序的开发可能还不需要特定的方法和原则,但规模大起来的话,没有明确的开发原则,工程化方法作指导,就会使杂乱无章的软件开发造成越来越多的问题。

于是1968年首次提出了软件工程的概念,软件工程强调可维护性,强调文档化、强调软件生命周期系统化。软件工程的提出也让软件开发的研究成为了一个独立的领域,和硬件研究区分开来。软件开发的一般流程为分析、设计、编码、运行、维护五个步骤。虽然在几十年之间软件工程的各种新的开发思想不断被提出,但是大的格局并没有改变。

 

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

 

1.安全

云计算使计算机的计算能力不受本地硬件的限制,更小尺寸,更轻重量,却能进行更强劲处理的移动终端触手可得。企业可以以极低的成本投入获得极高的计算能力,不用再投资购买昂贵的硬件设备,负担频繁的保养与升级。云计算意味着数据被转移到用户主权掌控范围外的机器上,也就是云计算服务提供商的手中,因此它的安全问题就有待我们深究了。

软件工程可能相当大一部分重心会转移到安全问题上来。

 

2.技术革新

软件开发跨空间、跨时间、跨设备、跨用户的共享,导致软件在规模、复杂度、功能上的极大增长,使软件有异构协同工作、各层次上集成、可反复重用等特点。而传统的软件工程技术已经不能满足网络时代的需求,适应软件的这种需求,新的软件开发模式必须支持分布式计算、浏览器/服务器结构、模块化和构件化集成,使软件类似于硬件一样,可用不同的标准构件拼装而成。

这将大大加快软件开发的进程,并且软件有着更高的可维护性,易用性。

 

暂时就想到了这么多。end.