秦燕
摘要:随着计算机技术的不断发展,人们对计算机软件的开发提出了更高的要求。而分层技术是计算机软件管理开发中得到广泛使用的一项技术,在各类软件开发技术中有着一定的优势。因此,基于这种认识,该文对分层技术的概念和特点进行了分析。而在此基础上,则对双层结构技术、三层结构技术、四层结构技术、五层结构技术和中间件技术这几种分层技术在计算机软件分层管理开发中的应用问题展开了研究,以便为关注这一话题的人们提供参考。
关键词:分层技术;计算机软件;应用
中图分类号:TP311.11 文献标识码:A 文章编号:1009-3044(2015)05-0049-03
在日常生活中,计算机已经逐渐成为了必不可少的办公工具。但对计算机软件技术人员来讲,在计算机软件得到广泛应用的同时,软件开发的环境和功能的实现也越来越复杂,需要从单一功能向多功能复合的方向发展。而在这种需求下,分层技术得到了广泛的应用。在实现计算机软件的多功能开发的目标的同时,分层技术的应用使软件的灵活性和安全性都得了提高。因此,有必要对分层技术在计算机软件中的应用问题展开研究,以便更好的应用该技术完成软件的开发。
1 分层技术与软件分层
早在20世纪80年代,单层结构就在小型数据库的结构化编程的计算机发展领域中出现。而随着计算机服务器关系模式的快速发展,双层结构逐渐成为了计算机形式的关系结构,可以满足用户日渐增多的需求。但就目前来看,计算机网络数据关系得到了迅速发展,从而导致了双层结构也无法满足用户的需求。而所谓的分层技术,其实就是指在不同层次上制定不同解决方案的技术。在整个计算机软件结构中,这些层次具有平等的地位,而计算机软件的整体则是由不同功能的模块所构成。在使用计算机软件的过程中,人们会在提出安全性、灵活性和可靠性的要求的基础上,要求软件能够尽可以能多的提供各类功能。而分层技术可以为实现软件的各类功能提供支持,所以在计算机软件中得到了广泛的使用。在软件开发的软件架构方面,分层技术的使用效果极好。通过为实现多层次的软件架构提供支持,分层技术满足了软件的功能开发需求[1]。从整个计算机系统的开发上来看,计算机软件没有严格的层次关系。而所谓的计算机系统的层次化,其实就是多层次构件的聚集现象。通过使用分层技术,则能够实现系统设计的逐级抽象,继而使系统的各部分功能得到分解,并转化成软件设计的一部分。
分层技术之所以能够在计算机软件开发中得到应用,主要是其在软件开上具有一定的优势。从软件开发目的上来看,软件产品的设计和开发是为了满足消费者的使用需求。但对于软件开发者来讲,除了确保软件开发的质量,还要确保软件的开发具有一定的效率,以便尽量减少软件开发的时间。所以,软件开发者需要利用检测构件完成计算机软件的检测,以便确保短时间内开发出的软件具有较高的性能。而利用分层构件建立底层构件和物理硬件的关系,则可以使计算机软件系统的性能得到不断提高。因为,计算机并没有严格意义上的软件结构系统,而多个层次会使软件上下层次产生一种依赖关系,继而使系统分析聚集在层次的构件上。因此,利用分层技术可以将软件系统复杂部分的开发转变成软件设计问题,继而使系统具有较好的稳定性和扩展性。在开发复杂软件时,分层技术可以按步骤或功能完成软件的分层处理。具体来讲,就是按照步骤或功能进行软件的升级、改造或改进时,只进行相面层面的修改,而不影响其他层面的运行。具体来讲,就是软件设计的一个层次的变化只会影响到上下层次的变化,但并不会影响整体的变化,所以可以不修改软件的整体。其次,分层技术的应用可以为计算机软件开发和应用提供一定的安全保证,并使软件的开发效率得到提高[2]。比如在开发新软件时,可以直接在功能相似的层面进行二次开发,从而避免进行软件的重复开发,继而使软件开发的时间得到有效节省。此外,通过分层次分模块的进行软件的定义,可以利用标准接口实现模块的有效对接。而软件能够得到自动的开发和使用,则可以使软件具有一定的可复用性。
2 分层技术在计算机软件中的应用研究
2.1 双层结构技术在软件开发管理中的应用
从根本上来讲,计算机软件的分层技术是由双层结构技术发展而来。所以,双层结构技术是分层技术实现的基础,三层、四层和五层等高等分层技术都是由双层结构技术发展而来。而所谓的双层,在计算机软件中指的就是服务器与客户端(如下图1)。在使用该结构时,用户的可操控界面是由客户端提供。在接收用户的操作指令后,客户端将利用网络将指令发送至服务器。然后,将由服务器中的操作系统等相关软件完成指令的处理,并最终将结果通过客户端反馈给用户。从工作原理上来看,双层结构的正常运行主要取决于服务器端是否安全、可靠,并且需要有使用人数的限制[3]。在这两个条件无法满足的情况下,服务器需要的计算时间会越来越长,继而出现安全问题或是给出错误的计算结果,而无论是哪种问题都会影响到用户的数据安全。
双层结构技术的应用,在某种程度上满足了软件的发展需要。但就目前来看,计算机技术的发展速度较快,双层结构技术的应用已经无法满足计算机软件的开发需求。以医院信息系统的开发为例,过去的医院信息系统的开发都是采用双层的C/S方式。相较于单层主机/终端方式,该种结构使医院信息系统结构的开发成本得到了降低。而分布式计算结构的利用,则使整个系统的资源得到了充分的利用。在系统中,Clinet段的操作系统为GUI,为用户在Windows上的操作提供了便利。而RAD技术的应用,则为开发人员开发应用提供了方便。但是,在系统的安装和升级方面,C/S系统的维护需要花费大量的精力。针对如病案编目这样的应用较少的系统,系统的更新尚且较为容易。但是一旦需要对类似于门诊收费系统进行更新,将涉及多且分散的护士工作站应用点,所以就需要完成大量的系统更新工作。同时,由于系统较为封闭,所以系统之间的交流难以实现。就目前来看,利用双层技术开发的一些医院信息系统已然难以使用,继而导致了投资的浪费。而现有的医院信息系统界面也并不统一,所以医院需要承担大量的培训工作。此外,一旦需要进行管理模式的改革,就需要对医院信息系统中的关键参数和公共模块进行修改,继而需要完成整个系统的重新编译。
2.2 三层结构技术在软件开发管理中的应用
与双层结构相比较,三层结构就是在服务器端使用了专业的应用服务器(如下图2)。而三层结构技术利用该服务器进行计算机用户数据的存储,从而通过设置服务器使计算机软件的计算水平得到有效提高。所以,三层结构技术的应用,使人与计算机之间的人机交互得以实现,继而使人们对计算机软件的感知得到提高。例如,日立的ERP系统的软件体系就为三层结构。由于该体系的数据服务器可以为用户提供访问的数据,并且能够完成数据的存储和优化,所以可以满足“瘦”客户端的要求。从结构组成上来看,三层结构除了拥有服务器层面和客户端层面,还有数据层面,而这样的结构就是将双层结构的服务器层面划分成了处理层面和数据层面。其中,处理层面需要完成用户需求的分析,而数据层面则需要根据处理层面的分析结果完成数据的处理,然后将处理结果反馈给用户[4]。但是,由于设有专门的处理层面,用于处理用户需求的网络传输负担得以减轻,而计算机的处理效率也得到了有效提高。
从优点角度来看,应用三层技术构建三层C/S结构,显然使软件的维护变得更加容易。首先,在三层C/S结构中,Clinet段无需进行程序的配置,所以需要处理的界面代码量得以减少。而利用Intranet技术,则可以使Clinet端保持零配置,继而使软件的开发效率得到提高。在业务逻辑的变化方面,可以用中间层的更新替代系统的更新,所以可以使系统的维护费用得到降低。其次,三层C/S结构是由Server端和Client端的模块组成的,而这些模块都是利用标准界面连接在仪器的。所以,系统的每个模块都可以被其他应用共享,所以系统有可再用的对象。再者,在开发效率上,软件开发工具选择较为自由,所以为缩短软件开周期提供了途径。同时,由于程序员不必在业务逻辑分析上分心,所以软件的开发质量可以得到保证。此外,一般的情况下,数据库需要面临庞大的客户数量。而三层C/S结构的应用可以将用户请求连接至中间层,继而使直接连接数据库的用户数量得以减少,并确保系统的安全[5]。因此,三层结构技术的应用在一定程度上促进了计算机软件的发展。然而,三层结构技术也有一定的局限性,所以没能得到更加广泛的应用。
2.3 四层结构技术在软件开发管理中的应用
在应用程序的计算环境越发复杂的情况下,需要处理的数据和逻辑也越来越多。在现实生活中,用户需要利用计算机更快、更准的完成数据的处理和计算,并且完成规模更为复杂的逻辑的处理。因此,由于三层结构具有无法实现彼此之间的相互独立的问题,所以四层结构技术应运而生。在层面上,各个层面结构得到了重新的划分,主要分为WEB层、存储层、数据处理层和业务处理层。其中,WEB层主要负责根据用户需要完成合适的处理路径的选择,而用户需要的结构越少,选择也就会相对简单。存储层则会进行用户数据的存储,并且将数据处理信息发送至处理层表达需求。在需要进行大规模数据的处理时,数据处理层则会根据数据加工关系完成各方面运作效率的处理和改进,继而完成大量数据和信息的分析和处理。具体来讲,就是数据处理层可以将访问代码隐藏起来,并完成对关系数据库和对象之间的计算机映射,继而使关系与对象之间的阻抗不匹配问题得到解决。此外,业务逻辑层负责将数据处理层的结果传送至WEB层,继而实现计算机数据的交换[6]。而四层结构的逻辑关系的确立,使计算机软件开发中的环境问题得到解决,继而使计算机软件开发效率和复用性得到提高。
就目前来看,四层结构技术有两种形式的界面层,其中一种结构相对简单,主要包含JSP页面。在该形式下,可以直接完成用户需要的数据的查询,并进行数据的反馈。但该模式下的系统升级和维护比较困难,所以在大型系统的开发方面很少使用。而另一种界面模式则以MVC结构为基础,可以用于开发复杂的软件系统[7]。所以,相较于三层结构技术,四层结构技术虽然发展的仍然不够成熟,但是在复杂系统的开发上具有一定的优势。因此,四层结构技术已然成为了计算机软件开发的主流技术。目前,为了使一些计算机的高度运行需求得到满足,一些可以在特殊环境和特殊领域的计算机多层软件得到了开发。而这些软件的开发都是应用四层分层技术,可以完成数据的快速处理。例如,在构建新一代医院信息系统时,为了使C/S系统的弊端得到克服,就可以应用四层分层技术。具体在软件的开发的过程中,主要需要完成Client层和Server层等层别的部件的编写。而四层分层技术的应用可以为JAVA、C语言等多种开发语言提供支持,所以能够为程序员选择开发语言提供便利。而Server层部件需要完成的业务逻辑功能是进行数据库数据的查询和修改,比如病人出入管理信息和平均住院日的计算等等。在系统安全方面,虽然医院信息系统的用户数量较多,但是所属用户组十分有限,因此可以通过对用户组授权完成所有用户的授权[8]。
2.4 五层结构技术在软件开发管理中的应用
在四层技术结构的基础上,五层技术结构得以提出。具体来讲,就是将数据层划分成资源层和集成层,以便使系统的运行效率得到提高。同时,五层结构技术的应用可以满足数据运行的环境需求,可以在计算机数据运行的环境或特殊领域中应用。在应用的过程中,需要完成架构分工的细化。就目前来看,J2EE环境中比较普遍的应用了五层结构技术,继而使三层结构得到了有效延伸。目前来看,J2EE环境中五层结构由资源层、集成层、存储层、WEB层和客户层组成。其中,资源层与文件系统相对应,集成层则具有数据持久性特点,可以完成数据的持久性访问[9]。在应用的过程中,则能够完成事物的处理和数据库的系统映射。而WEB层可以在服务器端上运行,客户层则需要实施客户机运行。利用这样的模型结构,并按照具有一定规律的应用逻辑,就可以形成多个组件,继而完成不同机器软件的开发和配置。但就目前来看,五层结构技术并没有得到普遍的应用,只在一些特殊领域中有较大的应用价值。
2.5 中间件技术在软件开发管理中的应用
在分层技术取得不断发展的情况下,中间件技术得以出现。而该技术的应用可以在计算机运行环境下,并帮助计算机实现与各系统之间的资源优势互补(如下图3)。所以,科学的使用中间件技术可以使异构和分布集成汇总存在的多种复杂问题逐渐减少,继而使计算机软件的开发难度得到降低。从优势上来讲,中间件技术的应用可以使应用软件、操作系统和数据库之间的关系得到优化,并使计算机软件开发的时间得到减少。此外,中间件技术的应用,还可以使软件运行的稳定性得到提高,继而给软件的使用提供一定的安全保障。而根据中间件技术在系统中的不同作用,目前可以将中间件分成是几类,即面向对象中间件、面向消息中间件和远程调用中间件[10]。就目前来看,有关中间件技术的研究已经取得了一定的成果,从而使其逐渐成为了一种独立软件。而计算机软件的开发之所以具有较大的难度,主要是因为各种复杂技术的屏蔽程序的存在。但中间件技术的开发时间较短,所以几乎可以在所有的软件开发工作中使用。因此,中间件技术的应用,使系统整体得到优化,并且确保了数据之间的安全联系。在系统运行上,中间件技术的应用使软件开发风险得以降低,继而使计算机的资源互补性得到了保证。
3 结束语
分层技术的出现顺应了时代的发展需要,有利于促进计算机技术的不断发展。利用分层技术,计算机软件的开发质量和效率都得了提高,并且满足了客户对软件开发的各种需求。就目前来看,由于多层结构具有较强的安全性和可扩展性,所以相较于双层结构技术和三层结构技术,四层结构技术和五层结构技术在软件分层管理开发中的应用更具有优势。而中间技术在多层次的技术结构中发挥的作用也十分显著,因此该技术的应用对软件开发技术的提高具有一定的意义。
参考文献:
[1] 杨柯. 分层技术在计算机软件开发中的应用效果分析[J]. 软件, 2013(10): 47-48.
[2] 李大勇. 关于分层技术在计算机软件中的应用研究与分析[J]. 计算机光盘软件与应用, 2014(20): 78-79.
[3] 叶娜, 朱秀娟. 试论计算机软件开发中的分层技术运用[J]. 无线互联科技, 2013(6): 61.
[4] 徐爱兰. 计算机软件开发中的分层技术探讨[J]. 计算机光盘软件与应用, 2012(24): 162-163.
[5] 邹涛. 分层技术在计算机软件开发中的应用探讨[J]. 电子技术与软件工程, 2014(13): 90.
[6] 常铁舰. 分层技术在软件开发中的应用分析[J]. 硅谷, 2015(2): 83+71.
[7] 王彬华. 浅谈运用分层技术丰富计算机软件开发[J]. 计算机光盘软件与应用, 2014(21): 66-67.
[8] 李成铖. 基于RFID技术的第三方物流实时跟踪系统的设计[D]. 济南: 山东大学, 2012.
[9] 张世海, 梁晓梅. 论计算机软件开发技术的应用[J]. 电子技术与软件工程, 2013(23): 100.
[10] 邱志超. 计算机软件开发技术的现状及应用探究[J]. 电脑知识与技术, 2014(10): 2261-2262.