王靖娜
摘要: 高校學生考勤管理存在著人工管理效率低、信息分散、實時性差、難于統(tǒng)計、利用率低的問題,對學生出勤信息的動態(tài)掌握造成了困難。提出一種包含Android移動客戶端(Android端)、PC Web客戶端(PC端)和Web服務端(服務端)混合而成的學生考勤管理系統(tǒng)。使用基于Android平臺的移動設備實現(xiàn)電子點名功能,通過3G網(wǎng)絡將學生考勤數(shù)據(jù)實時上傳至服務器,并用J2EE實現(xiàn)考勤數(shù)據(jù)的動態(tài)管理和查看。通過實驗表明,系統(tǒng)部署后確能實時、宏觀的掌握學生出勤信息,為高校學生安全管理提供了有力的支持。
關鍵字: 學生安全管理; 考勤管理; Android; J2EE
中圖分類號: TN964?34 文獻標識碼: A文章編號: 1004?373X(2014)08?0099?03
Design and development of student attendance management system based on Android
WANG Jing?na
(Shaanxi Radio & TV University, Xian 710119, China)
Abstract: A student attendance management system including Android end, PC end and Web server end is proposed to solve the problems of low efficiency, information dispersion, bad real?time property, difficult statistics and low use ratio ofmanual management in the attendance management system of college students. The mobile devices based on Android platform is used in the attendance system to realize electronic roll call function. The attendance data of the students is acquired by Android devices and uploaded to server by 3G network. Dynamical management and looking up of attendance data are implemented by J2EE framework. The experimental results show that it can dynamically analyze the attendance information and provide a strong support for the current security management system of college students.
Keywords: student security management; attendance management; Android; J2EE
0引言
近年來,高校學生安全事故頻發(fā),安全管理問題日益突出[1]。而其中有相當一部分安全事件又發(fā)生在教學時段,除了加強常規(guī)手段[2]外,教師在教學時段對學生的考勤也應該發(fā)揮重要的作用。但是傳統(tǒng)教學中,學生的考勤信息僅作為教師課程總評結(jié)果中對學生日常表現(xiàn)的評價依據(jù)。而且還存在以下一些問題:
(1) 考勤信息由教師人工操作、管理,效率低下;
(2) 不同教師所掌握的考勤信息分散、缺乏聯(lián)系;
(3) 信息匯總往往發(fā)生在期末總評期間,實時性差;
(4) 記錄形式不規(guī)范統(tǒng)計困難;
(5) 教師對教學期間的缺勤信息缺乏及時的處理,利用率低下。筆紙記錄,分析整理在學校的日常管理中發(fā)揮的作用微乎其微,從而導致考勤信息在高校安全管理中無法發(fā)揮重要作用。
目前智能移動設備普及率日益提高,特別是基于Google Android系統(tǒng)[3]的移動平臺,市場占有率極高。Android相關硬件種類豐富且價格相對較為低廉,平臺應用數(shù)量也十分龐大,整個生態(tài)系統(tǒng)非常成熟。為了充分利用教師的考勤信息,提出首先以Android平臺為出發(fā)點建立學生考勤管理系統(tǒng)輔助高校安全管理。系統(tǒng)由Android端提供點名、數(shù)據(jù)上傳等基礎功能;由PC端實現(xiàn)信息的高級管理;由服務端實現(xiàn)數(shù)據(jù)的存儲及安全管理。系統(tǒng)部署階段的實驗表明,系統(tǒng)能實時、宏觀地掌握學生出勤信息,可及時將信息反饋給安全管理人員,有效地輔助高校學生安全管理工作。
1系統(tǒng)設計與實現(xiàn)
基于android的學生考勤管理系統(tǒng)主要由Android端、PC端和服務器端3部分組成。Android端負責考勤數(shù)據(jù)的采集以及較為簡單的數(shù)據(jù)查詢。任課教師使用安裝有Android客戶端軟件的智能設備進行電子點名,并通過網(wǎng)絡將數(shù)據(jù)上傳到服務器端,完成考勤數(shù)據(jù)的采集。PC端則提供較為完整的考勤數(shù)據(jù)管理和系統(tǒng)安全管理功能。用戶通過PC端界面登錄到服務端讀取數(shù)據(jù)庫服務器中的數(shù)據(jù),實時查看全校學生考勤的匯總信息,發(fā)現(xiàn)其中存在的問題,指導進一步的管理工作。
1.1服務器及PC端
服務器端與PC端構(gòu)成完整的Web應用,在開發(fā)過程中充分使用MVC模式和面向?qū)ο笏枷脒M行設計來提高系統(tǒng)的靈活性和擴展性。采用了分層的系統(tǒng)架構(gòu)(架構(gòu)圖見圖1),主要由?表示層、控制層、業(yè)務邏輯層和數(shù)據(jù)持久層4個層次組成。其中,表示層為Android端和PC端提供交互界面和請求響應,采用Freemarker作為模板引擎。控制層用Struts2[4]框架處理客戶端請求組織業(yè)務邏輯,并實現(xiàn)服務端有效性檢驗、國際化等非功能需求。業(yè)務邏輯層通過基于接口的編程方法將系統(tǒng)業(yè)務分解成細粒度的服務,大大提高了代碼的重用度。數(shù)據(jù)持久層則采用Mybatis3[5]作為ORM框架實現(xiàn)系統(tǒng)與數(shù)據(jù)庫之間的交互,降低了系統(tǒng)對數(shù)據(jù)庫的依賴,提高數(shù)據(jù)存儲的靈活性。而各層次對象間的依賴關系由Spring3[6]框架管理。分層架構(gòu)的使用有利于團隊成員的分工合作,降低了系統(tǒng)集成難度,提高了項目開發(fā)生產(chǎn)效率。
圖1 服務端架構(gòu)
服務端對外提供的服務以REST風格進行組織,這樣所有服務都以標準的HTTP請求的方式提供給客戶端。當PC端或Android端向服務器端發(fā)送HTTP請求時,Struts2框架的FilterDispatcher過濾器根據(jù)配置文件將請求映射至相應的Action入口方法。在Action的服務入口函數(shù)中根據(jù)業(yè)務需求將由業(yè)務邏輯層提供更小粒度的服務單元進行整合。業(yè)務邏輯層涉及到數(shù)據(jù)存取部分的功能則又交由數(shù)據(jù)持久層的ORM框架完成。數(shù)據(jù)持久層完成數(shù)據(jù)操作后將結(jié)果反饋給業(yè)務邏輯層并進一步由后將結(jié)果傳遞到控制層,再由控制層根據(jù)服務執(zhí)行結(jié)果選擇相應的表示層模板將結(jié)果輸出至客戶端。若結(jié)果為純數(shù)據(jù)則使用JSON格式進行數(shù)據(jù)打包,而其他數(shù)據(jù)則是由Freemarker代碼和客戶端代碼混合而成。
主要功能實現(xiàn):
(1) 登錄驗證:所有用戶必須為已注冊的管理人員和教師。管理員可以進行全部的系統(tǒng)管理操作,而教師則在課程管理的模塊,只能對自己的課程信息進行相關修改。在開發(fā)時使AOP編程思想實現(xiàn),用Struts2中的Intercepter攔截系統(tǒng)的所有請求并進行驗證,這樣業(yè)務代碼就避免了被非功能代碼的污染同時提高了系統(tǒng)的靈活性。考慮到系統(tǒng)的用戶量、訪問量,為了提高系統(tǒng)性能,將全部用戶基本信息表緩存在服務內(nèi)存當中。
(2) 學生信息管理模塊:主要是對學生的相關信息進行增刪改查。全體學生信息在系統(tǒng)部署時,由系統(tǒng)管理員從學校的相關系統(tǒng)中一次性導入,后期僅需要少量的日常維護。
(3) 課程信息模塊:這里主要是對教師所授的課程信息進行增刪改查,管理員可以對所有教師進行操作,而教師只能對和自己有關的課程信息進行操作。
(4) 點名信息管理模塊:主要對從移動客戶端上傳的點名信息進行處理。考勤數(shù)據(jù)中的基本信息生成后,后續(xù)就無法進行更改,避免的考勤信息的人為干預。用戶可以根據(jù)授課教師,課程,以或授課班級,對某一班的點名信息進行統(tǒng)計分析。在PC端數(shù)據(jù)分析界面中,引入了HighCharts框架,使用圖形展示簡潔大方。
(5) 各班負責人管理模塊:主要是對每一個班級中的聯(lián)系人進行管理,方便教師與學生交流。
(6) 移動端數(shù)據(jù)的上傳與下載:主要是對Android端發(fā)送的請求進行響應,一方面為Android端提供數(shù)據(jù)下載服務;另一方面是接收Android端上傳的考勤數(shù)據(jù)。為了滿足教學管理中對考勤數(shù)據(jù)進一步分析的需求,系統(tǒng)使用jXLS框架將考勤數(shù)據(jù)輸出至jXLS模板動態(tài)生成Excel文件。
1.2Android端
Android端使用ADT(Android Development Toolkit)開發(fā)環(huán)境進行開發(fā),邏輯結(jié)構(gòu)方面也采用了與服務器類似的分層架構(gòu),不同點在于控制層直接與Activity結(jié)合。業(yè)務運行相關數(shù)據(jù)使用Android系統(tǒng)內(nèi)置的SQLite數(shù)據(jù)庫API在本地進行存儲。Android端與服務器端考勤數(shù)據(jù)的同步功能則以服務形式實現(xiàn),可以避免應用切換時未同步數(shù)據(jù)的丟失。當數(shù)據(jù)傳輸量較大時,若用戶使用3G網(wǎng)絡進行通信,則系統(tǒng)會提示用戶是否進行通信,從而節(jié)省通信成本。在無網(wǎng)絡信號時,產(chǎn)生的考勤等數(shù)據(jù)會首先被保存在移動設備中,待網(wǎng)絡信息恢復后再與服務器端進行同步。Android端與服務器端的數(shù)據(jù)交互通過Apache HttpClient框架來完成。任課教師在授課時使用Android端進行考勤數(shù)據(jù)的采集,完成后系統(tǒng)通過同步服務使用HttpClient自動將數(shù)據(jù)同步至服務器。此外教師還可以通過Android端完成所授班級學生信息、所授課程信息、班級聯(lián)系人信息查詢等功能。各功能詳細描述如下:
(1) 點名:可以實現(xiàn)教師所教授班級學生的點名,進行缺勤/出勤處理,并且還可對缺勤的同學進一步根據(jù)其請假與否進行處理。還可以查看某個同學的相關信息。
(2) 個人課表查詢:查詢教師的個人課表。
(3) 各班聯(lián)系方式管理:負責管理各班聯(lián)系方式,能發(fā)送信息或者打電話給各班負責人。
(4) 服務器與手機端的信息相互同步:能夠?qū)崿F(xiàn)Android端與服務器端的信息同步,既可以從服務器端下載相關的考勤數(shù)據(jù),也可以將Android端新產(chǎn)生的考勤數(shù)據(jù)同步到服務器端。
(5) 到課率與平時成績統(tǒng)計:查詢某專業(yè)或者某個人的到課率情況。
1.3數(shù)據(jù)庫設計
結(jié)合系統(tǒng)需求對系統(tǒng)核心數(shù)據(jù)進行分析,可以抽取出相關的實體:登錄用戶、學生、課程、班級、點名信息等,其E?R圖如圖2所示。從圖中可以清楚的看出各實體之間的聯(lián)系相對比較簡單,易于實現(xiàn)。系統(tǒng)采用廣為流行的開源數(shù)據(jù)庫MySQL作為服務端的持久層數(shù)據(jù)倉庫,在降低系統(tǒng)的成本的同時并未降低系統(tǒng)的穩(wěn)定性和可靠性。
圖2 服務端數(shù)據(jù)庫設計
2實驗結(jié)果
系統(tǒng)開發(fā)完成后,作者在日常教學過程中進行了全面的測試。達到了系統(tǒng)的目標,滿足了考勤管理的需要。與傳統(tǒng)模式相比,教師完成點名所需的時間與筆紙方式相當,而后續(xù)工作所需時間則大幅度減少。但在使用過程中也發(fā)現(xiàn)一些會影響到系統(tǒng)的因素,可能會影響系統(tǒng)部分設計目標的達成。
在3G信號模式(教學區(qū)域無Wifi信號)下進行數(shù)據(jù)同步時,由于網(wǎng)絡信號原因存在以下問題:
(1) 局部區(qū)域網(wǎng)絡信號不穩(wěn)定,同步很難一次完成。
(2) 當網(wǎng)絡傳輸速度較慢時,上傳有時無法在數(shù)秒內(nèi)完成。
針對網(wǎng)速較慢的情況,可考慮在未來版本中將同步轉(zhuǎn)移至后臺,老師點名結(jié)束后,系統(tǒng)首先自動將數(shù)據(jù)同存在本地,在手動啟動同步服務后再進行數(shù)據(jù)同步操作,這樣就不會影響到教師教學的連續(xù)性。
3結(jié)語
以流行的Android智能設備作為考勤數(shù)據(jù)采集工具,在基礎數(shù)據(jù)采集時間相當?shù)那闆r下,大幅度減少了后期統(tǒng)計的工作量。并且,通過3G網(wǎng)絡實時將考勤數(shù)據(jù)上傳至服務后,在更大范圍的考勤信息動態(tài)統(tǒng)計工作成為了可能,大大超出的純?nèi)斯し绞娇记跀?shù)據(jù)的應用范圍,為學校對學生的安全管理提供了有力的、新的手段。
參考文獻
[1] 楊斌.重視高校安全新風險點[N].中國保險報,2013?11?12(7).
[2] 范博,張晶晶.高校校園安全管理對策研究[J].中國·東盟博覽,2013(3):9?12.
[3] LEE Wei Meng. beginning Android 4 application development [M]. [S.l.]: Willey, 2012: 1?43.
[4] BROWN D, DAVIS C M, STANLICK S. Struts 2 in action [M]. [S.l.]: ManningPublications, 2008.
[5] BEGIN C, GOODIN B, MEADORS L. iBATIS in action [M]. [S.l.]: ManningPublications, 2007.
[6] WALLS Craig. Spring in action [M]. Third Edition. [S.l.]: ManningPublications, 2011.
主要功能實現(xiàn):
(1) 登錄驗證:所有用戶必須為已注冊的管理人員和教師。管理員可以進行全部的系統(tǒng)管理操作,而教師則在課程管理的模塊,只能對自己的課程信息進行相關修改。在開發(fā)時使AOP編程思想實現(xiàn),用Struts2中的Intercepter攔截系統(tǒng)的所有請求并進行驗證,這樣業(yè)務代碼就避免了被非功能代碼的污染同時提高了系統(tǒng)的靈活性。考慮到系統(tǒng)的用戶量、訪問量,為了提高系統(tǒng)性能,將全部用戶基本信息表緩存在服務內(nèi)存當中。
(2) 學生信息管理模塊:主要是對學生的相關信息進行增刪改查。全體學生信息在系統(tǒng)部署時,由系統(tǒng)管理員從學校的相關系統(tǒng)中一次性導入,后期僅需要少量的日常維護。
(3) 課程信息模塊:這里主要是對教師所授的課程信息進行增刪改查,管理員可以對所有教師進行操作,而教師只能對和自己有關的課程信息進行操作。
(4) 點名信息管理模塊:主要對從移動客戶端上傳的點名信息進行處理。考勤數(shù)據(jù)中的基本信息生成后,后續(xù)就無法進行更改,避免的考勤信息的人為干預。用戶可以根據(jù)授課教師,課程,以或授課班級,對某一班的點名信息進行統(tǒng)計分析。在PC端數(shù)據(jù)分析界面中,引入了HighCharts框架,使用圖形展示簡潔大方。
(5) 各班負責人管理模塊:主要是對每一個班級中的聯(lián)系人進行管理,方便教師與學生交流。
(6) 移動端數(shù)據(jù)的上傳與下載:主要是對Android端發(fā)送的請求進行響應,一方面為Android端提供數(shù)據(jù)下載服務;另一方面是接收Android端上傳的考勤數(shù)據(jù)。為了滿足教學管理中對考勤數(shù)據(jù)進一步分析的需求,系統(tǒng)使用jXLS框架將考勤數(shù)據(jù)輸出至jXLS模板動態(tài)生成Excel文件。
1.2Android端
Android端使用ADT(Android Development Toolkit)開發(fā)環(huán)境進行開發(fā),邏輯結(jié)構(gòu)方面也采用了與服務器類似的分層架構(gòu),不同點在于控制層直接與Activity結(jié)合。業(yè)務運行相關數(shù)據(jù)使用Android系統(tǒng)內(nèi)置的SQLite數(shù)據(jù)庫API在本地進行存儲。Android端與服務器端考勤數(shù)據(jù)的同步功能則以服務形式實現(xiàn),可以避免應用切換時未同步數(shù)據(jù)的丟失。當數(shù)據(jù)傳輸量較大時,若用戶使用3G網(wǎng)絡進行通信,則系統(tǒng)會提示用戶是否進行通信,從而節(jié)省通信成本。在無網(wǎng)絡信號時,產(chǎn)生的考勤等數(shù)據(jù)會首先被保存在移動設備中,待網(wǎng)絡信息恢復后再與服務器端進行同步。Android端與服務器端的數(shù)據(jù)交互通過Apache HttpClient框架來完成。任課教師在授課時使用Android端進行考勤數(shù)據(jù)的采集,完成后系統(tǒng)通過同步服務使用HttpClient自動將數(shù)據(jù)同步至服務器。此外教師還可以通過Android端完成所授班級學生信息、所授課程信息、班級聯(lián)系人信息查詢等功能。各功能詳細描述如下:
(1) 點名:可以實現(xiàn)教師所教授班級學生的點名,進行缺勤/出勤處理,并且還可對缺勤的同學進一步根據(jù)其請假與否進行處理。還可以查看某個同學的相關信息。
(2) 個人課表查詢:查詢教師的個人課表。
(3) 各班聯(lián)系方式管理:負責管理各班聯(lián)系方式,能發(fā)送信息或者打電話給各班負責人。
(4) 服務器與手機端的信息相互同步:能夠?qū)崿F(xiàn)Android端與服務器端的信息同步,既可以從服務器端下載相關的考勤數(shù)據(jù),也可以將Android端新產(chǎn)生的考勤數(shù)據(jù)同步到服務器端。
(5) 到課率與平時成績統(tǒng)計:查詢某專業(yè)或者某個人的到課率情況。
1.3數(shù)據(jù)庫設計
結(jié)合系統(tǒng)需求對系統(tǒng)核心數(shù)據(jù)進行分析,可以抽取出相關的實體:登錄用戶、學生、課程、班級、點名信息等,其E?R圖如圖2所示。從圖中可以清楚的看出各實體之間的聯(lián)系相對比較簡單,易于實現(xiàn)。系統(tǒng)采用廣為流行的開源數(shù)據(jù)庫MySQL作為服務端的持久層數(shù)據(jù)倉庫,在降低系統(tǒng)的成本的同時并未降低系統(tǒng)的穩(wěn)定性和可靠性。
圖2 服務端數(shù)據(jù)庫設計
2實驗結(jié)果
系統(tǒng)開發(fā)完成后,作者在日常教學過程中進行了全面的測試。達到了系統(tǒng)的目標,滿足了考勤管理的需要。與傳統(tǒng)模式相比,教師完成點名所需的時間與筆紙方式相當,而后續(xù)工作所需時間則大幅度減少。但在使用過程中也發(fā)現(xiàn)一些會影響到系統(tǒng)的因素,可能會影響系統(tǒng)部分設計目標的達成。
在3G信號模式(教學區(qū)域無Wifi信號)下進行數(shù)據(jù)同步時,由于網(wǎng)絡信號原因存在以下問題:
(1) 局部區(qū)域網(wǎng)絡信號不穩(wěn)定,同步很難一次完成。
(2) 當網(wǎng)絡傳輸速度較慢時,上傳有時無法在數(shù)秒內(nèi)完成。
針對網(wǎng)速較慢的情況,可考慮在未來版本中將同步轉(zhuǎn)移至后臺,老師點名結(jié)束后,系統(tǒng)首先自動將數(shù)據(jù)同存在本地,在手動啟動同步服務后再進行數(shù)據(jù)同步操作,這樣就不會影響到教師教學的連續(xù)性。
3結(jié)語
以流行的Android智能設備作為考勤數(shù)據(jù)采集工具,在基礎數(shù)據(jù)采集時間相當?shù)那闆r下,大幅度減少了后期統(tǒng)計的工作量。并且,通過3G網(wǎng)絡實時將考勤數(shù)據(jù)上傳至服務后,在更大范圍的考勤信息動態(tài)統(tǒng)計工作成為了可能,大大超出的純?nèi)斯し绞娇记跀?shù)據(jù)的應用范圍,為學校對學生的安全管理提供了有力的、新的手段。
參考文獻
[1] 楊斌.重視高校安全新風險點[N].中國保險報,2013?11?12(7).
[2] 范博,張晶晶.高校校園安全管理對策研究[J].中國·東盟博覽,2013(3):9?12.
[3] LEE Wei Meng. beginning Android 4 application development [M]. [S.l.]: Willey, 2012: 1?43.
[4] BROWN D, DAVIS C M, STANLICK S. Struts 2 in action [M]. [S.l.]: ManningPublications, 2008.
[5] BEGIN C, GOODIN B, MEADORS L. iBATIS in action [M]. [S.l.]: ManningPublications, 2007.
[6] WALLS Craig. Spring in action [M]. Third Edition. [S.l.]: ManningPublications, 2011.
主要功能實現(xiàn):
(1) 登錄驗證:所有用戶必須為已注冊的管理人員和教師。管理員可以進行全部的系統(tǒng)管理操作,而教師則在課程管理的模塊,只能對自己的課程信息進行相關修改。在開發(fā)時使AOP編程思想實現(xiàn),用Struts2中的Intercepter攔截系統(tǒng)的所有請求并進行驗證,這樣業(yè)務代碼就避免了被非功能代碼的污染同時提高了系統(tǒng)的靈活性。考慮到系統(tǒng)的用戶量、訪問量,為了提高系統(tǒng)性能,將全部用戶基本信息表緩存在服務內(nèi)存當中。
(2) 學生信息管理模塊:主要是對學生的相關信息進行增刪改查。全體學生信息在系統(tǒng)部署時,由系統(tǒng)管理員從學校的相關系統(tǒng)中一次性導入,后期僅需要少量的日常維護。
(3) 課程信息模塊:這里主要是對教師所授的課程信息進行增刪改查,管理員可以對所有教師進行操作,而教師只能對和自己有關的課程信息進行操作。
(4) 點名信息管理模塊:主要對從移動客戶端上傳的點名信息進行處理。考勤數(shù)據(jù)中的基本信息生成后,后續(xù)就無法進行更改,避免的考勤信息的人為干預。用戶可以根據(jù)授課教師,課程,以或授課班級,對某一班的點名信息進行統(tǒng)計分析。在PC端數(shù)據(jù)分析界面中,引入了HighCharts框架,使用圖形展示簡潔大方。
(5) 各班負責人管理模塊:主要是對每一個班級中的聯(lián)系人進行管理,方便教師與學生交流。
(6) 移動端數(shù)據(jù)的上傳與下載:主要是對Android端發(fā)送的請求進行響應,一方面為Android端提供數(shù)據(jù)下載服務;另一方面是接收Android端上傳的考勤數(shù)據(jù)。為了滿足教學管理中對考勤數(shù)據(jù)進一步分析的需求,系統(tǒng)使用jXLS框架將考勤數(shù)據(jù)輸出至jXLS模板動態(tài)生成Excel文件。
1.2Android端
Android端使用ADT(Android Development Toolkit)開發(fā)環(huán)境進行開發(fā),邏輯結(jié)構(gòu)方面也采用了與服務器類似的分層架構(gòu),不同點在于控制層直接與Activity結(jié)合。業(yè)務運行相關數(shù)據(jù)使用Android系統(tǒng)內(nèi)置的SQLite數(shù)據(jù)庫API在本地進行存儲。Android端與服務器端考勤數(shù)據(jù)的同步功能則以服務形式實現(xiàn),可以避免應用切換時未同步數(shù)據(jù)的丟失。當數(shù)據(jù)傳輸量較大時,若用戶使用3G網(wǎng)絡進行通信,則系統(tǒng)會提示用戶是否進行通信,從而節(jié)省通信成本。在無網(wǎng)絡信號時,產(chǎn)生的考勤等數(shù)據(jù)會首先被保存在移動設備中,待網(wǎng)絡信息恢復后再與服務器端進行同步。Android端與服務器端的數(shù)據(jù)交互通過Apache HttpClient框架來完成。任課教師在授課時使用Android端進行考勤數(shù)據(jù)的采集,完成后系統(tǒng)通過同步服務使用HttpClient自動將數(shù)據(jù)同步至服務器。此外教師還可以通過Android端完成所授班級學生信息、所授課程信息、班級聯(lián)系人信息查詢等功能。各功能詳細描述如下:
(1) 點名:可以實現(xiàn)教師所教授班級學生的點名,進行缺勤/出勤處理,并且還可對缺勤的同學進一步根據(jù)其請假與否進行處理。還可以查看某個同學的相關信息。
(2) 個人課表查詢:查詢教師的個人課表。
(3) 各班聯(lián)系方式管理:負責管理各班聯(lián)系方式,能發(fā)送信息或者打電話給各班負責人。
(4) 服務器與手機端的信息相互同步:能夠?qū)崿F(xiàn)Android端與服務器端的信息同步,既可以從服務器端下載相關的考勤數(shù)據(jù),也可以將Android端新產(chǎn)生的考勤數(shù)據(jù)同步到服務器端。
(5) 到課率與平時成績統(tǒng)計:查詢某專業(yè)或者某個人的到課率情況。
1.3數(shù)據(jù)庫設計
結(jié)合系統(tǒng)需求對系統(tǒng)核心數(shù)據(jù)進行分析,可以抽取出相關的實體:登錄用戶、學生、課程、班級、點名信息等,其E?R圖如圖2所示。從圖中可以清楚的看出各實體之間的聯(lián)系相對比較簡單,易于實現(xiàn)。系統(tǒng)采用廣為流行的開源數(shù)據(jù)庫MySQL作為服務端的持久層數(shù)據(jù)倉庫,在降低系統(tǒng)的成本的同時并未降低系統(tǒng)的穩(wěn)定性和可靠性。
圖2 服務端數(shù)據(jù)庫設計
2實驗結(jié)果
系統(tǒng)開發(fā)完成后,作者在日常教學過程中進行了全面的測試。達到了系統(tǒng)的目標,滿足了考勤管理的需要。與傳統(tǒng)模式相比,教師完成點名所需的時間與筆紙方式相當,而后續(xù)工作所需時間則大幅度減少。但在使用過程中也發(fā)現(xiàn)一些會影響到系統(tǒng)的因素,可能會影響系統(tǒng)部分設計目標的達成。
在3G信號模式(教學區(qū)域無Wifi信號)下進行數(shù)據(jù)同步時,由于網(wǎng)絡信號原因存在以下問題:
(1) 局部區(qū)域網(wǎng)絡信號不穩(wěn)定,同步很難一次完成。
(2) 當網(wǎng)絡傳輸速度較慢時,上傳有時無法在數(shù)秒內(nèi)完成。
針對網(wǎng)速較慢的情況,可考慮在未來版本中將同步轉(zhuǎn)移至后臺,老師點名結(jié)束后,系統(tǒng)首先自動將數(shù)據(jù)同存在本地,在手動啟動同步服務后再進行數(shù)據(jù)同步操作,這樣就不會影響到教師教學的連續(xù)性。
3結(jié)語
以流行的Android智能設備作為考勤數(shù)據(jù)采集工具,在基礎數(shù)據(jù)采集時間相當?shù)那闆r下,大幅度減少了后期統(tǒng)計的工作量。并且,通過3G網(wǎng)絡實時將考勤數(shù)據(jù)上傳至服務后,在更大范圍的考勤信息動態(tài)統(tǒng)計工作成為了可能,大大超出的純?nèi)斯し绞娇记跀?shù)據(jù)的應用范圍,為學校對學生的安全管理提供了有力的、新的手段。
參考文獻
[1] 楊斌.重視高校安全新風險點[N].中國保險報,2013?11?12(7).
[2] 范博,張晶晶.高校校園安全管理對策研究[J].中國·東盟博覽,2013(3):9?12.
[3] LEE Wei Meng. beginning Android 4 application development [M]. [S.l.]: Willey, 2012: 1?43.
[4] BROWN D, DAVIS C M, STANLICK S. Struts 2 in action [M]. [S.l.]: ManningPublications, 2008.
[5] BEGIN C, GOODIN B, MEADORS L. iBATIS in action [M]. [S.l.]: ManningPublications, 2007.
[6] WALLS Craig. Spring in action [M]. Third Edition. [S.l.]: ManningPublications, 2011.