预览加载中,请您耐心等待几秒...
在线预览结束,喜欢就下载吧,查找使用更方便
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
李向楠ZS11170051基于云计算平台的软件开发方法摘要随着云计算技术的兴起和发展,分布式计算、并行计算等给软件开发带来了许多新的问题和挑战。云计算使软件技术、架构、软件开发的环境、工作模式发生变化,与此同时,软件产品的最终表现形式则更为丰富多样,本文在简要概括云计算的相关概念的基础上,浅析云计算的出现,对软件开发的影响,着重在软件开发方法的介绍以及与传统软件开发方法相比,云计算给软件开发带来的改变。关键词:云计算软件开发方法改变1云计算的概念以及特点1.1云计算的概念云计算是一种基于Internet的计算。云计算通过把原来由个人计算机和私有数据中心执行的任务转移给分布在Internet上由全体用户共享的大型计算中心来完成,实现了计算机硬件、软件等计算资源及对这些计算资源进行安装、配置与维护等服务资源的充分共享。1.2云计算的特点(1)动态的高可扩展性。云技术使用户可以随时随地根据应用的需求动态地增减IT资源。(2)虚拟化的超大规模。云计算支持用户在任何有互联网的地方、使用任何上网终端获取应用服务。(3)高可用性。任何单点物理故障发生,应用都会在用户完全不知情的情况下,转移到其他物理资源上继续运行,使用云计算比使用其他计算手段的可用性更高。(4)按需使用,按用付费。无论是短期还是长期,云计算的商业模型都按使用量付费。(5)资源复用,成本廉价。由于云计算采用资源的统计复用技术,所以IT物理资源的利用率大为提高,从而使云的业务成本大大降低。2云计算对软件开发的影响2.1云计算环境下,软件技术、架构将发生显著变化(1)所开发的软件必须与云相适应,能够与虚拟化为核心的云平台有机结合,适应运算能力、存储能力的动态变化;(2)要能够满足大量用户的使用,包括数据存储结构、处理能力;(3)要互联网化,基于互联网提供软件的应用;(4)安全性要求更高,可以抗攻击,并能保护私有信息;(5)可工作于移动终端、手机、网络计算机等各种环境。2.2云计算环境下,软件开发的环境、工作模式也将发生变化虽然,传统的软件工程理论不会发生根本性的变革,但基于云平台的开发工具、开发环境、开发平台将为敏捷开发、项目组内协同、异地开发等带来便利。软件开发项目组内可以利用云平台,实现在线开发,并通过云实现知识积累、软件复用。2.3云计算环境下,软件产品的最终表现形式更为丰富多样在云平台上,软件可以是一种服务,如SAAS,也可以就是一个WebServices,也可能是可以在线下载的应用,如苹果的在线商店中的应用软件,等等。2.4云计算带来开发重心的转移我们过去的软件开发可以说是以“产品为中心”的,而今后应更多转向以“服务为中心”,使提交的软件产品成为可共享的服务,结合云计算,就是如何使“软件即服务”(SaaS)成为现实。如何在未来Internet平台上进一步进行资源整合,形成巨型的、高效的、可信的和统一的虚拟环境,使所有资源能够高效、可信地为所有用户服务,成为软件技术的研究热点。网络时代软件工程技术发展的趋势:软件技术的总体发展趋势可归结为:软件平台网络化、方法对象化、系统构件化、产品家族化、开发工程化、过程规范化、生产规模化、竞争国际化。服务计算可以说是与云计算平行发展的一个开发范式,从企业商务应用开发的角度看,面向服务的业务流程分析和设计技术,也是比面向对象技术更自然和直截的方法论,因此可预见今后会有开发范式的自然转移。为描述客户的服务需求和可提供的共享服务,也需要一种更可视化的面向服务的建模技术,因此也有人建议将云计算与模型驱动工程结合起来,并就此提出“模型即服务”(MaaS)的观点。3.云计算软件开发的改变3.1软件体系结构的改变传统的结构模式为3层体系结构,如今已经不能满足或者说不能很好的利用云的优势。目前在云计算中,根据其服务集合所提供的服务类型,整个云计算服务集合被划分成4个层次:应用层、平台层、基础设施层和虚拟化层。这4个层次每一层都对应着一个子服务集合.与传统的软件体系结构相比,基于云计算的软件体系结构最重要的特点在于其前所未有的开放性和成熟的构件化。云计算应用软件必将大量利用云服务提供的现成的软件构件,同时,新研制的软件又将成为后续应用软件开发所能利用的成熟构件。云计算应用软件体系结构在本质上是完全分布式的,由客户端、服务端、管理端、开发端、测试端等多种软件构件有机集成。多种应用共享公共软件构件,应用之间仍然有清晰的逻辑边界,但不再有截然分开的物理边界。3.2软件架构层次的改变云计算的服务层次是根据服务类型即服务集合来划分,与大家熟悉的计算机网络体系结构中层次的划分不同。在计算机网络中每个层次都实现一定的功能,层与层之间有一定关联。而云计算体系结构中的层次是可以分割的,即某一层次可以单独完