欢迎来到天天文库
浏览记录
ID:9520579
大小:50.50 KB
页数:3页
时间:2018-05-02
《计算机软件开发过程中分层技术的运用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、计算机软件开发过程中分层技术的运用计算机软件开发过程中分层技术的运用随着软件开发技术的发展以及用户对于软件系统使用要求的提高,如今的软件系统变得越来越复杂。特别是企业级系统已经变得非常的复杂,要满足一定的设计目标变得愈发的困难,而通过分层技术则能在提高软件开发效率的同时更好的满足用户的需求。对于现代软件开发,分层是一个相当重要的概念,同时也是必须学习与掌握的知识。分层是一种相当重要的软件架构基本理论,任何软件在逻辑上都可以进行分层,也能够适当的映射到物理层之上,对于如何分、分多少层、需不需要分、采用什么技术,需要遵循用户的需求,需要从具体的项目来讲,因此一切都需要从实
2、际引用出发。 1分层技术优势分析 软件分层开发是有必要的,这不仅仅是软件开发发展的趋势,同时分层技术本身也有着诸多的优势。 团队分工协作更加方便。在过去的软件开发中,根据功能模块通常是几个人将项目中的功能模块进行划分,每一个人从数据库操作、完成业务逻辑到最后的界面实现都需要独自完成。数据库的设计虽然可以由一个人来完成,但是这种开发方式存在有明显的弊病,首先每一个开发人员不仅仅需要掌握大部分的技术,还需要具备有相当强的业务逻辑理解能力,其次因为每一个人的开发习惯不同会使得软件最后形成的代码过于繁杂而缺乏良好的可读性,最后则是在后期的完善与维护上会存在有一定的困难。
3、 采用分层开发技术,简单的讲可以本文由.L.收集整理理解为工种分层与代码规范,对于具体的工作可以分为界面设计人员、业务实现人员以及数据库设计人员。其中界面设计人员主要复杂程序界面并将相关信息提交给业务层,对于业务层逻辑关系不需要考虑过多,业务层实现人员则是对界面所提交的数据请求进行处理以完成逻辑流程,并结合数据访问层,不需要对界面设计的样式、风格等进行考虑,也不需要考虑数据库的格式,数据访问层则主要是设计并完善系统架构,对数据库间的差异进行屏蔽,让业务层能够更加便捷的处理具体功能。这样在一个团队之中能够对人员工作进行合理的分配,并将每一个人都放到适合的岗位之上,将主
4、要的技术人员集中到关键部位的开发上。 此外,通过分层技术还可以规范代码,在开发的过程之中对没层的代码进行规范,对开发语言风格进行固定,增强程序可读性与后期的可维护性。[1]忽略数据库差异,良好的数据访问层能够做到完全屏蔽数据库的差异,开发人员进行数据库操作时,能够制作相当的工作,甚至是能够实现快速的数据库转化。 2在软件开发中应用分层技术需要注意的问题 2.1注重对接口的处理 采用分层技术之后,对于在C/S结构之中的类之间的复杂关系就需要重新进行审视。通常情况下,层之间的耦合度不能过大,因此就需要对层之间的类调用方式进行仔细设计。在一些分布式软件体系(如J2E
5、E)之中就对层之间的调用方式以及接口的形式提出了具体要求。同时,对于不同层仅仅只需要指导目标层接口,而不知道目标层的具体实现。例如EJB之中的home接口与remote接口就是如此。在对层间的接口进行设计的过程中,不仅仅需要考虑开发平台的约束,还需要考虑业务的需要。例如在业务层之中的对象与方法,它们之间的关系相当复杂。而其它层则不需要关心这些细节,所以业务层所公布的接口就必须是简单适用的。同时,在不同层之间的数据传递也需要进行考虑。如果传输的数据量大,那么就需要采用封装了的数据来作为对象。对这类对象进行设计的时候需要非常小心,在设计的过程之中,可以多参照开发平台所提供
6、的具体的标准的做法。[2]同时对于数据请求的频率也需要进行充分考虑,如果过于频繁的操作是来自于后端的数据那么会使得系统开销增大,因此需要从实际情况来设计调用方法。 2.2利用迭代方法进行分层 分层技术同样适用于软件开发过程中的迭代做法。在一开始想要定义好所有层次是不现实的,这需要相当丰富的经验来作为基础。那么调整就显得相当的重要,每一次进行迭代都是对分层的改进,并且能够为后一个项目的开发积累相应的经验。 在分层迭代时,不能够过于频繁,这是因为每一次迭代都会对架构带来较大的修改,都需要投入大量人力,并且会对软件开发进度带来影响。但是如果迭代成果,那么就可以在接下来
7、的开发周期之中获得稳定架构,并且能够减少代码量,有效的提高软件质量。需要注意的是在进行分层迭代时不能够仅仅是为了对新技术的运用。而这却是很多开发人员都用以返的错误,这样会无谓的增加开发的成本。 2.3层内细分 分层技术的思想同样可以适用于层内部。相对来讲层内细分并没有固定方式,其驱动因素主要是封装性与重用。[3]例如在EJB体系之中的业务层之中,实体Bean负责的是实现业务对象,所以一个应用在很多时候会有很多的实体Bean。但是用户端并不需要对每一个实体Bean进行了解,只需要完成需要的业务逻辑,然而这些业务逻辑却需要和很多个实体Bean发生联系
此文档下载收益归作者所有