基于JavaEE 的在线考务综合管理系统的设计与实现
2022-06-01赵茜,姚斌
赵 茜,姚 斌
(武汉工程科技学院 湖北 武汉 430200)
0 引言
近年来,随着社会经济的飞速发展,各个行业都在尝试科技转型,从传统的经营模式逐步向信息化、智能化转型,同时对高等教育专业人才的培养质量也提出了更加多元化的要求。为了满足当前社会经济发展下各个行业的人才培养新需求,构建客观、准确的高等教育人才培养质量评定体系是非常必要的[1],而其中非常重要的一个环节就是专业人才的考核。专业人才考核渠道有很多,包括校内学生的成绩考核、国家认定的各种资格认定考核、行业内的资格认定考核等等。无论哪种考核形式都需要有大量的工作人员去完成考核组织、考核人员调度、考核结果整理等工作。考务管理工作虽然看似难度不高,但涉及人员多、内容琐碎、要求严格,采用人工管理,需要投入大量的人力成本和时间成本,且难以保证工作的有效性和准确性[2]。在此前提下,在线考务综合管理系统是能够提高考务管理工作效率的最佳解决方案,同时还可打破空间的限制,适用于各种考核形式下的考务管理工作需求。
1 核心技术概述
1.1 JavaEE 框架
Java 平台企业版(Java Platform Enterprise Edition,JavaEE)框架的底层核心开发语言采用Java语言,提供了一套适用于企业的、基于Java 组件的应用程序开发标准,对软件开发结构、部署都进行了更加科学的规范,核心思路是分布式部署、分层式构建[3]。目前基于JavaEE框架的开发平台主要有两种,一种是轻量级应用平台,以Spring 技术或Hibernate 技术为核心技术的开源框架,其开发无需专门的应用服务器,只要是支持Tomcat、Jetty等技术的Web 服务器就可支持其运行;一种是标准级应用平台,以企业Java Bean3(Enterprise Java Bean3,EJB3)为核心技术的开发框架,其开发的服务需要在专用服务器上才能运行,例如JBoss、WebLogic、WebSphere等服务器。无论采用哪种开发平台,其核心思路都是一样的,因此它们都具有极高的运行稳定性、可扩展性和可维护性。这里基于开发成本和服务用户的数据体量考虑,采用轻量级应用开发框架更为恰当。
JavaEE 框架与其他开发框架最为不同的区别是,JavaEE 提出了“组件+容器”的开发模式,框架中基础功能的开发均通过组件调用来实现,组件与组件之间功能相对独立,通过将文件、类似这样的“容器”可以对组件进行灵活“组装”,也可以实现组件之间的交互,而一个组件的改变也不会对其他组件产生影响。通过对文件、类的调用、多态、重载的操作就可以实现对应功能的扩展、动态加载和更新,而不会影响其他“容器”的正常使用,这也为JavaEE 分层式框架的实现奠定了基础。JavaEE 分层式框架就是将功能开发分为了3 个层级,分别为表示层、业务逻辑层和数据层,层级之间低耦合连接、功能独立,各个层级的功能更新、维护都不会影响到其他层级,这也正是JavaEE 框架最大的优势所在。
1.2 Spring Boot 框架
Spring Boot 框架是Spring 框架的改进版,是JavaEE轻量级应用开发框架的一种,在技术特性上保留了Spring的优势,例如对服务器平台的兼容、提供的松耦合、可测试应用开发方案、对其他技术和框架的兼容等,并对其繁复的配置过程进行了简化[4]。Spring 应用的开发需要进行大量的XML 配置和注解配置,开发人员需要花费相当的时间对其进行学习和操作,且对配置环境要求苛刻,极易出错。Spring Boot 针对Spring 的这一问题,提供了大量的开箱即用模块,成为依赖模块,例如spring-boot-starterredis、spring-boot-starter-data-mongodb 等,这些模块的主要功能就是实现Spring 环境的自动配置,当然自动配置主要参考的是最为常见的应用环境进行默认参数配置,并不能适用所有的开发环境,如要对配置进行修改,仍需要通过开发人员手动在配置文件中进行设置,可即便如此,Spring Boot 也极大地简化了Spring 的应用搭建工作。
1.3 B/S 架构
浏览器/服务器(Browser/Server,B/S)架构是最为主流的Web 服务开发框架之一[5],技术成熟,运行性能稳定、可靠,是现在基于Web 服务应用程序开发的首选框架,因此在线考务综合管理系统采用B/S 架构,结合Spring框架、HTML 技术的解决方案进行系统开发,从系统性能、功能使用和系统的迭代更新、功能扩展等方面看均可满足用户需求。
2 在线考务综合管理系统的架构设计
在线考务综合管理系统提供的考务信息化管理功能是通用型功能,能够适用于一般性的高校内考试和社会性考试。所提供的功能分为考试筹备、考试进行、考试结束三大阶段,包括考前安排、考试过程管理、考试信息汇总等功能。
2.1 系统总体架构设计
系统总体的架构设计整体采用B/S 模式,分为浏览器前端与服务器后端[6],前端主要解决用户交互、权限验证、页面内容正确显示等问题,后端负责核心业务的处理和数据管理。其中具体业务功能开发结合了JavaEE 轻量级开发框架Spring Boot 实现了分层式开发,将系统前后端功能划分为了表示层、业务逻辑层和数据层3 个主要层级,依据各个层的功能需求再做进一步细分,例如将业务逻辑层细分为逻辑控制层与业务处理层,将数据层细分为数据访问层、数据存储层。层级之间采用通用接口进行交互,为单独的交互层,系统整体的架构设计具备了“高聚力、松耦合”的性能优势,系统架构设计见图1。
如图所示,在线考务综合管理系统总体架构设计主要分为前端与后端两个部分,前端以Web 浏览器终端为载体,主要用于实现表示层的功能交互。终端用户必须通过表示层所提供的页面对系统进行访问和交互,提交相应的业务请求后,则由前端Web 的交互层接口进行下一层级的功能调用、信息传输。表示层的功能设计主要用于解决前端页面的显示问题,页面显示又包括页面内容的显示与页面布局的显示、格式控制、基础的交互验证等功能,依据功能需求的不同,表示层中采用了模型—视图—控制(Model-View-Controller,MVC)分层式构架。视图提供了一种通用的基于HTML 标签页面布局的界面显示方式,并对页面中的静态内容与动态内容的显示进行了分离,其中动态内容的显示由控制层进行控制,主要采用了Java 服务器页面(Java Server Pages,JSP)动态页面控制技术,JSP操作指令可以标签的形式嵌入在HTML 中,通过HTML 的表单获取交互数据,并实现动态内容的显示控制。模型则提供了通用的数据处理规则,对视图产生的数据建立通用模型,可以服务于多个视图,减少了代码的重复编写。
后端以Web 服务器为主,用于实现业务逻辑层与数据层的功能。其中业务逻辑层是系统核心功能的实现层,系统核心功能分为两大类:数据交互与流程控制。数据交互指的是数据请求的接收及响应业务,包括数据业务处理的操作规范、具体的数据操作类型、数据的合法性验证等,至于针对具体的数据响应事件采用何种操作,并不是由业务逻辑层直接来完成的,而是需要通过交互层接口调用数据层相应的功能组件来完成。流程控制模块主要用于实现所有业务处理的流程控制,包括流程的跳转、异常处理、与业务处理有关的其他功能设计等。JavaEE 的这种多层级架构设计,层级之间是一种“向上无关、向下依赖”的关系,业务逻辑层作为中间层起到的是一个承上启下的作用。
数据层作为三级架构的最底层,也称为数据持久层,通过Session 会话屏蔽了底层数据存储介质的关系型数据结构与业务执行程序中的面向对象存储结构之间的结构差异,保持了数据的一致性和持久性,提高了数据交互代码的重用性和数据访问效率,这也是数据层的数据访问子层级的主要功能;而数据存储子层级主要用于实现对各类数据存储介质的访问操作,包括二进制文件、文本文档、XML 文档以及各类数据库系统。通过数据库语言结构化查询语言(Structured Query Language,SQL)即可对数据库系统进行增加、删减、修改、查询等操作。
2.2 系统功能的设计
在线考务综合管理系统的功能设计图见图2。
如图所示,在线考务综合管理系统主要包括七大功能模块:考前信息业务模块、监考人员管理模块、数据导出/打印模块、考试巡查管理模块、信息上报模块、数据汇总模块、系统管理模块,满足了从考前、考中到考后3 个阶段的信息化管理需求。
3 在线考务综合管理系统的功能实现
3.1 考前信息业务
考前信息业务管理模块主要用于考前准备过程中的必备信息采集和存储,面向的访问用户为参与考务工作的相关人员。管理的信息包括:考试科目信息、考点信息、考场设备信息、其他考场资源信息。历次考试的信息都会存储在该模块当中,形成对应的考试科目信息库、考点信息库、考场设备信息库和考场资源信息库,用户可以通过这些信息库实现对当次考试信息的快速采集,也可通过人工方式手动增加新的信息。
3.2 监考人员管理
监考人员管理模块用于实现考试所需的考务、监考人员的信息采集、管理和单次考试的人员考场安排等信息。下设子功能模块包括:人员信息采集、人员信息库管理、单次考务人员安排、单次监考人员安排、单次考试工作人员签到5 个模块。这里单次管理指的是每一次考试的信息管理和维护,通过单次管理模块实现对每一次考试的具体人员安排,涉及的人员信息可以通过人员信息库快速获取,也可以通过人员信息采集模块进行采集。人员信息库则用于存储和管理历次考试的考务、监考人员信息。
3.3 数据导出/打印
数据导出/打印模块提供了通用的数据导出接口和指定格式的文档打印接口,用于导出和打印考试过程中所需的一些数据信息、表格、文档资料等。包括:考场安排、考务人员安排、监考人员安排、考场设备领用登记、考场资源领用登记、考场号贴条、考场内座位号贴条、考生签到登记、考生签退登记、考场记录单等。
3.4 考试巡查管理
考试巡查管理模块用于实现考试现场的监控信息采集和管理,包括视频浏览、查看、录像、推送、存储等功能。由于该模块需与摄像头、显示屏等硬件设备配合使用,对考场现场的实地环境有一定要求,在不具备摄像条件的环境下,该模块为选用模块,用户可以选择不启用该模块功能。该模块提供了通用信息采集接口,设备接入后即可在线查看监控信息,可以通过对接显示屏在线实时显示监控画面,也可进行影像切换、查询、录像、推送等功能操作。
3.5 信息上报
信息上报模块用于实现在线信息的上报和推送功能,在考试过程中如果出现紧急的或异常的情况以及违规、违法事件,都需要向考试组织者或管理者及时反映情况,通过该模块可以在线进行信息上报,或者按照要求推送给指定的考务人员,上报信息主要包括:缺考信息、违规信息、异常信息3 类。
3.6 数据汇总
数据汇总模块用于实现考试结束后的相关信息汇总功能,主要包括考生信息汇总、考卷信息汇总、考点考场信息汇总。其中考生信息汇总用于统计实际参加考试的人员数量、考试人员的具体信息,对应的考点、考场等;考卷信息汇总用于统计交回的考卷数量、对应的考点考场、涉及的监考、检查人员等信息。同时该模块还提供了数据上报、打印的功能,便于在线完成数据信息的导出、共享。
3.7 系统管理
系统管理模块提供了系统设置与用户管理两个子功能模块,系统设置用于实现系统登录、权限验证、登录用户信息查看、用户信息修改等功能;用户管理是针对不同的用户角色进行维护和管理,用户角色主要包括:管理员角色、考试组织方管理员、考点管理员、考场管理员、一般用户等,其中管理员用户可以对所用用户角色进行添加、删除、修改、查询操作。
4 结语
本研究针对当前各类人才考核的考务管理工作需求提供了一个基于JavaEE框架设计的在线考务综合管理系统,实现了考前考务信息、人员信息的采集、管理,考中所需数据信息的导出、打印、上报和巡考监控的实时信息采集管理,考后信息的上报、汇总,大大提高了考务管理的工作效率、考务信息的实时性和共享性管理。