云计算与软件工程

1 云计算

1.1 云计算是什么

云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。

云计算是通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机很存储系统。这意味着计算能力也可以作为一种商品进行流通,不过是通过互联网进行传输的。

对于云计算的理解,分为狭义和广义的两类。狭义云计算是指IT基础设施的交付和使用模式;广义云计算是指服务的交付和使用模式。这种服务可以是IT和软件、互联网相关的,也可以是任意其他的服务,它具有超大规模、虚拟化、可靠安全等独特功效。

1.2 云计算的特点

超大规模:

“云”具有相当的规模,Google云计算已经拥有100多万太服务器,Amazon,IBM,微软,Yahoo等的“云”均拥有几十万台服务器。“云”能赋予用户前所未有的计算能力。

虚拟化:

云计算支持用户在任意位置、使用各种终端获取应用服务。所请求的资源来自“云”,而不是固定的有型的实体。应用在“云”中某处运行,可以通过网络服务来实现我们需要的一切,甚至包括超级计算这样的任务。

数据安全可靠:

云计算提供了最可靠、最安全的数据存储中心,用户不用再担心数据丢失、病毒入侵等麻烦。“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算机更可靠。

客户端需求低:

云计算对用户端的设备要求很低,使用起来也很方便。你只要有一台可以上网的电脑,有一个你喜欢的浏览器,你要所得就是在浏览器中键入URL,然后尽情享受云计算带给你的无限乐趣。

通用性:

云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应用,同一个“云”可以同时支撑不同额应用运行。

轻松共享数据:

云计算可以轻松实现不同设备间的数据与应用共享,在云计算的网络应用模式中,数据只有一份,保存在“云”的另一端,你的所有电子设备只需要连接互联网,就可以同时访问和使用同一份数据。

高可扩展性:

“云”的规模可以动态伸缩,满足应用和用户规模增长的需要。

按需服务:

“云”是一个庞大的资源池,用户按需购买。

极其廉价:

由于“云”的特殊容错措施可以采用极其廉价的节点来构成云,“云”的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本,“云”的通用性使资源的利用率较之传统系统大幅提升,因此用户可以充分享受“云”的低成本优势。

可能无限多:

云计算为存储和管理数据提供了几乎无限多的空间,也为我们完成各类应用提供了几乎无限强大的计算能力。【1】

2 对软件工程的影响

2.1 软件构架的开放性

将云计算运用于计算机软件构件的技术的时候,整个平台的构架,大智障将可以分为云终端系统层、硬件系统层、系统管理层以及虚拟机系统层这样四个部分来进行具体的构建,它的存在是整个构建的基础所在,也为整个构建提供了协助和相对应的保护,而在这个管理过程之中,云计算本身还可以利用不同情况下的不同种类的要求,来完成多个计算机集群系统的构建,其作用、意义和价值都是不言而喻的。【2】

使用了云计算技术以后,相比于之前的传统软件工程,软件的开放性得到了前所未有的提高,这样软件构件的复用性也随之提高。分布式计算模式的应用,也是的软件的体系,设计构件以及代码,可以被不同的“云”使用者所使用,甚至是不同软件开发团队之间的开发者。

2.2 软件对象的多样性

基于云计算的计算机,在软件实验管理过程之中,是通过数据中心来对其余的数据进行管理和控制的,这样的过程不仅仅会让整体变得更加的方便,而且还能够提高整体的安全性,在需要的使用的时候从数据库之中提取,而在并使得时候可以更好的保存,管理,不仅仅如此,这些数据即便是在实验的结束之后,依旧可以作为云计算的数据进行重复的使用。

2.3 软件过程的动态性

软件开发不再是一个封闭的、全局控制的流程,而是存在多个并发和自治的流程,在一个项目中,自底向上,自顶向下有几集成。开发过程中,用户、开发人员之间不再有明确的角色划分,通常情况下,在不同的阶段,软件开发者、服务提供者、软件使用者多重角色是同一个人,软件开发工具由云计算服务商统一提供,开发组织无需购买有个就得软件许可,秩序在开发周期内按需租用云服务商的软件许可,这样可以大大降低软件工具费用。【3】

2.4 开发组织的社会化

云计算环境下,软件开发的环境、工作模式也将发生变化。虽然,传统的软件工程理论不会发生根本性的变革,但基于云平台的开发工具、开发环境、开发平台将为敏捷开发、项目组内协同、异地开发等带来便利。软件开发项目组内可以利用云平台,实现在线开发,并通过云实现知识积累、软件复用。

2.5 资源部署的虚拟化

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

云计算软件是按照用户需求随时运行,软件运行平台采用目前非常成熟的虚拟化技术,在客户端,可以产生多种虚拟环境,如Windows、Linux,甚至是浏览器等,用户可以根据自己的喜好来选择;在服务器端,可以把大规模的服务器系统虚拟化为单一处理单元和连续的存储单元,降低用户端的管理复杂程度。

云计算软件运行的最底层的硬件系统和基础软件系统则有专业的计算机信息系统集成商统一维护管理,对用户来说,完全可以不关心底层软硬件的细节。目前,IBM、微软、HP等跨国公司正在全球部署云计算基础设施。【4】

2.6 云计算对软件测试的影响

在云计算环境下,由于软件开发工作的变化,也必然对软件测试带来影响和变化。软件技术、构架发生变化,要求软件测试的关注点也应做出相对应的调整。软件测试在关注传统的软件质量的同时,还应该关注云计算环境所提出的新的质量要求,如软件动态适应能力、大量用户支持能力、安全性、多平台兼容性等。

云计算环境下,软件开发工具、环境、工作模式发生了转变,也就要求软件测试的工具、环境、工作模式也应发生相应的转变。软件测试工具也应工作于云平台之上,测试工具的使用也应可通过云平台来进行,而不再是传统的本地方式;软件测试的环境也可移植到云平台上,通过云构建测试环境;软件测试也应该可以通过云实现协同、知识共享、测试复用。【5】

3 总结

云计算的发展毫无疑问是有益的,即便它的产生对于传统的互联网技术带来了巨大的冲击,我们也不得不承认它的出现同时也提供了更多的优势性的辅助,尤其在软件开发方面,对这个计算机的软件系统进行构建,对各种系统进行优化。云终端系统、硬件系统、系统管理以及虚拟机系统也必然将因为云计算的发展而得到更高的提升。

4 引用文献

【1】仉伟, 郭洪远. 云计算的特点和应用展望[J]. 数字技术与应用, 2011(4):168-168.

【2】《电子技术与软件工程》2016年 第8期 176-176页

【3】张勇. 云计算环境下软件工程模式初探[C]// 全国软件测试会议与移动计算、栅格、智能化高级论坛. 2009.

【4】http://www.3fwork.com/b702/000266MYM009524/

【5】http://www.chinacloud.cn/show.aspx?id=14695&cid=12

时间: 2024-10-12 22:58:53

云计算与软件工程的相关文章

云计算对软件工程的影响

云计算对传统软件工程的影响 什么是云计算: 云计算(cloud computing)是基于互联网的相关服务的增加.使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源.云是网络.互联网的一种比喻说法.对于云计算的定义现阶段广为接受的是美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服

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

云计算对传统软件工程的影响 传统软件工程的概念 传统软件工程采用的一是结构化泛型,基本阶段按顺序如下:需求阶段.规格说明阶段.设计阶段.实现阶段.集成阶段.维护阶段.退役等,这是一种适用于代码量适中的传统软件开发方式. 而随着社会进步与技术发展,软件越来越复杂,计算越来越繁琐,代码量也越来越大,存储和处理的信息越来越多,软件规模也越来越大.而传统的结构化设计方法在大规模的软件的开发组织和维护方面困难重重,软件的复用性能也不好.于是发展出了云计算的概念. 云计算的概念 云计算是以数据为中心的一种数

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

云计算是什么?美国国家标准与技术研究院(NIST)给出了定义:云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互. 云计算是并行计算.分布式计算和网格计算的发展,或者说是这些计算科学概念的商业实现.[1]它具有三大形式分别为基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS).其中,基础设施即服务是

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

如今,云这种概念已经越来越深入人心,似乎云已经成了我们生活的一部分.那么,这种近几年兴起的技术,是否对我们传统的一些行业有所影响. 首先了解一下软件工程的概念.软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.工程是科学和数学的某种应用,通过这一应用,使自然界的物质和能源的特性能够通过各种结构.机器.产品.系统和过程,是以最短的时间和精而少的人力做出高效.可靠且对人类有用的东西.而软件工程作为一种工程,则是应用计算机科学.数学.逻辑学及管理科学等原理,开发软件的工程.

用Docker快速打造企业Paas云计算平台

用Docker快速打造企业Paas平台 课程特色 Docker就像一场森林大火重新创造了一个全新的云计算领域,Docker作为云计算分布式软件工程的革命正在深刻地改变传统分布式系统的开发.测试和部署.其影响的神速远胜于云计算第一代技术OpenStack等:Docker不仅是历史上最流行的开源项目之一,而且也从根本上改变了人们构 建应用程序的思维方式.它可以把程序及依赖的二进制文件.第三方库等封装在一起,运行在任何安装 Docker Daemon 的服务器上,它有望成为未来软件自动化部署的标准.

云计算时代——本质、技术、创新、战略

云计算时代——本质.技术.创新.战略(一线云计算布道师历时6年力作,透析云计算本质.简述云计算关键技术.分析主要云服务架构.解剖云计算巨头策略,既有广度又有深度,云计算2.0时代必备) 刘黎明 王昭顺 著   ISBN 978-7-121-23187-2 2014年6月出版 定价:59.00元 320页 16开 编辑推荐 <云计算时代——本质.技术.创新.战略>看点: 1.凝结了作者6年多的国际云计算发展一线工作经验,隐含中国和全球的云计算发展的真实脉络. 2.以全面的视角和深入的细节介绍了云

算对于传统软件工程的影响

说起云计算对于传统软件工程的影响,我们当然首先需要了解这两个概念. 一.传统软件工程 首先是传统软件工程,了解传统软件工程其实就是了解软件工程的历史,早期的计算机系统以硬件为主,程序员在早期的计算机上通过比较复杂的操作来运行比较简单的程序,程序的规模一般不会很大.但随着计算机硬件的不断发展,计算机系统的性能也越来越强,在上面运行的软件规模也就越来越大.到了上个世纪六十年代,"软件危机"这一事实逐渐被大家所认识,这其中的具体问题包括:软件生产难以满足用户日益增长的需求.软件开发者与用户交

在云计算推动下的软件开发

什么是云计算 对云计算的定义有多种说法.对于到底什么是云计算,至少可以找到100种解释.现阶段广为接受的是美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问, 进入可配置的计算资源共享池(资源包括互联网,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互.本文将着重讨论云计算与传统软件开发的联系与相互关系. 云计算(cloud computing)是一种基于Internet

[在职软件工程]云计算基础教程

第一篇 基础篇 第一章 绪论 云计算的基本概念: 狭义的云计算: 广义的云计算: 云计算的基本特征: IAAS:infrastructure as a service PAAS:platform as a service SAAS:software as a service 云计算的优势: 优点和缺点: 第二章 云计算架构以及标准化情况 第二篇 技术篇 第三章 云存储 云储存的结构模型 两种架构: 块存储,文件存储 第四章 云服务 第五章 虚拟化 第六章 云桌面 第七章 云安全 --------