当前位置:首页 期刊杂志

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

时间:2024-08-31

潘永安

(江苏电子信息职业学院计算机与通信学院,江苏淮安,223003)

关键字:分层技术;软件设计;B/s;MVC

0 引言

在软件设计中分层技术是将一个软件设计分为不同功能的层次,依据软件的具体需求每层的功能设计都不相同,层与层之间是交互关系,界限明朗,功能细致,相互不干扰,将软件设计成为高内聚、低耦合的特性。不同层数的分层技术对应不同的软件需求,同样的分层技术,具体模式使用不同技术搭配,则软件设计也不同,分层技术在软件设计中的应用越来越为广泛。

1 分层技术思想的由来

计算机专业突飞猛进,涉及到越来遇到的领域,逐渐在各个领域占领一席之地,科技的发展解放了许多劳动力,很多量大、不好计算、保存的工作都由计算机来替代,进而导致计算机软件的需求量逐年递增,迫使软件开发的速度越来越开,同时软件技术开发的速度远超于硬件的发展速度,在低配置的硬件上需要运动高配置的代码,硬件和软件不能匹配,发展不够平衡[1-2]。软件的快速发展、硬件和软件发展速度不相同、代码量指数倍的增加,编程人员思维的容纳性在以上可以写情况下就出现了分层思想。

2 什么是分层技术思想及其特点

2.1 分层技术的概念

分层思想是软件工程方法中最常用的思想,通过将一个较大的设计进行分层,根据设计的大小和种类,分为不同的层次。分层技术在计算机软件开发中有着极大的优势。软件设计者使用分层思想能够使得软件更加合理化,最大利用化。分层技术是用于描述软件设计中不同层次之间的关系,将软件各个层次之间进行连接、传输,在相同的硬件情况下,分层技术科加快计算机的运行速度,提高软件的安全性。分层设计首先需要考虑的是逻辑的分层,也就是将整个任务在逻辑上进行分层,分解为一个个子任务,对子任务的分层则需要是水平分层。也就意味分层是由高到低,或由低到高。

分层技术是将整个系统进行水平分层,是因为在软件设计中,开发人员下意识的认定了一个认知“机器为本,用户至上”。也就是说在软件设计中,机器是整系统运行的基础,但是软件设计的软件是为用户服务。当软件分层时,往往层次越往上,也就会越抽象,也就意味着越面向用户、面向业务。相反加购中层次越往下,则就更加通用,是面向机器设备。

分层设计也需要依据不同的变化原因确定每一层的边界,确定边界是为了防止边界与边界之间进行相互干扰,或者说是尽量将边界之间的影响降到最低。在软件分层设计中,每一层和每一层之间的关系应该是正交关系,正交关系并不意味着两层、两层之间没有关系,而是说层与层之间的关系应该像两条垂直的直线一样,只有一个交点,其他地方永不相交。层与层之间的关系需要将两条之间的垂直点作为依赖点,也就是两层之间的协作点,无论对哪一层进行造作,除了协作点之外,都不会对另一层有任何影响。

2.2 分层技术的特点

分层技术有良好的扩展性,在软件设计中,如果需要对某一功能模块进行增删改查,分层技术能够在原有的设计中,只改动最小的范围就可以完成新的需求,通过分成技术对复杂软件进行合理分解,能够使软件更加合理化、更加系统性[3]。

分层技术使得软件内部有良好的独立性,由于软件设计中已经将整体进行分层,当某一层出现问题是,可以及时修改,同时还不会影响其他层。当整体出现问题时,分层也会使得整体排查问题的速度加快,是不分层时,排查问题的数倍。

3 分层技术的应用

3.1 双层分层技术的应用

双层分层技术是将客服端(Browser)和服务器(Server)分为两层,能够在原有基础上缩短开发时间,提高工作效率。其中客服端是指在用户在web浏览器上,实现界面化的用户交互,将表示层和业务逻辑层布置在客服端,主要功能用于提交客服要求,并将要求发送到服务器,申请服务器端的数据库等服务。服务器则是底层服务器,也可以称之为数据层,主要是用于实现逻辑业务,包括回馈客户端请求,在数据库查询等操作。少部分需要在客服端实现,减轻了客户端的压力。但B/S架构不能同时容纳大量用户,出现数据交互过大的情况下,会出现数据延迟,通讯信号差的问题。假如系统发生变化,则需要同时修改客户端和服务端,维修费用较大不方便。

3.2 三层分层技术的应用

三层架构是在双层架构的基础上设计,将其优化,能够满足大量客户或大量数据交互的需求。三层分层技术分别为,表示层、业务逻辑层、数据层。这是将双层中的业务逻辑模块单独为层。表示层为完成用户用户与应用程序之间的交互。业务逻辑层负责处理、实现业务,处于表示层和数据访问层,数据访问层,是系统的持久层,负责管理数据库。

MVC(Model、View、Controller)是 非 常 典 型 的 三层分层技术,Model是业务逻辑层,View是表示层,Controller是用来调度其他两层,将MVC模式具体化,如JSP+Servlet+JavaBean。其中JavaBean既可以作为数据模型来封装业务数据,也可以作为业务逻辑模型来包含应用的业务,根据收到控制器传来的请求,执行特定的业务逻辑处理,返回执行结果。JSP则作为视图层,负责提供未用户展现数据,提交用户请求,Servlet则作为控制器,接受用户的请求,将请求中的数据,转化为业务模型中的数据模型,同时根据业务执行结果来选择要返回的视图。具体模式如下图1所示。

图1 JSP+Servlet+JavaBean模式

3.3 四、五层分层技术的应用

软件设计的难度越来越高,用户对软件的性能,如反应速度,反馈信息的程度等要求也越来越高,信息化越发普及,而信息的发展则使得数据越来越多,相较之前更加复杂,计算环境与之前发生了翻天覆地的变化,数据的大量增加,数据之间逻辑的复杂程度翻倍,因此用用户会提出不同的、个性化的、有针对性行的软件需求,软件分层技术的发展在用户需求的推动下,衍生出了超过三层的分层技术[4]。

4 结束语

分层技术的快速发展,给软件设计带来许多便利,帮助编程人员节省资源,提高代码复用率,减少软件模块设计中的冗余性,将不同的功能分到不同的软件层,巩固了软件运行的安全性,提高软件运行速度,已经有不少成熟的软件将分层技术结合在软件开发的过程中,在软件测试可以加快速度,同时还能保证每层之间的独立性,相互之间不影响,从双层到三层分层技术,又衍生出更加具体化的四层、五层分层技术,分层技术不断进步,软件设计不断完善。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!