基于Android的考勤管理系统的设计与实现毕业论文
2021-11-21 16:18:42
论文总字数:58077字
摘 要
伴随着信息技术的发展,互联网的应用在我们的身边越来越广泛,各行各业中都开始使用基于互联网的移动应用软件。而大学高校,作为受众人数最多的机构,运行在Android与IOS平台上的应用软件更是数量庞大,存在着各个方面各种功能不同的软件。
本文主要是基于Android平台与移动互联网技术开发的移动端人脸识别考勤请假系统,本系统具有实时、准确、快捷、防作弊的特点。相较于传统意义上的点名考勤与纸质请假条请假或者纸质传阅考勤,具有诸多的优点。发布者可以直接在发布签到的界面直观的看到有哪些人已经签到完成,而对于签到者,则已签到人对其不可见,只是有一个签到的入口,具体签到人数对其不可见。对于请假条,用户可以选择加入的群组中的人作为审核的对象,审核的对象在请假界面可以看见相应的请假条,并对其进行操作。
本考勤系统是基于C/S架构,Android客户端作为客户端,客户端通过网络连接到服务器,实时与服务器进行数据沟通。市面上有多种人脸识别接口,在进行人脸识别性能评估之后,我选择了百度智能云提供的人脸识别SDK与在线的人脸识别API,人脸识别的采集使用离线的SDK,在Android客户端采集到人脸到数据之后,将数据发送到服务器端,服务器接收到客户端发送到数据之后,服务器调用百度云端API来进行人脸的注册与搜索。使用客户端-服务器的架构,可以提高系统的安全性,保证信息会泄露。
基于Android的考勤管理系统主要分为考勤、请假、我的三大模块,主要实现的功能包括基于腾讯IM的即时通讯、群组生成二维码、注册人脸信息、扫描二维码添加群组、九宫格绘制图形并转化为密码、扫描人脸进行签到等。签到流程主要如下:发布者发布签到信息,信息被上传至服务器,其他群组内部用户获取到签到信息,显示到群聊之上,待签到者点击签到入口之后,进入签到界面,并完成签到操作,发布者可以点击进入查看已签到用户。
本文给出了系统的主要实验环境、设计架构、需求分析、系统实现、测试优化等方面,完整的展现系统的实现过程。
关键词:考勤系统;Android;C/S架构;人脸识别;即时通讯
Abstract
With the development of information technology, the application of the Internet is more and more widely around us, and mobile application software based on the Internet is beginning to be used in all walks of life.Universities and colleges, as the most popular organization, have a large number of applications running on Android and IOS platforms.There are various kinds of software with different functions.
This paper is mainly based on Android platform and mobile Internet technology to develop a mobile face recognition absence system. This system has the characteristics of real-time, accurate, fast and anti-cheating.Compared with the traditional attendance by name and paper leave slips or paper rounds, it has many advantages.Publishers can intuitively see who has checked in directly at the publishing check-in interface. For checkers, people who have checked in are not visible to them, but there is only a check-in entry, and the number of checked-in people is not visible to them.For leave requests, users can select people from the groups they join as the auditing objects. The auditing objects can see the corresponding leave requests in the leave interface and operate on them.
This attendance system is based on C/S architecture, Android client as the client, the client connects to the server through the network, and communicates with the server in real time.There are many face recognition interfaces on the market. After evaluating the performance of face recognition, I choose the face recognition SDK provided by Baidu Smart Cloud and the online face recognition API. The face recognition collection uses the offline SDK. After the Android client collects the face to data, the data is sent to the server. After the server receives the client to send the data, the server sends the data to the server.Call Baidu Cloud API for face registration and search.The use of client-server architecture can improve the security of the system and ensure that information will be leaked.
The attendance management system based on Android is mainly divided into three modules: attendance, absence and me. The main functions are instant messaging based on Tencent IM, generating QR codes for groups, registering face information, scanning QR codes to add groups, drawing graphics in nine palaces and converting them into passwords, scanning faces for check-in, and so on.Check-in process is as follows: the publisher publishes the check-in information, the information is uploaded to the server, other users within the group get the check-in information and display it on the group chat. After the check-in entrance is clicked by the check-in person, the publisher enters the check-in interface and completes the check-in operation. The publisher can click on Enter to see the checked-in user.
In this paper, the main experimental environment, design framework, requirements analysis, system implementation, test optimization and other aspects of the system are given, and the complete implementation process of the system is presented.
Key Words:Attendance system; Android; C/S architecture; Face recognition; Instant messaging
目 录
第一章 绪论 6
1.1 背景介绍 6
1.2 研究目的与意义 6
1.3 国内外研究现状 6
1.3.1 国内研究现状 7
1.3.2 国外研究现状 7
1.4 研究内容 7
1.5 论文结构 8
第二章 技术简介 9
2.1 Android简介 9
2.2 C/S模式 9
2.3 人脸识别简介 10
2.4 Https数据加密与解密 10
第三章 系统需求分析 12
3.1 业务需求 12
3.1.1 业务需求分析 12
3.1.2 系统业务流程 12
3.2 角色需求 13
3.2.1 教师角色 13
3.2.2 学生角色 14
3.3 功能性需求 15
3.3.1 教师功能需求 15
3.3.2 学生功能需求 15
3.4 非功能性需求 16
第四章 系统设计 17
4.1 系统体系结构设计 17
4.2 系统功能设计 17
4.2.1 系统功能模块 17
4.2.2 教师发布签到流程图 18
4.2.3 学生签到流程图 19
4.2.4 教师查看考勤记录流程图 20
4.2.5 学生请假流程图 21
4.2.6 教师审核请假流程图 22
4.3 系统数据库设计 23
4.3.1 实体属性图 24
4.3.2 系统完整ER图 25
4.3.3 数据库表设计 26
第五章 系统实现 28
5.1 实现环境 28
5.2 App系统实现 28
5.2.1 Https发送GET与POST请求 28
5.2.2 登录与注册 31
5.2.3 主界面 34
5.2.4 群组操作 38
5.2.5 请假条界面 50
5.2.6 创建请假条及审核 54
5.2.7 注册人脸信息 58
5.3 Server实现 60
5.3.1 TomCat部署Https请求 60
5.3.2 将结果转化为JSON字符 60
第六章 系统测试 62
6.1 系统测试环境 62
6.2 功能测试 62
6.3 测试用例 62
6.4 测试结果分析 63
第七章 结论与展望 65
7.1 总结 65
7.2 展望 65
参考文献 66
致 谢 67
- 绪论
- 背景介绍
在大学高校中,每次的上课考勤都是必须的工作,但是相较于老旧的点名签到、纸质签到、指纹签到、考勤机考勤等方式,不仅仅是过程繁琐、耗费时间,也会出现冒名顶替的问题,对于后两种还会增加额外的成本。而近年来随着科技的进步,移动设备的普及,尤其是Android手机的普及,为我们的生活带来了很多的便捷,移动Android设备基本都配备有前置摄像头,这为我们能够实现基于Android的人脸识别签到考勤提供了背景支持。
- 研究目的与意义
随着信息技术的发展,以传统纸质记录、人工点名等类型为代表的签到方式已经不再满足社会高速发展的需求,且需要额外设备而影响考勤效率[1]。因此一款高效、便捷的考勤管理系统对于企事业单位工作学习等场景具有重要的意义。我国的互联网发展取得了长足的进步和突出的成果,这也使得越来越多的学者关注并投身于互联网的研究工作中[2]。考勤系统应当允许具有资格的用户在线发布签到项目,项目可以基于位置信息来向同在此位置的其他用户显示,项目同时会包含密码,防止同在一个近似位置的不相干用户签到,项目同时限定签到用户数。待签到用户在项目列表可以找到需要签到的项目,点击项目之后输入密码即可进行签到,签到需要使用人脸识别,防止用户出现代签的现象。项目发起人可以查看此项目的已签到人数与具体的哪些人。用户也可以通过此考勤系统来向相应的用户请假,用户接受到请假的需求之后可以查看请假的内容以及处理请假信息。
据调查显示,2017年Android操作系统的全球占有率已经达到了85.9%[3],已经有大量的上班族、学生、机关人员等使用Android操作系统终端,Android操作系统设备已经成为学习、工作等的重要工具。若是使用传统的纸质签到、人工点名的方式,不仅会耗费大量的时间与资源,也会存在代签等其他的作弊情况[4]。而考勤管理系统就是为了解决这两个问题,在线签到的方式解决了耗时耗力的问题,人脸识别的方式解决了代签作弊的问题。开发基于Android操作系统的考勤签到系统,可以给予拥有考勤需求的用户高效的考勤服务,极大的方便了各个种类的用户。
- 国内外研究现状
- 国内研究现状
- 国内外研究现状
目前主流的考勤方式包括射频卡考勤,指纹考勤,人脸考勤等[5]。指纹考勤虽然很大程度上避免了代打的发生,但因为其接触式的识别特点而存在卫生隐患,并且在手指磨损的情况下很难正确识别[6]。基于人脸识别技术的移动课堂考勤管理系统,可以极大地提高课堂考勤效率,节省考勤时间[7],具有较强的使用性和可操作性,大大节省了考勤所占用的课堂时间,具有较高的效率和可实用性[8]。开发运行在Android设备上的考勤系统,可以为我们增加了考勤的便捷性,提高了适用性,无论是那种情况下的考勤,都具有方便、快捷的特点。而基于GPS位置信息的加入,则保证了签到信息的准确性。
- 国外研究现状
Android是由Andy Rubin创立的一个移动端操作系统,2005年8月谷歌收购了Andy Rubin创立的这家的公司,Android也就成为了Google旗下系统。并让Andy Rubin继续负责Android项目[9]。因此Android系统可以得到更广阔的发展。Android系统的底层建立在Linux系统之上[10]。该平台由操作系统、中间件、用户界面和应用软件四层组成,它采用一种被称为软件叠层(Software Stack)的方式进行构建[11]。这种软件叠层结构使得层与层之间相互分离,明确各层的分工[12]。这种分工保证了层与层之间的低耦合,当下层的层内或层下发生改变时,上层应用程序无须任何改变[13]。
- 研究内容
此软件的主要目的是实现一个基于人脸识别的签到考勤系统,在系统中可以实现注册、登录用户、用户考勤签到、请假等功能,当用户登录的时候提供人脸识别登录方式。当前人脸识别有开源的方案如 OpenCV[14]等,也有商业的如百度人脸识别、腾讯云人脸识别、虹软人脸识别等,对各大人脸识别的性能及功能进行评估之后,最终选择使用百度人脸识别来作为项目人脸识别的技术支持。百度人脸识别是一套基于深度学习的人脸识别解决方案[15]。本项目中,我们基于百度智能云实现用户的添加人脸、签到等操作,Android设备在采集到人脸信息后,将人脸图像信息存入百度人脸库,然后利用百度智能云平台中提供的API注册人脸、验证人脸来实现人脸的添加和识别[16]。
请支付后下载全文,论文总字数:58077字