張長春,張琳琳,史艷語,羅坤,古麗尼格爾(新疆大學信息科學與工程學院,烏魯木齊 830046)
?
基于Android的學生成績管理系統的設計與實現
張長春,張琳琳,史艷語,羅坤,古麗尼格爾
(新疆大學信息科學與工程學院,烏魯木齊830046)
摘要:
關鍵詞:
成績管理;Android平臺;C/S架構
成績管理系統是借助計算機技術完成成績的錄入、查詢和修改等功能的計算機軟件系統。信息化手段的成功應用,提高了成績錄入的效率,降低了手工填寫的出錯機率,避免了紙版成績檔案丟失、損壞等問題。目前,成績管理系統在PC應用方面已經十分成熟。國家大型考試,如全國大學英語四六級考試、計算機技術與軟件專業(yè)技術資格(水平)考試等,都不同程度地實現了在線報名、成績查詢等功能。借助在線成績管理系統,廣大考生可方便快捷地查詢考試成績。然而,在祖國偏遠地區(qū),特別是山區(qū),互聯網基礎設施尚不完善,成績查詢就只能等單位通知、委托他人查詢或乘車前往城鎮(zhèn)網吧來實現。在這種情況下,基于移動智能終端的成績管理系統就會表現出較為明顯的優(yōu)勢。
近年來,隨著移動互聯網技術的日益發(fā)展,移動智能終端以其小巧、便攜的特點迅速普及,倍受廣大用戶青睞。偏遠地區(qū)用戶同樣能享受到互聯網提供的各種服務。通過移動智能終端,出差在外的工作人員可隨時瀏覽單位公告,及時處理相應事務;教師可以批改學生的作業(yè),實時解決學生學習中的問題;考務人員可以登錄成績系統錄入學生的成績,廣大考生則可及時查看考試成績。考慮到移動平臺的優(yōu)越性,將傳統PC平臺中的成績管理系統移植到移動智能終端是十分必要的。本文基于市場占有率一直領先的Android平臺,綜合運用多種技術,設計并開發(fā)一款學生成績管理平臺,為廣大師生提供方便。
學生成績是學生學籍管理中的重要組成部分,反映學業(yè)完成情況。學生成績管理系統主要包括三個角色:學生、教師和管理員。學生可通過智能手機查看自己的各科成績,下載所需的學習資料,上傳自己手中的資源;教師可通過電腦或智能手機錄入、修改和查詢學生的成績。管理員負責維護學生的基本信息、教師信息和課程信息,并對學生成績進行審核。學生成績管理系統如圖1所示。
1.1學生用例分析
學生登錄系統后可對自己的成績進行查看,還可以上傳作業(yè)、代碼等文件,下載課程資源以便平時學習。學生可查看自己所有考核的課程成績和取得的學分情況,也可以對某一門課程的情況進行查看。管理員和教師上傳的資料,學生可在移動端直接下載查閱;學生還可以向服務器上傳自己的文件等資料。學生用例圖如圖2所示。
圖1 學生成績管理系統用例圖
圖2 學生用例圖
1.2教師用例分析
教師在學生成績考核結果出來后,將學生的成績錄入系統以便學生查看;當錄入發(fā)生錯誤時,可以修改相應的成績。教師還可以瀏覽選修自己所授課程全部學生的成績情況。此外,教師還可以下載學生作業(yè),上傳教學課件、作業(yè)要求等資源以備學生學習。教師用例如圖3所示。
圖3 教師用例圖
1.3管理員用例分析
管理員主要有三大功能:學生信息管理、教師信息管理和系統日志管理。學生信息管理則實現學生信息的錄入、刪除、修改和查詢。學生信息包括學號、姓名、所在班級、課程及成績等。教師信息管理是對教師基本信息的增加、刪除、修改和查詢。后臺維護主要包括數據的備份與恢復、用戶權限設置、審核上傳文件和成績變更情況,以及生成系統日志等功能。信息發(fā)布負責發(fā)布諸如考試信息之類的消息,提醒廣大師生及時備考或錄入成績。管理員用例如圖4所示。
圖4 管理員用例圖
2.1總體設計
基于Android平臺的學生成績管理系統采用C/S架構,Android Studio和MyEclipse為Android客戶端和服務端的開發(fā)環(huán)境,使用MySQL數據庫存儲數據,后臺頁面采用JSP技術。
學生成績管理系統主要包括學生信息管理、教師信息管理、學生成績管理、課程信息管理和系統維護五大部分。系統的功能結構如圖5所示。
圖5 系統功能結構
2.2數據庫設計
學生成績管理系統包含八張表,分別為:①學生信息表(Student):存儲學生基本信息,包括學號、班級等信息;②班級信息表(class_info):存儲開設班級的信息;③教師信息表(Teacher):存儲放教師基本信息,包括職工號、院系、職稱等;④課程信息表(course_info):存儲開設課程信息;⑤學生選課成績信息表(course_stu):存儲學生所選課程的成績信息;⑥管理員信息表(admin_table):存儲管理員賬戶信息;⑦原始日志信息表(log_info):存儲系統獲取的日志信息;⑧日志分析結果表(andriod_log)存儲對原始日志信息分析處理過后的結果。各表之間的關系如圖6所示。
圖6 數據庫各表之間的關系
2.3界面設計與實現
本系統的客戶端界面通過XML布局文件設置控件屬性進行控制,靈活應用LinearLayout、TableLayout 和RelativeLayout布局模式[1]。此外,為了使界面布局更加靈活,還加入了樣式和主題的功能。樣式用以改變指定控件和布局模式,主題則用以改變窗體背景,如圖7所示的登錄界面。
圖7 登錄界面
2.4Android客戶端功能實現
Android客戶端包括教師和學生兩個角色,分別完成不同的功能。學生成功登錄成績管理系統后,點擊“成績查詢”按鈕,將向服務器提交查詢請求,服務器返回該學生的所有選課成績信息,如圖8所示。若學生只是想單獨查看某一門課程的成績,只需要在搜索框中輸入該課程名,點擊“查詢”即可。為了便于輸入,這里采用模糊查詢方式,學生只需輸入待查條件的一部分,提高了輸入效率。查詢結果通過ListView控件[2]進行顯示。ListView控件在XML文件里定義。教師查詢成績功能與學生查詢類似,此處不再贅述。
圖8 學生成績查詢結果界面
2.5服務器端實現
管理員是整個系統的后臺管理和維護者。系統服務器端采用典型的MVC(Model View Controller)模式JavaBean+JSP+Servlet,開發(fā)了一個學生成績管理系統后臺。服務器端主要包括學生信息管理、教師信息管理、系統維護及“其它”四大功能。界面分為上、左、右三部分。上部為系統Logo展示區(qū),左側為管理員功能導航欄,右邊是工作區(qū)。導航欄采用CSS+DIV的布局方法,結合JavaScript腳本實現導航按鈕的動態(tài)效果,給用戶一種友好的體驗。圖9展示了添加新同學的界面。
圖9 服務器端界面
成績管理系統包含著大量敏感信息,如學號、成績,與學生學業(yè)質量息息相關。不僅如此,成績管理還是教育管理的手段和教育理念落實的載體[3]。為了確保系統的安全性,更好地落實教育管理和教育理念,本系統在訪問控制、數據存儲以及日志生成等方面做了相應的限制和要求。
(1)訪問控制
依照信息安全的“最小權限原則”,即只為用戶提供完成某個任務的最小權限,將數據庫中表的訪問權限分配給不同的用戶,如教師僅能訪問教師信息表和成績表,學生只能訪問學生基本信息表。Android客戶端用戶在登錄時首先要選擇自己的身份——學生或教師,登錄后所能操作的界面和功能將各不相同。
此外,在登錄過程中還做了一系列安全檢查,如輸入信息不能為空,密碼長度不少于8位,對輸入的特殊字符做過濾操作等,進一步提高系統的安全性。
(2)敏感數據存儲
教師和學生登錄系統時的密碼采用SHA-1處理后在網絡上傳輸,服務器接收之后與數據庫中存儲的密碼的SHA-1值進行比對,若二者吻合,則通過驗證。這樣保證了用戶登錄密碼在數據庫存儲和網絡上傳輸兩方面的安全性。具體實現代碼如下:
public static String getSHA(String val)throws NoSuchAlgorithmException
{
MessageDigest sha1 = MessageDigest.getInstance("SHA-1");//使用SHA-1算法
sha1.update(val.getBytes();//計算SHA-1值
byte[]m = sha1.digest();
return getString(m);//返回16進制哈希字符串
}
(3)日志審計
學生成績事關學生學業(yè)中的推優(yōu)評獎活動,事關學生前程。為了避免學生成績被誤刪或惡意更改,系統設計了日志審計功能。當學生成績變化時,將記錄登錄的用戶名、時間戳、IP地址等內容,以便成績異常變更時管理員能及時發(fā)現。
移動智能終端的日益普及,為人們提供便利的同時,也改變了人們的工作和生活方式。基于Android平臺的學生成績管理系統的設計與實現,克服了傳統PC桌面系統應用程序受硬件條件限制的不足,利用移動智能平臺的優(yōu)勢,進一步提高學生成績管理的效率,方便了廣大師生的日常學習生活。今后將探索利用面向切面編程技術(Aspect-Oriented Programming)實現日志審計功能,結合數據可視化技術,為管理員提供直觀的日志展示方式,進一步提高移動平臺下包含大量敏感數據應用程序的安全性。
參考文獻:
[1]徐浙君.基于Android的教務信息查詢系統設計與實現[J].信息技術,2013(7):72-74.
[2]李剛.瘋狂Android講義[M]:第二版.北京:電子工業(yè)出版社,2013.91-111.
[3]宣華,付小龍,劉玉玲等.學生成績管理系統的研究與創(chuàng)新[J].實驗技術與管理,2011,28(2):101-104.
張長春(1993-),男,陜西安康人,本科,研究方向為移動平臺開發(fā)
張琳琳(1974-),女,副教授,研究方向為軟件安全、可信軟件等
史艷語(1994-),女,新疆烏魯木齊人,研究方向為Java Web開發(fā)、信息安全管理體系建設
羅坤(1993-),男,湖北襄陽人,研究方向為云計算與信息安全
古麗尼格爾·阿不都外力(1993-),女,新疆烏魯木齊人,研究方向為數據分析
The popularity of mobile terminals has brought great convenience to people's life and work.The achievement management system based on the mobile terminal not only can provide convenience for the candidates in remote areas,but also provides an alternative way for teachers to input grade.Designs a student achievement management system on the basis of Android Studio and MyEclipse,Java language,uses MySQL technology,C/S architecture and MVC pattern in the system.
Keywords:
Achievement Management;Android Platform;C/S Architecture
Design and Implementation of Student Achievement Management System Based on Android
ZHANG Chang-chun,ZHANG Lin-lin,SHI Yan-yu,LUO Kun,Abuduwaili Gulinigeer
(College of Information Science and Engineering,Xinjiang University,Urumqi 830046)
Abstract:
移動終端的普及為人們的生活和工作帶來了極大的便利?;谝苿咏K端的成績管理系統可為偏遠地區(qū)考生查詢成績提供方便,也為教師錄入成績提供了另一種途徑。在Android Studio基礎上,綜合運用Java語言、MyEclipse和MySQL技術,采用C/S架構和MVC模式,設計并實現學生成績管理系統。
基金項目:
新疆維吾爾自治區(qū)重點產業(yè)緊缺人才信息安全專業(yè)建設項目(新教高[2011]43號)、新疆大學博士啟動基金(BS120126)、國家大學生創(chuàng)新訓練計劃項目(No.201410755029)
文章編號:1007-1423(2016)15-0069-05
DOI:10.3969/j.issn.1007-1423.2016.15.017
作者簡介:
收稿日期:2016-04-06修稿日期:2016-05-16