蔣航+蔡秋楓
摘要:目前大多數(shù)校園學(xué)生上課簽到以人工點名方式為主,不僅浪費課堂時間,而且往往存在學(xué)生代替簽到的問題,不利于管理。該系統(tǒng)利用室內(nèi)定位技術(shù)實現(xiàn)了在線考勤、考勤匯總、缺勤提醒等功能,方便任課教師以及班主任等及時了解學(xué)生考勤狀況。
關(guān)鍵詞:安卓;javaEE;學(xué)生簽到;自動辦公;室內(nèi)定位
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2017)01-0054-02
Abstract:At present,most of the campus attendance is still based on the roll call by manual work.It is not just a waste of lesson time,but also arise substituting for each other to take attendance.It will be difficult for teachers to grasp the situation.The system implements the absenteeism reminder,attendance check,attendance statistics,online attendance,etc.It is convenient for teachers to be in the know of situation of campus attendance concurrently.
key words: Android; javaEE; campus attendance; office automation; indoor location
目前,高校任課教師大多以點名簽到的方式進行學(xué)生出勤統(tǒng)計,以手工方式進行統(tǒng)計匯總,是非耗費課堂時間。為了解決傳統(tǒng)考勤方式的問題,減少任課教師的負擔(dān),提高課堂時間利用效率,簡化考勤方式,本系統(tǒng)利用創(chuàng)新利用室內(nèi)定位技術(shù)結(jié)合安卓與javaEE技術(shù)開發(fā)設(shè)計了一款基于室內(nèi)定位技術(shù)的學(xué)生簽到系統(tǒng)。本系統(tǒng)采用安卓與JavaEE技術(shù),Mysql作為數(shù)據(jù)庫,實現(xiàn)了C/S結(jié)構(gòu)的考勤管理系統(tǒng)。本系統(tǒng)有三種用戶角色:學(xué)生、教師、管理員。學(xué)生用戶可以查看自己的考勤情況,如有異議即可向系統(tǒng)管理員或者相關(guān)任課教師提出反饋。教師主要是查看授課班級的出勤情況,可以按照時間節(jié)點進行查詢。管理員任務(wù)是負責(zé)學(xué)生課表、教師表、學(xué)生表、授課表等數(shù)據(jù)的導(dǎo)入導(dǎo)出日常維護工作。其中,學(xué)生端、教師端在Android端登錄,管理員功能在Web端登錄。
1 軟件總體結(jié)構(gòu)
本系統(tǒng)的管理員功能在Web端實現(xiàn),Web端使用JSP技術(shù)作為表現(xiàn)層,采用BootStrap、JQuery等富客戶端,提高瀏覽器兼容性。后臺采用SpringMVC、Spring、Mybatis開源框架集成開發(fā)而成,引入mail、短信接口進行信息及時推送,減少了消息的延時。采用Mysql作為開發(fā)數(shù)據(jù)庫,使得在數(shù)據(jù)庫端控制部分數(shù)據(jù)完整性成為可能[1]。采取jExcelAPI開源模塊讀寫excel文件,實現(xiàn)了從excel文件中讀取學(xué)生表、教師表、班級表等功能,以及從數(shù)據(jù)庫中導(dǎo)出數(shù)據(jù)到excel文件中去。
本系統(tǒng)的學(xué)生和任課教師用戶是在Android端登錄使用。安卓是以Linux為基礎(chǔ)的開源操作系統(tǒng),主要使用于便攜設(shè)備,在人群中使用占比較大,可以滿足簽到系統(tǒng)大眾化的需求[2]。安卓端采用最新的Matrial Design設(shè)計語言,這讓按鈕的彈入彈出、卡片的滑入滑出以及不同界面之間變化的方式都具有了物理質(zhì)感,增強了用戶體驗。本系統(tǒng)利用Android本身的wifi工具包獲取周邊wifi的相關(guān)信息并執(zhí)行相關(guān)算法完成了室內(nèi)定位功能。本系統(tǒng)使用開源的HttpClient框架實現(xiàn)APP與tomcat服務(wù)器的長連接,并且實時接收來自服務(wù)器端的信息推送。
2 系統(tǒng)實現(xiàn)
本系統(tǒng)分為以下功能模塊:
· 公共模塊
· 學(xué)生模塊
· 獲取周邊wifi相關(guān)信息
· 室內(nèi)定位模塊
· 查看出勤信息
· 反饋異常信息
· 教師模塊
· 查看班級當(dāng)堂課出勤信息
· 按條件查詢出勤信息
· 導(dǎo)出出勤記錄
· 審核反饋信息
· 管理員模塊
· 學(xué)生、教師數(shù)據(jù)的增加、刪除、修改
· 授課數(shù)據(jù)的增加、刪除、修改
2.1 公共模塊
該模塊主要用于驗證用戶是否存在以及權(quán)限合法性,并根據(jù)不同身份返回不同標(biāo)示碼。將該模塊作為通用接口,Web頁面通過ajax異步交互技術(shù)實現(xiàn),Android端使用HttpClient異步提交方式。如果用戶輸入用戶名不存在或者密碼錯誤則系統(tǒng)會返回有關(guān)錯誤提示。如果信息正確則會顯示正確的頁面或者Activity,用戶可以根據(jù)功能模塊進行相關(guān)操作。
2.2 學(xué)生模塊
2.2.1 獲取周邊AP相關(guān)信息
首先建立包含響應(yīng)掃描結(jié)果的接收器receiver,并且重載onReceive()方法,通過registierReceiver()方法將receiver向Android系統(tǒng)進行注冊。getSystemService()方法用于獲得操作WIFI設(shè)備的句柄。最后用startScan()方法啟動掃描。掃描結(jié)果將包含WIFI的SSID(Service Set Identifier,服務(wù)集標(biāo)識)、MAC地址、RSSI(Received Signal Strength Indication,接收信號強度)等數(shù)據(jù)。
2.2.2 室內(nèi)定位模塊
RSSI測距在15m的近距離精度在2m以內(nèi),可以滿足基本的室內(nèi)定位需求,大多數(shù)無限傳感網(wǎng)絡(luò)節(jié)點遠距離定位誤差較大[3]。本系統(tǒng)利用高校教學(xué)樓wifi充分覆蓋這一前提,在此基礎(chǔ)上采集了每個教室的可接收到AP的數(shù)據(jù)指紋,并且形成了一個指紋數(shù)據(jù)庫。在指紋匹配階段,對每個掃描到的AP(Wireless Access Point,無線訪問接入點)的RSSI值,設(shè)定一個選擇區(qū)間[RSSI-q,RSSI+q],q為多次試驗得到的經(jīng)驗值并且可調(diào)整,在指紋庫中查找滿足此區(qū)間的位置點,若有n個位置點落在此區(qū)間范圍,則這些位置點分別取權(quán)值1/n,在其他的位置點責(zé)取權(quán)值為0。對所有接收到的AP做如上處理后,選出權(quán)值最大的位置點為估計位置。本系統(tǒng)并非得到準(zhǔn)確的室內(nèi)位置,而是精準(zhǔn)判斷學(xué)生用戶所在教室即可。
每次上課時,學(xué)生只需要打開APP,用自己學(xué)號與密碼登陸即可,無需其他操作,即可自動完成簽到,此時任課老師可及時查看班級學(xué)生的上課情況。
2.2.3 查看出勤信息
學(xué)生看查看當(dāng)堂課的簽到情況,也可以查看過去學(xué)生本人出勤情況。查詢出的出勤信息分為缺勤、請假、正常三種情況。
2.2.4 反饋異常數(shù)據(jù)
由于RSSI的多徑效應(yīng),可能存在定位失敗而導(dǎo)致簽到失敗的情況。本系統(tǒng)通過引入短信與郵箱接口,學(xué)生可及時向任課教師或者管理員反饋異常數(shù)據(jù),管理員及時更新升級定位指紋數(shù)據(jù)庫并將修改后的簽到情況手動更新正確。
2.3 教師模塊
2.3.1 查看班級當(dāng)堂課出勤信息
教師可及時查看當(dāng)堂課學(xué)生的簽到情況。安卓程序設(shè)計里,使用AChartEngine繪圖引擎,在安卓界面里可直觀顯示哪些學(xué)生缺勤。
2.3.2 按條件查詢出勤信息
任課教師可按照日期、學(xué)生姓名、上課地點等多種查詢條件查詢學(xué)生出勤情況,并以統(tǒng)計圖表的形式將數(shù)據(jù)可視化。
2.3.3 導(dǎo)出簽到表
任課教師可將查詢到的簽到情況導(dǎo)出xls、txt等常見數(shù)據(jù)格式,以便課后做更精確的統(tǒng)計等等。
2.3.4 反饋異常數(shù)據(jù)
任課教師若發(fā)現(xiàn)本系統(tǒng)出現(xiàn)異常,即可立即向管理員反饋,以便減少損失。
2.4 管理員模塊
2.4.1 學(xué)生、教師數(shù)據(jù)的增加、刪除、修改
學(xué)生、教師登陸的賬號、所在班級等數(shù)據(jù),學(xué)生具有只讀權(quán)限,只能由管理員維護這些數(shù)據(jù),不允許個人修改,密碼除外,個人信息的錄入工作主要由管理員負責(zé),管理員可依照人員變動,對人員信息增加、刪除和修改。為了避免手工錄入工作量巨大,本系統(tǒng)在Web端設(shè)計了上傳xls文件,服務(wù)器端從xls文件中讀取數(shù)據(jù)并插入數(shù)據(jù)庫中,所有的學(xué)生信息按照設(shè)定的表單字段存儲在服務(wù)器的Mysql數(shù)據(jù)庫中[4],節(jié)省了大量時間。
2.4.2 授課數(shù)據(jù)的增加、刪除、修改
授課數(shù)據(jù)包括授課教室、授課教師、授課班級以及授課時間。授課班級與班級中學(xué)生是一對多關(guān)系。授課時間由管理員錄入,如遇到節(jié)假日、考試放假等情況,并將其排除在授課時間之外,APP端接收到來自服務(wù)器端的推送,則在該時間段內(nèi)不會執(zhí)行簽到功能。
3 結(jié)束語
本系統(tǒng)將互聯(lián)網(wǎng)應(yīng)用于簽到系統(tǒng),更加充分發(fā)揮了網(wǎng)絡(luò)在高校教學(xué)資源中的重大作用,解決了點名簽到浪費課堂時間等等問題。利用C/S架構(gòu)實現(xiàn)了移動辦公。以權(quán)限為驅(qū)動有利于模塊化設(shè)計開發(fā),不同角色擁有不用功能,達到了考勤目的,具有應(yīng)用價值。
參考文獻:
[1] 李燕, 胡雯. Mysql數(shù)據(jù)庫存儲引擎探析[J]. 軟件導(dǎo)刊, 2012, 11(12): 129-131.
[2] 李寧. Android開發(fā)權(quán)威指南[M]. 北京: 人民郵電出版社, 2011: 2-10.
[3] 方震, 郭鵬. 基于RSSi測距分析[J]. 傳感技術(shù)學(xué)報, 2007, 11(20): 2527-2529.
[4] 宋曉宇. 基于簽到數(shù)據(jù)的短時間體驗式路線搜索[J]. 計算機學(xué)報, 2013, 6(8): 1693-1703.