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