邵泳兵
(汕头职业技术学院,广东 汕头 515041)
随着科学技术的不断发展,计算机技术的应用改变了人们的基本生活,也使软件开发出现了新的挑战。现阶段,计算机技术的发展促进了软件开发领域的改革,主要由组件技术进行驱动,提高了软件开发的效率,促进了传统的客户端/服务器架构、群件中间件等大型软件系统的重组[1]。组件技术的出现改变了软件的开发方式,使软件开发的内容可以分为多个层次,每个层次作为一个独立的组件,通过组装成为一个完整的系统,为软件开发提供了便利。因此,组件技术在软件开发过程中得到了有效的推广和应用。
随着现代信息技术的不断发展,云计算技术得到了广泛的应用。云计算的应用可以实现云平台的建设,在设备管理和资源合理配置方面提供有利的基础和支持。通过云计算的应用,可以配置相关的集群系统,实现动态页面的合理处理,可以有效满足各种系统的基本需求。就互联网领域的发展而言,云计算技术在金融、电商、教育等众多行业有着非常广泛的应用,其中的代表就是阿里云系统,该系统不仅具有灵活的计算能力,而且拥有庞大的数据库,所以兼容性强,访问效率高,可以满足用户的基本要求。因此,随着云计算技术的日益普及,可以更好地满足现代人的多样化需求,不仅可以为人们提供高效的服务,还可以有效地存储和处理大量数据和信息。
在全球化的发展过程中,我国的科技和经济不断发展,特别是在国际化的背景下,计算机软件的发展赢得了众多企业的青睐,在科学研究和人力资源培训方面取得了巨大的突破。但是,在发展过程中,全球经济的影响,给我国计算机软件的发展带来了巨大的压力。我国的计算机软件技术的研发历史较短,与发达国家相比还存在一定的差距。而且由于我国在计算机软件创新方面的研发较少,核心的软件产品尚未形成,导致软件产品在使用过程中出现严重的不平衡现象。在不能满足数字化和网络化基本需求的情况下,我国计算机软件开发行业需要通过对核心技术进行相应的研究,对一些成功案例进行相应的分析,寻找软件开发的方向。另外,我国计算机软件开发技术人才应用存在严重的不合理现象,在计算机软件开发过程中没有完全养成良好的习惯,因此在硬件上的资金投入大大减少。人才结构严重不合理,对知识产权保护意识相对薄弱,使得计算机软件的开发难度加大,导致我国软件开发技术前景堪忧。
在软件开发过程中,软件使用的传统开发模型还有很多,而且这些模型都是独立版本,存在使用效率低、容易受到干扰等问题,在使用该资源的过程中存在一定的限制,使其他资源无法科学使用。云计算技术改变了传统软件开发的局限,打破了传统的软件开发模式,可以提高软件开发过程中资源利用效率。从单机版升级成了云计算,从开发的模式上来看,是极为有利的[2]。
在云计算技术的影响下,软件设计也取得了很大的突破,软件设计结构多样化,通过利用云计算技术逐渐提高了信息获取的速度,在获取信息的过程中,逐渐编程虚拟化,在这种情况下设计方向出现了变化,资源可随时随地使用,不会受到地域或者是时间限制,设计机构得到加强,推动软件设计的发展。
随着计算机技术的发展,软件的重要性越来越高,软件的独立性越来越明显。云计算技术的应用,推动了软件开发向更加服务化的方向发展,软件开发的抽象性和开放性逐渐增强,从封闭的计算机平台向互联互通的协同计算机平台转变,特别是围绕网络结构,成为未来软件发展的一大趋势。其特点主要是自主性、协同性、进化性等。
云计算对软件开发的影响也体现在一个以Hadoop为核心的设计模型上,它是软件设计的核心软件,主要任务是处理数据,从大量数据中提取部分数据,转换和加载数据。在建模、设计软件时,利用云计算技术不仅可以让模型中的数据更多,还可以保证软件的使用效率。
在软件架构方面,面向数据流的软件设计方法主要是构建一个线性架构,可以将数据从输入发送到输出,一般这种架构也可以详细描述为三种:作业处理类型、过滤器类型和批处理的结构。本质上是一个数据处理单元,组件之间的连接器是处理单元通过的通道。以过滤器类型为例,具有独立过滤器的特性,每个过滤器都有一组输入和一组输出。数据会进行变换、计算等内部处理操作,经过下一次粗略的操作后,将数据流送到输出集,依次进行完整的一系列计算[3]。
虚拟体作为软件架构的一种,可以避免底层硬件的异构性对软件运行的影响,因此系统的适应性结构非常好。在虚拟架构中,组件类型主要包括虚拟机执行引擎、存储输入数据的组件、存储虚拟机当前状态的组件等。连接器通常是直接存储的访问或过程调用组件。虚拟架构的指令体现在机器指令集中,例如基于解释器建立Java虚拟架构,设计者可以使用解释器来构建弥补计算引擎之间差距的虚拟机。
软件框架设计包括组件层、中间件层、应用层和容器层。中间件属于应用软件的基础平台,可以安装在服务器的不同节点上。容器层为组件提供了生存环境。组件是软件应用的主体,软件的配置是通过将组件组装成一个容器来实现的。
云计算可以利用系统间统一的接口和协议进行数据交换,利用中间件实现通信功能和控制,提高系统的稳定性、通用性和可靠性。但系统软件模块之间的耦合度比较高,如果应用算法的复用度没有得到有效解决,将很难提高软件开发效率。
在云计算环境中,往往需要动态调整内部结构配置以适应不断发展的环境和用户需求。独立组件与软件框架相关联,其中容器层是分布式中间件和组件之间的通信桥梁,为组件提供通信基础。根据组件管理和通信抽象出容器模型,并根据容器模型的需要,分为开发环境支持和系统运行支持两大功能模块。开发环境支持是指容器在开发云应用软件时必须提供给用户的能力[4]。系统运行支持是指容器为上层应用系统提供必要的运行环境。主要由组件管理器、执行状态监控、资源调度与分配、组件生命周期管理、系统自动化部署和应用权限管理等六部分组成。这些服务可以被各种功能组件或较低级别的中间件使用。
通过深入研究软件开发与云计算的关系,可以得到相关的互联网软件架构和基于云计算的相关核心内容,而架构的核心是云客户端和服务器。在开发和设计软件的过程中,必须实现云客户端和服务器的有效连接,以满足互联网软件的需求。可以在实际连接过程中使用光纤网络或无线网络进行连接,以满足软件开发设计的相关基本需求。可以看出,在当前互联网软件的整体架构中,通过应用云计算技术,可以有效实现存储空间分配、CPU资源分配、通信链路分配等各种功能。
云计算组件在软件开发中的应用,充分发挥了软件的分析和设计能力,并对软件重用产生了巨大的影响,通过设置特定的服务,为用户提供各种接口,为软件的有效应用提供了方便。考虑到组件的使用接口,可以将底层的多个逻辑组合成新的高层组件,便于实现软件的模块功能。为了保证软件的安全性,通常需要隐藏组件模型,没有直接为组件接口分配地址。
一般来说,基于云计算组件的软件开发需要经过以下流程:第一,对组件进行合理分类。为了复用组件,需要在现场搭建可复用的组件库,但是对一个大型组件进行分类是一项复杂而庞大的任务,因为通常需要有很多可复用的组件库[5]。另外,由于用户的需求不同,因此与开发者对可复用组件的理解往往存在很大差异,从这个角度来看,可以通过组件组合、调用、继承、框架这四种相互关系来发现潜在的可复用组件。第二,可重用组件的选择。可重用组件的选择是组件重用的关键部分,软件开发人员要时刻清楚,选择的可重用组件必须充分适应新系统的要求,从而提高软件开发的效率。此过程应通过多种方式优化选定可重用组件,最大化系统开发需求。最后,开发和设计新的可重用组件。设计软件需要具有开发意识,并构建一个完整的系统,该系统能够很好地理解现有的可重用组件,并将它们记录下来供其他人查询和理解。虽然这项工作会在一定程度上增加工作量和成本消耗,但从长远来看,这项工作对于减少后续软件开发的工作量和成本具有重要意义。
随着计算机技术的不断发展,软件的重要性越来越高,软件和硬件的独立性越来越明显,但是当云计算技术将软件的发展推向更加服务化的方向时,软件和硬件的结合就成了现实,这些成果的出现是由于云计算方法的整合。分析整个软件开发过程,不难发现云计算技术的出现,逐渐增加了软件开发的抽象性和开放性。尤其是Web软件已经成为未来软件发展的一大趋势,其特点主要是自主性、协同性和进化性。互联网软件将是基于云计算技术的软件开发的发展趋势之一[6]。随着计算机技术的不断发展,软件开发技术也得到了进一步的提升,从过去的结构化系统向系统化转变。未来,组件软件的不断发展将走向系统化发展。相比之下,结构化开发方法最初是为了满足软件开发的需要而广泛采用的,主要是利用软件的内部数据结构优化系统结构。对于结构化开发,必须借助结构化设计,遵循从上到下逐步完善的过程,才能更好地实现模块化设计,提高整体系统结构的运行效率。这种开发方式还需要进一步发展,以满足大规模软件开发的需要。
随着互联网技术的不断发展,软件的应用要求也越来越高,互联网软件需要更好的开发和设计来满足不同用户的需求,而云计算技术可以有效实现这个目标。云计算组件技术的应用改变了现有的软件开发模式,极大地提高了软件开发的效率。云计算组件技术能够满足不同应用的要求,允许最大限度地重复使用不同技术形成的组件,人们现在越来越期待具有分布和协同处理能力的开放分布式组件技术。分布式组件技术的目标是实现开放的组件产品,允许应用程序互操作,并降低开发和管理成本。迄今为止,还没有完整的开放组件系统实现,但组件化是软件产业化的必然和最终选择。