基于MVC模式的机房教学系统设计

2017-07-03 13:22沈来信吴晓盼
黄山学院学报 2017年3期
关键词:考勤管理员机房

沈来信,杨 帆,吴晓盼

(黄山学院 信息工程学院,安徽 黄山 245041)

基于MVC模式的机房教学系统设计

沈来信,杨 帆,吴晓盼

(黄山学院 信息工程学院,安徽 黄山 245041)

教学系统采用 MVC 架构,利用 JavaBean、Servlet、TCP、UDP 以及组播等技术,利用 Java 语言和MySQL 数据库完成计算机机房的实验课教学与管理系统,系统的超级管理员端安装在中心服务器上,中级管理员端、教师端和学生端分别安装在机房内的管理员机器、教师机器和学生机器上。 该系统具有签到考勤、设备监控、视频教学、远程协助、屏幕监控和基于局域网的群聊、单聊等功能。 该系统的应用可以提高学生的出勤率,帮助教师对学生进行更有效的教学和管理,同时还能监控设备的使用状态与意外破坏等。

MVC;Servlet;组播;机房电子化系统;考勤

0 前 言

当前大多数高校的公共计算机类包括多媒体、网页设计、各种语言类教学的实验与实践课程是在计算机机房内进行的,实验与实践课程在巩固学生对理论知识的学习的同时,还能提升学生实验与实践的积极性和实际动手应用能力。由于同时上课的人数较多,机房课堂中存在着上课效率不高、管理难度大、师生交流机会少、重复问题多次解答以及平均每位同学得到解答的机会较少等问题。机房实验课管理系统的目的就是督促教师和学生在机房内上课过程的互动性,提高教授与学习的效率,将机房实验课变得更加标准化、规范化、有效化。

从实际环境应用中的需求分析来看,机房实验课教学管理系统应该具备以下功能。

1.设备监控:对机房内所有在用的设备进行状态监控,如是否开机正常、系统配置情况、当前界面情况、从事的历史操作记录等,可以实现远程设备的故障清除、远程重启与关机、远程发送互动信息和提示信息,远程截屏和信息诊断等设备管理等。

2.学生考勤:完成实验课学生的日常考勤,对学生操作系统界面可以进行远程查看、远程故障清除、远程重启和关机、远程发送教学互动信息,系统能够生成考勤统计数据,对从事无关操作的学生发送警告信息等,可以按照时间段生成考勤报告等。

3.教师教学:中级管理员可以对上课教师的操作进行管理与监控,如发现与课堂无关的操作,可以远程提示、关闭甚至重启与关闭其教师端机器等。

4.课堂管理:可以远程发送网络资源与教学信息,如课堂任务、作业信息、问题答疑、文件发送与回收等,提高课堂教学的便携与效率。

5.师生互动:在学生人数比较多的情况下,一节课下来,对每位同学的平均答疑时间是比较少的,很多重复性问题需要讲解多遍,本模块实现端对端和端对群的交互,可以实现一对一和一对多的互动教学环节,提高教学效率和答疑有效性。

6.教学评价:学生可以对老师提出意见和建议,也可以对教师进行教学评价等,对每节课的任务进行适当反馈,提高教师与教学的适应性,也能提高实验课教学质量。

MVC(Model-View-Controller)是数据模型、页面视图 与 服 务 控 制 端 的 略 写[1-4],是 SSH (Structs+ Spring+ Hibernate)结构的主要表现形式,体现了系统实现的数据与页面分离实现的三层分层架构模式[5-6],数 据 模 型 层Model主要实现每一个数据实体(数据表)的管理,包括数据表结构的建立、 数据的读取、 写入、 修改等 JavaBean 操作,Model又可以分为两级管理, 实体层和实体操作层,其中实体层就是数据表的类实现,如用户类UserData, 而实体操作层为对实体层数据表的操作,包括添加 AddBean、 删除 DeleteBean 与修 改 ModifyBean等; 页面视图层 View 主要负责界面端的设计与实现,包括系统前台页面和后台管理页面,主要通过调用实体层类完成对数据库表的读取与写入等;控制层 Controller 主要由 Servlet完成对后台数据的修改与写入,以及业 务逻辑 的功 能实现 等[7]。

1 机房教学系统的设计

本系统包括多个实体,分为超级管理员端、中级管理员(机房)端、用户端(教师端、学生端)。 其中超级管理员具有最高级权限,可以添加、删除与修改中级管理员账户,中级管理员可以管理教师端和学生端应用程序,可以添加、删除与修改教师用户与学生用户。 教师端可以管理学生端,实现学生用户的添加、删除与修改等操作。 学生端主要完成用户注册、用户登录和用户信息修改以及查看作业、修改作业、上传作业、查看成绩、提问题、参与讨论、考勤等操作。

1.1 系统架构图

本教学系统采用通用的 C/S(Client/Server,客户端/服务器端)架构和 MVC 框架。 服务器采用 Tomcat6.0 进行发布,所有数据库安装在服务器上;所有应用程序分成 4 个级别,即超级管理员端、机房(中级)管理员端、教师管理员端和学生用户端,其中超级管理员具有修改数据库的最高权限,系统架构如图 1所示。

图1 系统架构图

1.2 考勤算法

为了准确地获取学生实验课的真实出勤情况,需要设计合理的签到事项去检测用户的实际机器运行的状况,避免出现一台机器多个客户端登陆多个账户的行为,考勤模块设计递进式和智能的签到算法,在 2 节课的实验课时间内,每隔一定时间就有一个签到按钮弹出,提示用户点击后完成一次签到,每次课上有 6 轮签到,每轮签到只需要点中 1 次签到按钮即可,每轮签到成功算 1 分,如果又一轮签到没有成功,则会在下一轮签到中增加签到次数,直到完成签到总数的三分之二,则表明本节课签到成功,否则继续增加签到次数。

每轮都设定一个模式类型, 即初始化模式为“1”,签到次数为模式类型数字的两倍减一,即模式“1”需要签到 1 次,模式“2”需要签到 3 次,以此类推下去。 上一轮签到成功则模式减 1,否则加 1。

最后6轮的总分值作为最后的考勤分数,利用分值在不同区间进行相应行为判断,分别为签到6分为“满勤”,签到 4 和 5 分为“正常出勤”,签到 1-3 分为“非正常出勤”,签到 0 分为“缺勤”,判断算法如下:

1.3 视频教学

教师端采用组播技术传送图像数据,首先启动一个线程,对教师端屏幕进行截屏,然后将截屏数据分包发送给所有学生端。学生端启动后先完成初始化,然后开启相应的监听线程,当学生端接收到完成报文后,即开始组合成完整数据,然后形成图像全屏显示在客户端的屏幕上。 教师端可以开启、中断和重启、关闭视频教学,当教师端开启和重启视频教学时,学生端自动打开视频窗口,不能进行其他造作,只能同步显示教师端界面操作,主要代码如下:

1.4 远程协助

本模块采用 TCP 协议和多线程技术, 获取远程用户端的桌面,并把本地的鼠标和键盘事件发送到远程用户的接收端上,当远程协助用户接收端获取相应事件后,即开始执行对应的事件触发程序,从而实现对远程主机的桌面控制,核心代码如下:

1.5 设备监控

本模块采用 Pink 技术的扫描技术, 服务器端开启一个定时器,设定一个间隔时间,每个相应时间对机房内所有设备列表的 IP 地址进行 Pink 连接测试,根据返回的结果来判断该设备的使用状态,在结果界面上显示为相应的“在线”和“不在线”状态,核心代码如下:

1.6 屏幕监控

本模块采用 UDP 协议,首先广播服务器监控端的IP 地址到所有被监控端,当收到监控指令后,客户端进行本地桌面的截屏,然后对所截屏图像进行压缩,最后把压缩图像组播发送到服务器端,服务器端再进行截屏图像的再显示。由于截屏图像是压缩和加密传送的,所以在监控端看到的图像是模糊的,不会泄露被监控端(如教师端、学生端等)的个人隐私,也起到了数据安全的目的,核心代码如下:

1.7 数据库连接池

系统后台数据库和数据库服务程序安装在服务器端,所有客户端的请求发到到 Tomcat6.0 上运行的 Servlet程序, 然后通过调用相应 JavaBean 文件的 DAO(Data Access Object,数据访问对象)来进行数据库操作。

数据库连接采用连接池获取,客户端数据使用完毕后,连接就可以放回连接池中了,为了避免请求书过多造成的数据库连接数用尽,对于连接池中每一个连接 Connection 都是以建立多个回话 Statement来处理具体的数据库,操作完成后即关闭 Statement。 连接可以循环使用。连接池会进行不定时的刷新以清除坏连接和关闭空闲的连接,核心代码如下:

2 系统实现与测试

2.1 数据库连接池实现

服务器端采用 Tomcat6.0 部署,系统初始化时会自动加载数据库连接池。 所有客户端的请求会以 Servlet的形式向服务器请求服务, 客户端进行 HTTP 的 URL访问,并通过对象流封装网络输入输出流,与服务器端进行请求参数和服务结果的交互。

各功能的实现是通过响应 Servlet程序获取参数对象,然后调用 DAO 的相关方法,进行相关的数据库操作。

2.2 管理员端实现

管理员端实现用户管理、课程管理、设备管理、教师管理、网络管理、机房日志管理等,中心界面显示了全部的客户端机器,可以查看每台机器的状态与界面等,如图 2所示。

监控程序 Ping 客户端机器的 IP 地址,根据返回的TTL 值来判断其在线状态。

2.3 教师端实现

教师端具有学生用户管理、作业发布、作业查看、作业评分、问题答疑、在线讨论、查看学生屏幕、远程协助与信息发送等。

网络流量监控实现通过 Jacp 功能包获取管理员端机器的网络报文,进行上传和下载流量的统计并以JFreeChart的 TimeSeries 形式实时刷新显示。

图2 管理员端监控界面

教师端和学生端的群聊功能是利用组播技术实现的,同一机房的所有机器可以加入同一个组播组,组播服务端口号由机房 ID 来动态生成,避免了同一网段内不同机房可能存在的课程冲突等现象。

2.4 学生端实现

学生端具有考勤、问题提问、讨论、评教、观看视频等功能,可以查看教师发布的作业,可以提交与修改作业等。

学生端考勤分为本次签到和以往历史签到两种形式,以往历史签到以一段时间内的统计曲线方式显示出来,可以用来提醒学生关注自己的历史考勤情况。

学生端可以利用 TCP 协议向教师端发送远程协助请求。当教师端对学生机器进行远程协助时,先是通过TCP 协议获取学生的本地系统桌面, 然后通过发送教师端的鼠标与键盘事件到相应的学生端机器上,教师端就可以进行学生远程桌面的控制了。

3 总 结

系统采用 MVC 分层模式和 C/S 架构完成超级管理员端、中级管理远端、教师端和学生端以及服务程序的5级模块实现,超级管理员端和中级管理远端以及服务程序可以分别部署在不同服务器上,服务器采用连接池的数据库技术,可以解决上万个客户端并发访问的连接数过多的问题,教师端与学生可以部署在每一个机房中,实现每个机房之间操作的独立性,上课信息包括上课教师姓名与工号、学生姓名与学号等由机房管理员事先导入到服务器数据库中。

每节课根据设定好的上课时间段,机房(中级)管理员可以启动教师端和学生端,上课教师利用工号登陆计算机系统后,即可进行作业发布、学生管理和设备监控等;学生利用学号在任一台机器上登陆后,即可进入学生端,进行上课模式,具有考勤、提问、讨论、观看视频和远程协助等功能。

[1]刘 红 霞 ,陆文迪.改 进的 MVC 设 计 模 式 的 研 究 与 应 用[J].计算机工程与科学,2015,37(19):1688-1691.

[2]梁弼,刘笃 晋.基 于分层模型 的古建筑 文 物 展 示 平 台 研 究[J].计算机技术与发展,2016,26(4):127-131.

[3]车遥宇.基于 MVC 设计模式的教学质量评价方法研究与应用[D].哈尔滨:哈尔滨工程大学,2015.

[4]徐 金 虎 , 宋 斌 , 丁 锐 .Spring MVC+Hibernate+jQeury 模 式 开发框架应用研究[J].自动化技术与应用,2015,34(3):42-46.

[5]杨帆,沈来信.基于 SS2H 的微信公 众 平 台 账 号 设 计[J].计 算机技术与发展,2016,26(1):195-199.

[6]赵志成.基于 J2EE 协同办公管理系统的设计与 实现[J].哈 尔滨师范大学自然科学学报,2015,31(1):85-87.

[7]王延翔,杨金民.基于分层分类的 J2EE 应用系统异常处理方法[J].计算机应用研究,2015,32(3):776-780.

责任编辑:胡德明

The Design of a Teaching System for Computer-rooms Based on MVC Model

Shen Laixin,Yang Fan,Wu Xiaopan
(School of Information Engineering,Huangshan University,Huangshan 245041,China)

An experimental teaching and management system for computer-rooms is developed using Java language and MySQL database through MVC frame and other key technologies such as JavaBean, Servlet,TCP,UDP and multicast.The system's super administrator client is installed in the central server. The intermediate administrator client,teacher client and student client are installed in the administrator's machine,the teacher's machine and the students'machines respectively.The e-system has such functions as checking-in,equipment monitoring,video teaching,remote assisting and screen monitoring as well as group chatting and individual chatting based on local networks.The e-system can improve students'attendance rate and contribute to teachers'more effective teaching and management.The using status and accidental damage of the equipment can also be found timely through real-time monitoring.

MVC;Servlet;multicast;computer-room e-system;checking-in

TM764

:A

:1672-447X(2017)03-0032-04

2016-10-15

安徽省教育厅大学生创新实验室建设计划项目(2015ckjh089);黄山学院教学研究项目(2016JXYJ02);安徽省大学生创新创业训练计划项目(201610375042;201510375002)

沈来信(1979-),安徽怀远人,博士,黄山学院信息工程学院副教授,研究方向为云计算与大数据。

猜你喜欢
考勤管理员机房
我是小小午餐管理员
我是图书管理员
我是图书管理员
可疑的管理员
基于人脸识别技术的考勤应用研究
智能人脸识别考勤系统
浅谈电子考勤的优势及简介
数据中心机房气流组织研究在某机房的应用
便携式指纹考勤信息管理系统设计
N通信公司机房节能技改实践