热搜

期刊动态

专利信息

报刊博览

知识产权

最新征稿

出版资讯

活动预告

详细内容

基于短信猫的课堂自动点名系统

时间:2014-12-13     【转载】   来自:中国教育期刊网   阅读

  【摘 要对国内外现有的课堂点名方式进行了分析,针对现有方式的不足,引入并介绍了短信猫的基本工作原理,利用其短信接收功能,提出了基于短信猫的课堂自动点名系统,对系统的业务、功能和数据库结构进行了分析与设计,给出了系统的技术架构及对应的实现步骤,并通过实际课堂点名验证了系统的实用性。

  【关键词课堂点名;短信猫;教育信息化

  一、引言

  点名是高等院校课堂教学的一个重要环节。通过点名,教师可以把握学生的到课率,可以促进对学生的了解,是师生之间沟通的常用方法之一。目前课堂点名主要以教师按照花名册口头呼叫学生姓名,学生应答为主。这种方式直接、简单、准确率高,但在学生人数较多的情况下,往往会占据较多的课堂时间,且容易出现学生代应答等情况。随着计算机软硬件的飞速发展,各种信息技术被应用于课堂中,以提高点名及教学效率。

  国外对高校课堂点名的直接研究并不多见,一般侧重研究涉及面更广的学生应答系统。学生应答系统由学生手持答题器、教师接收器和相应的教学软件组成,一般用于课堂知识的当堂问答。教师通过教学软件将题目通过投影仪展示给学生,学生按下答题器按钮将答案发送至教师接收器,教学软件读取接收器中的答案,并将结果实时地反应至投影仪。当每位同学的手持答题器保存其学号和姓名时,即可在答题的同时记录到课情况,达到点名的效果。使用学生应答系统进行点名,具有快速、方便和准确等优点,但需要给每位学生发放一个答题器,成本较高,并不适用于经济实力弱,信息化程度低的发展中国家的学校。

  国内对课堂点名的研究相对丰富。谢明华等利用基于OpenCV的人脸检测技术,通过采集每位学生面部图像的方式来实现点名。该方式可有效防止替代签到,但签到时秩序不易控制,且人脸识别准确度易受学生仪容影响。张晴翔提出了基于物联网的智慧教室点名系统,该系统会自动读取进入教室范围内学生的身份证,实现自动点名。这种方式简单、有序,但并不能防止替人携带身份证进行点名的情况,且构建成本较高。杨洪章等利用SAMSUNG$3C2410嵌入式设备,收集学生手机的蓝牙信号,实现自动点名。该方法实施成本低且简单快速,但要求手机支持蓝牙功能,通用性不强,且不能避免学生替人携带其他蓝牙设备代替点名的情况。卓晴等设计了基于手机短信答题器的学生应答系统。相比较蓝牙,手机短信的通用性更强、准确度更高。虽然该研究仅针对课堂答题,但手机短信的交互方式为自动点名提供了一种新的思路。

  上述研究中,手机短信的交互方式方便、准确,可操作性强,且手机属于私人物品,一般均由个人随身携带。而短信的个人隐私性更强,短信的发送通常可确保发送人的唯一性,因此手机短信可应用于课堂点名,然而其最大的问题在于如何防止转发短信进行点名的情况。针对上述问题,本文设计了基于短信猫的课堂自动点名系统,该系统使用短信猫接收学生短信,使用随机生成的、具有有效时间的随机字符串作为短信内容进行点名验证,实现了课堂自动化点名,以期待在现有研究的基础上,提供一种更为经济、准确的课堂自动点名方式,进一步提高点名效率。

  二、短信猫应用简介

  短信猫是一种内嵌无线通信模块,配以SIM卡工作的短信收发设备。标准的短信猫由短信猫硬件和二次开发包共同组成,其中二次开发包是由厂商提供的基于串口AT指令的短信收发API,一般支持C/C++、Java或C#等多种主流程序设计语言。短信猫工作原理与普通手机收发短信的原理相似,如图1所示。

  短信猫通过USB或串口连接到PC机上,通常由PC机供电。连接成功后,即可正常收发短信,号码及资费与手机相同。程序开发人员再通过开发包,编写相关的短信应用。普通用户通过短信应用的界面实现对短信猫的控制,以此来达到一定的业务目的。本文研究的课堂自动点名系统即属于图中的短信相关应用。

  三、系统设计

  1 业务分析

  课堂点名一般分为签到点名和随机点名两种方式。前者即教师按照名单依次呼叫所有学生的姓名,学生应答。后者则是教师出于考验学生知识的目的,从名单中随机抽取学生进行提问。其中,签到点名由于人数众多,因此存在点名时间长,且可能出现代人应答的问题;随机点名情况则较为简单,仅涉及公平性的问题。

  为了解决上述问题,本系统至少需要具备如下主要功能。

  ①具有明确的开课、学生隶属及点名关系,确保每次点名记录的正确归属;

  ②签到点名时,系统可接收学生发送的令牌短信,根据令牌实现对签到点名的认证,且令牌具有一定的生成规则和有效期,以防止学生转发短信而同样通过点名的情况;

  ③随机点名则从已签到成功的学生中随机选取,保证公平性;

  ④实现对点名记录的查询分析,使教师全面了解所授课程的到课率。

  2 系统功能设计

  根据上述业务分析及短信猫硬件的运行特点,系统的总体功能划分如图2所示。

  (1)开课管理。本模块实现对不同学期同一或不同课程的开课功能,由学期管理、课程管理和开课三个子模块组成。学期管理和课程管理模块相对独立,各自维护学期或课程信息,开课则根据已经存在的学期选择相应的课程来实现,以区分同一课程在多个学期的开课关系。开课关系是点名正确展开的基础。

  (2)学生信息管理。本模块对隶属于某开课关系下的学生信息进行维护,主要为学生信息的注册,分为信息导入和手动注册两种方式。信息导入即学生信息的批量增加,某门课程的所有学生信息一般可从学校教务网站下载获得,通常为Excel形式,此处主要实现对Excel学生信息文件的导入功能;手动注册则是由教师手动录入学生信息。除学生的基本信息外,本系统还需要保存学生的手机号码,作为点名验证的依据之一。本模块维护的是点名的直接对象。

  (3)点名管理。本模块为系统核心,实现对学生的签到点名,随机点名以及点名记录的查询分析。其中,签到点名是难点,也是本系统的特色。为了防止学生转发短信而通过点名的情况,本系统使用短信令牌作为认证依据。令牌是用于验证学生是否到课的短信字符串,该字符串使用MD5加密算法,根据点名的当前时间(精确到毫秒)计算而来,以确保每次点名时,令牌内容均不相同。短信令牌在教室开始签到点名时,自动生成并展示给学生,学生将令牌发送至系统中,系统对学生手机号及令牌进行认证,其处理流程如图3所示。若学生正常到课,则可成功签到:若学生不在现场,则无法看到短信令牌,因此无法进行签到。但是,如果到课学生将令牌转发给未到课学生,那么该学生一样可以通过验证。为了解决这一问题,本系统还提供了对令牌有效时间和长度的设置。合理的有效时间可以使得学生仅能成功发送自己的短信,而这一时间又与令牌长度成正比。由于学生个体差异化的存在,令牌的最佳有效时间和长度需要通过多次实际训练来确定。

  随机点名则相对简单,如果已执行过签到点名,则从已签到成功的学生中随机选择,否则从所有名单中随机选择。此处的随机选择为通过程序的随机数功能,按照学生在班级中的序号进行定位,以确保公平性。

  点名记录的查询分析则是以柱状图、折线图等方式展示不同课程的点名记录,使得点名记录更加形象化。

  (4)短信令牌管理。该模块主要实现通过界面对短信长度和有效时间进行设置。而短信令牌的生成则在启动签到点名时执行发生,属后台操作。

  (5)短信猫管理。短信猫管理则主要对短信猫的端口、号码进行设置,以提高通用性。短信猫的启动则由签到点名功能来执行,同样属于后台操作。

  3 数据库设计

  根据上述分析,系统涉及的数据实体有学期、课程、开课、学生、点名和系统设置,其中由于一门课往往会点名多次,每次点名又涉及到多个学生,所以点名又可分成点名日期及对应该日期下所有学生的点名记录。综上,系统共有学期表、课程表、开课表、学生表、点名日期表、点名记录表和系统设置表,以MySQL为例,详细结构如表1至表7所示。上述表中,除系统设置表外,其他表之间的对应关系如图4。

  四、系统实现

  本系统使用Java SE 6作为基本开发平台,使用NetBeans7.0.1作为开发工具,选择MySQL 5.1作为数据库,短信设备则选择西门子TC35I内核的单口USB短信猫,系统技术架构如图5所示。

  各层的实现方法如下。

  (1)数据层

  数据层封装了对系统数据库表的基本操作,由MySQL数据库和相应的数据访问类组成。MySQL数据库各个表的结构按照表1-7进行构建,而数据访问类则使用MySQL JDBC驱动编写数据库连接、表记录的增加、删除、修改和查询等基本功能,供业务层调用。

  (2)业务层

  业务层则根据点名业务需求,将相关功能封装成方法,供应用层调用。业务层主要功能通过与数据库表对应的JavaBean来实现。以点名记录表tcallrec为例,根据tcallrec表,编写callrec和callrecDAO两个JavaBean。其中,callrec由和tcallrec表字段相对应的属性以及对应属性的set和get方法组成,而callrecDAO则调用数据访问类通过编写相应的Java方法实现业务上的点名、统计等功能。所有数据库表的DAO方法即构成了系统能够实现的主要功能,供应用层调用。

  (3)应用层

  应用层是教师和学生使用系统的接口,主要由系统界面和短信接收模块组成。其中,系统界面使用Java Swing技术开发,配合NetBeans可以方便地设计出布局美观、整洁的软件界面。短信接收模块则是本系统开发的重点,本系统使用的短信猫配套提供了Java的二次开发包,通过调用开发包的相关方法即可实现对短信猫的启动、关闭及收发短信等操作。本模块的主要功能在于开启短信猫,并启动短信接收线程,关键代码如下。

  启动服务后,学生用户即可向系统发送短信。其中,InboundMessageNotification类用于接收并处理短信,不同的业务,该类的编写方式不同,短信接收代码片段如下。

  系统开发完成,短信签到的主要功能界面如图6所示。

  图中学生张三为虚拟用户,其手机号最后四位为80154。开始点名前,其状态为false。点击短信签到按钮,系统启动短信猫,显示令牌及系统手机号码,如图7所示。

  张三根据界面提示发送短信令牌,如图8所示。系统接收到张三的短信后,其出勤状态自动改为true,完成点名,如图9所示,系统可接收测试用户的短信。成功进行点名。

  五、实证分析

  本文以南京审计学院2010级信息管理3班的学生(共39人)为实证对象,在其专业必修课《信息系统分析与设计》上分别以不同令牌长度和不同有效期进行点名,以准确率(准确率=实际出勤率/系统出勤率)为最终考察指标,验证系统的实用性。需要说明的是,由于短信接收存在延迟,令牌有效期太短会导致短信未全部接收完成就停止服务。经过多次点名测试,实验选取了10分钟和15分钟作为令牌的有效期,最终统计结果如表8所示。

  以上数据表明,在一定有效期内,系统点名的准确率受令牌长度的影响。当令牌较长时,准确率可达100%,而当长度较短时,则准确率出现不同程度的下降。这表明令牌较短时,学生有足够的时间转发令牌伪造点名。出于令牌长度和实际点名时间的综合考虑,对于39人左右的班级,令牌长度选择16,有效期选择10分钟,可达到较理想的自动点名效果。

  六、结语

  本文利用短信猫的自动收发短信功能,设计实现了课堂自动点名系统,并将其应用于真实的课堂点名环境中,验证了系统的实用性,真正实现了课堂自动点名,提高了点名效率。然而,实证发现单口USB短信猫的并发性较低,在多个学生同时发送短信时,存在因短信不能及时接收而导致点名时间过长的问题,因此本系统不适合应用于人数较多的大班。要解决这个问题,则可使用并发性高的多口短信猫池来接收学生的短信,高性能短信猫池可以达到每两秒接收一条短信的速度,但短信猫池拥有多个手机号和接口,其应用难点在于如何在系统中协调各短信模块,使其发挥最大性能,这将是下一阶段的研究工作。

  作者:唐明伟 庄玉良 蒋勋 郭红建 来源:现代教育技术

 

 

技术支持: 时代之光 | 管理登录
点击这里给我发消息 seo seo