1 绪论
1.1 课题研究背景及意义
目前,许多高校学生管理模式越来越多样化,其中,上课签到考勤方面,有的老师是通过口头点名的方式来考勤签到,还有的老师通过雨课堂、学习通等软件方式来扫码签到,这种方式不仅增加了教师的工作负担,还能让有些没有到课堂的同学有机可乘。在这种环境下传统的上课考勤管理已经无法再适应当今市场的快速发展。高校想要在教师的考勤签到管理上更高效、更便捷、让管理模式更加智能化,那么加入人脸识别签到技术,从而完善上课考勤模式,能够督促学生不缺勤,有利于营造良好的学习氛围[1]。
知识经济时代,如何开发和运用好上课考勤管理领域资源,成为系统需要关注和解决的问题,也是系统发展的重要途径。大学生人脸识别上课考勤签到管理作为上课考勤管理的重要组成部分,在学生过程控制、学情跟踪和综合评价中越来越重要。要实现人脸识别考勤签到系统应用范围、效率的提升,首先,需要人们更新观念,开阔思维,实现信息化课考勤及资源管理的转变。其次,需要根据高校和教师的需求,做出更高效、更便捷的上课人脸识别考勤签到管理系统[2]。最后,需要通过教师对系统的测试和高校的推广,使得人脸识别考勤管理签到系统可以广泛的应用于教学实践当中,为高校对学生的上课考勤签到提供有利的保障,使教师对学生的考勤管理更加方便快捷,为学校或者社会生产发展智能管理,提高管理效率起到重要的意义。
1.2 国内外研究综述
1.2.1 国内研究综述
目前,国内从事人脸识别技术研究的主要专业机构单位以及高校有:中国科学院计算所、中国科学院自动化所、生物特征识别与安全技术研究中心、清华大学计算机系、南京大学计算机科学与技术系。他们为人脸识别系统的实用化方面取得了丰硕成果。
高文教授和陈熙霖教授领导的团队在中国科学院计算所人脸检测,大型人脸数据库建设以及人脸识别算法优化等领域都取得了非常丰硕的成果[3]。
李子青教授领导的生物特征识别与安全技术研究中心科研团队在近红外人脸识别、中远距离人脸识别等领域取得显着研究成果,有效地减少光照强弱对于人脸识别造成的影响[6][7]。
南京理工大学计算机学院教授杨静宇领导的科研团队对基于代数特征人脸识别问题有了全新见解。他将奇异值分解(Singular Value Decomposition,SVD)方法引入人脸识别中[8],研究了Fishe线性鉴别分析问题及特征值对扰动敏感的情况,提出鉴别矢量间不一定正交,进而给出均衡分布矩阵概念,并构造了线性鉴别方法与判据。
1.2.2 国外研究综述
国外人脸识别技术主要集中在美国,欧洲和日本。例如:美国哈佛大学(Harvard University)的Stone Z等人提出了一种基于社交语境下的大规模人脸识别方法[9];以英国格拉斯哥大学(University of Glasgow)的Mike教授和斯特林大学(University of Stirling)的Bruce教授为首的课题组,主要从事大脑在人脸识别中的作用和人脸感知的研究[10]。
如今,人脸识别的一些研究成果已经从实验室原型系统发展到专业级商用人脸识别系统,可以系列化生产。例如:2008年北京奥运会,首次在安保中应用人脸识别,实现了开闭幕式门票实名制查验和大会工作识别工作。
2010年上海世界博览会中,由上海银晨科技和中科院计算所合作、中科奥森同中国科学院自动化研究所生物识别与安全技术研究中心合作、清华同方、由北京海鑫科金高技术公司与其他公司联合设计开发的人脸识别系统已完成7200万人查验任务,成为目前世界上最大的人脸识别系统之一。
2014年8月起,日本在羽田机场和成田机场的出入国审查(边检)处重启人脸识别系统的实验,检测对象是在该两处机场乘机的日本人。日本政府之前曾在机场安装过自动安检门,只需指纹识别即可通过安检,但是由于指纹要提前注册,利用率不高,而使用人脸识别就不需要提前注册。
1.3 主要研究内容
整个人脸识别上课考勤签到系统采用了SSM框架,以及使用了SpringMVC架构和HTML语言结构技术。
大学生人脸识别上课签到考勤系统包括四个模块:
(1)超级管理员:是系统的整个管理员,具有全部权限。
(2)学院管理员:①管理全部注册学生和教师的账号以及个人信息,包括对信息的增、删、改、查。②能查看到本学院学生的所有考勤记录。③能录入课程信息。
(3)教师系统:①可以看到教师本班级的学生信息。②发起课程签到。③教师能查看到学生签到情况。
(4)学生系统:①可以查看学生个人信息。②查看学生个人课程签到情况。
本系统是通过web系统,以网站的形式呈现,通过浏览器的访问来实现一定的功能。前端开发是创建web页面更显给用户的过程。通过HTML、SSM等各种技术、框架来实现互联网产品的用户交互界面。
1.4 论文组织结构
本文通过七个章节进行撰写,各章节内容如下:
第1章:绪论
对本文的科研背景、重要性做出了简单的说明,并对国内有关领域的科研现状做出了简单的剖析,给出了文章的主要内容与结构。
第2章:需求分析
从功能需求、性能需求、环境需求三个方面对系统的需求进行了细致的分析。
第3章:系统分析
详细阐述了本系统的设计目的、系统目标、开发可行性。
第4章:系统设计
介绍了系统整体的设计思路,绘制了总体框架图、系统层次图、功能模块图、功能架构图等图表。
第5章:网站具体实现
从学校端、教师端和学生端三部分出发,详细阐述了注册登录、课程管理、课程发布、课程签到等5个核心功能模块的实现原理和方法,并对其在系统中所起的作用进行了简单的描述。
第6章:系统测试
对本文所设计的系统的各个模块进行了常规性功能测试以及性能测试,对测试用例、测试过程、测试结果等做了详实地记录。
第7章:总结与展望
对本文的研究内容以及系统开发过程进行了总结,就今后的高校课堂智能发展和人脸识别签到系统的发展方向提出了几点展望。
2 需求分析
2.1 系统需求分析
开发系统之前,系统的需求分析是一个非常重要的环节,它对系统的功能的需求、性能的需求、环境的需求等等有着指导性的作用。为了准确的确定目标系统需要做什么,了解用户明确的需求,对学校、老师和学生进行了调研。最终获得用户得明确需求。
大学生人脸识别上课考勤签到系统,最重要的就是系统管理逻辑。一个好的管理系统都有:超级管理员、管理员和用户,那么在高校的上课管理系统中,就可以划分为四部分:管理员、学院管理员、教师和学生。管理员需要对学院管理员进行信息的录入、编辑和删除,学院管理员又只能对本学院的学生和教师进行单独管理以及本学院课程信息的发布,而老师直接对学生发布上课的签到信息,学生登录账号后进行人脸识别的签到方式。所以,系统每个模块的功能逻辑是非常重要的,在系统的建设上以及发展上有很好的推进作用。
2.2 功能需求
2.2.1 学校端功能需求
(1)学院管理员、教师和学生注册功能:可以确保操作人员在学院管理员、教师或学生中增加相应的数据,这样就可以将相应的模块中的数据写进数据库;在该操作中,用户必须将数据输入到相应的数据项中,以学院管理员、教师或学生列表形式输出。
(2)学院管理员、教师和学生编辑功能:确保当出现诸如学院管理员、教师或学生的数据出错等问题时,管理员可以立即做出相应的修正;在该特性中,用户必须在以下方面输入新的学院管理员、教师、学生数据并输出新的教师、学生列表。
(3)学院管理员、教师和学生删除功能:是用户需要将学院管理员、学生或教师数据进行删除时,则可以保证学院管理员、学生或教师数据得到对应的删除;该效果对使用者来说是将学院管理员、学生或教师中的数据移除,并以新学院管理员、新学生或新教师列表中的内容进行展示。
(4)课程信息添加功能:可以确保操作人员在课程信息中增加相应的数据,这样就可以将相应的模块的数据写进数据库;在该操作中,用户必须将数据输入到相应的数据项中,以课程信息列表形式输出。
2.2.2 学院管理员功能需求
(1)教师和学生的注册功能:在原有管理员的学生和教师注册系统上,学院管理员内只支持本学院的学生和老师的录入。
(2)教师和学生的编辑功能:当本学院的学生或教师的信息出现错误需要修改时,可直接在学院管理员内更正信息,只有本学院的学生和教师才有权限修改。
(3)教师和学生的删除功能:当学院面临学生毕业或者教师需更换学院,那么添加删除功能是有必要的,学院管理员只有对本学院的学生和教师有权限删除。
(4)课程信息的管理功能:学院对课程信息的添加、删除、编辑都需要权限,只有本学院的学生和老师能接收到本学院的课程信息的发布。
2.2.3 教师端功能需求
(1)教师修改个人信息功能:如果在学校添加教师信息有错误,需要自己进行更正,可避免了对学校不必要的麻烦。
(2)课程人脸识别签到功能:教师发起课程签到,在学生端学生可看到发起课程信息并进行人脸识别签到。
(3)查看学生签到情况功能:签到结束后,教师可看到签到情况并可以及时做出确定或更正。
2.2.4 学生端功能需求
(1)学生修改个人信息功能:如果在学校添加学生信息有错误或者学生信息已有变化,则需要学生个人进行更正。
(2)查看个人签到情况:学生只可以查看到教师发起课程签到情况。
2.3 性能需求
2.3.1 界面需求
(1)界面简洁美观,背景颜色与文字色差大,易于识别文字,操作按钮醒目并且功能介绍明确。
(2)登录界面选项醒目,便于用户识别。
(3)左侧菜单栏中功能说明一目了然,便于用户操作。
2.3.2 响应时间需求
(1)响应时间:及时响应。
(2)更新处理时间:小于1s。
(3)数据转换与传输时间:及时响应,小于5s。
2.3.3 可靠性需求
在录入课程信息多的情况下,不能出现系统崩溃的情况,遇到此类问题应该具有一定的解决措施;在处理数据时,不能发生卡顿;系统也不能出现无端发生故障的情况(如:系统自动关闭、数据丢失等等)。
2.3.4 可发展性需求
本系统要求可以方便快捷地进行其他功能的扩充,比如增加新的学生成绩管理功能,选课功能等等。让系统随时能够按照学校要求更新。
2.3.5 系统安全性需求
通过 Token认证方式对学生人脸识别签到进行身份认证,只有管理员才能对系统进行操作,通过官方的服务来增强识别的安全性。
2.4 环境需求
2.4.1 硬件环境需求
服务器端设备CPU核心数大于2,运行内存大于2G,硬盘容量32G以上;学生和教师端设备能够正常访问网站即可;学生需要具备摄像头的设备以及权限和支持。
2.4.2 软件环境需求
编写服务器需要idea64位即可,数据库使用navicat;网页端使用火狐、Google Chrome、Microsoft Edge等等均可,设备必须支持开启摄像头。
3.1 架构分析
3.1.1 SSM框架
整个软件采用SSM框架,分别对以下三块进行介绍:
(1)Spring的优势:
利用Spring中IOC特性把物体间依赖关系交由Spring进行控制便于解耦和简化开发。利用Spring中AOP特性将重复模块集中在一起,以达到事务,日志和权限等控制目的。
(2)Spring MVC的优势:
Spring MVC就是采用MVC设计思想,解耦web层的一个轻量级web框架就是我们研发出来的更简洁,和Spring无缝隙衔接,数据验证灵活,格式化和数据绑定机制更强[11]。
(3)MyBatis的优势:
在数据库中运行sql使用xml文件进行配置以解除sql与代码之间的耦合并提供映射标签以支持从对象到数据库中orm字段之间的关系映射,支持对象关系映射标签、对象关系形成、提供xml标签、支持动态sql [12]。
3.1.2 HTML的使用
HTML全称为是超文本标记语言,使用HTML语言,在前端开发中会带来很大的方便。网页编辑制作时,源代码一般都会按需直接编辑或者修改,有时候还会调整各标记元素之间嵌套关系。比如,为了消除表单中边界间隔默认值,使用了这一点。还有些是为了使你编辑出来的页面更精练,同时还需在你写的时候把页面上生成的多余代码标记去掉等等。这一切所有都建立在对HTML基本语法的理解之上。
3.2 流程分析
大学生人脸识别上课考勤签到系统的数据流图如图3-1所示:
图3-1 0层数据流图
根据登录用户输入的账号、密码的数据来匹配数据库中的相应的记录值,由系统自动判断登录者的权限,然后根据用户权限来打开相对应的功能界面。如图3-2所示。
图3-2 1层数据流图
图3-2描述 1层数据流图,在1层数据流中,学生、教师、学员管理员、管理员可以作为数据的实体。
学生流程处理包含管理学生的资料、对课堂签到表、签到信息表、课程考勤表、学生表的配置资料的查询。
教师流程处理包含管理教师的资料、对课程信息表、课堂签到表、签到信息表、课程考勤表、教师表的配置资料的查询。
学院管理员流程处理包含管理学院管理员的资料、对课程信息表、课堂签到表、签到信息表、课程考勤表、教师表、学生表的配置资料的查询。
管理员用户数据流程包括对课程信息、课堂签到、签到信息、课程考勤、教师、学生模块的编辑、管理等。
学生数据流包含了一种或多种信息的增加、删除和修改;数据表包含了课堂签到表、签到信息表、课程考勤表、学生表的内容。
教师数据流包含了一种或多种信息的增加、删除和修改;数据表包含了课程信息表、课堂签到表、签到信息表、课程考勤表、教师表的内容。
学院管理员数据流包含了一种或多种信息的增加、删除和修改;数据表包含了课程信息表、课堂签到表、签到信息表、课程考勤表、教师表、学生表的内容。
3.3 技术分析
在系统开发的过程中,与MySQL数据库进行连接,采用了 JDBC技术,JDBC技术是Java数据库连接技术,通过执行SQL语句实现数据库连接,也是一种javaAPI的服务类型[13]。JDBC提供了由java语言编写的方法类和接口服务,只需要使用这些方法就可以完成数据库的连接,无需再访问专门的数据库连接过程。所以对于本系统开发而言,对于采用java开发语言的数据库连接服务和采用HTML技术进行系统开发得到广泛的应用。
在人脸识别签到系统中,借助了百度API从而实现人脸识别技术。百度智能云向用户开放了大量人工智能技术的API接口,例如人脸识别、文字识别、语音识别等多种功能,注册登录后可以申请调用多种功能的API接口。这里我们申请使用有关人脸识别的接口。申请成功后会获得相应的APP Id、API Key、Secret Key,这三个可以理解为通过程序进行接口调用时的用户、密码等信息。实现人脸识别功能时,需要预先在人脸库中建立用户组并上传用户的照片,从而实现人脸识别签到考勤功能。
3.4 可行性分析
3.3.1 操作可行性
从学校、教师和学生的角度来说,本系统登录界面以及用户界面简单明了、功能明确,能够轻易的引导操作者正确的使用系统,学校、教师和学生都有独立引导按钮。操作界面侧边栏引导功能操作简洁,能让用户轻松“驾驭”。
3.3.2 技术可行性
本系统使用了JavaWeb开发程序,采用了SSM框架,得益于开发程序相对简便快捷,能解决一个企业复杂应用而创建的一个轻量级Java开发架构,还更贴近用户的日常使用,界面简介,操作快捷。本系统调用了百度库中人脸识别API接口,降低了系统复杂度,也开放了许多关键功能的权限。综上所述,本系统在技术上是可行的。
3.3.3 其他可行性
性能风险:系统的功能基本上可满足用户需求。
隐私风险:系统调用百度库API接口人脸识别,保证了用户隐私。
综上所述,本系统开发的风险较低,因此本系统在风险上是可行的。
4 系统设计
4.1 系统功能设计
通过对大学生人脸识别上课考勤签到管理系统的用户需求分析,得出了大学生人脸识别上课考勤签到系统的功能,共有管理员、学院管理员、教师和学生四个用户,如图4-1所示。
图4-1 系统设计用户图
学院管理员权限包含了对教师信息、学生信息、课程信息发布、课堂考勤情况等功能,如图4-2所示。
图4-2 学院管理员功能结构图
教师权限包含了课程信息、课堂签到、签到信息、课程考勤、个人中心等功能,如图4-3所示。
图4-3 教师功能结构图
学生权限包含了课堂签到、签到信息、课程考勤、个人中心等功能,如图4-4所示。
图4-4 学生功能结构图
针对大学生人脸识别课堂考勤签到系统中管理员权限问题通过在数据库内设置数据,使得管理员在管理工作上方便和统一管理。系统实用新型,还使得用户在上课考勤管理领域的相关信息能够统一起来。
课程信息管理:对其有操作权限的用户可以查询、添加、修改、删除课程信息;除了对诸如课程名称、课程类型、工号、教师姓名、上课时间、课程说明之类的数据项进行独立的处理之外,还可以设定一些诸如数据类型之类的参数。
课堂签到管理:对其有操作权限的用户可以查询、添加、修改、删除课堂签到;可对课程名称、课程类型、工号、教师姓名、签到日期、签到时间、学号、姓名、班级、签到状况之类的数据项进行独立的处理。
签到信息管理:对其有操作权限的用户可以查询、添加、修改、删除签到信息;对课程名称、课程类型、工号、教师姓名、签到时间、学号、姓名、班级、照片之类的数据项进行独立的处理。
课程考勤管理:对其有操作权限的用户可以查询、添加、修改、删除课程考勤;对课程名称、课程类型、学号、姓名、专业、班级、考勤日期、考勤状况、考勤说明、工号、教师姓名之类的数据项进行独立的处理。
教师管理:对其有操作权限的用户可以查询、添加、修改、删除教师;可对工号、密码、教师姓名、性别、照片、学院、邮箱、电话之类的数据项进行独立的处理。
学生管理:对其有操作权限的用户可以查询、添加、修改、删除学生;可对学号、密码、姓名、性别、照片、专业、班级、手机之类的数据项进行独立的处理。
4.2 数据库设计
4.2.1 概念设计
大学生人脸识别上课考勤签到系统的功能更能使管理员高效和方便的管理用户进行签到。因此,一个好的上课考勤管理系统网站不但要有基本的上课考勤管理领域信息,同时要知道上课考勤管理系统的逻辑顺序和需求,这就需要你的网站里有能够进行交互性操作的功能,从而加强了与用户的联系,系统的功能也会受到更多人的欢迎[14]。在开始系统之前进行需求分析为了明确系统要完成哪些工作,必须经过相关人员认可,目的是彻底解决用户问题。
鉴于以上分析,为满足用户需求该系统实现的功能基本如下数据库的E-R图如图4-5所示。
图4-5 系统E-R图
学院管理员E-R图包含了学院管理员姓名、性别、年龄、电话等数据项,如图4-6所示。
图4-6 学院管理员E-R图
教师E-R图包含了工号、密码、教师姓名、性别、照片、学院、邮箱、电话等数据项,如图4-7所示。
图4-7 教师E-R图
学生E-R图包含了学号、密码、姓名、性别、照片、专业、班级、手机等数据项,如图4-8所示。
图4-8 学生E-R图
课程信息E-R图包含了课程名称、课程类型、工号、教师姓名、上课时间、课程说明等数据项,如图4-9所示。
图4-9 课程信息E-R图
课堂签到E-R图包含了课程名称、课程类型、工号、教师姓名、签到日期、签到时间、学号、姓名、班级、签到状况等数据项,如图4-10所示。
图4-10 课堂签到E-R图
签到信息E-R图包含了课程名称、课程类型、工号、教师姓名、签到时间、学号、姓名、班级、照片等数据项,如图4-11所示。
图4-11 签到信息E-R图
课程考勤E-R图包含了课程名称、课程类型、学号、姓名、专业、班级、考勤日期、考勤状况、考勤说明、工号、教师姓名等数据项,如图4-12所示。
图4-12 课程考勤E-R图
4.2.2 逻辑设计
大学生人脸识别上课考勤签到系统采用了MySql数据库,包含了课程信息表、课堂签到表、签到信息表、课程考勤表、教师表、学生表等,每张表都有自增的主键,有些表与表有关联的,还存在外键。学生数据流包含了一种或多种信息的增加、删除和修改;数据表包含了课堂签到表、签到信息表、课程考勤表、学生表的内容。
教师数据流包含了一种或多种信息的增加、删除和修改;数据表包含了课程信息表、课堂签到表、签到信息表、课程考勤表、教师表的内容。
学院管理员数据流包含了一种或多种信息的增加、删除和修改;数据表包含了课程信息表、课堂签到表、签到信息表、课程考勤表、教师表、学生表的内容。
具体的表设计如下:
管理员信息功能由管理员信息表实现。如表4-1所示。
表4-1 用户信息表
字段名称 | 类型 | 长度 | 字段说明 | 默认值 |
id | bigint | 20 | 主键 | |
username | varchar | 100 | 用户名 | |
password | varchar | 100 | 密码 | |
role | varchar | 100 | 角色 | 管理员 |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
学院管理员信息管理功能由学院管理员信息表实现,如表4-2所示。
表4-2 学院管理员信息表
字段名称 | 类型 | 长度 | 字段说明 | 默认值 |
id | bigint | 20 | 主键 | |
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | |
zhanghao | varchar | 200 | 账号 | |
mima | varchar | 200 | 密码 | |
xingming | varchar | 200 | 姓名 | |
xingbie | varchar | 200 | 性别 | |
nianling | varchar | 200 | 年龄 | |
youxiang | varchar | 200 | 邮箱 | |
dianhua | varchar | 200 | 电话 |
教师个人信息的管理功能由教师信息表实现,如表4-3所示。
表4-3 教师信息表
字段名称 | 类型 | 长度 | 字段说明 | 默认值 |
id | bigint | 20 | 主键 | |
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | |
gonghao | varchar | 200 | 工号 | |
mima | varchar | 200 | 密码 | |
jiaoshixingming | varchar | 200 | 教师姓名 | |
xingbie | varchar | 200 | 性别 | |
touxiang | longtext | 4294967295 | 照片 | |
xueyuan | varchar | 200 | 学院 | |
youxiang | varchar | 200 | 邮箱 | |
dianhua | varchar | 200 | 电话 |
学生个人信息管理功能由学生信息表实现,如表4-4所示。
表4-4 学生信息表
字段名称 | 类型 | 长度 | 字段说明 | 默认值 |
id | bigint | 20 | 主键 | |
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | |
续表4-4 | ||||
xuehao | varchar | 200 | 学号 | |
mima | varchar | 200 | 密码 | |
xingming | varchar | 200 | 姓名 | |
xingbie | varchar | 200 | 性别 | |
touxiang | longtext | 4294967295 | 照片 | |
zhuanye | varchar | 200 | 专业 | |
banji | varchar | 200 | 班级 | |
shouji | varchar | 200 | 手机 |
课程信息的管理功能由课程信息表实现,如表4-5所示。
表4-5 课程信息表
字段名称 | 类型 | 长度 | 字段说明 | 默认值 |
id | bigint | 20 | 主键 | |
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | |
kechengmingcheng | varchar | 200 | 课程名称 | |
kechengleixing | varchar | 200 | 课程类型 | |
gonghao | varchar | 200 | 工号 | |
jiaoshixingming | varchar | 200 | 教师姓名 | |
shangkeshijian | varchar | 200 | 上课时间 | |
kechengshuoming | longtext | 4294967295 | 课程说明 |
课堂签到功能由课堂签到表实现,如表4-6所示。
表4-6 课堂签到信息表
字段名称 | 类型 | 长度 | 字段说明 | 默认值 |
id | bigint | 20 | 主键 | |
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | |
kechengmingcheng | varchar | 200 | 课程名称 | |
kechengleixing | varchar | 200 | 课程类型 | |
gonghao | varchar | 200 | 工号 | |
jiaoshixingming | varchar | 200 | 教师姓名 | |
续表4-6 | ||||
qiandaoriqi | varchar | 200 | 签到日期 | |
qiandaoshijian | varchar | 200 | 签到时间 | |
xuehao | varchar | 200 | 学号 | |
xingming | varchar | 200 | 姓名 | |
banji | varchar | 200 | 班级 | |
qiaodaozhuangkuang | varchar | 200 | 签到状况 |
课堂考勤信息的管理功能由课堂考勤信息表实现,如表4-7所示。
表4-7 课堂考勤信息表
字段名称 | 类型 | 长度 | 字段说明 | 默认值 |
id | bigint | 20 | 主键 | |
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | |
kechengmingcheng | varchar | 200 | 课程名称 | |
kechengleixing | varchar | 200 | 课程类型 | |
xuehao | varchar | 200 | 学号 | |
xingming | varchar | 200 | 姓名 | |
zhuanye | varchar | 200 | 专业 | |
banji | varchar | 200 | 班级 | |
kaoqinriqi | date | 考勤日期 | ||
kaoqinzhuangkuang | varchar | 200 | 考勤状况 | |
kaoqinshuoming | longtext | 4294967295 | 考勤说明 | |
gonghao | varchar | 200 | 工号 | |
jiaoshixingming | varchar | 200 | 教师姓名 |
学生签到信息管理的功能由签到信息表实现,如表4-8所示。
表4-8 签到信息表
字段名称 | 类型 | 长度 | 字段说明 | 默认值 |
id | bigint | 20 | 主键 | |
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | |
kechengmingcheng | varchar | 200 | 课程名称 | |
kechengleixing | varchar | 200 | 课程类型 | |
续表4-8 | ||||
gonghao | varchar | 200 | 工号 | |
jiaoshixingming | varchar | 200 | 教师姓名 | |
fabushijian | datetime | 发布时间 | ||
xuehao | varchar | 200 | 学号 | |
xingming | varchar | 200 | 姓名 | |
banji | varchar | 200 | 班级 | |
zhaopian | longtext | 4294967295 | 照片 |
配置文件如表4-9所示。
表4-9 配置文件表
字段名称 | 类型 | 长度 | 字段说明 | 默认值 |
id | bigint | 20 | 主键 | |
name | varchar | 100 | 配置参数名称 | |
value | varchar | 100 | 配置参数值 |
人脸识别用户身份令牌token如表4-10所示。
表4-10 token表
字段名称 | 类型 | 长度 | 字段说明 | 默认值 |
id | bigint | 20 | 主键 | |
userid | bigint | 用户id | ||
username | varchar | 100 | 用户名 | |
tablename | varchar | 100 | 表名 | |
role | varchar | 100 | 角色 | |
token | varchar | 200 | 密码 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | |
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
5 系统实现
5.1 核心功能模块的实现
5.1.1 用户注册功能
为了使上课考勤签到系统在高校顺利的执行学生、教师相关功能,学生和教师信息注册是必不可少的。加入上传Excel表格的功能从而快速注册学生和教师信息,从而提高学生教师模块的工作效率。教师需添加工号、密码、教师姓名、性别、学院、邮箱、电话、账号的Excel数据界面如图5-1所示。学生需添加学号、密码、姓名、性别、专业、班级、手机、账号、教师工号的Excel数据界面如图5-2所示。
表5-1 教师信息Excel表
图5-2 学生信息Excel表
学院管理员可以选择单个添加学生或教师账号信息,也可以使用方便高效的上传Excel表格来添加学生教师信息如图5-3所示。
图5-3 导入Excel表格界面
5.1.2 课程发布功能
本系统在教师课程签到之前,必须让学院管理员发布相应签到课程,以便于学生、教师、学员管理员、管理员预先准备一些数据,从而提高课程信息模块的工作效率。课程信息的发布需要添加课程名称、课程类型、教师工号、教师姓名、上课时间、学院账号以及课程说明相关信息如图5-4所示。
图5-4 课程发布界面
5.1.3 人脸识别签到功能
本系统的人脸识别签到功能是调用了百度库人脸识别API技术如图5-5所示。百度人脸识别API检测判断遮挡范围,模糊程度范围,光照范围,姿态角度,人脸完整度,人脸尺寸等是否合格,若满足压迫求就将请求发送到API服务地址利用POST从URL里得到参数token可以由后台API Key与Secret Key共同产生。在发出请求时,要求对请求图片进行Base64编码方式,当图片base64编码方式对图片数据进行字符串编码时,用字符串替换图像地址。在本系统使用中,人脸识别签到如图5-6所示。
图5-5 百度人脸识别API界面
图5-6 人脸识别考勤界面
人脸识别请求参数如表5-1所示,返回参数如表5-2所示。
表5-1 请求参数表
参数 | 必选 | 类型 | 说明 |
image | 是 | string | 图片信息小于10M |
image_type | 是 | string | 图片类型:BASE64、URL、FACE_TOKEN |
face_field | 是 | string | 逗号分隔符 |
max_face_num | 否 | uint32 | 默认值为1,最大值20 |
lace_type | 否 | string | |
续表5-1 | |||
liveness_control | 否 | string | |
face_sort_type | 否 | int | 默认为0 |
display_corp_image | 否 | int |
表5-2 返回参数表
字段 | 必选 | 类型 | 说明 |
face_num | 是 | int | 检测到的图片中的人脸数量 |
face_list | 是 | array | 人脸信息列表 |
+face_token | 是 | string | face_token有效 期为60min |
+location | 是 | double | 人脸在图片的位置 |
++left | 是 | double | |
++top | 是 | double | |
++width | 是 | double | |
++height | 是 | int64 | |
++rotation | 是 | double | |
+face_probability | 是 | array | |
+angle | 是 | double | 人脸置信度0-1 |
5.2 系统界面展示
5.2.1 用户登录界面展示
管理员、学院管理员、教师、学生登录界面如图5-7所示。
图5-7 登陆界面
5.2.2 管理员端页面展示
学生签到课程数据分析界面如图5-8所示。
图5-8 系统主页界面
管理员注册学院管理员信息界面如图5-9所示。
图5-9 学院管理员添加界面
5.2.3 学院管理员界面展示
学院管理员添加学生信息界面如图5-10所示。
图5-10 学生信息注册界面
学院管理员注册教师界面如图5-11所示。
图5-11 教师信息注册界面
学院管理员课程信息添加界面如图5-12所示。
图5-12 课程信息添加界面
其他的定制服务 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者