基于双重定位技术的智能考勤系统
2020-02-07梁晓琦戴永辉藏鸿雁
梁晓琦,戴永辉,藏鸿雁
(1.上海开放大学松江分校,上海 201600; 2.上海对外经贸大学工商管理学院,上海 201620)
0 引 言
教学质量是开放大学的生命线,教学质量监控是教学管理工作的重中之重[1],作为教学质量监控必不可少的环节——课堂考勤管理受到教学管理者的普遍重视。然而,传统的考勤方法效率较低,安全性不高,这将影响学校日常管理效率[2]。
中国互联网络信息中心发布的统计报告显示,2016-2018年网民中使用手机上网的比例分别为95.1%、97.5%和98.6%,学生网民占比最大,近3年占比分别为25.0%、25.4%和25.4%[3]。大学生拥有智能手机的比率高达98.25%,成人学员习惯于使用智能手机进行网上学习、线上阅读和在线交流等活动[4-5]。因此,使用智能手机通过APP、小程序进行考勤等信息化管理是深受师生欢迎且技术上具有可行性的解决方案。尽快使用智能手机等设备实现方便快捷、科学有效的日常考勤,适应学习者习惯,满足信息化教学管理需求,是值得开放教育管理者思考的一大课题。
基于上述思考,本文设计基于移动互联网、使用室外GPS和室内WiFi定位技术的学员智能考勤系统,服务于开放大学学员,亦可为全日制高校等教学机构提供参考与借鉴。
1 需求分析
1.1 概念定义
高校考勤系统是提高学校教学管理科学性辅助决策的重要手段之一,能为教师和学员提供全面而准确的考勤数据。考勤方式包括纸质考勤、电子考勤、非接触式IC卡或RFID卡考勤、指纹考勤、人脸识别考勤和基于移动互联网的智能考勤等几种。随着信息技术的不断发展,通过借助校园网络、互联网和移动互联网,考勤系统功能越来越完善,性能也更加稳定。
1.2 智能考勤现状与需求
传统的考勤方式一般是教师使用纸质花名册手工点名。纸质考勤方式的缺点是效率低、报送人力成本高、易出错、数据统计不方便等;指纹考勤、人脸识别考勤、APP考勤等智能考勤方式正逐步取代纸质考勤,成为高校考勤的主流方式。
高校和学者对使用智能化设备进行考勤进行了应用与研究。向小琼等[6]设计了基于手机蓝牙的考勤系统,通过对比学员手机蓝牙的MAC地址与已有数据是否匹配来判断考勤是否成功;刘炳初等[7]设计了基于STM32F103RCT6单片机智能考勤系统,实现了IC卡签到及指纹签到功能;苏婕等[8]通过采用与近距离通信(NFC)技术相融合的学生卡进行考勤,平均读卡识别率为99.89%,从而实现高效、准确的考勤;方冠男等[9]提出了一种基于视频流的人脸自动识别课堂点名系统,并引用了人脸质量评估环节,识别准确率达到了90%左右。
相关技术的使用提高了考勤效率,但尚存在着诸多待完善之处。接触式IC卡或非接触式的RFID卡、NFC卡一般还可用于学员卡、就餐卡、门禁卡等多种用途,一定程度上解决了多张卡管理难的问题,但由于存在人卡分离的可能性,容易出现代打卡考勤的情况[10-12];指纹考勤方式具有使用简单快捷的特性,学员只需轻轻一按就可完成身份识别和考勤过程,但存在部署和维护成本高的缺点;学员使用人脸识别考勤方式可方便、快捷地实现,但在上线前需进行费时费力的人脸采集流程,识别率无法达到百分之百,阻碍了其推广与应用[13]。
目前,市场上绝大部分的智能手机均集成了GPS或北斗卫星定位模块,通过卫星定位可实现学员地理位置定位;借助于校园无线网络,可实现对学员所在教室的室内精确定位;通过APP、小程序等平台,实现学员的考勤、请假、提醒等功能。为此,本文基于移动互联网,设计基于GPS和WiFi定位的学员智能考勤系统,学员可方便、快捷地使用手机进行考勤;教师可方便、快捷地查看排课和学员出勤情况;管理员可对考勤数据进行汇总与统计,提升考勤管理的工作效率。
2 系统总体设计
2.1 总体架构
基于移动互联网的考勤系统在逻辑上包括感知层、网络层、平台层和应用层。感知层主要通过终端和传感器采集数据;网络层提供网络传输服务;平台层包括学习平台、教务系统、选课系统等应用,提供调用接口;应用层包括教务系统、选课系统和考勤系统,提供相关基础数据和考勤应用数据及统计分析数据。系统总体架构如图1所示。
图1 系统总体架构图
2.2 总体功能设计
图2 功能结构图
使用智能移动设备的地理定位功能,配合室内WiFi进行精确定位,实现学员基于GPS和WiFi的签到功能,教师可实时查询考勤数据,管理员可对数据进行统计、分析、汇总操作的基于移动互联网的智能考勤系统。系统支持复杂和个性化排课方式,并将考勤数据存储在云平台上永久保存;通过用户报表可为教师和管理员提供实时自助查询服务,提升了考勤管理工作效率。系统功能结构图如图2所示。
1)学员功能。
课表:查看本学期、本周、当日的课程表。
请假:上课前可请假,但每门课程请假次数不得超过3次。
签到:学员到校后签到,课前30 min到课后30 min为有效签到时间,迟到30 min以上记“迟到”。
2)教师功能。
查看出勤:按班级查看学员到课情况。
手动签到:为上课未带手机的学员手动签到。
请假审核:审核学员请假申请。
出勤统计:统计汇总班级、学员出勤情况。
3)系统管理员功能。
基础数据:设置班级、课程、教师、辅导员和学员信息等基础信息。
导入课表:导入班级开课大表,在开课大表中包括班级名称、班级代码、课程名称、课程代码、任课教师、辅导员、上课时间、上课地点等信息。
出勤统计:统计数据分为班级、课程、学员和时间多个维度,按时间统计可统计周、月、学期出勤率。
课时统计:根据上课出勤情况计算教师课时。
数据备份:对基础数据和考勤数据进行备份,避免发生信息和数据丢失,数据库还原操作需手动进行。
4)第三方接口功能。
系统提供与学习平台、教务系统、选课系统和办公系统等校园网信息化平台的接口,为考勤系统获取学员、教师、课程、选课等基础数据。
3 主要模块实现
在基于移动互联网的考勤系统中,首先要对考勤流程进行优化,其次是保障考勤数据的准确性,最后是对考勤数据的统计和分析。
3.1 考勤签到流程
1)学员和教师使用统一身份认证连接校园无线网络。
2)打开APP或小程序进入考勤系统。
3)系统根据已有数据,判断学员当前时间是否有课,若当前时间有课则显示课程信息;系统通过GPS获取当前位置信息,与系统进行比对,若在允许范围内则可点击“签到”按钮进行签到;若当前位置不在学校范围内则显示“签到位置不在允许范围内”,不允许签到。
4)通过手机MAC地址、无线AP的ID号等信息与数据库已有信息比对,进行“WiFi签到”。
考勤签到流程如图3所示。
图3 考勤签到流程
3.2 GPS+WiFi定位考勤
通过GPS+WiFi双重定位模式进行考勤。GPS是以卫星为基础的无线电测时定位、导航系统[14],GPS定位具有在室外定位精度高、响应时间短、信息覆盖面广等特点[15-16]。通过学员手机获取地理位置,判断考勤位置是否有效。定位考勤功能实现微信小程序的WXML文件如下:
var testdistance = this.distance(this.data.latitudes, this.data.longitudes, school.data.latitudes, school.data.longitudes); /**当前位置与学校的距离*/
console.log("距离学校:", testdistance, "千米");
wx.request({
url: https://***.sjou.cn/api/Weixin/SignIn′,
method: "POST",
data: {
/**获取地址、学号、课程、周次等信息*/ },
由图4可知,2股水均试验12个批次,试验进水流量均从40 L/h开始逐次提量,到第7、8批次时达到设计值75 L/h,最后2个批次达85 L/h。塔顶冷凝液即氨水采出量同步逐次提升,第1、2批次采出量均为1 L/h,其余批次同等进水量的情况下,采用2组不同的采出量以便对塔顶冷凝液氨水采出浓度进行对比。
success(res) {
var datas = JSON.parse(res.data)
if (isPointInPolygon()) /**判断当前位置是否在多边形内部 */
{if (JudgeCourseTime())
{ /**当前时间有课,写入考勤信息 */}
} else
{/**提示考勤位置无效 */
}
}),
智能手机的MAC地址具有唯一性[18],通过对校园无线控制器的第三方接口,可获取登录用户MAC地址、用户名(即学号)和AP名称等信息,根据AP名称匹配教室进行WiFi考勤认证。图4为WiFi客户端列表。
图4 连接的WiFi客户端列表
WiFi考勤过程为:
1)用户使用统一身份认证登录考勤APP或小程序。
2)从教务系统第三方接口中获取学员当前时间段课程、任课教师、上课教室等信息。
3)获取客户端设备MAC地址等信息。
4)通过校园无线控制器第三方接口获取连接的AP名称,通过数据库比对查询所在楼宇的教室信息。
5)比对课程名称、任课教师、上课教室是否匹配,根据一定的容错规则,判断WiFi签到是否有效。
3.3 课程提醒
对于学员的上课课程及时进行个性化的提醒。如图5所示,“我的课程表”功能列出了本学期、本周和今日课表。
图5 我的课程表
3.4 出勤统计
出勤统计可按班级、课程、学员进行,在学员操作界面显示课程出勤明细,在教师操作界面显示课程出勤统计数据,包括每位学员出勤率和课程总体出勤率;在管理员操作界面显示课程和班级出勤统计数据。
3.5 防止“代考勤”的技术手段与管理措施
为规范考勤,学校应出台相应考勤管理制度,在制度和技术上采取多项举措保障智能考勤的顺利进行,保障数据的准确性[19-20]。如规定每门课程的学期最低出勤率,未达到者将严重影响课程平时成绩;对未带手机无法使用智能考勤系统进行签到的学员,可由任课教师补签。同时,在技术层面,也要预防其他同学“代考勤”现象的发生[21]。
1)学员均使用智能考勤APP或小程序进行考勤,尽可能减少手工签到。
2)使用GPS进行定位,在校园内才可签到。
3)使用WiFi签到,根据客户端连接的无线AP的MAC地址判断是否与上课教室匹配。
4)每次签到时,比对登录设备信息,如设备品牌型号、MAC地址等信息,当出现异常数据时,通过平台及时进行提示。当出现同一MAC地址为多个账号进行考勤时,则判定为异常。
以微信小程序考勤为例,通过比对微信Openid以避免“代考勤”。具体做法是:学员第一次登录时,将读取微信Openid,并提示是否设置为常用登录设备,学员将该微信号设置为常用登录设备才可进行签到,以后也只允许使用该微信号打开小程序进行考勤。通过小程序获取微信Openid的关键代码如下:
WebApiHelper api = new WebApiHelper();
var url=rs1["ApiBase"].ToString() + "?appid=" + rs1["appid"].ToString() + "&secret=" + rs1["secret"].ToString() + "&js_code=" + code + "&grant_type=" + rs1["grant_type"].ToString();
var result = api.Get(url);
var r = JsonConvert.DeserializeObject
return r.openid;
4 系统测试及应用效果分析
本系统采用单元测试与功能性测试2种测试方法,通过单元测试对基础功能函数和模块进行测试以确保其正确性;通过制定测试计划,设计测试用例进行数据库、响应速度、接口性能、兼容性等功能性测试,确保功能符合预期要求。学员智能考勤系统用户界面,如图6所示。
图6 学员智能考勤系统用户界面
如表1所示,用iPhone和小米手机打开小程序,定位成功和签到成功时间在0.20 s左右,用户体验较好。具体测试方法是:使用3款手机分别对300人每人3次进行GPS定位考勤及WiFi考勤签到测试,定位时间即从开始定位到定位成功所需时间,签到时间即从开始签到至签到成功所需时间,统计后的平均值如表1所示。
表1 部分设备进行考勤签到测试数据
测试设备签到技术定位时间/s签到时间/siPhone 6 PlusGPS定位0.220.23GPS+WiFi定位0.160.20iPhone XGPS定位0.200.19GPS+WiFi定位0.170.15Xiaomi 8GPS定位0.220.28GPS+WiFi定位0.200.22
通过在上海开放大学松江分校部分班级进行一个月的面授考勤试用,有3752人次使用智能考勤系统进行考勤,占实到人数的82.37%;其中使用智能考勤APP考勤651人次,使用小程序考勤3101人次;考勤用户中使用Android操作系统的智能手机用户占总访问人数的56.16%,使用苹果手机用户数占总访问人数的43.84%。
小程序具有无需下载安装即可使用、流畅的使用体验等优点,受到了学员与教师的普遍欢迎[22]。测试推广初期,通过班级微信群分享小程序、在教室贴二维码供学员扫描等方式为学员使用智能考勤系统提供入口,提高学员使用率,2周后学员主要通过微信任务栏中最近使用的小程序和从手机相册中长按识别二维码等方式打开。学员智能考勤系统小程序访问来源如图7所示。
图7 学员智能考勤系统微信小程序访问来源
通过对采用智能考勤的学员进行问卷调查,99.3%的学员对考勤系统的便携性和数据权威性表示满意,学员逐步依赖考勤系统中的课表及提醒功能,准时来上课。
5 结束语
本文将室外GPS和室内WiFi双重定位技术相结合,设计了基于双重定位技术的学员智能考勤系统,并应用到上海开放大学松江分校考勤管理工作中,实际应用结果表明,该系统有效防止了“代考勤、伪考勤”现象的发生。与原有考勤系统相比,在考勤的适应性与智能性上有明显改善,当前的考勤数据更加精准,系统所提供的数据统计和可视化分析功能,为课堂管理提供了直观的数据参考,在提升成人高校的教学管理效率和引入技术促进教学管理上起到良好的示范作用,今后将继续将人工智能、VR等新兴技术引入教学管理中。