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