软件开发中的三层架构技术分析

来源 :无线互联科技 | 被引量 : 0次 | 上传用户:moreee
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  X
  摘要:随着计算机的普及,人们在生活中越来越依赖计算机,因而对计算机软件也提出了更高的要求,要求计算机软件能够提供更加方便、快捷、周全的服务。这就对计算机软件开发技术提出了更高的要求,为了适应软件发展的需要,在计算机软件开发中更多地引入了三层架构技术。文章对此技术进行了具体的分析。
  关键词:软件开发;二层架构;三层架构
  计算机普及之初,软件的开发使用的都是二层架构技术,即只考虑2个端点:客户端和服务器端。用户通过客户端界面所提供的数据,直接在客户端对数据进行计算和处理,然后通过服务器在数据库中对数据进行读取等操作,得出需要的最终结果,并将结果传输到客户端界面显示给用户。
  在这种方式中,客户端直接和服务器对接,没有其他数据处理环节,有利于提高数据库数据读取的速度,但缺点是当计算机软件的任何一个部分发生更改,哪怕是最微小的变动,整个计算机软件都需要重新开发,限制了软件的通用性。特别是对于大型软件开发,除不利于软件的修改,在软件的开发期也存在很大的困难,需要程序编程人员相互高度配合,而且也不利于工作的分配。
  为了解决这种矛盾,就出现了计算机软件的三层架构技术,将原先单一的客户端和服务器端的模式,根据功能分别拆分成表示层、业务逻辑层、数据访问层和数据实体层。采用“分而治之”的思想,把复杂的问题分成不同的部分,即不同的层,以便逐个解决问题,便于软件的设计、控制、资源分配和修改。为了让大家更好地了解三层架构技术,本文从几个方面对软件开发中的三层架构技术进行介绍。
  1三层架构技术中具体分工和各层功能介绍
  (1)表示层:主要是指适合用户与计算机的交互界面,目的是为了方便用户数据的输入和显示处理后的数据结果,这部分工作主要由界面的美工完成。软件设计人员通过表示层界面收集用户输入的数据要求,并把这些数据转换成业务逻辑层可以操作的数据。同时也把业务逻辑层传出的结果转换成客户想要的效果,通过文本、图片、动画、3D等格式显示在用户眼前。表示层也可以被理解为输入和输出的操作平台,我们可以创建一个图书馆,然后把客户要求设计成固定的元素:图片、脚本、CSS、附件等进行统一管理。
  (2)业务逻辑层:又称为领域层,是表示层和数据访问层的中间桥梁,实现业务之间的逻辑处理,主要是对经过表示层输入的数据进行验证、计算和业务规则等方面的处理。在程序编写的过程中,主要体现在对象的方法、属性、事件、索引、接口等,通过这些手段,实现与数据访问层的对接。业务逻辑层的位置非常关键,它位于表示层与数据访问层的中间位置,对数据的交换起到了承上启下的作用。对于表示层而言,它是被调用者,而对于数据访问层而言,它是调用者,依赖与被依赖的关系都纠结在业务逻辑层上。
  (3)数据访问层:直接和数据库中原始数据进行对接,是对数据底层的操作,主要包括对数据库中数据的增加、删除、修改、查找等操作。该层主要的功能是根据业务逻辑层的要求,把存储在数据库中的数据取出并提交给业务逻辑层,同时把业务逻辑层处理的数据结果保存到数据库。对数据库的操作,可以分为单表操作、关联表操作和不同数据库之间的操作。可以充分利用SQL语言中的Insert,delete,update,Select等语句,对数据库进行操作,同时返回不同的数据类型结果,例如Data Table,Bool,Data Set,Data Reader等,将其生成DLL文件,然后通过组件的引用就可以现实数据访问的功能。
  (4)数据实体层:就是数据库中的原始数据。为了能够更有效地存储原始数据,方便数据访问层对数据的存取等操作,就必须对数据库进行设计,将数据有规律地进行存放。
  数据库设计是信息系统的核心和基础。首先我们应该对软件用户的业务数据的使用情况进行调查和分析,了解所有业务数据的种类、范围、数量、存在形式以及它们之间的关联情况,并由此确定用户对数据库的要求和相关制约条件等,形成用户的需求分析。
  通过用户的需求分析,建立出一个合适的数学模型。这个数学模型应能够完整反映出现实中所有业务数据的信息结构、信息内容和信息之间的互相关联与制约关系,并满足用户对信息的存储、维护、检索和修改数据的操作要求等。
  2三层架构技术的工作原理
  首先,用一张图表示三层架构技术之间的关系(见图1)。
  从图1中可以很清晰地看到四层之间的一个逻辑关系。用户通过表示层的界面输入数据,将数据传递给业务逻辑层进行验证、计算、处理等操作,然后传递给数据访问层,通过数据访问层到数据库中进行增加、删除、查找等操作,得到用户所需要的数据结果,将结果进行存储并把结果返回到数据访问层,再通过给业务逻辑层,最后以用户设定的格式显示在用户界面,最终用户得到自己需要的结果。四层中任意一层仅仅和自己相邻的层进行数据交换,而和其他层无任何关联。
  三层架构技术,其实就相当于在客户端与数据库端之间加了一个“中间层”,也可以称之为组件层。这个“中间层”,并不是实际物理意义上的中间层,而指的是逻辑上的中间层,把应用程序中的业务规则、数据访问、合法性校验等工作放到了中间层进行处理,客户端不再直接与数据库进行数据交互,而是通过中间层来建立连接,再由中间层和数据库进行数据的交互,最终实现客户端和数据库端的数据的交互。
  3三层架构技术的规则
  在软件开发的三层架构技术中,第四层数据实体层是基本的数据源,是必不可少的一层,是软件操作的基础,它的运算效果取决于计算机的硬件和数据库设计的合理性。而对于另外三层,并不是只要项目被划分成了表示层、业务逻辑层和数据访问层就称之为三层架构,这三层之间还必须要遵守一些约定的规则:(1)表示层仅仅只是一个和用户进行对接的界面,因而可以将其任意移植到其他类似环境的项目中。(2)数据实体层只能通过数据访问层进行数据读取,其他层都不能够直接从数据实体层中读取数据。(3)数据访问层只能作为一个对数据库实体的读取中间层,而不能进行任何业务逻辑的处理操作。(4)软件设计应该以业务逻辑层为核心,而不是数据访问层或是数据实体层,更不应该是表示层。在业务逻辑层应该以面向对象的方式,实现所有的有业务逻辑操作。(5)数据层中所有的数据都应该在一定的抽象程度上做到与系统无关。(6)设计的时候,所有的远程对象技术都应该考虑到不同的服务器和多台服务器之间的负载均衡作集群。(7)这3个模块中的任意模块都可以运行在不同的服务器上。   一个项目是否需要进行三层设计,首先要看这个项目的复杂度。实际上,很多项目只需要编辑一个WebApplication就足够实现全部功能了,根本不需要更复杂的技术,而只有真正复杂的项目,才需要利用三层架构技术进行设计和开发。
  4三层架构技术的优势
  通过对三层架构技术的工作原理的理解,我们可以得到通过三层架构技术开发出来的软件的优点。
  (1)结构清晰,耦合度低。三层架构技术中层次分明,层与层之间结构清晰,软件编写人员分工明确,层与层之间的关联不多,降低层与层之间的依赖性,编写人员可以只关注整个结构中的某一层,从而极大地避免了二层技术开发的软件中存在的耦合度问题。
  (2)可维护性高,可扩展性高。用三层架构技术开发的软件在后期维护的时候,极大地降低了维护成本和维护时间。软件的任意一部分的功能更改和升级,仅需更改某层的设计和编写,而不需要对整个系统做出改变,而不像用二层技术开发的软件那样,一个小程序的变化都需要调整整个软件开发,极大地提高了软件的维护性和扩展性。
  (3)利于开发任务同步进行,容易适应需求变化。三层架构技术极大地解决了软件开发的问题,特别是大型软件开发的问题,让软件开发实现任务的同步。在二层技术开发软件时,由于仅有2个端点,故软件开发时就存在一个编程的先后,必须由一个团队对整个软件流程十分清楚,并从始至终编写所有环节的程序。而三层架构技术把软件分成4个层次,而且层与层之间关联不大,故可以将软件分成4个不同层次进行同步开发,实现任务的同步,从而大大缩短了软件开发的时间,更容易适应需求的变化。
  5三层架构技术的缺点
  (1)降低了整个系统的读取数据的速度。在二层技术结构中,大部分数据的读取是通过客户端直接造访数据库而得到的结果,而三层架构技术却必须经过4个层次的完整过程才能得到最终结果,无形中增加了中间环节,从而降低了系统的性能。
  (2)有时会导致关联层次的修改。由于三层架构技术中层与层之间存在逻辑关系,当其中一个层次由于需要而发生功能的改变或增加时,很有可能导致其他层次的代码改变。例如:当表示层中增加了一个功能,为了保证其各层设计的结构合理性,可能需要在对应的业务逻辑层和数据访问层中都增加相应的代码,从而达到最终数据的一致性。
  (3)整体代码编写的工作量增加。由于三层架构技术增加了层与层之间的接口,有些能够直接使用的代码现在不得不分开使用,无形中增加了代码的编写工作量。
  (4)增加了开发成本。原先一个整体的软件开发,现在首先必须将其分割成不同功能的层次,而且需要考虑层与层之间的连接接口,无形中增加了整个软件开发的过程和工作量,从而增加了软件开发的成本。
  总体而言,针对如今软件开发的日趋大型化、规模化的特点,三层架构技术解决了很多二层架构技术中无法解决的问题,从而真正实现了软件开发的同步性、可维护性和可扩展性,是软件开发进步的重要标志。
其他文献
采用耐驰同步热重分析仪,对HZSM-5催化提质前后焦油的理论燃烧特性和动力学进行分析。结果表明,催化提质前、后焦油燃烧过程约分为4个阶段:轻质有机物挥发段、挥发分燃烧段、
研究了N-辛基吡啶六氟硝磷酸盐(N-octylpyridinum hexafluorophosphate,OPFP)离子液体与新型碳纳米材料石墨烯(Graphene,GR)复合膜修饰玻碳电极,制备了一种新型的IL/GR/GCE电极用于检测芦丁香茶和药片中芦丁的浓度.并通过循环伏安法、阻抗谱和方波伏安法研究芦丁在IL/GR/GCE的电化学性能,表明离子液体优良的导电和粘合性能及石墨烯纳米材料大比表面
覆膜开孔影响田间非均质土壤的水分运动过程,尤其当斥水程度不同时,其运动过程更趋于复杂。在控制土表不同覆膜开孔率条件下,进行了不同斥水程度的塿夹砂和砂夹塿的土柱蒸发实验,测定和分析了不同条件下土壤水分蒸发量变化过程和含水率剖面。结果表明,全覆膜的累积蒸发量-时间曲线明显较低,相应的蒸发10d后土壤水分剖面也与初始水分剖面接近,对于塿夹砂尤其明显。覆膜开孔率增加时,同条件下两种层状土的累积蒸发量与全覆
摘要:文章以南京邮电大学《大学物理课程》为例,运用佛兰德斯互动分析,专家访谈,录像分析等研究方法,从教学言语行为的角度对专家型和新手型物理教师的课堂教学特征进行对比研究。结果显示:新手型和专家型物理教师的课堂言语行为存在差异,尤其是在言语结构特征、教师倾向特征、情感气氛特征以及提问发言特征等4个方面存在明显差距。建议高校采取给年轻教师安排指导教师,定期组织教学观摩和教学沙龙,举办教育教学讲座、加强
可以度量的诊断系统与评估措施主要来自ERP的能力测度模型,其主要目标是为当前国内的石油企业提供评估和诊断ERP过程中无效的解决方案,并且根据评估的结果发现实施项目主体的
结合自主研发的冠层反射光谱测量装置,对装置主动光源采用的波长730nm和810nm两种窄带LED的光谱稳定性进行了研究。实验结果表明:两种LED在未加特殊控制、按照测量要求高频脉动
依托信息化技术,在水厂建设标准化数据中间件平台,使得水厂的生产自控数据按照信息化技术标准进行端口采集,形成可供信息化业务系统使用的水厂生产基础数据,为数字化水厂的建
1948年下半年至1949年4月,国民党内以陈立夫为首的CC系采取一系列行动阻挠和破坏国共和平谈判。陈立夫竭力使孙科内阁具有战斗内阁的色彩,坚决反对蒋介石下野,设法让国民党政
以蔬菜废弃物与牛粪的混合物为原料,采用好氧发酵工艺进行发酵试验,进行了试验优化设计,考察了原料配比、曝气时间和发酵时间对蔬菜废弃物固体残留率的影响,实时监测发酵液的pH值
文章主要论述网络实验室是各个高等院校信息工程系所必须的基础性实验室,可满足计算机网络相关课程的实验实训教学。网络实验室建设正在轰轰烈烈进行中,应该保持清醒的头脑,