基于三层架构模式的成绩管理业务系统

2014-12-25 02:12张园田
重庆电力高等专科学校学报 2014年6期
关键词:架构逻辑服务器

张园田

(重庆电力高等专科学校,重庆400053)

近年来,随着计算机技术的大力发展和网络的普及,个人电脑(PC)已经走进了千家万户,这为多媒体教学软件的使用和发展提供了前提条件。而多媒体教学软件所具备的生动活泼、寓教于乐、趣味性强等特点,也决定了它深受学生的喜爱。另外,多媒体教学软件具有强大的的数据库能力和跟踪能力,能方便老师和家长对孩子的学习情况进行跟踪观察,以便于及时发现和解决问题。如今,多媒体教学软件已经越来越受到学生、家长和老师的欢迎。其中,作为一个开放的多用户教学平台,学生成绩管理系统也逐渐成为课堂教学的重要辅助和补充。

1 三层架构概述

在1980年代末,人们就提出了客户/服务器(C/S)模式。它的关键在于功能的分布:一部分功能被放在客户机上执行,另一部分功能则在服务器上执行。而随着应用系统的大型化及基于Internet的应用发展要求的不断提高,这种模型逐渐得到了广泛的应用。

传统的两层客户机/服务器模式比较适合于小规模、用户较少、单一数据库且在安全、快速的网络环境下(例如局域网)运行。但是,随着应用系统的规模不断扩大,复杂性越来越高,尤其在多用户、多数据库且不稳定的网络环境下,两层结构的应用模型将无法适应。[1]

三层客户/服务器模式(以下简称三层模式)在两层模式的基础上,增加了新的一级。它将应用功能分成表示层(UI)、功能层(BT)和数据层(DA)三部分。其目的是:对这三层进行明确分割,并在逻辑上使其独立。原来的数据层作为DBMS已经独立出来,所以,关键是要将表示层和功能层分离成各自独立的程序,并且还要使这两层间的接口简洁明了。[2]一般情况是只将表示层配置在客户机中,也可以把逻辑层也放在客户机中,这样的话,与二层C/S结构相比,其程序的可维护性要好得多。其体系结构关系如图1所示。

图1 三层架构体系示意图

如果将逻辑层和数据层分别放在不同的服务器中,则服务器和服务器之间也要进行数据传送。但是,由于在这种形态中三层是分别放在各自不同的硬件系统上的,所以灵活性很高,能够适应客户机数目的增加和处理负荷的变动。[3]而系统规模越大这种形态的优点就越显著。

值得注意的是:三层C/S结构各层间的通信效率若不高,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能。此外,设计时必须慎重考虑三层间的通信方法、通信频度及数据量。这和提高各层的独立性一样是三层C/S结构的关键问题。

三层模式的主要优点表现在以下几个方面[4]。(1)具有灵活的硬件系统构成。对于各个层可以选择与其处理负荷和处理特性相适应的硬件。这是一个与系统可缩放性直接相关的问题。(2)提高程序的可维护性。三层C/S结构中,应用的各层可以并行开发,各层也可以选择各自最适合的开发语言。(3)利于变更和维护应用技术规范。因为是按层分割功能,所以各个程序的处理逻辑变得十分简单。(4)进行严密的安全管理。越关键的应用,用户的识别和存取权限设定越重要。在三层C/S结构中,识别用户的机构是按层来构筑的,对应用和数据的存取权限也可以按层进行设定。

2 系统需求分析

成绩管理业务系统需要满足五种不同角色的操作需求,分别表现在以下几个方面。(1)教学主管负责管理班级、学生的学习和训练成绩,生成报表,根据学生的成绩进行评价并指导教师工作。(2)教师可以查看、管理所负责课程、班级、小组、学生的学习和训练成绩,根据成绩指导学生学习和训练;学习和训练成绩有数值表格、进度条、发展曲线等显示形式;成绩包括每个单独训练成绩和若干单独训练成绩组成的单元成绩2种形式。(3)组长可以查看小组和组员成绩。(4)学生在参加课程学习和训练时会产生评价成绩,学生可以看到以分值、奖品、进度条等形式显示的成绩;学生可以在学习和训练过程中看到即时成绩、单元训练成绩。(5)家长根据权限可以按时查看学生的成绩统计表格和奖品。

将五种用户的需求汇总,可以看出,总计有两种数据输入模块,负责将学生训练时产生的单项成绩和单元成绩输入数据库。四种数据输出界面,分别负责从数据库中读出课程内容、单项成绩、单元成绩和成绩排名予以显示。

3 成绩管理业务系统架构

本系统总体硬件架构由学生机、逻辑服务器以及数据库服务器三部分组成。其网络架构如图2所示。

3.1 学生机

这是本系统中所拥有最多的计算机,从理论上来说,这类机器的最大数量并无限制;从实际上来讲,学生机同时登陆的数量只要不超过系统最大负载能力就可以同时运行。学生机上主要运行三层架构的UI层。该层包括了客户端,但不包括业务逻辑处理部分和数据库部分。当需要调用下层功能时,学生机的客户端通过UI接口向下层业务发出请求,并在收到响应后在UI上显示出来。从功能上来说,学生机及其上所运行的UI层需实现以下功能:(1)运行客户端程序;(2)提供优秀的图形UI界面以吸引用户;(3)允许用户进行登陆、注册、查看和训练等业务;(4)对用户提交的请求做出响应,并把业务逻辑和数据库访问请求向下层提交;(5)接收来自业务逻辑层返回的指令或数据;(6)将下层内容重组,显示在UI界面上。

图2 机房管理系统网络构架图

总的来说,学生机充当网络架构中的终端角色。

3.2 逻辑服务器

这种计算机充当服务器的角色,为多台学生机提供服务,在其之上,运行的是业务逻辑层(BL),该层主要负责本系统所涉及业务的逻辑实现。从结构上来说,逻辑服务器对学生机提交的所有请求进行响应,作出判断或计算,将结果返回学生机,若所提交的请求需访问数据库(例如查询成绩、提取题库等),向下层(DA)发出请求。

从功能上来讲,逻辑服务器需提供以下功能:(1)拥有控制权限,对学生机上的用户界面(UI)进行控制;(2)对学生机提交的业务逻辑请求进行响应;(3)可向数据库服务器(DA)提出数据库访问请求;(4)将计算结果或数据返回学生机相应UI界面。

总的来说,逻辑服务器充当了C/S结构中服务器的角色,但是与传统意义的服务器有所不同的是,它并不具备数据库,也不提供数据库处理功能。取而代之的是,将数据库请求继续向下层提交,并响应下层返回的结果。

3.3 数据库服务器

数据库服务器作为三层架构的最下一层(DA),其功能是将业务逻辑服务器从繁琐的数据库处理中解放出来,并且由于单独设置了数据库服务器,可以很方便地设置并管理权限,也便于进行安全设置,防止数据库被破坏。从逻辑上来讲,数据库服务器(DA)对上层(BL)提交的数据库处理请求(包括查询,添加,删除和更新等)进行响应并做出处理。之后,向上层返回所请求的数据。

从功能上来讲,数据库服务器主要需要实现以下四个方面的功能:(1)构建并维护数据库文件;(2)在数据库内建立所需的所有表,并标好字段;(3)提供数据库访问接口,包括添加、删除、查询和更新等;(4)对上层(BL)提交的数据访问请求做出响应,并用接口返回所需数据。

因此,三层架构中的业务逻辑服务器则可以从繁重的数据库处理任务中解放出来,有利于平衡整个系统的负载,不至于出现性能瓶颈;另一方面,由于数据库服务器的出现,使得数据库的一致性问题得到了很好的解决,开发时不需过多关注数据一致性问题。同时,使用软件的三层架构,让每一层的功能十分清晰,不至于出现混乱,有利于软件开发。

4 成绩管理业务详细设计与实现

根据前面的分析,成绩管理业务中查询模块主要在UI层,而插入模块主要在BL层,功能是记录用户的练习成绩,并允许用户通过查询窗体进行查看。实现方法是通过提供窗体与相应的接口,与用户展开互动,当需要访问数据库时,使用数据库提供的接口完成用户成绩的录入、删除、更新和查询。

成绩管理业务的总体逻辑图,如图3所示。

图3 系统总体逻辑图

5 数据库访问接口组件

作为一个团队合作的项目,每个人的业务流程都或多或少地会涉及数据库访问,因此,开发一套通用的数据库访问接口组件就变得十分有必要了,它可以让所有人使用相同的接口访问数据库,不但避免了兼容性问题,同时也减少了重复劳动,提高了开发效率。[5]

数据库内各表关系图如图4所示。

图4 数据库内各表关系图

数据库访问组件包括提供字段集模板md_score和md_score2,提供BL层接口bl_score和DA层接口da_score与dalSHFDB,同时,提供数据库连接接口da_conn供da_score调用。其关系如图5所示。

图5 系统各层关系图

由图5可看出,bl_score工作在BL层,为UI层提供数据库访问接口,而它自己又调用da_score的函数实现功能,起到了承上启下的作用。

6 结束语

运用计算机进行多媒体电子教学,是当今教育领域的一个重要的研究课题,是计算机成为当今社会辅助教学手段发展的必然趋势。本文通过对实际业务的分析,确定了成绩管理业务系统的设计思想和运行流程,阐述了网络教学系统的C/S结构实现思想,并给出了系统的C/S模型。同时,在基于三层架构的软件框架理论之上,设计了网络教学系统的标准组件和业务逻辑模块划分,以及完成了对数据库访问接口组件的整体规划。但是,在具体如何界定各层的范围以及确定隔层调用的接口上,还需要在实际应用中对实际需求进行选择和分析。

[1] Len Bass,Paul Clements,Rick Kazman.软件构架实践[M].北京:清华大学出版社,2004.

[2] 童吉辉.面向对象技术与软件开发[J].技术研发,2010,(5):40-44.

[3] 付树才.基于C/S模式的机房管理系统的设计与实现[D].北京:北京科技大学,2008.

[4] 易金聪,张秀萍,宁正元.基于C/S与B/S模式的管理信息系统的设计与实现[J].微型电脑应用,2003,(4):113-116.

[5] 魏祖宽,江利娟,金在弘.数据库访问技术比较研究[J].计算机与现代化,2009,(12):87-92.

猜你喜欢
架构逻辑服务器
基于FPGA的RNN硬件加速架构
刑事印证证明准确达成的逻辑反思
逻辑
创新的逻辑
功能架构在电子电气架构开发中的应用和实践
通信控制服务器(CCS)维护终端的设计与实现
女人买买买的神逻辑
WebGIS架构下的地理信息系统构建研究
中国服务器市场份额出炉
得形忘意的服务器标准