基于GSM Modem的专业监考派发系统的设计与实现
2016-05-03张泽吴开星
张泽 吴开星
摘 要:使用GSM modem、jsp技术、oracle数据库及建模工具构建基于GSM modem的B/S监考自动派发系统。根据需求,系统不仅实现监考任务表的导入、监考任务自动派发、监考调整、监考任务导出、监考查询等传统派监考教师功能外,还使用GSM modem和应用程序连接融合,完成自动发短信提醒监考教师考试时间的功能。此系统可提高监考安排工作的效率,节省大量重复劳动时间。防止漏排、错排、教师遗忘监考时间等情况出现。系统易于维护、使用方便。
关键词:GSM Modem;短信息;监考派发;jsp
中图分类号:TP311.52 文献标识码:A 文章编号:2095-2163(2016)02-
Design and implementation of the professional distribution system based on GSM Modem
ZHANG Ze,WU Kaixing
(School of Computer Science and Technology,Northeast Forestry University,Harbin 150040,China)
Abstract:The professional distribution system based on GSM Modem is a system which uses GSM Modem,JSP technology, Oracle database and modeling tools to structure.According to the demand, the system not only realizes the import of the exam lists,the automatic distribution of tasks,adjusting the examiners,the export of the exam lists,querying the examiners,and so on,but also the use of GSM modem and applications connected together to send short messages to remind examiners the time of the exams.This system can improve the efficiency of invigilating arrangement work, save lots of duplication of work time. It can prevent leakage of row, the wrong sort,teachers forgetting of the time and other circumstances. The developed system is easy to maintain and easy to use.
Keywords:GSM Modem;short messages;the distribution of tasks;jsp
0 引 言
随着我校教育教学改革的深化,越来越多的基础课和专业课正在或已经开展了阶段考试方法改革,由此则直接导致增加了考试次数,再加上必有的期末考试,就给监考部署工作带来较大压力。调研可知,多家高校的二级学院的监考规划工作几乎都是由人工担负完成。分派监考时,不仅要考虑诸如不能同一时间给一名老师指派多门监考任务,教师上课的时间不能另派监考等情况,而且更要在监考前通过各种通讯工具提醒教师承担有监考任务。传统的监考管理方法下漏派、错派监考、教师忘记监考时间的情况时有发生。针对这一事实状况,构建一个监考自动派发系统即已成为学院级考试监察管理工作实现数字化、智能化的现实关键核心技术。该系统研发可使负责派监考的教师摆脱繁琐的工作模式,短信提醒就可使教师不必再勉励监考失职这一尴尬场景,从而切实免除了监考派发中极易出现的一些错误,提高监考安排的工作效率、工作质量。本文将对这一课题研究给出如下完整论述。
1 系统需求,研究方法及技术路线
2 监考派发系统的设计
2.1数据库设计
基于对系统的可行性需求分析,建立监考派发系统数据库geren,并在库中创建相关表格,教师课程表(course表),教师信息表(teacher表),期中考试信息表(m_info表),期中监考信息表(m_manage表),期末考试信息表(e_info表)等。
其中,course表包括教师号(tno),课程名称(cname),课程授课所在周数(day_of_week)等列;teacher表包括教师号(tno),教师姓名(tname),登录密码(pwd),是否已上传课表(upload),是否可以安排监考(remark),已派发监考次数(count)等列。相应地,upload为0表示尚未上传课表,remark为0表示可以安排监考;m_info表包括课程名(cname),授课教师(teacher),是否已派发监考(remark)等列。相应地,remark为0表示尚未安排监考,为1表示课程已安排监考;m_manage表中则包括课程名称,授课教师,2位监考教师的教师号及姓名等信息,期末考试信息表及监考信息表与期中表结构类似。上述内容均为与程序设计密切相关的列,upload初值为0,上传课表后赋值为1;remark和count初值均为0,安排监考后,教师表中对应教师count值加1,对应考试信息表中的信息remark赋值为1。后期具体的程序设计即可通过对这些列的增删改查等操作来调控和实现。
2.2 程序设计
2.2.1 系统应用技术
系统通过jsp、css及servlet等技术设计算法,结合GSM Modem装置实现监考教师安排自动化,保证安排无冲突,同时在考试日期提前一天给监考教师发送信息,显著提升了主管教学教师的工作效率。系统设计中,采用了struts2+spring+mybatis框架。分别地,struts2是一个MVC层的框架,采用了非侵入式设计;spring是一个一站式的框架,主要用于整合其它框架;mybatis是一个基于ORM的持久层框架,支持自定义SQL映射,支持存储过程及一些高级映射,支持Annotation(注解)和XML两种配置方式。
基于windows操作系统,利用css、jsp等技术,而采用oracle数据库来构建背景支持。系统利用GSM Modem的方式实现了基于B/S模式的教师监考信息的派发,其研发内容由3部分组成,数据库存储监考信息,web前端为用户提供发送短信等的操作,后台实现短信派发。用户也可手动派发短信,即通过web页面进行信息内容录入,将信息内容存入数据库,后台服务程序读取数据库中的信息内容,通过GSM Modem进行短信发送[1]。
同时使用结构化编程,面向对象编程及控件等来推进系统实现。利用结构化编程技术, 细化监考编排工作,使每项工作生成为模块化效果,从而可任意组合,由此提高系统的可扩展性及可重用性,为实现各种监考编排奠定坚实基础;利用面向对象编程技术,能获得提供信息充分高效的数据库,并使其易于维护;使用控件则可增强应用的界面,如此即提高了系统可用性[2]。
2.2.2 用户信息管理模块
通过用户名与密码的匹配进行用户登录验证,实现分级用户管理,总共2级用户,分别是:管理员和普通用户。专业主管教学的教师担任管理员,可实现个人信息的修改查询、监考任务表的导入、自动派发监考、监考调整、监考查询等操作,生成监考顺序表,实现智能化安排监考。其他教师为普通用户,可查询监考信息及进行用户个人信息的修改查询。
2.2.3 监考派发模块
系统使用流程:教师在开学初始需上传自己的课表,管理员将监考信息表清空重置,导入阶段及期末的考试信息表;将配置好的短信猫与电脑连接,并设置短信猫监考提示信息的内容及发送时间等信息;启动短信猫,即可在指定时间启动监考提醒,自动发送监考提示短信,管理员也可手动对监考信息(监考时间,监考教师等)进行修改,或在网页内手动设置短信内容,再通过GSM Modem实施发送。
根据教务处下发的监考任务表确定所需数据,统一格式执行录入。由学院秘书下发的任务表,由于阶段考试和期末考试任务表及各学院考试任务表格式差别较大,需要对各种监考任务进行分析和预处理。在有针对性地完成了教师信息数据、课表数据分析处理后,最终确定在数据库中的结构格式,通过编程,使其一标准化形式统一存入数据库。
为解决如上问题,如阶段考试或期末考试任务表中的考试时间格式不一致,表现为2015/12/12与2015-12-12等其他各种表达方式,虽然意义相同,但在进行监考分配时,却要考虑监考时间与教师上课时间是否冲突,而当2数据进行比较,同时发生时间截取时,算法将会有不同。此时,要考虑到尽可能多的时间格式,在数据录入或进行时间冲突判断时就要处理不同的算法操作,使程序更趋于完善。此外,课表也存在格式统一的问题,例如上课的周数,有单双周之分,一周的某天可能有不同的老师在不同周次上课,课表格式也各有不同……;这就可使用if语句进行条件判断,然后通过字符串截取,即可提取而得教师上课周次,班级,地点以及课程名称等信息。
在程序代码编写调制过程中,实现要点可阐释如下:
(1)课程的任课教师在阶段考试时可以作为监考教师,在期末考试时不能作为监考教师。解决方法:在进行期末考试监考安排时当考试课程的任课教师号与监考教师教师号相同时,此教师预设为不可选。阶段考试中则不存在这一限制。
(2)保证每个教师的监考总次数尽量相同。解决方法:遍历教师的监考次数项(count),按照升序进行排列,在任课教师全部选定安排后,首选监考次数少的教师。
(3)允许一些有特殊情况的教师不监考或监考次数少些。解决方法:管理员可通过“教师管理”项设置教师不能监考,后台通过将remark置1设定教师不能进行监考;若要减少教师监考次数,管理员可以在页面中手动删除教师的某些监考项。
(4)教师在授课时不能派监考任务。解决方法:对教师课表中的上课时间进行解析,可能存在单双周的问题,还要对用逗号分隔的两个时间段形成的字符串进行截取,使用substring或split函数,并将上课周数存入集合中,再将监考所在周数与集合中元素执行比较,使用contains函数来判定元素是否存在于集合中,存在则该教师在监考时间有课,不进派监考派发。
(5)一位教师在一个时间内只能监考一门课程,即同一时间内不能为同一位教师安排2门或2门以上的监考。解决方法:遍历监考信息表得到教师号,将所有的课程监考时间与监考信息表中的对应教师号监考时间比较,若有相同项则设置标志量flag=0并跳出比较循环,否则置flag=1,此教师可选。
2.2.4 短信派发模块
监考任务布置完成后,为防止教师出现日期遗忘可能,需要及时提醒。
实现自动短信提醒功能,需将前台网站和短信猫应用程序建立整合连接,完成自动发送短信和手动发送短信功能。确定数据库短信收发涉及的相关表,并进行设计。通过编程后台控制数据库,使GSM modem短信模块读取数据库数据,凭此设计实现短信发送。
系统为用户提供了手动和自动监考编排两种操作方式。经分析研究,该系统在监考编排方面的核心优势在于教学资源的防冲突,即系统可即时防止监考编排中人工较难防范的资源冲突。因此,不管采用何种监考编排操作方式,都较未引入本系统之前要更加快捷、可靠。在监考编排操作上,管理员多采用自动与手动结合的操作方式[3]。