羅杰+王興柱+冷迅+何易升+孫航宇
摘 要:為滿足信息查詢需求,基于Android平臺,使用數(shù)據(jù)抓包、Cookies模擬登陸、Jsoup數(shù)據(jù)解析、SQLite數(shù)據(jù)庫等技術(shù)設(shè)計開發(fā)了校園助手系統(tǒng)。系統(tǒng)實現(xiàn)了教務(wù)管理接入、成績查詢、空教室查詢、課表查詢等功能。用戶無需注冊,使用教務(wù)系統(tǒng)學(xué)號、密碼即可登錄。提供了一個全天候、準(zhǔn)確、便捷的校園信息實時查詢平臺。
關(guān)鍵詞:校園助手;Jsoup網(wǎng)頁解析;教務(wù)系統(tǒng);SQLite數(shù)據(jù)庫;Android Studio
DOIDOI:10.11907/rjdk.162131
中圖分類號:TP319
文獻(xiàn)標(biāo)識碼:A文章編號:1672-7800(2016)012-0051-02
0 引言
手機已成為生活中不可分割的伴侶,Android操作系統(tǒng)作為一個市場占有過半的手機平臺,能夠為用戶提供高質(zhì)量的服務(wù)支撐。隨著無線互聯(lián)網(wǎng)的普及,出現(xiàn)了越來越多的校園APP,給生活帶來了諸多便利。通過使用手機APP可以方便、快捷訪問校園資訊,隨時隨地個性化、準(zhǔn)確地使用校園服務(wù)。
大學(xué)生上課經(jīng)常要去不同的教室,學(xué)校安排的課程不完全固定,結(jié)課時間不統(tǒng)一,學(xué)生經(jīng)常會走錯教室或錯過上課。為此,設(shè)計了校園助手APP,目的是將這些課程信息歸類整理,通過APP隨時隨地查詢。同時,APP中還加入了成績查詢和空教室查詢功能。
1 系統(tǒng)設(shè)計
1.1 需求分析
1.1.1 功能需求分析
信息時代人們越來越依賴于通過信息技術(shù)解決生活中的各種問題,本項目開發(fā)湖南文理學(xué)院芙蓉學(xué)院校園APP,根據(jù)學(xué)校課程安排、教室分布進(jìn)行模型建立和數(shù)字化管理,通過APP中“空教室查詢”、“教務(wù)查詢”、“課程表”等功能,為學(xué)生提供官方準(zhǔn)確的課程信息,解決日常學(xué)習(xí)生活中經(jīng)常遇到的問題。
1.1.2 性能需求分析
評價軟件質(zhì)量除了看其是否滿足功能需求外,還應(yīng)考量性能指標(biāo),如任務(wù)響應(yīng)時間、系統(tǒng)穩(wěn)定性(是否經(jīng)常崩潰)及安全性等。系統(tǒng)性能直接影響用戶對軟件的使用體驗。對系統(tǒng)的性能評價主要看其占用運行平臺的CPU 多少(越少越好)、內(nèi)存的占用率(越低越好)及用戶請求的響應(yīng)時間(越短越好)。本系統(tǒng)設(shè)計將手機CPU 使用率控制在20%以下、內(nèi)存控制在100M 以下、響應(yīng)時間保持在2s以內(nèi)。
1.1.3 硬件需求分析
搭建服務(wù)器端和移動端測試硬件需要PC和Android 手機,測試所用硬軟件配置如下:
(1)PC 端配置。硬件方面:處理器要求主頻在2.0GHz以上,內(nèi)存保證2G,硬盤320G即可;軟件方面:操作系統(tǒng)選用Windows 7或Windows 8,數(shù)據(jù)庫管理系統(tǒng)選擇SQLite Expert Personal version 3.5.83版本及以上。
(2)移動端配置。硬件方面:本管理系統(tǒng)硬件要求不高,主頻1.5GHz 以上,內(nèi)存1G,需要準(zhǔn)備不同屏幕尺寸手機;軟件方面:操作系統(tǒng)安卓2.3版本以上。
1.2 功能設(shè)計
主要功能模塊有:用戶登錄、成績查詢、課表查詢、空教室查詢等。
用戶登錄:用戶打開系統(tǒng)后,需要輸入學(xué)籍學(xué)號和密碼進(jìn)行登錄,該功能分為在線登錄和離線登錄,在無網(wǎng)絡(luò)連接的情況下可以選擇離線登錄功能。
成績查詢:系統(tǒng)通過抓取學(xué)校官方教務(wù)系統(tǒng)數(shù)據(jù),在本地客戶端上顯示,并下載到數(shù)據(jù)庫以供離線查詢,在客戶端實現(xiàn)按學(xué)期和年份查詢登錄用戶成績功能。
課表查詢:系統(tǒng)提供課表查詢功能,學(xué)生可及時迅速查詢到本專業(yè)課表。
空教室查詢:考慮到有的班級需要臨時調(diào)課,或者有同學(xué)需要找一間空教室復(fù)習(xí)等問題,系統(tǒng)提供空教室查詢功能。
1.3 數(shù)據(jù)庫設(shè)計
本系統(tǒng)將輕量級數(shù)據(jù)庫SQLite作為本地數(shù)據(jù)庫。數(shù)據(jù)庫設(shè)計、數(shù)據(jù)導(dǎo)入使用SQLite Expert數(shù)據(jù)庫管理系統(tǒng),具體實現(xiàn)見表1。
2 系統(tǒng)關(guān)鍵技術(shù)及實現(xiàn)
2.1 教務(wù)系統(tǒng)接入
登陸模塊實現(xiàn):登陸功能主要使用URLConnection類的直接子類HttpURLConnection進(jìn)行教務(wù)系統(tǒng)模擬登陸,判斷登陸權(quán)限,保存Cookies,使用Jsoup網(wǎng)頁解析技術(shù)獲取用戶信息,并使用SharedPreference進(jìn)行配置信息存儲。
2.2 主體功能實現(xiàn)
成績查詢模塊實現(xiàn):在登陸成功之后,根據(jù)用戶選擇的查詢篩選方式,使用HttpURLConnection類與教務(wù)系統(tǒng)服務(wù)器交互,獲取服務(wù)器反饋后自動跳轉(zhuǎn)到成績顯示頁面,再通過Jsoup網(wǎng)頁解析技術(shù)解析HTML網(wǎng)頁,抽取成績等相關(guān)信息,使用
課表查詢模塊實現(xiàn):通過讀取SharedPreference,獲取用戶的班級信息,自動匹配當(dāng)前學(xué)期周、單雙周、檢索SQLite課表數(shù)據(jù)庫,使用
空教室查詢模塊實現(xiàn):根據(jù)前期對教學(xué)樓及教室分布的調(diào)研數(shù)據(jù),使用
2.3 數(shù)據(jù)流圖
數(shù)據(jù)流圖描繪了本項目的基本實現(xiàn)及各功能輸入輸出的數(shù)據(jù)變換過程,反映系統(tǒng)的數(shù)據(jù)處理過程邏輯,以直觀的圖形形象描述了所有數(shù)據(jù)流從輸入到輸出的變換過程,見圖1。
3 軟件測試
3.1 Mokey測試
Mokey測試使用socket通信,隨機模擬用戶觸摸、滑動和點擊事件,從而發(fā)現(xiàn)系統(tǒng)缺陷,測試系統(tǒng)性能和穩(wěn)定性。圖2是登錄模塊Mokey測試2 000次運行時的截圖。
3.2 百度云測試
Android測試有特別要求,選擇百度官方測試平臺百度云進(jìn)行測試。該平臺為使用者提供了成百上千種主流品牌的移動終端設(shè)備,涵蓋了前100 Android版本和各種配置的手機客戶端,方便使用者進(jìn)行手機軟件的開發(fā)和測試工作。
4 結(jié)語
系統(tǒng)在湖南文理學(xué)院芙蓉學(xué)院測試,運行情況穩(wěn)定,使用效果良好。隨著手機移動客戶端在校園的普及,學(xué)校教務(wù)管理系統(tǒng)、課程信息系統(tǒng)、圖書館查詢系統(tǒng)、校園實驗室系統(tǒng)等組成了多元化科技校園,高校與科技時代接軌,學(xué)生校園生活將更加科學(xué)、豐富多彩。
參考文獻(xiàn):
[1] JSHUA BLOCH.Effective Java 中文版[M].北京:機械工業(yè)出版社,2015.
[2] 劉超.深入解析Android 5.0系統(tǒng)[M].北京:人民郵電出版社,2015.
[3] 余志龍,陳煜勛.Google Android SDK開發(fā)范例大全[M].北京:人民郵電出版社,2011.
[4] 武永亮.Android開發(fā)范例實戰(zhàn)寶典[M].北京:清華大學(xué)出版社,2015.
[5] BRUCE ECKEL.Thingking in Java[M].北京:機械工業(yè)出版社,2015.
[6] 豐生強.Android軟件安全與逆向分析[M].北京:人民郵電出版社,2015.
[7] 施懿民.Android應(yīng)用測試與調(diào)試實踐[M]. 北京:機械工業(yè)出版社,2015.
[8] 陳嘩 .大話移動APP測試Android與IOS應(yīng)用測試指南[M].北京: 清華大學(xué)出版社,2014.
(責(zé)任編輯:杜能鋼)