评论

U计划——小程序签到系统

本文是一款签到系统微信小程序产品介绍文章,该小程序设计了新颖的签到功能以及课时督导功能,改掉了传统督导的缺点,方便课堂督导方面的管理并增强了科学性,客户端采用小程序&web双端模式,构思全面新颖。

开篇
众所周知,大学课堂是学生获取知识的关键,也是老师与学生进行互动交流的首选渠道,保证一堂课的有效开展,不管对于老师或者学生而言都相当重要,而其中对课堂教学起到重要保障作用的便是课堂考勤,这不仅有关培养大学生良好纪律意识,学习风气,意识品质和良好学习习惯,而且也是及时了解课堂教学效果和学生心理困扰,心理健康等的一个重要途径。

学生的考勤制度至关重要,学校也在这方面制定了相关的考勤制度,如学院的专门的督导队去进行课堂出勤情况及上课情况的相关记录,同时教师们也有自己的考勤方法,虽然如此,但实际效果并不显著,课堂的学生缺勤,迟到却仍有发生,且并不少见,加之如果是临近节假日的课堂上课缺勤情况更加严重,试想如果老师们将频繁在课堂进行点名签到,不仅麻烦费力,更重要的是浪费了课堂时间,影响了课堂进度,所以这对老师们来说是相当烦恼的。而对于督导队来说呢,如果每节课都得到课堂进行督导,不仅耗费大量人力时间,工作效率的问题也是值得商榷的。至于学生群体如果每节课都被点名签到,也难免战战兢兢,影响听课状态。

故基于以上种种原因,我们团队打算开发一个针对多用户的签到系统,因这几年微信小程序是比较热门的技术,用起来也方便快捷,我们团队就决定做一个微信小程序签到系统,同时考虑到系统的复杂程度及用户操作方面,同时将分支出对应的网页版实现比较复杂的功能。

需求分析与系统设计
1.项目内容概述

微信小程序端,老师可以在上面查看自己所教课程,发起相关课程的签到和发布课程停课等相关通知以及了解课堂的上课情况,对学生请假进行审核等;督导员可以利用该小程序查看自己所督导的课堂,发布通知,进行课堂督导(包括发起签到,记录上课情况,审核请假等),同时可以进行个人督导工作的请假,督导转接等相关功能;学生可以利用该小程序查看自己所要上的课,进行课堂的签到与请假,查看历史的请假,缺勤,签到情况,查看通知等的功能。

Web网页端则主要面向管理者。其中管理员,老师可以在上面上传文件,进行需要签到的课堂划分,以及微信小程序上对应的相关功能;督导员也能够在web网页端进行督导课堂和查看相关信息;学生能在web网页查看自己课表,但不能进行课堂签到。开发出这样的一个系统,一方面保障了课堂考勤的有效实施以及课堂教学的良好开展,另一方面提高了督导队的工作效率,有效地促进了学校考勤制度的开展。

2.研究内容与方法

  1. 分析需求,建模,过程模型等准备工作:从流程图、到UML图、数据结构、数据库模型的拟定以及确认;决定采取增量过程模型;开发语言决定为JAVA,开发框架为Springboot + MyBatis,使用该框架实现快速开发后端功能。
  2. 登录:管理员提前导入用户数据,通过账户密码以及微信账号绑定进行登录。
  3. 小程序端登录及状态维护:由于小程序的运行环境不是在浏览器,所以不能以cookie来维护登录态,需要在后端形成session发送给小程序进行登录,同时绑定用户微信,以防止他人代签情况的发生。
  4. 签到机制:后端的一个时间算法分析出正在签到的课程,小程序通过调用提供的定位API接口进行位置定位,从而学生进行签到。
  5. 资料导入功能:采用SpringMVC + POI实现excel表格导入。
  6. 小程序页面设计:保证合理而简洁有效地展示给用户进行操作 。
  7. 使用css、UI和微信官方API实现单页面应用;画好基本元素和模板元素,利用Bootstrap 4.0插件完成UI美观的前端开发。
  8. 尝试结合Redis对系统高并发读写进行优化。
  9. 增加人脸识别,使得签到更智能更保险。

3.具体功能介绍

  1. 督导功能:课时督导系统分为三个模块:课堂督导,督导池,督导转接。其中课堂督导模块中督导员可以进行课程督导、督导记录的查询以及督导转接他人(只包含长期的督导课程);督导池模块中可以查看并自主领取需督导的课程;督导转接模块中督导员可查看并操作转接给本人的督导课程。
    督导员使用界面:

    督导队员领取其任务单,填写课堂情况后即可提交,极大方便了工作。

    Web端页面:

管理员使用界面:
可查看督导记录,课程相关信息以及签到情况。



管理员可查看督导队的工作情况,包括周次、排课、课程应到人数、实际人数、玩手机人数、睡觉人数等。

Web端界面:

另外,在小程序何Web页面中都可以查看课程表,十分方便。
小程序端:

Web端:

2.签到功能:签到分为点名签到、按键签到与人脸识别签到。点名签到中,老师一边点名,一边在小程序的同学名单中做标记;按键签到的主体为学生,由学生点击按键,小程序自动检测其所在地理位置与上课时间,完成签到标记;人脸识别签到:由于存在定位不准确的问题,有时按键签到会失败,况且无法识别签到主体是否为本人,因此我们引入人脸识别签到。使用基于KL变换的特征人脸识别方法,KL变换是图象压缩中的一种最优正交变换,人们将它用于统计特征提取,从而形成了子空间法模式识别的基础,若将KL变换用于人脸识别,则需假设人脸处于低维线性空间,且不同人脸具有可分性,由于高维图象空间KL变换后可得到一组新的正交基,因此可通过保留部分正交基,以生成低维人脸空间,而低维空间的基则是通过分析人脸训练样本集的统计特性来获得,KL变换的生成矩阵可以是训练样本集的总体散布矩阵,也可以是训练样本集的类间散布矩阵,即可采用同一人的数张图象的平均来进行训练,这样可在一定程度上消除光线等的干扰,且计算量也得到减少,而识别率不会下降。

创新点与项目特色
一方面该签到系统是一款微信小程序的产品,我们知道当下微信积累了海量的用户群体,并且粘性很高,微信小程序作为在微信里开发的产品,可以更简单直接地触达用户,并且,小程序无需下载安装,用完即走,不占用手机内存,同时可以跨越安卓与苹果平台,打开速度比H5还快,接近原生APP,还可以添加在桌面上,看上去与APP差不多,这些优点都大大地方便了用户的使用,提高了工作的效率。

另一方面该签到系统还有一个web网页端,对于管理者可以在上面进行比较复杂的操作,如上传文件;当然在web网页上也基本覆盖了小程序端的基本功能。我们相信双前端齐下的签到系统必将有良好的反响与效果。同时使用JAVA后端提供数据查询和操控的核心API实现前后端分离,有助于微信端以及浏览器WEB端共用后端实现数据互通。使用数据库结合Redis的结构有利用系统的高并发数据读写,解决在课程签到这一瞬间的高并发读写需求。

最后一次编辑于  07-21  
点赞 1
收藏
评论

1 个评论