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