杜建輝 蔡朝朝 江冰怡 馬文龍 黃新迪 胡雪萌



摘要:近年來學生課堂缺課頻率日益增高,通過課前點名來保障課堂教學質量的措施也逐漸體現出了耗費時間、效率低下等弊端,針對這些問題,采用Android客戶端與服務器端數據交互,設計并實現了基于安卓指紋識別的考勤系統,該系統利用指紋具有終身不變性和唯一性的特性,使用學生的指紋信息進行課堂考勤記錄,保證了考勤記錄的準確性。進行簽到的同時也啟用了手機的定位服務,將學生的位置信息存放在考勤記錄表中,GPS與移動網絡定位在很大程度上減小了定位誤差,經過測試,該系統基本實現了所有功能,考勤記錄清晰準確,為高校課堂考勤工作帶來了極大便利。
關鍵詞:安卓;指紋識別;考勤系統;數據交互;GPS
中圖分類號:TP311.52? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)01-0073-03
Abstract: In recent years, the frequency of students' absence in class is increasing day by day. The measures to ensure the quality of classroom teaching through roll call before class has gradually reflected the disadvantages of time-consuming and low efficiency. Aiming at these problems, this paper designs and implements an attendance system based on Android fingerprint identification by using data interaction between Android client and server. The system uses a fingerprint to have lifetime invariance and uniqueness Using students' fingerprint information to record class attendance, which ensures the accuracy of attendance records. At the same time, the mobile phone location service is also enabled for checking in, and the location information of students is stored in the attendance record form. GPS and mobile network positioning greatly reduce the positioning error. After testing, the system basically realizes all the functions, and the attendance record is clear and accurate, which brings great convenience for college class attendance work.
Key words: android; fingerprint identification; attendance system; data interaction; GPS
1 背景
指紋識別技術作為生物體特征識別技術之一在新世紀逐漸成熟[1],隨著手機不斷更新換代,手機的指紋識別功能已日益完善并成為手機不可或缺的功能,指紋識別技術是同虹膜識別、人臉識別等其他生物識別技術相比,目前最成熟且價格便宜,又非常適合應用于手機的生物特征識別技術[2],該技術也已廣泛應用于日常生活生產中,所以手機指紋識別功能的前景也非常廣闊。但根據調查,國內大部分Android手機的指紋認證功能都只局限于用來解鎖手機,僅有個別軟件將其應用于手機支付上,其他軟件很少將指紋識別技術使用到App的功能邏輯當中,所以做一個基于安卓指紋識別的考勤系統不僅是一個新的嘗試,更是一個挑戰。
教學考勤對于大多數高校來說是每堂課開始前所必須完成的工作。由于學生人數眾多,通常需要花費大量時間完成。考勤工作是一項煩瑣又無聊的工作,時間久了必然會引起學生和老師對此工作的厭煩情緒??记诘哪康氖亲寣W生按時上課學習,但由于人工考勤的方式極易出現學生找人代簽和漏點的情況,這時就需要一個考勤系統方便老師快速準確地掌握學生考勤情況?;谥讣y識別的學生考勤管理系統正是利用準確、方便這一優勢幫助老師快速準確地完成考勤工作,避免過于煩瑣的工作過程,為老師和學生減輕負擔。
2 系統設計
2.1 指紋識別技術
指紋識別技術中,最重要的部分就是指紋匹配,指紋匹配一般分成兩個步驟,首先是通過指紋識別器獲取用戶指紋的特征,將輸入的指紋信息和模板中的指紋信息進行比對,判斷兩幅指紋圖像是否來自同一手指[3]。
光學指紋傳感器的原理是,由于人的指紋凹凸不平,光照射在手指上,按照光的折射和反射原理,反射回光學指紋傳感器的光線亮度會不同,最后會收集到不同指紋亮度的圖片信息,這個時候就完成了指紋信息的采集。要進行識別時,通過光學指紋識別器獲得用戶指紋數據,并與指紋信息庫進行對比,查看是否相同。光學識別只能作用于皮膚的表層,因此識別時需要保持手指干凈和干燥。電容傳感器也利用指紋凹凸不平的特性,當手指貼在傳感器上時,凹點和凸點與傳感器接觸的距離有區別,所以電容數值也不同,通過這些數值就能成功識別出用戶指紋。
現在的手機基本擁有電容式指紋識別或光學指紋識別功能,因此在指紋識別功能的開發過程中,可以直接調用Android系統的指紋識別API或Soter指紋授權,但Soter主要用于移動支付,為了保障用戶信息安全,本系統決定采用Google官方的指紋識別接口,該接口通過指紋管理程序獲得用戶的Touch ID進行指紋驗證。
2.2 GPS與移動網絡定位技術
GPS是通過四顆衛星計算出衛星與接收機之間的距離與坐標,GPS定位分為單點定位和相對定位[4],手機目前都使用單點定位。移動網絡定位是根據手機信號的強弱使用特定算法進行定位,考勤簽到一般都處于室內,GPS信號較弱,對墻體的穿透能力不強,對定位精度會造成一定的影響,因此使用通過GPS與移動網絡綜合應用定位的A-GPS定位技術能使定位更精確。
2.3 功能設計
本系統使用手機自帶的指紋識別功能,系統通過Fingerprint Manager實現與Fingerprint Service的通信來啟動手機指紋識別功能,用戶將指紋按在指紋識別區域內,即可完成考勤簽到,用戶指紋信息存儲在本地,所以識別非常迅速。使用前需要確保手機內有一個指紋信息,不然系統的簽到功能無法正常使用。
系統主要用戶為學生和教師。教師登錄系統后,發起課堂簽到通知,學生收到信息后,可通過系統進行簽到,在規定時間內未完成簽到的同學,系統自動判別為曠課,學生遲到教師可將其曠課改為遲到,學生課堂考勤記錄按教師每天所上課程分開保存,為方便查閱保障系統流暢性,一周之后的考勤記錄不再為教師展示。學生在簽到前需要開啟手機的移動網絡和定位服務,學生登錄系統收到簽到通知后,使用手機指紋識別功能完成教師發布的簽到任務,學生的簽到時間和地理位置信息將保存在數據庫中,學生還可查詢個人信息及一周內的考勤記錄,一周之后的考勤記錄不再為學生顯示。所有用戶的登錄賬戶都為教師工號或學生學號,密碼為身份證號后六位,打開系統后用戶可自行更改登錄密碼。
2.4 數據庫設計
數據庫的設計對整個系統來說是一個非常重要的環節,規劃的好在很大程度上能提高數據庫的性能,增加數據庫的穩定性。因此在開發過程中,為了便于數據管理減少冗余,將管理員、教師和學生放在了同一個表內,某些學生專業發生變動或上課時間發生更改,對這些數據可能存在變動的字段,單獨取出成立新表,通過外鍵與其級聯。本系統中的數據表有用戶信息表、學院班級表、課程表和考勤表等,現主要展示用戶表和學生考勤表。
用戶表:用戶的學號和工號不會發生變更,因此采用char類型,表中存放的為用戶基本信息,通過role字段對用戶角色區分,對不同角色授予不同的權限,表結構如表1所示。
考勤表:存放學生考勤信息,系統為學生和教師展示的考勤記錄存放在該表中,其中主要包括考勤狀態、考勤日期、位置信息和課程等字段,表結構如表2所示。
3 系統實現
項目的開發包括:登錄界面、學生模塊、教師模塊、管理員模塊等。
3.1 登錄界面
當用戶安裝好指紋考勤系統App,打開系統將會進入角色選擇主界面,考勤系統共包含了學生、教師、以及管理員三種用戶角色,每一個角色的權限和操作界面都有所不同,所以在登錄前用戶需要選擇自己的角色,輸入正確的賬戶密碼后,顯示不同的操作界面,角色選擇界面和用戶登錄界面整體采用線性布局,界面如圖1,圖2所示。
3.2 學生模塊
當用戶選擇的角色為學生,點擊開始使用會進入到登錄界面,當學生輸入自己的賬號和密碼點擊登錄按鈕后,系統會通過學生的學號查詢數據庫內數據并判斷學生輸入的學號密碼是否正確,如果正確將成功進入學生模塊主界面。學生使用考勤App主要功能:考勤簽到、查看簽到記錄、個人基本信息查詢,以及登錄密碼的修改。在系統頁面的底部使用了選項卡導航設計,用戶點擊底部的某個選項卡時,系統會切換到其對應的操作界面。當學生收到課堂考勤簽到的通知,點擊簽到會出現指紋驗證提示,指紋不匹配無法完成簽到。指紋識別界面如圖3所示。
3.3 教師模塊
當用戶角色選擇老師,將會進入教師模塊主界面,教師若是班主任,可對班級內學生的個人信息進行編輯,能查詢晚上學生在宿考勤情況,確保學生安全在校。在系統頁面內教師可通過自己的課程表發起相關課程簽到通知,并設定考勤結束時間,系統會在手機的通知欄提醒學生及時完成考勤簽到任務,在考勤結束后系統自動將學生考勤情況形成記錄,課后教師可在課堂考勤記錄中查詢學生考勤情況,不同考勤狀態的記錄會用不同的顏色顯示??记阡浫鐖D5所示。
3.4 管理員模塊
管理員并不參與課堂考勤與晚上在宿考勤的簽到信息發布,主要功能為教師、學生信息的錄入及教師信息的修改,對轉班級或轉專業同學的相關信息進行更正,對身份為班主任的教師給其管理本班學生信息的權限,管理員的主要功能是對服務器數據進行管理和維護。當用戶忘記登錄密碼時,管理員可將該用戶的密碼重置為身份證號后六位。
4 總結
基于指紋識別的學生考勤管理系統在完成課堂簽到功能的同時,對學生晚上在宿考勤情況也有很好的管理功能,只要有網絡就能輕松完成考勤工作,不用安排人員對每層樓的宿舍進行檢查,提高了在宿考勤檢查工作的效率。該系統將考勤結果將保存在服務器內,方便后期查閱,實現了無紙化管理。但本系統還存在一些問題,比如,1)LocationManager定位功能不穩定,在低端機上定位信息不準確或不能獲取;2)教師的學生考勤記錄界面沒有顯示出班級所有人數和遲到曠到學生人數;3)以及學生的地理位置信息與教師不同,仍然可以進行簽到,如果考勤記錄中查看地理位置信息又增加了考勤工作負擔,影響了整體效率。后期我們會對系統進行改進,將一些重要信息盡可能地展示在界面上,將指紋信息匹配但學生位置和教師位置不同的記錄用不同顏色加以區分,或讓其無法進行簽到,并增加人臉識別功能使考勤方式多樣化,更好的適配各種機型。
在系統開發過程中,我們遇到了很多技術上的問題,但通過對相關資料查詢與導師的指導,我們最終還是克服了種種難關完成了這個系統,雖然系統并不完美,離我們預期設計還存在一些差距,但這同時也使我們認識到在系統開發過程中自己存在的不足,我們思考問題并不全面,在專業知識方面還存在欠缺,想要完善并豐富這個系統我們還有許多知識需要學習。以后不論是改進此系統還是設計其他新應用,我們都會積極探索,始終保持一顆進取之心。
參考文獻:
[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.
【通聯編輯:謝媛媛】