论文指导

计算机软件设计中分层技术的使用

  摘    要: 计算机快速发展,信息技术行业不断进步,分层技术不断应用在不同的行业,数据存储、软件设计、运行内存等等,软件设计研发速度越来愉快,推动着分层技术进一步发展,分层技术在软件设计上的应用越来越大,不仅仅能加快研发速度,节省研发时间、研发成本,同时也可以分担因硬件技术不够先进的问题。
  
  关键词 :     分层技术;软件设计; B/s; MVC;
  
  Abstract: The rapid development of computers,the continuous advancement of the information technology industry,the continuous application of layered technology in different industries,data storage,software design,operating memory,etc.,software design and development speed has become more and more pleasant,promoting the further development of layering technology,The application of layer technology in software design is increasing.It can not only speed up research and development,save research and development time and cost,but also share the problem of insufficient hardware technology.
  
  Keyword: Layering technology; Software design; B/s; MVC;
  
  0 、引言
  
  在软件设计中分层技术是将一个软件设计分为不同功能的层次,依据软件的具体需求每层的功能设计都不相同,层与层之间是交互关系,界限明朗,功能细致,相互不干扰,将软件设计成为高内聚、低耦合的特性。不同层数的分层技术对应不同的软件需求,同样的分层技术,具体模式使用不同技术搭配,则软件设计也不同,分层技术在软件设计中的应用越来越为广泛。
  
  1 、分层技术思想的由来
  
  计算机专业突飞猛进,涉及到越来遇到的领域,逐渐在各个领域占领一席之地,科技的发展解放了许多劳动力,很多量大、不好计算、保存的工作都由计算机来替代,进而导致计算机软件的需求量逐年递增,迫使软件开发的速度越来越开,同时软件技术开发的速度远超于硬件的发展速度,在低配置的硬件上需要运动高配置的代码,硬件和软件不能匹配,发展不够平衡[1,2]。软件的快速发展、硬件和软件发展速度不相同、代码量指数倍的增加,编程人员思维的容纳性在以上可以写情况下就出现了分层思想。
  
  2 、什么是分层技术思想及其特点
  
  2.1 、分层技术的概念
  
  分层思想是软件工程方法中最常用的思想,通过将一个较大的设计进行分层,根据设计的大小和种类,分为不同的层次。分层技术在计算机软件开发中有着极大的优势。软件设计者使用分层思想能够使得软件更加合理化,最大利用化。分层技术是用于描述软件设计中不同层次之间的关系,将软件各个层次之间进行连接、传输,在相同的硬件情况下,分层技术科加快计算机的运行速度,提高软件的安全性。分层设计首先需要考虑的是逻辑的分层,也就是将整个任务在逻辑上进行分层,分解为一个个子任务,对子任务的分层则需要是水平分层。也就意味分层是由高到低,或由低到高。
  
  分层技术是将整个系统进行水平分层,是因为在软件设计中,开发人员下意识的认定了一个认知“机器为本,用户至上”。也就是说在软件设计中,机器是整系统运行的基础,但是软件设计的软件是为用户服务。当软件分层时,往往层次越往上,也就会越抽象,也就意味着越面向用户、面向业务。相反加购中层次越往下,则就更加通用,是面向机器设备。
  
  分层设计也需要依据不同的变化原因确定每一层的边界,确定边界是为了防止边界与边界之间进行相互干扰,或者说是尽量将边界之间的影响降到最低。在软件分层设计中,每一层和每一层之间的关系应该是正交关系,正交关系并不意味着两层、两层之间没有关系,而是说层与层之间的关系应该像两条垂直的直线一样,只有一个交点,其他地方永不相交。层与层之间的关系需要将两条之间的垂直点作为依赖点,也就是两层之间的协作点,无论对哪一层进行造作,除了协作点之外,都不会对另一层有任何影响。
  
  2.2 、分层技术的特点
  
  分层技术有良好的扩展性,在软件设计中,如果需要对某一功能模块进行增删改查,分层技术能够在原有的设计中,只改动最小的范围就可以完成新的需求,通过分成技术对复杂软件进行合理分解,能够使软件更加合理化、更加系统性[3]。
  
  分层技术使得软件内部有良好的独立性,由于软件设计中已经将整体进行分层,当某一层出现问题是,可以及时修改,同时还不会影响其他层。当整体出现问题时,分层也会使得整体排查问题的速度加快,是不分层时,排查问题的数倍。
  
  3、 分层技术的应用
  
  3.1 、双层分层技术的应用
  
  双层分层技术是将客服端(Browser)和服务器(Server)分为两层,能够在原有基础上缩短开发时间,提高工作效率。其中客服端是指在用户在web浏览器上,实现界面化的用户交互,将表示层和业务逻辑层布置在客服端,主要功能用于提交客服要求,并将要求发送到服务器,申请服务器端的数据库等服务。服务器则是底层服务器,也可以称之为数据层,主要是用于实现逻辑业务,包括回馈客户端请求,在数据库查询等操作。少部分需要在客服端实现,减轻了客户端的压力。但B/S架构不能同时容纳大量用户,出现数据交互过大的情况下,会出现数据延迟,通讯信号差的问题。假如系统发生变化,则需要同时修改客户端和服务端,维修费用较大不方便。
  
  3.2 、三层分层技术的应用
  
  三层架构是在双层架构的基础上设计,将其优化,能够满足大量客户或大量数据交互的需求。三层分层技术分别为,表示层、业务逻辑层、数据层。这是将双层中的业务逻辑模块单独为层。表示层为完成用户用户与应用程序之间的交互。业务逻辑层负责处理、实现业务,处于表示层和数据访问层,数据访问层,是系统的持久层,负责管理数据库。
  
  图1 JSP+Servlet+JavaBean模式
  
  MVC(Model、View、Controller)是非常典型的三层分层技术,Model是业务逻辑层,View是表示层,Controller是用来调度其他两层,将MVC模式具体化,如JSP+Servlet+JavaBean。其中JavaBean既可以作为数据模型来封装业务数据,也可以作为业务逻辑模型来包含应用的业务,根据收到控制器传来的请求,执行特定的业务逻辑处理,返回执行结果。JSP则作为视图层,负责提供未用户展现数据,提交用户请求,Servlet则作为控制器,接受用户的请求,将请求中的数据,转化为业务模型中的数据模型,同时根据业务执行结果来选择要返回的视图。具体模式如下图1所示。
  
  3.3 、四、五层分层技术的应用
  
  软件设计的难度越来越高,用户对软件的性能,如反应速度,反馈信息的程度等要求也越来越高,信息化越发普及,而信息的发展则使得数据越来越多,相较之前更加复杂,计算环境与之前发生了翻天覆地的变化,数据的大量增加,数据之间逻辑的复杂程度翻倍,因此用用户会提出不同的、个性化的、有针对性行的软件需求,软件分层技术的发展在用户需求的推动下,衍生出了超过三层的分层技术[4]。
  
  4 、结束语
  
  分层技术的快速发展,给软件设计带来许多便利,帮助编程人员节省资源,提高代码复用率,减少软件模块设计中的冗余性,将不同的功能分到不同的软件层,巩固了软件运行的安全性,提高软件运行速度,已经有不少成熟的软件将分层技术结合在软件开发的过程中,在软件测试可以加快速度,同时还能保证每层之间的独立性,相互之间不影响,从双层到三层分层技术,又衍生出更加具体化的四层、五层分层技术,分层技术不断进步,软件设计不断完善。
  
  参考文献
  
  [1]郭娟现代分层技术在计算机软件设计中的应用[J]电子技术与软件工程,2018, 00(005):45-46.
  
  [2]陈敏.分层技术在计算机软件开发中的应用研究[J]电脑知识与技术:学术版2020(3):60-61.
  
  [3]李天成陈天星,杨创,等 基于分层技术的居家智能系统软件设计[J]电脑编程技巧与维护,2020,No .417 (03):125-127.
  
  [4]王志强,王秀兰.浅谈分层技术在计算机软件开发中的应用[J]电脑知识与技术2017,13(003):85-86.
在线客服