基于微信小程序的课堂考勤管理系统的设计与实现
2018-11-01戴丽丽朱妤
戴丽丽 朱妤
摘要:针对传统的课堂点名方式不仅浪费宝贵的时间,而且加重了教师的工作量,因此,借助微信平台为入口,基于微信小程序建立一个课堂考勤系统。文章采用Java语言编写,用SpringBoot框架实现,选择MySql作为后台数据库,前端用微信开发工具开发,后台使用IntelliJ idea,在降低系统成本的同时并未降低系统的稳定性和可靠性。基于微信小程序开发的课堂考勤系统可以大大节省了课堂和教师的时间成本,并且该系统开发周期短,软件升级、维护方便。实测结果表明,本系统运行稳定可靠,达到了快速组建班级、签到、请假等要求。
关键词:微信小程序;课堂考勤;Java语言;MySql数据库
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)19-0055-03
1 背景
课堂考勤是学校教学管理的重要组成部分,是智能校园系统的核心模块之一。学生课堂考勤与企业单位的考勤的不同之处在于:1)出勤频率不同。2)学校的学生数量大,班级多。3)课堂时间有不同的可能性。例如,临时调课会使学生考勤变得更加复杂。因此,学生课堂考勤系统设计时应注意:1)考勤系统应该能以不同课时的上课时间为依据准确的划分考勤时间;2)实现自动考勤,从而提高效率;3)考勤系统必须稳定,识别精度高;4)学生群体是考勤对象,系统不应只向学校员工展示考勤信息[1]。同时,考勤的结果应该反馈给学生,提高他们的自律意识。
而该系统就是针对考勤系统的特点设计了一款基于微信小程序的课堂考勤管理系统,只要用户安装了微信客户端,即可方便地获取应用程序,同时小程序又有与APP 相当的友好的用户体验。
2 微信小程序
微信小程序于2017年1月9日,由腾讯公司正式发布。它是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的用户使用体验[2]。微信小程序的框架采用mvc开发思想,包括逻辑层、视图层和基础层。主要采用WXML( HTML5) 、WXSS( CSS) 和JavaScript 技术。用户无须下载或安装便可快捷地获取服务,功能强大,用户体验出色,并且提供了一系列的组件和接口,开发快速。微信小程序的开发流程如下:
1) 登录到微信小程序的开发网站,注册微信小程序;
2) 完善主要信息,包括程序的名称、简介和服务范围等;
3) 绑定微信小程序开发者,开发者可以使用官网提供的開发工具编写代码和调试;
4) 微信小程序开发结束后,向微信团队提交代码,审核通过即可发布。
3 基于微信小程序的课堂管理系统的设计
3.1 系统功能
该课堂考勤管理系统主要包括教师和学生两类用户,主要功能如图1所示。
1)教职工用户
教师是考勤过程的主要参与者。除了系统的组建班级以及添加课程外,教师还可以查看每个人的到课率。课程信息管理展示了本周所要教的课程信息。学生请假时可以在线审核请假申请,并可以利用系统来监控学生的学习状态以及根据学生到课情况统计平时成绩。
2)学生用户
学生是考勤签到人员,需要在考勤系统上注册个人信息以及进行签到,可以在考勤管理系统上察看自己的出勤信息和进行请假的申请和查询。学生的主要用例包括课程管理、查看考勤和管理请假[3-5]。
3.2 数据模型的设计
依据系统功能模块设计,得到本系统数据库的实体:教师、学生、课程、班级、请假单等实体信息。这些实体之间又相互联系。系统总体ER图如图2所示。
4 基于微信小程序的课堂管理系统的实现
4.1 注册模块
首先,该课堂管理系统无论是教师还是学生在首次访问该程序时,都需要进行注册,教师(学生)注册时应填写工号(学号)、姓名、密码、确认密码,并且下面包含学生和教师两个角色的选择。值得注意的是已注册过的工号(学号)不可以再进行注册,密码为6-8位且不能为空。注册界面实现结果如图3所示:
4.2 教师信息管理模块实现
教师信息管理模块主要实现该模块的查询、添加、启用、编辑功能。老师注册并登录进入教师考勤系统界面,其中设计了几个按钮:“签到”“请假”“我的”。在“我的”按钮中,有如下几项:“个人资料” “请假单审批”“班级”“课程”“退出”。其中“个人资料”中有老师工号、姓名。老师还可以添加其邮箱和手机号码,完善个人信息。“请假单审批”中,老师可以看到学生请假信息从而进行审批。主界面如图4所示:
下面是创建班级和课程的具体实现:
1)在“班级”选项中,老师可以组建授课班级,以及填写班级名和人数,这样学生注册登录时就可以显示该老师的课程从而进行签到。创建班级界面如图5所示:
相关代码实现如下:
@RequestMapping(“createClass”)//映射URL
public JSONObject createClass(String id,String gradeName,String gradeNumAll){//封装一个类
Grade grade=new Grade();
grade.setTeacherId((long) Integer.parseInt(id));
grade.setCreateTime(new Date());//设置grade的创建时间
grade.setGradeName(gradeName);//设置grade的班级名称
grade.setGradeNumAll(Integer.parseInt(gradeNumAll));//设置grade的班级人数
User user=userService.find((long) Integer.parseInt(id));
grade.setTeacherName(user.getUsername());//设置grade的老师姓名
grade.setGradeNumNow(0);
gradeService.save(grade);//将grade保存在数据库中
return JsonHandler.jsonSuccess(“”);//返回结果
}
2)在“课程”选项中,老师可以添加所授课程,其中包括课程名,开始时间,结束时间,选择星期几和班级,即可添加成功。值得注意的是开始时间和结束时间的冒号是英文状态下的冒号,若填中文状态的就会添加失败[6-8]。添加课程信息如图6所示:
添加完毕后,老师就可查看所添加的课程信息,从而方便学生签到。查看添加课程信息如图7所示:
老师发布完课程,学生可以进行签到。学生签到完后老师查看学生签到信息,实现结果如图8所示:
4.3 学生信息管理模块实现
学生信息管理模块同样实现的是该模块的查询、添加、启用和编辑功能。学生注册并登录后进入考勤系统界面。和老师相似的有“签到”“请假”和“我的”三个按钮。“请假”中可以向老师提交请假申请。“我的”中如下几项:个人资料、我的签到、请假单和退出。进入考勤系统界面如图9所示:
下面是学生签到和请假的具体实现:
1)“签到”中有显示的需要 签到的课程,当学生在开始时间准时签到就显示签到成功,在结束时间之后才签到就显示逃课,在开始时间之后,结束时间之前签到显示迟到。实现结果如图所示:
“我的签到”中可以显示学生已经签到的信息。包括已签的课程、签到日期、签到时间和指导老师。其中,设置的状态1为迟到、2为签到、3为旷课。签到信息如图10所示:
2)“请假”选项为学生若有特殊情况未能按时出席,就必须请假,学生提交请假单时需要填写请假时间,老师以及请假课程,并写明请假内容,方便老师查阅。注意的是请假时间必须格式为xxxx-xx-xx或xxxx-x-x,例如2018-05-01或2018-5-1,否则提交失败[9-11]。请假信息如图11所示:
相关代码实现如下所示:
@RequestMapping(“saveLeave”)
public JSONObject saveLeave(Leave leave,String time) throws ParseException {
leave.setState(1);
SimpleDateFormat simpleDateFormat=new SimpleDateFormat(“yyyy-MM-dd”);//设置请假时间
Date date = simpleDateFormat.parse(time);
leave.setLeaveTime(date);//设置请假时间
leaveService.save(leave);//将leave保存在数据库中
return JsonHandler.jsonSuccess(“”);//返回结果
}
5 系统测试
系统测试需要遵循相关的原则。需要进行各种重复性的操作测试,需要考虑各种各样的错误情况,并尽可能多地进行同一问题的反复测试。下面以请假失误为代表进行测试,如表1所示为请假界面的测试用例:
请假单测试结果如图12所示:
该文分析了请假测试界面,实际还进行了登录、注册、老师添加课程等这些功能,都能得以实现,与此相对应的非空校验和格式校验也都已进行测试。其他功能与之相类似,该文就不做详细描述。
6 结束语
该文设计的是基于微信小程序的课堂考勤管理系统,该系统易于维护和升级,使用方便、简单。经过测试,该系统可靠、稳定,达到了课堂考勤管理的需求。现如今,微信已经是我们生活中必不可少的一部分。随着微信小程序的日益发展,利用微信平台实现学生考勤管理必将成为一种趋势。微信平台以其巨大的便利,在学生管理方面有着广泛的应用前景。
参考文献:
[1] 蒋梦浩.基于指纹识别的分布式考勤系统研究[D].重庆:重庆大学,2010.
[2] 张小龙.微信小程序入口在哪?有什么用?[J].计算机与网络,2017,548(4):50.
[3] 王冬波.基于B/S架構的考勤管理系统的设计与实现[D].青岛:中国海洋大学,2011.
[4] 杨民峰.基于J2EE的学生考勤系统设计与实现[J].北京工业职业技术学院学报,2015,14(1):45-50.
[5] 何晓昀.基于校园网的学生考勤系统的设计[J].长江大学学报: 自然科学版,2010,9(3):285-286.
[6] 张惠娟.基于人脸识别的考勤系统的设计与实现[D].武汉: 华中科技大学,2011.
[7] 赵晋萍.基于LAMP框架的通用数据测试平台的设计与实现[D].北京:北京交通大学,2015.
[8] 王冬波.基于B/S架构的考勤管理系统的设计与实现[D].青岛:中国海洋大学,2011.
[9] 江治.基于ASP.NET的学生考勤管理系统设计与实现[J].电脑知识与技术,2012,35(5):56-58.
[10] 李胜,殷杰,郭超沛,等.基于RFID的课堂考勤系统的设计[J].电子制作,2015(6):23,38.
[11] 李旭,田文凯,何雷.智能感应卡考勤管理系统设计[J].产业与科技论坛,2015(3):66,75.