内容提要:

1、背景介绍:云计算的基本概念

2、传统软件工程介绍:流程、方式

3、云计算下软件工程的变化

4、总结,对比软件工程的改变

5、参考文献

 

一、背景介绍【1】

  云计算是以商业需要为出发点,将数量庞大的服务器集群整合成为分布式的资源池,通过虚拟化技术、Web2.0技术将资源池 强大的计算能力、存储能力和构建在其基础之上的各类应用以按需计费的形式从不同的层次(Infrastructure、Platform、 Application)租赁给用户的一种新型网络运营模式。图一展示了云计算平台的层级结构。由图可知,云计算基础架构位于云计算系统的底层,它为云计算系统的出色运营提供了有力的支持。

  图二展示了云计算基础架构:云计算基础架构主要由硬件资源(PC服务器、磁盘阵列、路由 器、交换机及相关配套设备)组成,通过虚 拟化技术、分布式并行技术整合形成的用以 直接对外提供存储、计算服务或作为基础设 施为上层云计算应用提供存储、计算能力支 撑的一种高效、可靠并且具有良好扩展性的 底层分布式系统。

  随着企业对于大容量存储和高性能计算需求的增加,通过传统的更新硬件设备来提高性能的方式已不太合适,特别是对于那些硬件配置和软件服务都不完善的中小型企业。因为它们没有足够的预算和资源。云计算则成为它们解决问题的一个最好办法。云计算强调按需使用、 动态调配、弹性扩展的理念,以用户的需求为原则进行资源的组织和交付.

  具体而言,云计算服务内容包括了 基础架构即服务( IaaS) 、平台即服务( PaaS) 和软件即服务( SaaS) 3 个部分. 3 个层次中基础架构即服 务为用户提供基本的计算和存储能力,通过虚拟化 和智能化技术自动为用户分配计算和存储资源. 平 台即服务和软件即服务则是面向软件资源,两者在 一定程度上存在着关联. 软件即服务是通过虚拟化 技术和多租户技术将单个的软件实例服务于多个用 户组织,多用户共享软件架构,这样就降低了每个客 户的资源消耗. 但是这种应用方式在对用户个性的 使用方面不可能有太多的涉及. 在这种条件下,一些 厂商开始逐渐将软件开发的 API 组件、开发工具、运 行环境等资源公开给用户使用,如 Google 的 App Engine 等. PaaS 平台为用户提供了更广泛的开发空 间,使软件的开发更多的面向业务流本身. 云计算的 从硬件到软件的 3 层服务体系创造了新的软件开发模式.【2】

二、传统软件工程的介绍:【2】

  软件的发展大体上经历了程序、软件产品和软件服务 3 个阶段.传统的软件工程属于前两个阶段,随着云计算平台的发展,逐渐步入第二个阶段

  早期的计算机系统以硬件为主,在硬件上搭配规模不大的程序,程序开发的流程较为简单,开发效率依赖于程序员的个人才智.随着计算机性能的提升和应用的扩展,软件的比重不断提高.无论是从规模还是从复杂程度上,都超越了个人的设计开发能力.工程化的设计思想及其相关的技术方法逐渐开始在开发中显得愈加重要.1968 年 “软件工程”的概念被首次提出.软件工程强调的可维护性和文档化以及对软件生命周期系统化的管理使软件成为一种产品.软件产品的出现使得软件与硬件分离,成为独立的研究体系.在软件开发方法上 逐渐形成了分析、设计、编码、运行、维护的一般流程.软件涉及的关系主体方面也基本形成了软件开发商与用户的二元格局.

三、云计算下软件工程的变化

  云计算下,软件工程的变化主要体现在以下三个方面:

 1) 构件的成熟度提高,软件的可复用程度得到提升.

  软件复用一直是提高软件开发效率,克服软件危机的重要途径,而构件可以在更高抽象层次上实现大粒度的软件复用.软件复用程度的提高一方面可以运用成熟构件模块减少软件开发错误,提高软件的可信性; 另一方面则可以缩短开发时间,提高开发的绩效.根据国内著名 PaaS 提供商 800APP 提供的信息,云计算模式下开发时间可以缩 减 1 /3 ~1 /10.绩效与可靠的矛盾关系一直是软件危机的根源所在,云计算在这两方面同时具有的优势无疑为缓解软件危机带来了希望.

2) 开发者面向业务应用,需求工程成为重点.

  在SaaS应用中,有很多应用具有相似或相同的功能,例如,很多在线网店都会具有搜索商品的功能。根据软件工程中基于构件的软件开发的原则,我们可以对这些“功能”进行复用。因此开发者有可能写很少的代码甚至不需要代码,而只需按照业务流程对平台中提供的各类资源进行设计和组织即可.这种模式下,需求与开发具有了同等的语境,同时需求在软件工程中的地位也将更加重要.【4】

 

3) 云计算下的软件工程打破了软件开发商与用户的二元格局,第三方云计算中心的作用更加重要.

  云计算模式下的软件开发和运行环境基本上都是由云计算中心来架构的,这些资源按照开发者的要求进行配置. 在开发者一端省去了硬件设施架构、运行环 境调试等工作,只需一个浏览器和一些简单的工具 就可以实施开发.开发完成之后的测试以及运行和维护也全部由云计算中心负责.具体讲来,比如云计算下的软件测试就有很大的变化。【3】

  上图展示了云测试的基本结构框架,可以发现,云测试更多的利用了云计算平台的计算资源,更好的模拟实际应用中的场景,对软件进行测试.比如云计算环境下的压力测试,是指通过云平台的大规模计算能力,确定一个软件系统的性能瓶颈,获得系统能提供的最大服务级别。如此的测试,更加保证了软件的可靠性

四、总结

  通过上面的介绍,可以看出:云计算对于传统的软件工程产生了很大的影响。首先,云计算平台实现了更好的虚拟化,使得编程人员不用在硬件上话费大量的精力,可以高效的搭建软件。其次,云计算平台为用户提供了更好的代码复用(构建)和新的抽象方式,从面向对象转化为面向业务应用,开发人员可以把主要的精力放在需求分析上。最后,云计算的出现形成了下图的三元格局,提高了软件开发各个阶段的效率和可靠性

 

五、参考文献

【1】云计算基础架构综述 武警工程大学 冯昊 邹 涛 张龙军 陕西省警卫局 王伟 2012 09/电子世界

【2】论云计算对软件工程的影响 史杰1,解继丽2,史少华2 昆明学院学报 2011,33(6):67 ~ 68 CN 53 -1211/G4 ISSN 1674 -5639 Journal of Kunming University

【3】云计算环境下软件测试研究进展* 王伟军1 姜 毅1, 2 刘蕤1 Kari Smolander3 1( 华中师范大学信息管理学院 武汉 430079) 2( 浙江理工大学经济管理学院 杭州 310018) 3( 拉普兰塔理工大学软件工程实验室 拉普兰塔 53400)现代图书情报技 2012年 第11期

【4】PaaS平台中面向多租户SLA的可复用构件研究 张振超

http://www.cnki.net/KCMS/detail/detail.aspx?QueryID=0&CurRec=7&recid=&filename=1014310920.nh&dbname=CMFD201402&dbcode=CMFD&pr=&urlid=&yx=&uid=WEEvREcwSlJHSldRa1Fhb09jeVVYampMcC9iU09iTU1uc05zeVVjMEpITT0=$9A4hF_YAuvQ5obgVAqNKPCYcEjKensW4ggI8Fm4gTkoUKaID8j8gFw!!&v=MDE3NjlEaDFUM3FUcldNMUZyQ1VSTHllWitkbUZDcmtXcjNPVkYyNkdyQzVIdGpPcjVFYlBJUjhlWDFMdXhZUzc=。

转载于:https://www.cnblogs.com/auas666/p/5976228.html

云计算对于软件工程的影响相关推荐

  1. 云计算对软件工程的影响

    云计算对传统软件工程的影响 什么是云计算: 云计算(cloud computing)是基于互联网的相关服务的增加.使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源.云是网络.互联 ...

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

    说起云计算对于传统软件工程的影响,我们当然首先需要了解这两个概念. 一.传统软件工程 首先是传统软件工程,了解传统软件工程其实就是了解软件工程的历史,早期的计算机系统以硬件为主,程序员在早期的计算机上 ...

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

    如今,云这种概念已经越来越深入人心,似乎云已经成了我们生活的一部分.那么,这种近几年兴起的技术,是否对我们传统的一些行业有所影响. 首先了解一下软件工程的概念.软件工程是一门研究用工程化方法构建和维护 ...

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

    云计算对传统软件工程的影响 传统软件工程的概念 传统软件工程采用的一是结构化泛型,基本阶段按顺序如下:需求阶段.规格说明阶段.设计阶段.实现阶段.集成阶段.维护阶段.退役等,这是一种适用于代码量适中的 ...

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

    既然我们要讨论这个问题,那就先要明确两个概念"云计算","传统软件工程"和一个"影响作用". 首先是"传统软件工程",通 ...

  6. 从柯布-道格拉斯生产函数看云计算对传统软件工程的影响

    随着软件技术的不断发展,软件的功能变得越来越强大,软件的结构也变得越来越复杂,需要处理的数据变得越来越庞大,计算的复杂度也越来越高.如何开发能够应对这样日益增长的需求的软件便成为了亟待解决的问题. 2 ...

  7. 转载:云计算必将极大影响未来--云泉

    云计算是这几年一直比较热门的话题,本人从事过很长一段时间的云计算的相关研发工作,但是对于云计算在中国的发展情况与发展动向,一直比较模糊. 2010年4月13-14日我参加了Intel组织的" ...

  8. 云计算对电子商务行业的影响

    云计算电子商务的优点 首先, 云计算使得中小企业不必花很多成本在基础设施建设上.云计算为电子商务提供了具有自我维护和管理功能的虚拟计算资源, 也就是大型服务器集群, 可以利用云的计算能力来补充或取代电 ...

  9. 云计算机的发展对社会的影响,云计算对个人的影响有哪些

    云计算对个人带来的影响: 1.数据云化 个人只需连上互联网,即可检索自己的数据.工作等,不再局限于场所.设备,灵活处理工作与数据问题.而且在存储方面,利用云计算可以实现 2.弱化软件 个人可以通过云平 ...

最新文章

  1. keras保存和载入模型继续训练
  2. DCGAN生成cifar10, cifar100, mnist, fashion_mnist,STL10,Anime图片(pytorch)
  3. 【复习】操作系统第一章
  4. 软件测试之黑盒测试-等价类划分法
  5. IDEA中一个工程多个模块(module)分别提交到不同的git服务器
  6. android 智能家居 pdf,智能家居项目化教程.pdf
  7. mysql5.6主从不报错_mysql5.6.26主从复制报错1050
  8. 时间类模块的常用操作
  9. Jfinal3.4+layui2.4.3整合
  10. android 内存至少一半,极客修:为什么iPhone比安卓内存小,却更流畅?
  11. AD多层板拼板内电层网络丢失处理
  12. Greenplum小把戏 - 仿造Oracle rownum
  13. 成长路上破局思维:工具化时间管理
  14. L2UWE: A Framework for the Efficient Enhancement of Low-Light Underwater Images阅读札记
  15. 弹弹堂服务器响应时间过长,弹弹堂游戏加载问题全攻略
  16. HUAWEI机试:最长的顺子
  17. 两晋南北朝·高洋(下)
  18. 深度强化学习面试题目总结
  19. 大端字节序与小端字节序 (网络字节序与主机字节序)
  20. python中%s和%d的用法

热门文章

  1. 尚驰SHANGCHI洗车店兰州汽车美容店私人定制洗车服务 杜绝难看的洗车纹!
  2. 关于TVS管符号,看完这篇你就懂了!
  3. 苹果开发者平台-《测试证书》生成流程
  4. 人脸验证1:1——用现有库做
  5. AToken每日简讯 1.11 星期五
  6. 强制用户使用定向推送功能是什么意思?整改措施请收好
  7. 国外最有价值的教育科技公司 Byju‘s
  8. (万年历一)JAVA在控制台输出万年历(1900年起)
  9. csdn 如何去掉图片水印
  10. Java基础:this关键字可在方法参数和成员变量同名时进行区分