软件设计开发
本栏目责任编辑:谢媛媛
基于Android 的考勤系统的设计与实现
李贞辉,李威
(广东培正学院,广东广州510830)
摘要:随着需求的不断增加,日常的考勤系统逐渐凸显出许多问题。该文介绍了一种基于Android 的人脸识别的考勤管理
系统,利用GPS 实行实时定位,同时嵌入Arc Soft 人脸识别系统进行人脸识别,实现员工的考勤与管理,提高了考勤的效率和准确性。
关键词:移动考勤;人脸识别;管理系统;Android 中图分类号:TP311
文献标识码:A
文章编号:1009-3044(2021)01-0079-03
开放科学(资源服务)标识码(OSID ):
Design and Implementation of Attendance System Based on Android LI Zhen-hui,LI Wei
(Guangdong Peizheng College,Guangzhou 510830,China)
Abstract:With the increasing demand,the daily attendance system gradually highlights many problems.This paper introduces an at⁃tendance management system based on Android and face reco
gnition.It uses GPS system to implement real-time positioning,em⁃beds arc soft face recognition system for face recognition,and finally completes the attendance and management of employees,which improves the efficiency of attendance.
Key words:mobile attendance;face recognition;management system;Android
1引言
考勤是企业或学校日常管理中必不可少的手段,而企业尤其是学校通常采用的是手工考勤方式,效率低,错误率高。目前市场上也有相关的考勤设备,但这需要企业或者学校购买相关硬件设备,增加成本。针对员工众多,考勤效率低、管理难等问题,为企业设计一套完全符合要求的考勤系统显得尤为重要。本文旨在解决低成本下实现高效考勤的问题,介绍一种基于Android+Arc Soft 的考勤系统的设计,具有良好的扩展性,同时提高了考勤管理的效率。
2系统结构描述
2.1系统的开发工具
通过对国内外考勤系统的调查和研究,经过多方比对,本
系统选用Spring Boot 框架+JPA 和MySQL 数据库,实现业务逻辑管理和考勤信息的存储。Spring 可以快速创建并运行Spring 项目,无须配置XML ,生成,直接使用。JPA 的优点:任何符合JPA 标准的框架都遵循同样的框架,提供相同的访问的API ,简单易用,集成方便。MySQL 数据库体积小、速度快、总体
拥有成本低、开放源代码,有着广泛的应用。2.2系统模块分析
图1系统模块图
1)用户登录注册模块:用户通过注册账号和设置密码,然后在登录页输入账号和密码就可以进入考勤系统。
2)公司模块:公司管理员用户通过创建公司来实现部门、
收稿日期:2020-08-06
作者简介:李贞辉(1981—),男,福建龙岩人,讲师,硕士,研究方向为物联网、人工智能;李威(1998—),男,河南巩义人,本科。
79
本栏目责任编辑:谢媛媛
软件设计开发
Computer Knowledge and Technology 电脑知识与技术第17卷第1期(2021年1月)
人员和加入信息的管理,可查看请假、签到、工资信息这些功能。这些功能具体能做到设置考勤时间、设置考勤方式、设置考勤规则,部门分配、开除员工,同意或加入信息管理,同意或拒绝请假、查看请假月历,查看员工签到月历、员工工资录入、查看工资条等功能。
3)签到模块:员工通过签到打卡来生成个人的考勤月历,公司管理员可以查看员工考勤月历。
4)请假模块:员工提交请假申请,后台生成请假记录后,由管理员审核请假记录并决定是否同意员工请假。
5)工资模块:公司管理员可查看并审核请假信息,查看员工考勤信息,并录入工资信息,从而生成工资条,员工可查看工资条。
2.3系统数据库分析
本系统总共包括用户基本信息表、申请加入记录表、公司表、考勤记录表、工资记录表、部门表6个表:
1)用户基本信息表,主要用来存放用户的基础信息。2)申请加入记录表,主要用来存储关于用户申请的信息。3)公司表,主要用来存储记录公司基础信息。4)考勤记录表,主要用来存储员工打卡时间,更新数据时间等基础信息。
5)工资记录表,主要用来存储员工工资信息。6)部门表,主要用来存储员工部门规则信息和打卡具体明细。
3系统核心模块的设计与实现
3.1注册登录模块
用户通过账号注册页面注册新的账号,在其中输入用户名、姓名以及密码就可以完成注册。然后再通过登录页面输入
用户名以及密码完成登录。如果忘记密码可以申请修改密码。
图2注册登录模块
3.2管理员模块
管理员可以进入公司首页查看部门管理、人员管理、加入申请信息、员工请假信息、员工签到信息以及员工工资信息。在部门管理中可以实现约束具体部门打卡信息。在公司人员管理中可以查看员工列表,并可以处理员工部门的调配工作。在员工工资信息录入页面,可以查看可录入员工并对员工工资
明细录入。
图3管理员模块
3.3员工模块
员工通过签到页面,点击打卡完成自己的签到。员工如遇突发事件不能上班的可以在员工请假页面向公司申请请假并注明请假理由,公司决定是否批准。在工资条页面员工可以查看自己的工资条信息。3.4人脸识别模块
ArcSoft 公司推出的虹软人脸识系统,计算摄影算法十分优秀,它提供开放的免费人脸识别SDK ,支持人脸检测、人脸追踪、1:1人脸对比、1:N 人脸搜索。虹软的人脸检测技术支持强光、弱光、黑夜、背光等多种复杂环境。并且可检测出正脸,侧脸等多种角度人脸的位置。通过本地离线SDK 引擎的调用方式,在本机实现人脸识别,无须将人脸图片传输出去,对网络和流量的要求就不会有云平台那么高,在用户体验和数据安全方面都有很大的保障。
人脸识别关键代码如下://FR 成功
if (faceFeature !=null ){
Integer liveness =(requestId);//不做活体检测的情况,直接搜索if (!livenessDetect){
searchFace(faceFeature,requestId);}
//活体检测通过,搜索特征
elseif (liveness !=null &&liveness ==LivenessInfo.ALIVE){
searchFace(faceFeature,requestId);}
//活体检测未出结果,或者非活体,延迟执行该函数else {
if (ainsKey(requestId)){
Observable.timer(WAIT_LIVENESS_INTERVAL,
TimeUnit.MILLISECONDS)
.subscribe(new Observer<Long>(){Disposable disposable;
@Override
publicvoid onSubscribe(Disposable d){
disposable =d;
getFeatureDelayedDisposables.add(dispos⁃
数据库管理员工资able);
}
80
软件设计开发
本栏目责任编辑:谢媛媛Computer Knowledge and Technology 电脑知识与技术
第17卷第1期(2021年1月)
});
}
}
}
//特征提取失败else {
if (increaseAndGetValue(extractErrorRetryMap,requestId)>MAX_RETRY_TIME){
extractErrorRetryMap.put(requestId,0);String msg;
//传入的FaceInfo 在指定的图像上无法解析人脸,此处使用的是RGB 人脸数据,一般是人脸模糊
if (errorCode !=null &&errorCode ==ErrorInfo.MERR_FS⁃DK_FACEFEATURE_LOW_CONFIDENCE_LEVEL){
msg =getString(R.string.low_confidence_level);}else {
msg ="ExtractCode:"+errorCode;}
faceHelper.setName(requestId,getString(⁃
nize_failed_notice,msg));}
}
4测试
在软件使用前对软件测试是排除故障的有效手段,通过测
试发现软件BUG ,修复BUG 让软件变得更完善。测试具体分为两种测试:黑盒测试指通过巨量的测试用例来检测软件的错误程度,减少那些并未发现的缺陷却带来潜在的严重性,甚至导致组织的信誉受损,黑盒测试检查系统的各个功能点最终有没有和软件设计时的需求达成一致,是否能达到理想效果。白盒测试:根据程序的结构,用例测试,一步一步循环测试下去,验证程序逻辑是否通畅。
本次测试针对系统功能以及程序逻辑性,通过对测试报告以及测结论的分析,得出结果:弱网情况下,客户端与服务端通讯正常,只是数据接收比较慢,会影响用户的体验,但不影响,用户正常使用。考勤功能受到影响,在10秒内如果数据包未接收成功,会判定为断网状态,给予断网提示。本系统能满足日常使用的需求,能做到数据实时更新无异常,日常使用无崩溃情况。在数据库数据超过5万条的情况下,服务器也能较快的返回数据给予客户端,保障客户端的平稳运行,在不考虑网络的情况下,数据包的交互都能控制在一秒内,保证整个软件的完美交互。
5结论
本文设计了基于Android 的人脸识别的考勤系统,该系统有效地解决了企业考勤的难、效率低的问题,通过该系统可以提高考勤的效率和准确性。在未来可以在此系统基础上,添加更多的功能,以满足企业的其他要求。
参考文献:
[1]马炳周.基于Android 的考勤系统的设计方案[J].中国新通信,2019,21(18):48-49.
[2]马玉凤.基于Java 技术的企业员工考勤系统开发策略[J].电子技术与软件工程,2018(12):30.
[3]李宏坤,郑光勇,谢舞,等.基于spring boot 框架的公司考勤系统的研究与设计[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.
【通联编辑:代影】
(上接第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]刘江帅.腾讯生物认证平台TENCENT SOTER 全面开源[J].计算机与网络,2017,43(16):32.
[11]安迪.一种新的指纹保护用户凭据的口令认证方案[D].西安:西安电子科技大学,2017.
[12]王谦.基于移动平台的指纹识别关键技术研究[D].哈尔滨:哈尔滨工程大学,2017.
【通联编辑:谢媛媛】
81

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。