软件分层设计(软件系统分层常用方法)

中国论文网 发表于2022-11-15 12:25:23 归属于通信学论文 本文已影响634 我要投稿 手机版

       中国论文网为大家解读本文的相关内容:          

  随着软件开发技术的不断发展以及用户对于软件系统使用要求的逐渐提高,如今的软件系统变得越来越复杂。特别是企业级系统已经变得非常的复杂,要满足一定的设计目标变得愈发的困难,而分层技术恰恰能在提高软件开发效率的同时更好的满足用户的需求。分层对于现代软件开发,是一个相当重要的概念,同时也是开发人员必须学习与掌握的知识。分层是一种相当重要的软件架构基本理论,任何软件在逻辑上都可以进行分层,也能够适当的映射到物理层之上,对于如何分、分多少层、需不需要分、采用什么技术,需要遵循用户的需求,需要从具体的项目来讲,因此一切都需要从实际引用出发。

  1分层技术优势分析

  软件分层开发是有必要的,这不仅仅是软件开发发展的趋势,同时分层技术本身也有着诸多的优势。

  团队分工协作更加方便。在过去的软件开发中,根据功能模块通常是几个人将项目中的功能模块进行划分,每一个人从数据库操作、完成业务逻辑到最后的界面实现都需要独自完成。数据库的设计虽然可以由一个人来完成,但是这种开发方式存在有明显的弊病,首先每一个开发人员不仅仅需要掌握大部分的技术,还需要具备有相当强的业务逻辑理解能力,其次因为每一个人的开发习惯不同会使得软件最后形成的代码过于繁杂而缺乏良好的可读性,最后则是在后期的完善与维护上会存在有一定的困难。

  采用分层开发技术,简单的讲可以本文由论文联盟收集整理理解为工种分层与代码规范,对于具体的工作可以分为界面设计人员、业务实现人员以及数据库设计人员。其中界面设计人员主要复杂程序界面并将相关信息提交给业务层,对于业务层逻辑关系不需要考虑过多,业务层实现人员则是对界面所提交的数据请求进行处理以完成逻辑流程,并结合数据访问层,不需要对界面设计的样式、风格等进行考虑,也不需要考虑数据库的格式,数据访问层则主要是设计并完善系统架构,对数据库间的差异进行屏蔽,让业务层能够更加便捷的处理具体功能。这样在一个团队之中能够对人员工作进行合理的分配,并将每一个人都放到适合的岗位之上,将主要的技术人员集中到关键部位的开发上。

  此外,通过分层技术还可以规范代码,在开发的过程之中对没层的代码进行规范,对开发语言风格进行固定,增强程序可读性与后期的可维护性。[1]忽略数据库差异,良好的数据访问层能够做到完全屏蔽数据库的差异,开发人员进行数据库操作时,能够制作相当的工作,甚至是能够实现快速的数据库转化。

  2在软件开发中应用分层技术需要注意的问题

  2.1注重对接口的处理

  采用分层技术之后,对于在C/S结构之中的类之间的复杂关系就需要重新进行审视。通常情况下,层之间的耦合度不能过大,因此就需要对层之间的类调用方式进行仔细设计。在一些分布式软件体系(如J2EE)之中就对层之间的调用方式以及接口的形式提出了具体要求。同时,对于不同层仅仅只需要指导目标层接口,而不知道目标层的具体实现。例如EJB之中的home接口与remote接口就是如此。在对层间的接口进行设计的过程中,不仅仅需要考虑开发平台的约束,还需要考虑业务的需要。例如在业务层之中的对象与方法,它们之间的关系相当复杂。而其它层则不需要关心这些细节,所以业务层所公布的接口就必须是简单适用的。同时,在不同层之间的数据传递也需要进行考虑。如果传输的数据量大,那么就需要采用封装了的数据来作为对象。对这类对象进行设计的时候需要非常小心,在设计的过程之中,可以多参照开发平台所提供的具体的标准的做法。[2]同时对于数据请求的频率也需要进行充分考虑,如果过于频繁的操作是来自于后端的数据那么会使得系统开销增大,因此需要从实际情况来设计调用方法。


  2.2利用迭代方法进行分层

  分层技术同样适用于软件开发过程中的迭代做法。在一开始想要定义好所有层次是不现实的,这需要相当丰富的经验来作为基础。那么调整就显得相当的重要,每一次进行迭代都是对分层的改进,并且能够为后一个项目的开发积累相应的经验。

  在分层迭代时,不能够过于频繁,这是因为每一次迭代都会对架构带来较大的修改,都需要投入大量人力,并且会对软件开发进度带来影响。但是如果迭代成果,那么就可以在接下来的开发周期之中获得稳定架构,并且能够减少代码量,有效的提高软件质量。需要注意的是在进行分层迭代时不能够仅仅是为了对新技术的运用。而这却是很多开发人员都用以返的错误,这样会无谓的增加开发的成本。

  2.3层内细分

  分层技术的思想同样可以适用于层内部。相对来讲层内细分并没有固定方式,其驱动因素主要是封装性与重用。[3]例如在EJB体系之中的业务层之中,实体Bean负责的是实现业务对象,所以一个应用在很多时候会有很多的实体Bean。但是用户端并不需要对每一个实体Bean进行了解,只需要完成需要的业务逻辑,然而这些业务逻辑却需要和很多个实体Bean发生联系。所以EJB会提供会话Bean,将实体Bean进行封装,用户仅仅只需要知道会话Bean。这就为实体Bean的重用性提供了保证,并且实现了封装。

  2.4注重数据映射层

  在设计层时,数据映射层是较为特殊的存在。现在的面向对象技术相当成熟,从当前的面向对象技术来看,解决了内存中的面向对象问题,但是对于持久性却很少关注。

  面向对象的设计机制和关系模型之间存在很大的区别,这就使得面向对象设计和关系数据库设计之间出现不匹配的情况。例如面向对象设计的理论中包括了耦合、聚合、封装、继承以及多态。但是关系数据模型的理论则是数据库的三大范式。而数据层的作用就是要向用户端隐藏关系数据库的存在,简化外部的操作。需要注意的是,开发一个对象/关系映射工具虽然可行,但是需要注意的是想要开发这种工具较为困难,所需要支出的成本较大,特别是对于手工处理数据一致性以及事务处理的问题上,处理会相当的困难。所以,通常情况下并不是开发这种对象/关系映射工具,而是采用购买的方法。

  3结束语

  现在随着技术的进步,计算机应用环境变得越来越复杂,用户的要求也越来越高,要开发出满足用户需求的软件,就需要在明确用户需求的情况下,利用合理的技术。而当前分层技术的应用越来越广泛,这是因为其在开发过程中所具备有的优势,特别是在如今多层分布结构系统的应用更加广泛,并且之中系统的扩展性与安全性都相当高,处理能力强,开发与维护都较为容易。需要注意的是在分层技术的运用过程中,对接口的处理、数据映射层的处理等等。

  中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。

返回通信学论文列表
展开剩余(