摘 要:本文介紹了基于Android平臺的學生簽到系統的設計和實現。由于傳統的點名方式既費時又費力還無法解決學生代簽的問題,因此該項目通過Android平臺和GPS定位系統設計實現了學生注冊、登錄,利用GPS定位發送位置進行簽到的基本功能。這樣開發完成的學生簽到系統運行穩定,可用性好,方便快捷。
關鍵詞:學生簽到系統;Android平臺;GPS定位系統
中圖分類號:TP312.1 文獻標識碼:A
1 引言(Introduction)
現代社會,隨著計算機技術和網絡通信技術的不斷發展和迅速崛起我們的生產生活方式也發生了巨大的變化。同時由計算機設計的一些軟件和系統為我們的生活提供了許多方便,從而也代替了一些較復雜的手工程序。基于這種思想,本文設計實現了一個基于Android平臺的學生簽到系統。相比于傳統的點名方式如教師點名簽到方式,利用手機GPS定位發送位置進行簽到既可以節省時間,又解決了學生代簽的問題,既方便又快捷,也提高了課堂質量,能夠準確反映學生出勤情況。
2 系統與開發環境介紹(The introduction of the
system and development environment)
2.1 系統介紹
Android,是一個以Linux為基礎的開源移動設備操作系統。該平臺由操作系統、中間件、用戶界面和應用軟件組成。它采用軟件堆層的架構,主要分為三部分:底層以Linux內核工作為基礎,由C語言開發,只提供基本功能;中間層包括函數庫Library和虛擬機Virtual Machine,由C++開發。最上層是各種應用軟件,包括通話程序、短信程序等,應用軟件則由各公司自行開發,以Java作為編寫程序的一部分[1]。由于Android和操作系統進行了緊密的整合并提供了許多API和工具,所以用戶可以方便地使用Android手機。
2.2 開發環境介紹
學生簽到系統將Android SDK 4.0作為開發環境,Eclipse作為開發平臺,Java作為開發語言,SharedPreferences和SQLite作為數據庫。開發過程中還需用到sqlitejdbc-v033-nested.jar包,struts及Navicat 9。sqlitejdbc-v033-nested.jar包的使用是為了支持jdbc訪問SQLite數據庫。同時,struts提供了清晰的MVC架構和大量的標記庫,可以有效地節省開發時間,因此本文選用struts作為開發的框架。專為簡化數據庫的管理及降低系統管理成本而設Navicat的是一套快速、可靠并價格合理的數據庫管理工具。它能簡單安全地創建、組織并訪問及共用信息。
3 系統分析(System analysis)
3.1 可行性分析
現代的大學課堂中,老師常常通過點名或學生用紙簽到的方式進行簽到。這種傳統的簽到方式不僅管理復雜,統計困難,還浪費時間,也無法解決學生代簽的問題。針對這些問題,若能夠利用現在我們人人必備的智能手機進行簽到,就可以便于教師管理,節省時間和成本,提高效率。
3.2 需求分析
3.2.1 系統總體需求分析
系統角色說明具體如下:
根據管理系統的使用范圍,將用戶劃分為教師用戶和學生用戶兩類。
(1)教師用戶:第一次使用時需要注冊,再次使用時可以綁定用戶名避免頻繁登錄。開啟簽到功能后能夠接受學生的簽到信息。
(2)學生用戶:第一次使用時首先需要注冊,通過系統錄入自己的信息,再次使用時可綁定用戶名。待教師開啟簽到功能后進行定位簽到發送位置也可以隨時查詢簽到情況。
3.2.2 非功能需求
為了能夠使系統穩定、安全且高效地運行,系統應該滿足以下功能需求。
(1)可擴展性和開放性
一個好的系統程序需要不斷地改進和創新,因此在開發編制本系統時,就需要很好的可擴展性和開放性,使得在開發過程中主體結構不變,可以隨時根據用戶的需求不斷將新的功能加入到系統中去或者減少不必要的功能,而不必將整個系統大范圍改動,省時省力。
(2)易用性和易維護性
為了方便用戶的使用,提高簽到系統的交互流暢性,需要簡化注冊流程,操作提示要出現在合適的位置,并且用戶如果出錯要及時反饋,盡可能地為用戶創造方便,也需要為用戶提供一個簡便快捷友好的操作界面。
(3)響應速度
在用戶注冊完畢提交后,系統應提高反饋速度,在短時間內提示用戶注冊是否成功,若成功則提示“成功注冊”,若不成功則迅速返回注冊,重新注冊。作為衡量學生簽到系統的重要性能指標提高響應速度是很重要的。
4 系統設計(System design)
4.1 系統基本功能模塊設計:
根據本系統的設計需求及理念將系統劃分為注冊、登錄和定位簽到三個模塊。
(1)注冊模塊:教師和學生需要輸入用戶名(學生的用戶名為學號)、密碼、姓名及驗證碼,若注冊成功則提示“成功注冊”,否則返回到注冊頁面清空信息并提示錯誤的輸入信息。
(2)登錄模塊:教師和學生需要填寫自己已注冊的用戶名、密碼及驗證碼,在確定后有提示信息是否記住密碼,選擇“是”則以后默認登錄信息直接登錄。
(3)定位簽到模塊:系統利用Android手機的GPS定位功能進行軟件開發。Android關于地理定位的API主要集中在android.location軟件包內[2]。因此可以利用Android手機提供的API從平臺的GPS模塊來獲取地理位置數據,并將數據通過GPRS傳輸到服務器,自動分析人員所在區域,將定位信息發送給手機。根據系統設計需求將此定位簽到模塊分為兩部分。
a.教師簽到情況查詢部分:教師需要開啟簽到功能,可設定簽到規定時間,隨后系統將自動列出已簽到學生的姓名、學號和簽到位置信息。
b.學生簽到部分:待教師開啟簽到功能后,學生首先開啟自動定位功能,點擊“定位”鍵,并將已定位到的位置在對話欄里發送。
圖1 學生簽到系統總體需求用例圖
Fig.1 The use case diagram of students' overall
demand on the signing system
4.2 數據庫設計
數據存儲是在Android系統開發中一項很重要的技術,在Android系統開發中常見的四種數據存儲方式有文件存儲數據、SharedPreferences存儲數據、Content Provider存儲數據和SQLite數據庫存儲數據[3]。其中SharedPreferences是Android平臺上一個輕量級的存儲類,用來保存一些標志位狀態和一些常用配置。SQLite是一款輕型的數據庫,占用資源低,處理速度快。因此根據它們的特點本系統采用了SharedPreferences和SQLite數據庫兩種存儲方式用來存儲數據。數據通信接口采用JDBC,通過JDBC向數據庫開發人員提供了一個標準API,可以用Java API編寫數據庫應用程序。根據系統功能設計要求及功能模塊劃分,系統主要數據表如表1—表3所示。
表1 學生信息表
Tab.1 Studentsinformation table名稱 字段名稱 數據類型 約束
用戶名 Id integer 主鍵
密碼 password varchar Not Null
姓名 Name text Not Null
表2 簽到信息表
Tab.2 The signing information table
名稱 字段名稱 數據類型 約束
簽到號 Id integer 主鍵
學生賬戶 student_id varchar Not Null
簽到日期 Date date Not Null
簽到時間 signtime time Not Null
表3 簽到參數表
Tab.3 The parameter table 名稱 字段名稱 數據類型 約束
參數記錄號 Id integer 主鍵
簽到地點 place varchar Not Null
簽到點經度坐標 longitude float Not Null
簽到點緯度坐標 latitude float Not Null
5 結論(Conclusion)
基于Android平臺開發的學生簽到系統將手機自帶的GPS定位功能和Java編程相結合來讀取GPS信息獲取學生位置。這樣設計實現的簽到系統方便了教師的教學管理,解決了學生代簽的問題,提高了課堂效率。相信隨著Android手機的不斷普及和發展,這種能夠解決現實問題的應用軟件也會越來越受歡迎。
參考文獻(References)
[1] 安卓軟件開發網.Android的系統架構認識,2013.
[2] 代敏.基于Android平臺下手機定位程序的設計及實現[J].計 算機與數字工程.2012,40(4):143-145.
[3] 尹京花,王華軍.基于Android開發的數據存儲[J].數字通 信,2012,39(6):79-81.
作者簡介:
白肖璇(1993-),女,本科生.研究領域:軟件開發.