楊秀菊
(泉州信息工程學(xué)院,福建 泉州 362000)
Android平臺下高??荚囃ㄏ到y(tǒng)設(shè)計研究
楊秀菊
(泉州信息工程學(xué)院,福建泉州362000)
在移動互聯(lián)網(wǎng)時代,為滿足高等院校在校生隨時隨地進(jìn)行學(xué)習(xí),克服傳統(tǒng)單一的教學(xué)模式,考試通平臺應(yīng)運而生.本文主要采用實踐開發(fā)與研究的方法從Android端、LAMP服務(wù)器、數(shù)據(jù)加密等方面進(jìn)行系統(tǒng)分析與設(shè)計,并完成系統(tǒng)搭建全過程,為各高校的考試系統(tǒng)提供有效參考模型.
Android平臺;LAMP框架;系統(tǒng)加密
高校的等級考試及各類職業(yè)資格考試一直是在校大學(xué)生的熱門科目,因此,能為在校大學(xué)生設(shè)計出一款在手機(jī)上就能完成學(xué)習(xí)與模擬考試的客戶端成為一種可能.而且在現(xiàn)有的終端中所提供的可學(xué)習(xí)軟件少之又少,在這種社會大環(huán)境下開發(fā)一種能被大學(xué)生使用的APP端學(xué)習(xí)智能軟件成為一種必然.
根據(jù)我們在互聯(lián)網(wǎng)上對大學(xué)生調(diào)查問卷報告顯示,100%的人使用的是智能手機(jī),其中年齡在20-29歲占80%以上,使用Android系統(tǒng)人占70%以及,90%以上的人用來打電話、聊QQ、微信、刷微博等,50%以上的人是用來聽音樂和拍照,30%多的人用來玩手游,40%的人來看小說,只有20%的人用來查資料.而且根據(jù)報告顯示,大學(xué)生每天使用手機(jī)的時間超過3小時的就有90%以上,甚至有超過5%的人用在6小時以上.[1]
本課題主要利用互聯(lián)網(wǎng)帶來的教育自由、資源共享的便利方式進(jìn)行的一種手機(jī)端學(xué)習(xí)和模擬考試的方式,利用大學(xué)生的業(yè)余時間隨時隨地的進(jìn)行,讓等級考試和職業(yè)資格考試成為大學(xué)生生活的一部分.
1.1Android平臺架構(gòu)
Android系統(tǒng)的底層建立在Linux系統(tǒng)之上,該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用程序軟件四層組成,中間層采用了Google優(yōu)化過得Java虛擬機(jī)Dalvik,便可將Java軟件移植到Android設(shè)備里,圖1顯示了Android系統(tǒng)的體系結(jié)構(gòu):
圖1 體系結(jié)構(gòu)圖
從圖1可以看出,應(yīng)用程序?qū)影娮余]件客戶端、日歷、地圖、瀏覽器等核心應(yīng)用程序;應(yīng)用程序框架提供了大量供開發(fā)者使用的API函數(shù),可以簡化很多重要的基礎(chǔ)開發(fā);函數(shù)庫提供了由Android系統(tǒng)各個組件使用的C/C++庫、多媒體庫、界面管理、3D庫等;Android運行時由核心庫集和Dalvik虛擬機(jī);Linux內(nèi)核提供了安全性、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議和驅(qū)動模型等核心系統(tǒng)服務(wù)[2].此客戶端項目主要在上面三個用戶層中應(yīng)用與體現(xiàn).
1.2服務(wù)器端框架搭建
服務(wù)器端采用LAMP框架形式,LAMP(Linux-Apache-MySQL-PHP)網(wǎng)站架構(gòu)是目前國際流行的Web框架,該框架包括:Linux操作系統(tǒng),A-pache網(wǎng)絡(luò)服務(wù)器,MySQL數(shù)據(jù)庫,Perl、PHP或者Python編程語言,所有組成產(chǎn)品均是開源軟件,是國際上成熟的架構(gòu)框架,很多流行的商業(yè)應(yīng)用都是采取這個架構(gòu).
對于大流量、大并發(fā)量的網(wǎng)站系統(tǒng)架構(gòu)來說,除了硬件上使用高性能的服務(wù)器、負(fù)載均衡、CDN等之外,在軟件架構(gòu)上需要重點關(guān)注下面幾個環(huán)節(jié):使用高性能的操作系統(tǒng)(OS)、高性能的網(wǎng)頁服務(wù)器(WebServer)、高性能的數(shù)據(jù)庫(Databse)、高效率的編程語言等[3].具體的解決方案有以下幾種:
1、squid+Apache+PHP+eAccelerator
使用Apache負(fù)載PHP,使用squid進(jìn)行緩存,html或圖片的請求可以直接由squid返回給用戶.很多大型網(wǎng)站都采用這種架構(gòu).
2、nginx/Apache+PHP(fastcgi)+eAccelerator
使用nginx或Apache負(fù)載PHP,PHP使用fastcgi方式運行,效率較高.
3、nginx+Apache+PHP+eAccelerator
此方案綜合了nginx和Apache的優(yōu)點,使用Apache負(fù)載PHP,nginx負(fù)責(zé)解析其他Web請求,使用nginx的rewrite模塊,Apache端口不對外開放.
LAMP框架其性能特點卓越、運行穩(wěn)定、跨平臺性強(qiáng),而且,它的開源性使得它大大降低了開發(fā)與運行成本,其在功能與性能上也是能滿足高校考試通現(xiàn)實發(fā)展要求,因此我們采用第三種解決方案.
1.3整體系統(tǒng)的加密碼技術(shù)
所謂加密,就是把稱為“明文”的可讀信息轉(zhuǎn)換成“密文”的過程;而解密則是把“密文”恢復(fù)為“明文”的過程.加密和解密都要使用密碼算法來實現(xiàn).網(wǎng)絡(luò)加密根據(jù)需要也會采用不同的加密算法,網(wǎng)絡(luò)安全中通常采用組合密碼技術(shù)來強(qiáng)化加密算法,可大大增強(qiáng)算法的安全性.
網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)單方向存儲即Android應(yīng)用程序的客戶端只負(fù)責(zé)文件的加密,文件的解密由服務(wù)端應(yīng)用程序負(fù)責(zé),即客戶端為單方向存,服務(wù)端為單方向取.Black-HoleStorage單方向的安全存儲容器在功能上總體可以分為五個方面,數(shù)據(jù)加密,完整性驗證,秘鑰管理,錯數(shù)據(jù)修復(fù),優(yōu)化存儲.其中的數(shù)據(jù)加密對原始數(shù)據(jù)加密保存,選用對稱加密算法對數(shù)據(jù)進(jìn)行加密,用非對稱加密算法對對稱加密的秘鑰進(jìn)行加密.完整性驗證時對傳輸過來的數(shù)據(jù)進(jìn)行CRC校驗驗證傳輸過程中數(shù)據(jù)是否有損壞.秘鑰管理主要是對加密數(shù)據(jù)的對稱加密的秘鑰的管理和非對稱加密的秘鑰的管理.錯數(shù)據(jù)修復(fù)是對傳輸過程中文件尾部丟失數(shù)據(jù)的恢復(fù),優(yōu)化存儲負(fù)責(zé)對數(shù)據(jù)的快速存儲,通過這五個方面的控制,最終形成整體的解決方案.
圖2 服務(wù)器交互加密流程圖[4]
本課題主要針對大學(xué)生計算機(jī)等級考試、英語四六級等級、程序員等高??荚嚩O(shè)定的學(xué)習(xí)系統(tǒng),針對不同科目在用戶安卓端其功能也不盡相同.我們主要從客戶客戶端和服務(wù)器兩個方面分別設(shè)計與分析,針對不同方面它們的需求及功能也是有區(qū)別的.
2.1客戶端功能需求
客戶端的需求主要以界面和功能為主,界面要具親切感和便利性,讓客戶感受到簡單方便,且功能實現(xiàn)到位,頁面打開的層次不要太多,最多不超過三層.找到學(xué)生的興趣點,針對興趣點做到進(jìn)一步的研發(fā),讓軟件服務(wù)做到點上.
圖3 客戶端的主要功能圖
從圖3中可以看出主要功能有:
1.考試練習(xí):在做練習(xí)過程中,在指定時間完成指定題目可以獲得獎勵積分,否則沒有積分.
2.專項練習(xí):把單選擇題、多選擇題、填空題、簡答題分類進(jìn)行整理.
3.模擬考試:模擬考試完全按照考試的形式,在考試時間內(nèi)完成題目,并達(dá)到分?jǐn)?shù)要求同樣可以獲得積分.
4.我的成績:在考試練習(xí)、模擬考試中分別顯示對錯題數(shù)量和比例值.
5.我的錯題:在考試練習(xí)和模擬考試中所有錯題的題目顯示.
6.考試統(tǒng)計:統(tǒng)計在考試練習(xí)、模擬考試中知識點掌握情況統(tǒng)計圖分析.
7.學(xué)霸榜單:所有參加本科目的學(xué)習(xí)者從高到低的排名序列.
8.學(xué)習(xí)闖關(guān):英語采用單詞與詞意連連碰形式,答對的單詞和詞意可以一起消除.其它科目根據(jù)課程特點進(jìn)行相應(yīng)設(shè)計.
2.2服務(wù)器端的功能需求
服務(wù)器端的主要功能有:超級管理員、管理員管理權(quán)限、考試練習(xí)和模擬考試題目的添加、刪除、修改、瀏覽,評價體系管理、學(xué)友圈發(fā)布文件及圖片權(quán)限管理.(如圖4所示)
超級管理員有管理所有人員及所有功能權(quán)限,管理員可以分模塊進(jìn)行分工管理,在考試題庫中后臺的管理員有針對不同的題目類型進(jìn)行添加、刪除、修改、預(yù)覽等功能;在學(xué)友圈中從圖片、評價兩個方面進(jìn)行通過、禁言、刪除管理;在培訓(xùn)機(jī)構(gòu)、視頻中心都分別設(shè)有添加、刪除、修改、預(yù)覽等功能.這些為后臺管理提供更大的方便.
圖4 服務(wù)器功能
在談到Android手機(jī)的界面設(shè)計時,要求開發(fā)人員對整個界面框架結(jié)構(gòu)的設(shè)計要合理.由于android設(shè)備市場現(xiàn)在群雄并起,所以各種顯示特點的設(shè)備都有.在進(jìn)行界面的整體布局時,建議多使用RelativeLayout和LinearLayout,尤其注意Linear-Layout中的orientation屬性的使用,可以使你的界面更加豐富[5].
在做Android手機(jī)應(yīng)用開發(fā)時,要注意模擬器的使用與測試,原則上在模擬器設(shè)計好后的整個程序都要放到實際的手機(jī)或平板中進(jìn)行真實演練與測試,這樣發(fā)現(xiàn)問題及時解決.
圖5 安卓端設(shè)計的效果圖
智能手機(jī)的出現(xiàn)是一次手機(jī)的革命,也是學(xué)習(xí)教育的一種變遷,我們?yōu)榱俗屧谛4髮W(xué)生隨時隨地的學(xué)習(xí),把整塊時間變零散時間,以達(dá)到學(xué)習(xí)目的,變單一學(xué)習(xí)成師生、生生互動的學(xué)習(xí)體制.
本項目是為了適合各高校等級資格考試的前提下提出的.我們從在校大學(xué)生的學(xué)習(xí)需求到問題的提出,到Androd端和服務(wù)器的建立,再到具體功能的實現(xiàn),經(jīng)歷了整個軟件開發(fā)的全過程,最后總結(jié)出以下幾個創(chuàng)新點:
1.LAMP框架具有通用、跨平臺、高性能、低價格的優(yōu)勢,無論是性能、質(zhì)量還是價格都是企業(yè)搭建網(wǎng)站的首選平臺.我們選用這個框架,可以大大減少成本所帶來的困擾,而且更加豐富我們的功能.
2.本項目中集結(jié)了所有高??荚嚨目颇?,課程內(nèi)容很全面,適合在校大學(xué)生們的所有職業(yè)考試.
3.學(xué)習(xí)闖關(guān)是一個集學(xué)習(xí)與娛樂為一體的一種新的模式,為的是讓學(xué)習(xí)不再枯燥,學(xué)生可以在寓教娛樂當(dāng)中得到學(xué)習(xí)與進(jìn)步.
〔1〕梁茹冰,梁文智,楊小周.大學(xué)校園中移動自習(xí)軟件設(shè)計方案[J].中國科技信息,2014(24):79-81.
〔2〕武玉坤.基于Android移動學(xué)習(xí)平臺的設(shè)計[J].計算機(jī)光盤軟件與應(yīng)用,2013(01):20-24.
〔3〕LAMP網(wǎng)站架構(gòu)方案分析.http://www.williamlong.info/archives/1908.html.
〔4〕服務(wù)器交互加密流程圖.http://blog.csdn.net/ h3c4lenovo/article/details/8722096.
〔5〕張趙輝.Android手機(jī)界面開發(fā)中的“攔路虎”[J].山東工業(yè)技術(shù)電子技術(shù),2009(4):136-139.
TP311
A
1673-260X(2016)08-0013-03
2016-06-06
福建省2015年大學(xué)生創(chuàng)業(yè)項目(201513766011)