2024年3月24日发(作者:校俊民)
ISSN1009-3044
ComputerKnowledgeand
年
Technology
第17卷第1期(20211月)
电脑知识
与技术
Vol.17,No.1January2021
E-mail:*************.cn
ComputerKnowledgeandTechnology
电脑知识
与技术
http://
Tel:+86-551-6569
基于安卓指纹识别的考勤系统的设计与实现
杜建辉,蔡朝朝,江冰怡,马文龙,黄新迪,胡雪萌
(新疆农业大学,新疆乌鲁木齐830052)
摘要:近年来学生课堂缺课频率日益增高,通过课前点名来保障课堂教学质量的措施也逐渐体现出了耗费时间、效率低下
等弊端,针对这些问题,采用Android客户端与服务器端数据交互,设计并实现了基于安卓指纹识别的考勤系统,该系统利
用指纹具有终身不变性和唯一性的特性,使用学生的指纹信息进行课堂考勤记录,保证了考勤记录的准确性。进行签到
的同时也启用了手机的定位服务,将学生的位置信息存放在考勤记录表中,GPS与移动网络定位在很大程度上减小了定位
误差,经过测试,该系统基本实现了所有功能,考勤记录清晰准确,为高校课堂考勤工作带来了极大便利。
关键词:安卓;指纹识别;考勤系统;数据交互;GPS
中图分类号:TP311.52文献标识码:A
开放科学(资源服务)标识码(OSID):
文章编号:1009-3044(2021)01-0073-03
DesignandImplementationofAttendanceSystemBasedonAndroidFingerprintIdentification
(XinjiangAgriculturalUniversity,Urumqi830052,China)
DUJian-hui,CAIZhao-zhao,JIANGBing-yi,MAWen-long,HUANGXin-di,HUXue-meng
Abstract:Inrecentyears,thefrequencyofstudents'surestoensurethequality
ofclassroomteachingthroughrollcallbeforeclasshasgraduallyreflectedthedisadvantagesoftime-consumingandlowefficiency.
Aimingattheseproblems,thispaperdesignsandimplementsanattendancesystembasedonAndroidfingerprintidentificationby
temusesafingerprinttohavelifetimeinvarianceanduniqueness
Usingstudents'fingerprintinformationtorecordclassattendance,ame
time,themobilephonelocationserviceisalsoenabledforcheckingin,andthelocationinformationofstudentsisstoredintheat⁃
esting,thesystembasically
realizesallthefunctions,andtheattendancerecordisclearandaccurate,whichbringsgreatconvenienceforcollegeclassatten⁃
dancework.
Keywords:android;fingerprintidentification;attendancesystem;datainteraction;GPS
1背景
指纹识别技术作为生物体特征识别技术之一在新世纪逐
渐成熟
[1]
,随着手机不断更新换代,手机的指纹识别功能已日益
完善并成为手机不可或缺的功能,指纹识别技术是同虹膜识
别、人脸识别等其他生物识别技术相比,目前最成熟且价格便
宜,又非常适合应用于手机的生物特征识别技术
[2]
,该技术也已
广泛应用于日常生活生产中,所以手机指纹识别功能的前景也
非常广阔。但根据调查,国内大部分Android手机的指纹认证
功能都只局限于用来解锁手机,仅有个别软件将其应用于手机
支付上,其他软件很少将指纹识别技术使用到App的功能逻辑
当中,所以做一个基于安卓指纹识别的考勤系统不仅是一个新
的尝试,更是一个挑战。
教学考勤对于大多数高校来说是每堂课开始前所必须完
成的工作。由于学生人数众多,通常需要花费大量时间完成。
考勤工作是一项烦琐又无聊的工作,时间久了必然会引起学生
和老师对此工作的厌烦情绪。考勤的目的是让学生按时上课
学习,但由于人工考勤的方式极易出现学生找人代签和漏点的
情况,这时就需要一个考勤系统方便老师快速准确地掌握学生
考勤情况。基于指纹识别的学生考勤管理系统正是利用准确、
方便这一优势帮助老师快速准确地完成考勤工作,避免过于烦
琐的工作过程,为老师和学生减轻负担。
2系统设计
2.1指纹识别技术
指纹识别技术中,最重要的部分就是指纹匹配,指纹匹配
收稿日期:2020-09-19
基金项目:新疆农业大学2020年大学生创新项目
作者简介:蔡朝朝(1978—),女,福建闽侯人,通信作者,讲师,研究方向为数据库技术与程序设计;杜建辉(1998—),男,甘肃张掖人,
本科在读,研究方向为计算机科学与技术;江冰怡(1999—),女,新疆伊宁人,本科在读,研究方向为计算机科学与技术;马
文龙(1999—),男(东乡族),甘肃临夏人,本科在读,研究方向为计算机科学与技术;黄新迪(2001—),男,山东曹县人,本科
在读,研究方向为计算机科学与技术;胡雪萌(1999—),女,天津人,本科在读,研究方向为计算机科学与技术。
本栏目责任编辑:谢媛媛
软件设计开发
73
ComputerKnowledgeandTechnology
电脑知识
与技术
一般分成两个步骤,首先是通过指纹识别器获取用户指纹的特
征,将输入的指纹信息和模板中的指纹信息进行比对,判断两
幅指纹图像是否来自同一手指
[3]
。
光学指纹传感器的原理是,由于人的指纹凹凸不平,光照
射在手指上,按照光的折射和反射原理,反射回光学指纹传感
器的光线亮度会不同,最后会收集到不同指纹亮度的图片信
息,这个时候就完成了指纹信息的采集。要进行识别时,通过
光学指纹识别器获得用户指纹数据,并与指纹信息库进行对
比,查看是否相同。光学识别只能作用于皮肤的表层,因此识
别时需要保持手指干净和干燥。电容传感器也利用指纹凹凸
不平的特性,当手指贴在传感器上时,凹点和凸点与传感器接
触的距离有区别,所以电容数值也不同,通过这些数值就能成
功识别出用户指纹。
现在的手机基本拥有电容式指纹识别或光学指纹识别功
能,因此在指纹识别功能的开发过程中,可以直接调用Android
系统的指纹识别API或Soter指纹授权,但Soter主要用于移动
支付,为了保障用户信息安全,本系统决定采用Google官方的
指纹识别接口,该接口通过指纹管理程序获得用户的TouchID
进行指纹验证。
2.2GPS与移动网络定位技术
坐标,
GPS
GPS
是通过四颗卫星计算出卫星与接收机之间的距离与
定位分为单点定位和相对定位
[4]
,手机目前都使用单
点定位。移动网络定位是根据手机信号的强弱使用特定算法
进行定位,考勤签到一般都处于室内,GPS信号较弱,对墙体的
穿透能力不强,
GPS
对定位精度会造成一定的影响,因此使用通过
精确。
与移动网络综合应用定位的A-GPS定位技术能使定位更
2.3功能设计
本系统使用手机自带的指纹识别功能,系统通过Finger⁃
识别功能,
Manager
用户将指纹按在指纹识别区域内,
实现与FingerprintService的通信来启动手机指纹
即可完成考勤签
到,用户指纹信息存储在本地,所以识别非常迅速。使用前需
要确保手机内有一个指纹信息,不然系统的签到功能无法正常
使用。
系统主要用户为学生和教师。教师登录系统后,发起课堂
签到通知,学生收到信息后,可通过系统进行签到,在规定时间
内未完成签到的同学,系统自动判别为旷课,学生迟到教师可
将其旷课改为迟到,学生课堂考勤记录按教师每天所上课程分
开保存,为方便查阅保障系统流畅性,一周之后的考勤记录不
再为教师展示。学生在签到前需要开启手机的移动网络和定
位服务,学生登录系统收到签到通知后,使用手机指纹识别功
能完成教师发布的签到任务,学生的签到时间和地理位置信息
将保存在数据库中,学生还可查询个人信息及一周内的考勤记
录,一周之后的考勤记录不再为学生显示。所有用户的登录账
户都为教师工号或学生学号,密码为身份证号后六位,打开系
统后用户可自行更改登录密码。
2.4数据库设计
数据库的设计对整个系统来说是一个非常重要的环节,规
划的好在很大程度上能提高数据库的性能,增加数据库的稳定
性。因此在开发过程中,为了便于数据管理减少冗余,将管理
员、教师和学生放在了同一个表内,某些学生专业发生变动或
74
软件设计开发
第17卷第1期(2021年1月)
上课时间发生更改,对这些数据可能存在变动的字段,单独取
出成立新表,通过外键与其级联。本系统中的数据表有用户信
息表、学院班级表、课程表和考勤表等,现主要展示用户表和学
生考勤表。
用户表:用户的学号和工号不会发生变更,因此采用char
类型,表中存放的为用户基本信息,通过role字段对用户角色
区分,对不同角色授予不同的权限,表结构如表1所示。
表1用户表
字段名类型长度主键外键备注
student_idchar9
是否学号
namevarchar30
否否姓名
passwordvarchar20
否否密码
identitychar18
否否身份证号
class_idint12
否是班级
jobvarchar20
否否职务
identityvarchar20
否否政治身份
gradeint4
否否年级
telephoneint11
否否电话
attend_idint10
否是考勤id
nationvarchar20
否否民族
dormitorychar4
否否宿舍号
rolechar10
否否角色
考勤表:存放学生考勤信息,系统为学生和教师展示的考
勤记录存放在该表中,其中主要包括考勤状态、考勤日期、位置
信息和课程等字段,表结构如表2所示。
表2学生考勤表
字段名类型长度主键外键备注
attend_idint10
是否考勤id
student_idchar9
是是学生id
satusint
否否考勤状态
datedatetime
否否考勤日期
locationvarchar80
否否位置信息
course_idvarchar30
否否课程id
3系统实现
项目的开发包括:登录界面、学生模块、教师模块、管理员
模块等。
3.1登录界面
当用户安装好指纹考勤系统App,打开系统将会进入角色
选择主界面,考勤系统共包含了学生、教师、以及管理员三种用
户角色,每一个角色的权限和操作界面都有所不同,所以在登
录前用户需要选择自己的角色,输入正确的账户密码后,显示
不同的操作界面,角色选择界面和用户登录界面整体采用线性
布局,界面如图1,图2所示。
本栏目责任编辑:谢媛媛
第17卷第1期(2021年1月)
图1角色选择
图2用户登录
3.2学生模块
当用户选择的角色为学生,点击开始使用会进入到登录界
面,当学生输入自己的账号和密码点击登录按钮后,系统会通
过学生的学号查询数据库内数据并判断学生输入的学号密码
是否正确,如果正确将成功进入学生模块主界面。学生使用考
勤App主要功能:考勤签到、查看签到记录、个人基本信息查
询,以及登录密码的修改。在系统页面的底部使用了选项卡导
航设计,用户点击底部的某个选项卡时,系统会切换到其对应
的操作界面。当学生收到课堂考勤签到的通知,点击签到会出
现指纹验证提示,指纹不匹配无法完成签到。指纹识别界面如
图3所示。
图3学生指纹签到
3.3教师模块
当用户角色选择老师,将会进入教师模块主界面,教师若
是班主任,可对班级内学生的个人信息进行编辑,能查询晚上
学生在宿考勤情况,确保学生安全在校。在系统页面内教师可
通过自己的课程表发起相关课程签到通知,并设定考勤结束时
间,系统会在手机的通知栏提醒学生及时完成考勤签到任务,
本栏目责任编辑:谢媛媛
ComputerKnowledgeandTechnology
电脑知识
与技术
在考勤结束后系统自动将学生考勤情况形成记录,课后教师可
在课堂考勤记录中查询学生考勤情况,不同考勤状态的记录会
用不同的颜色显示。考勤录如图5所示。
图4签到记录
3.4管理员模块
管理员并不参与课堂考勤与晚上在宿考勤的签到信息发
布,主要功能为教师、学生信息的录入及教师信息的修改,对转
班级或转专业同学的相关信息进行更正,对身份为班主任的教
师给其管理本班学生信息的权限,管理员的主要功能是对服务
器数据进行管理和维护。当用户忘记登录密码时,管理员可将
该用户的密码重置为身份证号后六位。
4总结
基于指纹识别的学生考勤管理系统在完成课堂签到功能
的同时,对学生晚上在宿考勤情况也有很好的管理功能,只要
有网络就能轻松完成考勤工作,不用安排人员对每层楼的宿舍
进行检查,提高了在宿考勤检查工作的效率。该系统将考勤结
果将保存在服务器内,方便后期查阅,实现了无纸化管理。但
本系统还存在一些问题,比如,1)LocationManager定位功能不
稳定,在低端机上定位信息不准确或不能获取;2)教师的学生
考勤记录界面没有显示出班级所有人数和迟到旷到学生人数;
3
如果考勤记录中查看地理位置信息又增加了考勤工作负担,
)以及学生的地理位置信息与教师不同,仍然可以进行签到,
影
响了整体效率。后期我们会对系统进行改进,将一些重要信息
尽可能地展示在界面上,将指纹信息匹配但学生位置和教师位
置不同的记录用不同颜色加以区分,或让其无法进行签到,并
增加人脸识别功能使考勤方式多样化,更好的适配各种机型。
在系统开发过程中,我们遇到了很多技术上的问题,但通
过对相关资料查询与导师的指导,我们最终还是克服了种种难
关完成了这个系统,虽然系统并不完美,离我们预期设计还存
在一些差距,但这同时也使我们认识到在系统开发过程中自己
存在的不足,我们思考问题并不全面,在专业知识方面还存在
欠缺,想要完善并丰富这个系统我们还有许多知识需要学习。
以后不论是改进此系统还是设计其他新应用,我们都会积极探
索,始终保持一颗进取之心。(下转第81页)
软件设计开发
75
第17卷第1期(2021年1月)
ComputerKnowledgeandTechnology
电脑知识
与技术
}
//特征提取失败
else{
if(increaseAndGetValue(extractErrorRetryMap,requestId)>
MAX_RETRY_TIME){
(requestId,0);
Stringmsg;
//传入的FaceInfo在指定的图像上无法解析人脸,此处使
用的是RGB人脸数据,一般是人脸模糊
if(errorCode!=null&&errorCode==_FS⁃
DK_FACEFEATURE_LOW_CONFIDENCE_LEVEL){
msg=getString(_confidence_level);
}else{
msg="ExtractCode:"+errorCode;
}
e(requestId,getString(⁃
nize_failed_notice,msg));}
}
}
}
});
本次测试针对系统功能以及程序逻辑性,通过对测试报告
以及测结论的分析,得出结果:弱网情况下,客户端与服务端通
讯正常,只是数据接收比较慢,会影响用户的体验,但不影响,
用户正常使用。考勤功能受到影响,在10秒内如果数据包未
接收成功,会判定为断网状态,给予断网提示。本系统能满足
日常使用的需求,能做到数据实时更新无异常,日常使用无崩
溃情况。在数据库数据超过5万条的情况下,服务器也能较快
的返回数据给予客户端,保障客户端的平稳运行,在不考虑网
络的情况下,数据包的交互都能控制在一秒内,保证整个软件
的完美交互。
5结论
本文设计了基于Android的人脸识别的考勤系统,该系统
有效地解决了企业考勤的难、效率低的问题,通过该系统可以
提高考勤的效率和准确性。在未来可以在此系统基础上,添加
更多的功能,以满足企业的其他要求。
参考文献:
[1]马炳周.基于Android的考勤系统的设计方案[J].中国新通信,
2019,21(18):48-49.
[2]马玉凤.基于Java技术的企业员工考勤系统开发策略[J].电
子技术与软件工程,2018(12):30.
[3]李宏坤,郑光勇,谢舞,等.基于springboot框架的公司考勤系
统的研究与设计[J].电脑知识与技术,2019,15(18):55-56.
[4]郭冠良,朱堪日,蔡敏.基于Android平台的企业考勤系统设计
与实现[J].无线互联科技,2019(1):52-53.
[5]贾维喆.移动考勤管理系统的研究[J].哈尔滨铁道科技,2016
(4):1-4.
[6]丁一钧.基于安卓操作系统的便携式人员考勤系统设计[J].
电脑编程技巧与维护,2018(10):55-56,73.
【通联编辑:代影】
4测试
在软件使用前对软件测试是排除故障的有效手段,通过测
试发现软件BUG,修复BUG让软件变得更完善。测试具体分
为两种测试:黑盒测试指通过巨量的测试用例来检测软件的错
误程度,减少那些并未发现的缺陷却带来潜在的严重性,甚至
导致组织的信誉受损,黑盒测试检查系统的各个功能点最终有
没有和软件设计时的需求达成一致,是否能达到理想效果。白
盒测试:根据程序的结构,用例测试,一步一步循环测试下去,
验证程序逻辑是否通畅。
(上接第75页)
参考文献:
[1]于晓明.指纹识别应用研究[J].山东工业技术,2019(9):168.
[2]邱士星.基于Android手机的指纹识别技术研究[D].西安:西
安电子科技大学,2014.
[3]马行运.指纹自动识别系统算法的研究与实现[D].南宁:广西
大学,2008.
[4]邬群勇,张爱国,许其凤,等.GPS移动定位与移动网络定位精
度的分析[J].全球定位系统,2010,35(5):33-37,53.
[5]徐崧胜.基于Android平台的学生签到系统设计和实现[J].电
子技术与软件工程,2020(2):42-43.
[6]郭宇航.安卓智能设备上的指纹识别方案[J].科学技术创新,
2018(12):61-62.
[7]代瑶.基于安卓技术的校园点名系统研究[J].数码世界,2018
(3):154.
[8]王国栋,韩立爽,孙洪亮.安卓系统手机指纹锁的安全性测试
研究[J].河北公安警察职业学院学报,2018,18(2):19-22.
[9]黄珂,黄方.基于安卓平台的行为指纹安全认证[J].实验科学
与技术,2017,15(1):60-64.
[10]刘江帅.腾讯生物认证平台TENCENTSOTER全面开源[J].
计算机与网络,2017,43(16):32.
[11]安迪.一种新的指纹保护用户凭据的口令认证方案[D].西
安:西安电子科技大学,2017.
[12]王谦.基于移动平台的指纹识别关键技术研究[D].哈尔滨:
哈尔滨工程大学,2017.
【通联编辑:谢媛媛】
本栏目责任编辑:谢媛媛
软件设计开发
81
2024年3月24日发(作者:校俊民)
ISSN1009-3044
ComputerKnowledgeand
年
Technology
第17卷第1期(20211月)
电脑知识
与技术
Vol.17,No.1January2021
E-mail:*************.cn
ComputerKnowledgeandTechnology
电脑知识
与技术
http://
Tel:+86-551-6569
基于安卓指纹识别的考勤系统的设计与实现
杜建辉,蔡朝朝,江冰怡,马文龙,黄新迪,胡雪萌
(新疆农业大学,新疆乌鲁木齐830052)
摘要:近年来学生课堂缺课频率日益增高,通过课前点名来保障课堂教学质量的措施也逐渐体现出了耗费时间、效率低下
等弊端,针对这些问题,采用Android客户端与服务器端数据交互,设计并实现了基于安卓指纹识别的考勤系统,该系统利
用指纹具有终身不变性和唯一性的特性,使用学生的指纹信息进行课堂考勤记录,保证了考勤记录的准确性。进行签到
的同时也启用了手机的定位服务,将学生的位置信息存放在考勤记录表中,GPS与移动网络定位在很大程度上减小了定位
误差,经过测试,该系统基本实现了所有功能,考勤记录清晰准确,为高校课堂考勤工作带来了极大便利。
关键词:安卓;指纹识别;考勤系统;数据交互;GPS
中图分类号:TP311.52文献标识码:A
开放科学(资源服务)标识码(OSID):
文章编号:1009-3044(2021)01-0073-03
DesignandImplementationofAttendanceSystemBasedonAndroidFingerprintIdentification
(XinjiangAgriculturalUniversity,Urumqi830052,China)
DUJian-hui,CAIZhao-zhao,JIANGBing-yi,MAWen-long,HUANGXin-di,HUXue-meng
Abstract:Inrecentyears,thefrequencyofstudents'surestoensurethequality
ofclassroomteachingthroughrollcallbeforeclasshasgraduallyreflectedthedisadvantagesoftime-consumingandlowefficiency.
Aimingattheseproblems,thispaperdesignsandimplementsanattendancesystembasedonAndroidfingerprintidentificationby
temusesafingerprinttohavelifetimeinvarianceanduniqueness
Usingstudents'fingerprintinformationtorecordclassattendance,ame
time,themobilephonelocationserviceisalsoenabledforcheckingin,andthelocationinformationofstudentsisstoredintheat⁃
esting,thesystembasically
realizesallthefunctions,andtheattendancerecordisclearandaccurate,whichbringsgreatconvenienceforcollegeclassatten⁃
dancework.
Keywords:android;fingerprintidentification;attendancesystem;datainteraction;GPS
1背景
指纹识别技术作为生物体特征识别技术之一在新世纪逐
渐成熟
[1]
,随着手机不断更新换代,手机的指纹识别功能已日益
完善并成为手机不可或缺的功能,指纹识别技术是同虹膜识
别、人脸识别等其他生物识别技术相比,目前最成熟且价格便
宜,又非常适合应用于手机的生物特征识别技术
[2]
,该技术也已
广泛应用于日常生活生产中,所以手机指纹识别功能的前景也
非常广阔。但根据调查,国内大部分Android手机的指纹认证
功能都只局限于用来解锁手机,仅有个别软件将其应用于手机
支付上,其他软件很少将指纹识别技术使用到App的功能逻辑
当中,所以做一个基于安卓指纹识别的考勤系统不仅是一个新
的尝试,更是一个挑战。
教学考勤对于大多数高校来说是每堂课开始前所必须完
成的工作。由于学生人数众多,通常需要花费大量时间完成。
考勤工作是一项烦琐又无聊的工作,时间久了必然会引起学生
和老师对此工作的厌烦情绪。考勤的目的是让学生按时上课
学习,但由于人工考勤的方式极易出现学生找人代签和漏点的
情况,这时就需要一个考勤系统方便老师快速准确地掌握学生
考勤情况。基于指纹识别的学生考勤管理系统正是利用准确、
方便这一优势帮助老师快速准确地完成考勤工作,避免过于烦
琐的工作过程,为老师和学生减轻负担。
2系统设计
2.1指纹识别技术
指纹识别技术中,最重要的部分就是指纹匹配,指纹匹配
收稿日期:2020-09-19
基金项目:新疆农业大学2020年大学生创新项目
作者简介:蔡朝朝(1978—),女,福建闽侯人,通信作者,讲师,研究方向为数据库技术与程序设计;杜建辉(1998—),男,甘肃张掖人,
本科在读,研究方向为计算机科学与技术;江冰怡(1999—),女,新疆伊宁人,本科在读,研究方向为计算机科学与技术;马
文龙(1999—),男(东乡族),甘肃临夏人,本科在读,研究方向为计算机科学与技术;黄新迪(2001—),男,山东曹县人,本科
在读,研究方向为计算机科学与技术;胡雪萌(1999—),女,天津人,本科在读,研究方向为计算机科学与技术。
本栏目责任编辑:谢媛媛
软件设计开发
73
ComputerKnowledgeandTechnology
电脑知识
与技术
一般分成两个步骤,首先是通过指纹识别器获取用户指纹的特
征,将输入的指纹信息和模板中的指纹信息进行比对,判断两
幅指纹图像是否来自同一手指
[3]
。
光学指纹传感器的原理是,由于人的指纹凹凸不平,光照
射在手指上,按照光的折射和反射原理,反射回光学指纹传感
器的光线亮度会不同,最后会收集到不同指纹亮度的图片信
息,这个时候就完成了指纹信息的采集。要进行识别时,通过
光学指纹识别器获得用户指纹数据,并与指纹信息库进行对
比,查看是否相同。光学识别只能作用于皮肤的表层,因此识
别时需要保持手指干净和干燥。电容传感器也利用指纹凹凸
不平的特性,当手指贴在传感器上时,凹点和凸点与传感器接
触的距离有区别,所以电容数值也不同,通过这些数值就能成
功识别出用户指纹。
现在的手机基本拥有电容式指纹识别或光学指纹识别功
能,因此在指纹识别功能的开发过程中,可以直接调用Android
系统的指纹识别API或Soter指纹授权,但Soter主要用于移动
支付,为了保障用户信息安全,本系统决定采用Google官方的
指纹识别接口,该接口通过指纹管理程序获得用户的TouchID
进行指纹验证。
2.2GPS与移动网络定位技术
坐标,
GPS
GPS
是通过四颗卫星计算出卫星与接收机之间的距离与
定位分为单点定位和相对定位
[4]
,手机目前都使用单
点定位。移动网络定位是根据手机信号的强弱使用特定算法
进行定位,考勤签到一般都处于室内,GPS信号较弱,对墙体的
穿透能力不强,
GPS
对定位精度会造成一定的影响,因此使用通过
精确。
与移动网络综合应用定位的A-GPS定位技术能使定位更
2.3功能设计
本系统使用手机自带的指纹识别功能,系统通过Finger⁃
识别功能,
Manager
用户将指纹按在指纹识别区域内,
实现与FingerprintService的通信来启动手机指纹
即可完成考勤签
到,用户指纹信息存储在本地,所以识别非常迅速。使用前需
要确保手机内有一个指纹信息,不然系统的签到功能无法正常
使用。
系统主要用户为学生和教师。教师登录系统后,发起课堂
签到通知,学生收到信息后,可通过系统进行签到,在规定时间
内未完成签到的同学,系统自动判别为旷课,学生迟到教师可
将其旷课改为迟到,学生课堂考勤记录按教师每天所上课程分
开保存,为方便查阅保障系统流畅性,一周之后的考勤记录不
再为教师展示。学生在签到前需要开启手机的移动网络和定
位服务,学生登录系统收到签到通知后,使用手机指纹识别功
能完成教师发布的签到任务,学生的签到时间和地理位置信息
将保存在数据库中,学生还可查询个人信息及一周内的考勤记
录,一周之后的考勤记录不再为学生显示。所有用户的登录账
户都为教师工号或学生学号,密码为身份证号后六位,打开系
统后用户可自行更改登录密码。
2.4数据库设计
数据库的设计对整个系统来说是一个非常重要的环节,规
划的好在很大程度上能提高数据库的性能,增加数据库的稳定
性。因此在开发过程中,为了便于数据管理减少冗余,将管理
员、教师和学生放在了同一个表内,某些学生专业发生变动或
74
软件设计开发
第17卷第1期(2021年1月)
上课时间发生更改,对这些数据可能存在变动的字段,单独取
出成立新表,通过外键与其级联。本系统中的数据表有用户信
息表、学院班级表、课程表和考勤表等,现主要展示用户表和学
生考勤表。
用户表:用户的学号和工号不会发生变更,因此采用char
类型,表中存放的为用户基本信息,通过role字段对用户角色
区分,对不同角色授予不同的权限,表结构如表1所示。
表1用户表
字段名类型长度主键外键备注
student_idchar9
是否学号
namevarchar30
否否姓名
passwordvarchar20
否否密码
identitychar18
否否身份证号
class_idint12
否是班级
jobvarchar20
否否职务
identityvarchar20
否否政治身份
gradeint4
否否年级
telephoneint11
否否电话
attend_idint10
否是考勤id
nationvarchar20
否否民族
dormitorychar4
否否宿舍号
rolechar10
否否角色
考勤表:存放学生考勤信息,系统为学生和教师展示的考
勤记录存放在该表中,其中主要包括考勤状态、考勤日期、位置
信息和课程等字段,表结构如表2所示。
表2学生考勤表
字段名类型长度主键外键备注
attend_idint10
是否考勤id
student_idchar9
是是学生id
satusint
否否考勤状态
datedatetime
否否考勤日期
locationvarchar80
否否位置信息
course_idvarchar30
否否课程id
3系统实现
项目的开发包括:登录界面、学生模块、教师模块、管理员
模块等。
3.1登录界面
当用户安装好指纹考勤系统App,打开系统将会进入角色
选择主界面,考勤系统共包含了学生、教师、以及管理员三种用
户角色,每一个角色的权限和操作界面都有所不同,所以在登
录前用户需要选择自己的角色,输入正确的账户密码后,显示
不同的操作界面,角色选择界面和用户登录界面整体采用线性
布局,界面如图1,图2所示。
本栏目责任编辑:谢媛媛
第17卷第1期(2021年1月)
图1角色选择
图2用户登录
3.2学生模块
当用户选择的角色为学生,点击开始使用会进入到登录界
面,当学生输入自己的账号和密码点击登录按钮后,系统会通
过学生的学号查询数据库内数据并判断学生输入的学号密码
是否正确,如果正确将成功进入学生模块主界面。学生使用考
勤App主要功能:考勤签到、查看签到记录、个人基本信息查
询,以及登录密码的修改。在系统页面的底部使用了选项卡导
航设计,用户点击底部的某个选项卡时,系统会切换到其对应
的操作界面。当学生收到课堂考勤签到的通知,点击签到会出
现指纹验证提示,指纹不匹配无法完成签到。指纹识别界面如
图3所示。
图3学生指纹签到
3.3教师模块
当用户角色选择老师,将会进入教师模块主界面,教师若
是班主任,可对班级内学生的个人信息进行编辑,能查询晚上
学生在宿考勤情况,确保学生安全在校。在系统页面内教师可
通过自己的课程表发起相关课程签到通知,并设定考勤结束时
间,系统会在手机的通知栏提醒学生及时完成考勤签到任务,
本栏目责任编辑:谢媛媛
ComputerKnowledgeandTechnology
电脑知识
与技术
在考勤结束后系统自动将学生考勤情况形成记录,课后教师可
在课堂考勤记录中查询学生考勤情况,不同考勤状态的记录会
用不同的颜色显示。考勤录如图5所示。
图4签到记录
3.4管理员模块
管理员并不参与课堂考勤与晚上在宿考勤的签到信息发
布,主要功能为教师、学生信息的录入及教师信息的修改,对转
班级或转专业同学的相关信息进行更正,对身份为班主任的教
师给其管理本班学生信息的权限,管理员的主要功能是对服务
器数据进行管理和维护。当用户忘记登录密码时,管理员可将
该用户的密码重置为身份证号后六位。
4总结
基于指纹识别的学生考勤管理系统在完成课堂签到功能
的同时,对学生晚上在宿考勤情况也有很好的管理功能,只要
有网络就能轻松完成考勤工作,不用安排人员对每层楼的宿舍
进行检查,提高了在宿考勤检查工作的效率。该系统将考勤结
果将保存在服务器内,方便后期查阅,实现了无纸化管理。但
本系统还存在一些问题,比如,1)LocationManager定位功能不
稳定,在低端机上定位信息不准确或不能获取;2)教师的学生
考勤记录界面没有显示出班级所有人数和迟到旷到学生人数;
3
如果考勤记录中查看地理位置信息又增加了考勤工作负担,
)以及学生的地理位置信息与教师不同,仍然可以进行签到,
影
响了整体效率。后期我们会对系统进行改进,将一些重要信息
尽可能地展示在界面上,将指纹信息匹配但学生位置和教师位
置不同的记录用不同颜色加以区分,或让其无法进行签到,并
增加人脸识别功能使考勤方式多样化,更好的适配各种机型。
在系统开发过程中,我们遇到了很多技术上的问题,但通
过对相关资料查询与导师的指导,我们最终还是克服了种种难
关完成了这个系统,虽然系统并不完美,离我们预期设计还存
在一些差距,但这同时也使我们认识到在系统开发过程中自己
存在的不足,我们思考问题并不全面,在专业知识方面还存在
欠缺,想要完善并丰富这个系统我们还有许多知识需要学习。
以后不论是改进此系统还是设计其他新应用,我们都会积极探
索,始终保持一颗进取之心。(下转第81页)
软件设计开发
75
第17卷第1期(2021年1月)
ComputerKnowledgeandTechnology
电脑知识
与技术
}
//特征提取失败
else{
if(increaseAndGetValue(extractErrorRetryMap,requestId)>
MAX_RETRY_TIME){
(requestId,0);
Stringmsg;
//传入的FaceInfo在指定的图像上无法解析人脸,此处使
用的是RGB人脸数据,一般是人脸模糊
if(errorCode!=null&&errorCode==_FS⁃
DK_FACEFEATURE_LOW_CONFIDENCE_LEVEL){
msg=getString(_confidence_level);
}else{
msg="ExtractCode:"+errorCode;
}
e(requestId,getString(⁃
nize_failed_notice,msg));}
}
}
}
});
本次测试针对系统功能以及程序逻辑性,通过对测试报告
以及测结论的分析,得出结果:弱网情况下,客户端与服务端通
讯正常,只是数据接收比较慢,会影响用户的体验,但不影响,
用户正常使用。考勤功能受到影响,在10秒内如果数据包未
接收成功,会判定为断网状态,给予断网提示。本系统能满足
日常使用的需求,能做到数据实时更新无异常,日常使用无崩
溃情况。在数据库数据超过5万条的情况下,服务器也能较快
的返回数据给予客户端,保障客户端的平稳运行,在不考虑网
络的情况下,数据包的交互都能控制在一秒内,保证整个软件
的完美交互。
5结论
本文设计了基于Android的人脸识别的考勤系统,该系统
有效地解决了企业考勤的难、效率低的问题,通过该系统可以
提高考勤的效率和准确性。在未来可以在此系统基础上,添加
更多的功能,以满足企业的其他要求。
参考文献:
[1]马炳周.基于Android的考勤系统的设计方案[J].中国新通信,
2019,21(18):48-49.
[2]马玉凤.基于Java技术的企业员工考勤系统开发策略[J].电
子技术与软件工程,2018(12):30.
[3]李宏坤,郑光勇,谢舞,等.基于springboot框架的公司考勤系
统的研究与设计[J].电脑知识与技术,2019,15(18):55-56.
[4]郭冠良,朱堪日,蔡敏.基于Android平台的企业考勤系统设计
与实现[J].无线互联科技,2019(1):52-53.
[5]贾维喆.移动考勤管理系统的研究[J].哈尔滨铁道科技,2016
(4):1-4.
[6]丁一钧.基于安卓操作系统的便携式人员考勤系统设计[J].
电脑编程技巧与维护,2018(10):55-56,73.
【通联编辑:代影】
4测试
在软件使用前对软件测试是排除故障的有效手段,通过测
试发现软件BUG,修复BUG让软件变得更完善。测试具体分
为两种测试:黑盒测试指通过巨量的测试用例来检测软件的错
误程度,减少那些并未发现的缺陷却带来潜在的严重性,甚至
导致组织的信誉受损,黑盒测试检查系统的各个功能点最终有
没有和软件设计时的需求达成一致,是否能达到理想效果。白
盒测试:根据程序的结构,用例测试,一步一步循环测试下去,
验证程序逻辑是否通畅。
(上接第75页)
参考文献:
[1]于晓明.指纹识别应用研究[J].山东工业技术,2019(9):168.
[2]邱士星.基于Android手机的指纹识别技术研究[D].西安:西
安电子科技大学,2014.
[3]马行运.指纹自动识别系统算法的研究与实现[D].南宁:广西
大学,2008.
[4]邬群勇,张爱国,许其凤,等.GPS移动定位与移动网络定位精
度的分析[J].全球定位系统,2010,35(5):33-37,53.
[5]徐崧胜.基于Android平台的学生签到系统设计和实现[J].电
子技术与软件工程,2020(2):42-43.
[6]郭宇航.安卓智能设备上的指纹识别方案[J].科学技术创新,
2018(12):61-62.
[7]代瑶.基于安卓技术的校园点名系统研究[J].数码世界,2018
(3):154.
[8]王国栋,韩立爽,孙洪亮.安卓系统手机指纹锁的安全性测试
研究[J].河北公安警察职业学院学报,2018,18(2):19-22.
[9]黄珂,黄方.基于安卓平台的行为指纹安全认证[J].实验科学
与技术,2017,15(1):60-64.
[10]刘江帅.腾讯生物认证平台TENCENTSOTER全面开源[J].
计算机与网络,2017,43(16):32.
[11]安迪.一种新的指纹保护用户凭据的口令认证方案[D].西
安:西安电子科技大学,2017.
[12]王谦.基于移动平台的指纹识别关键技术研究[D].哈尔滨:
哈尔滨工程大学,2017.
【通联编辑:谢媛媛】
本栏目责任编辑:谢媛媛
软件设计开发
81