计算机软件开发中分层技术的实践

2019-12-04 14:34张占孝西安职业技术学院
数码世界 2019年11期
关键词:双层计算机软件客户端

张占孝 西安职业技术学院

目前,计算机软件的功能越来越多样化、复杂化,这给软件开发造成了极大的难度,以往的单层结构已经难以适应当前计算机软件的要求。而利用分层技术可以在软件开发的过程中建立双层乃至多层结构,这可以使软件的运行更加灵活,各项性能有效提升,也能满足用户对于软件功能的多样化要求。

1 分层技术概述

分层技术是时下计算机软件开发当中应用较为广泛的一种技术,这主要是由于当前人们对于软件的要求不断提高,导致软件系统的复杂程度不断提升。为了应对这种情况,开发人员开始采用分层技术,所谓分层技术就是在软件开发的过程中将系统分为多个概念层,每个概念层的工作流程不同,并且解决方案也不同,各个概念层之间存在一定联系,由这些概念层共同构成一个完整的软件系统。这种技术的优势在于可以将复杂的软件系统分化为多个概念层,其相互联系,同时又相互独立,既可以降低软件开发的难度,同时也能保证软件运行的稳定性。

2 分层技术的特点

2.1 拓展性

利用分层技术可以实现复杂软件系统的分化,通过建立多层结构将复杂的系统分解为多个概念层,然后逐层进行完善,这样可以有效保障软件的各项功能有效运行,相互联系同时相互独立,可以满足用户的多重要求,提升用户的使用体验。

2.2 独立性

通过分层技术在软件系统中构建的多层结构,实现了软件之间的解耦,降低了组件之间的耦合度,各层之间虽然存在一定的联系,但是各层之间又有一定的独立性,如果某一层运行过程中出现故障,并不会导致整个系统瘫痪,无法运行,仅会对相邻结构层产生一定的影响。这可以有效降低系统维护人员修复的难度确保系统可以快速恢复正常。

2.3 开发效率高

分层技术的应用便于进行合理的分工,能够实现软件系统的抽象化发展,缩短软件开发时间,加快软件开发效率。另外,分层技术的应用在一定程度上也提升了实践的目的性和针对性,对于增强软件运行的稳定性和可靠性有着显著成效。

2.4 提升组件的重用

一个完整的软件系统是由多个组件构成的,利用分层技术可以有效提升组件的重用。简单来说,分层就相当于产品配件的模块化,每种功能的模块不同,根据用户的需求将不同的模块进行组合就得到用户需要的产品,如果在使用过程中发现某一模块不适用,只需要将其更换就可以,并不需要重新设计产品,其他模块依然可以发挥作用。

3 计算机软件开发中分层技术的实践应用

3.1 双层技术的应用

双层技术的应用主要是单层结构已经难以适应复杂软件系统的要求,从而单层的基础上诞生了双层技术。双层技术主要指的是软件客户端与服务器,客户端主要为用户提供相应的服务,服务器负责接收客户端传输的用户需求信息,然后在数据库中查询、分析、整理,最终通过客户端反馈给用户。双层结构的模式主要受到两方面因素的影响,其一是使用软件的用户数量;其二是服务器当前运行情况。无论哪一个因素都会影响到服务器处理用户信息的效率,甚至可能会影响处理结果,因此,在实际应用过程中需要保障服务器运行良好,并且要控制使用人数,如果是一些浏览量较大的软件,采用双层结构可能难以负荷庞大的用户同时使用。

3.2 三层技术的应用

三层技术是在双层技术基础上的进一步完善,双层技术在实践应用过程中具有明显的限制,即服务器与使用人数,三层技术在一定程度上弥补了这一缺陷。三层技术主要包括业务层、处理层以数据层,界面层作为用户端,主要用于接收用户的需求信息,而业务层则对用户的需求信息进行分析,并向数据层传输,有数据层最终向用户反馈信息。这种三层结构的模式将系统进一步分解,降低了每一层的压力,使软件系统运行的稳定性更高,相较于双层结构,其明显具有更大的优势。

3.3 四层技术的应用

当前,计算机应用的场景越来越复杂化,计算机软件需要具备的功能也越来越多样化,并且软件使用人数也比较庞大,双层结构和三层结构逐渐暴露处出了一定的缺陷,难以适应当前用软件开发的需求,因此,在此基础上诞生了四层技术。四层技术主要包括业务层、数据层、Web 层、储存层。计算机软件开发过程中,首先利用业务处理层分析用户需求;其次,将分析结果传递给数据层;最后,将数据层的处理结果传递到Web 层。这种技术通过数据交换直观反映数据库与计算机对象之间的关系,能够有效提高软件的优化效率。

4 案例分析

某个有着复杂功能的多人在线社区,其服务器端是我们需要讨论的重点。这个产品的服务器端必须满足多样的功能:玩家移动到不同的场景中,玩家可以换上不同的服装,可以互相加好友并且聊天,同时还有广播频道的聊天,每个玩家还有自己的资料库和背包,另外还有各种运营活动。

在最初的开发过程中,开发人员针对每个需要开发的功能,建立了一个模块,这些模块通过单独和客户端、数据库的操作,完成所需功能。如果要开发新功能,就重新写一个这样的模块。这种架构设计在一开始是非常有效的,产品功能被不断的开发出来,模块的数量也在增多,但是也潜藏了一个问题。此问题是在“社区任务系统”的开发出现的,因为任务系统本质上是需要很多其他模块的功能提供支持。如需要玩家去某个场景(场景模块),获得某个东西(背包模块),然后添加一个好友(好友模块),或者换上某个服装,说一句话等等,这些任务功能的实现,被迫要修改很多个模块的代码,因为每个模块都只有最基本的“自由功能”功能的代码,编程接口都仅仅是面向客户端的,而数据结果直接由SQL 到数据库。这种需要组合的功能请求,以及获得功能的结果状况,其接口上不具备,这导致了非常复杂的、持续的代码修改。

针对这一问题开发人员决定重构整个架构,把架构从一字排开的设计,修改成为可以多个层次互相调用的模块。这些模块直接的接口,有面向客户端的,也有面向其他模块的,这样我们就能直接调用那些现成的功能,组合开发出更复杂强大的功能。不管任务系统如何变化,我们都可以不用重写那些已经实现的功能,这让整个系统成为可以应对这种需求变化的关键。通过利用分层技术构建了一个合理的多层结构系统,完美解决了“任务系统”所带来的问题。

5 结语

当下,分层技术在计算机软件开发中逐渐被广泛的采用,从最初的双层结构到当前的多层结构,已经成为计算机软件开发领域一个重要的发展趋势,随着技术的革新和发展,分层技术必然还会进一步发展。

猜你喜欢
双层计算机软件客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
玫瑰小蛋糕
刍议计算机软件中的安全漏洞检测技术
计算机软件技术的不可靠性探析
墨尔本Fitzroy双层住宅
“双层巴士”开动啦
倾斜(历史老照片)
媒体客户端的发展策略与推广模式
新华社推出新版客户端 打造移动互联新闻旗舰