劉穎 劉淼晶 趙昊宸
[摘 要] 本文對移動教學(xué)輔助系統(tǒng)的服務(wù)器的具體實現(xiàn)進(jìn)行了研究。分析移動教學(xué)輔助系統(tǒng)功能需求,分析PHP和MySQL技術(shù)的優(yōu)勢,分析和設(shè)計了服務(wù)器功能模塊組成和數(shù)據(jù)庫。對服務(wù)器進(jìn)行編碼實現(xiàn)及測試。為高職院校移動教學(xué)輔助系統(tǒng)服務(wù)器端的開發(fā)提供了可行思路和具體的實現(xiàn)方案。
[關(guān)鍵詞] PHP;MySQL;移動學(xué)習(xí)
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2018. 05. 057
[中圖分類號] TP311.56;TP393.092 [文獻(xiàn)標(biāo)識碼] A [文章編號] 1673 - 0194(2018)05- 0136- 02
0 引 言
隨著移動互聯(lián)技術(shù)的發(fā)展,學(xué)生的學(xué)習(xí)方式也在發(fā)生改變。學(xué)生不再局限于課堂上的學(xué)習(xí),課后任何時間任何地點,只要有網(wǎng)絡(luò),都可以進(jìn)行學(xué)習(xí)。為配合學(xué)習(xí)新模式,前期進(jìn)行了移動學(xué)習(xí)APP客戶端的研究[1],本文繼續(xù)對移動學(xué)習(xí)輔助系統(tǒng)服務(wù)器的實現(xiàn)進(jìn)行了研究。
1 移動學(xué)習(xí)輔助系統(tǒng)架構(gòu)
在前期研究中,分析了移動學(xué)習(xí)輔助系統(tǒng)總體架構(gòu)。管理員登錄管理系統(tǒng),移動端用戶登錄移動APP客戶端,所有操作請求到達(dá)服務(wù)器端,服務(wù)器連接數(shù)據(jù)庫,對數(shù)據(jù)庫進(jìn)行相應(yīng)操作。
移動終端上安裝移動學(xué)習(xí)APP客戶端,客戶端包含“學(xué)習(xí)”“簽到”“課程”等板塊。用戶點擊不同功能按鈕后,客戶端向服務(wù)器發(fā)送用戶請求。服務(wù)器進(jìn)行邏輯運(yùn)算處理,對數(shù)據(jù)庫進(jìn)行讀取、修改和刪除等操作。服務(wù)器獲得數(shù)據(jù)庫操作結(jié)果后,再反饋給客戶端。客戶端對反饋數(shù)據(jù)進(jìn)行解析,向用戶呈現(xiàn)相應(yīng)的信息。
管理員登錄管理界面,對系統(tǒng)進(jìn)行管理。比如導(dǎo)入師生信息、增加課程信息、導(dǎo)入學(xué)生成績等。
根據(jù)前端功能需求,本文主要研究服務(wù)器端的實現(xiàn)。在已有研究中,基于PHP和MySQL技術(shù)實現(xiàn)了Web服務(wù)器[2],比如網(wǎng)站服務(wù)器[3-5]、學(xué)生信息系統(tǒng)[6-7]、基于Web服務(wù)器的教學(xué)輔助系統(tǒng)[8-10]等。隨著移動互聯(lián)技術(shù)的發(fā)展,Android前端平臺也與基于PHP和MySQL的服務(wù)器協(xié)同工作[11]。本研究也在服務(wù)器端采用PHP和MySQL數(shù)據(jù)庫的方式進(jìn)行開發(fā)設(shè)計。PHP是一種腳本語言,語法混合了C、Java、Perl,主要用于服務(wù)器開發(fā)領(lǐng)域。PHP語言主要有幾個特點讓它適合于服務(wù)器端的開發(fā):開源代碼,開放性好,擴(kuò)展性強(qiáng);不受平臺約束,可在Linux、Unix等平臺上部署PHP服務(wù)器;支持多種數(shù)據(jù)庫,PHP與MySQL是經(jīng)典組合,可以跨平臺運(yùn)行;支持面向?qū)ο缶幊蹋苓M(jìn)行高級編程。
2 服務(wù)器系統(tǒng)設(shè)計
服務(wù)器功能模塊和數(shù)據(jù)庫設(shè)計如圖 1所示。
后臺服務(wù)器分為登錄、學(xué)習(xí)、課程管理、用戶管理四個功能模塊。普通用戶和管理員有不同權(quán)限和不同的操作,分別通過APP客戶端和管理界面向服務(wù)器發(fā)起請求。每個模塊在處理不同用戶的請求時,有不同的處理流程。
在學(xué)習(xí)模塊中,普通用戶能創(chuàng)建新的學(xué)習(xí)筆記,讀取在線學(xué)習(xí)內(nèi)容、學(xué)習(xí)資料和測試試題。在課程管理中,普通用戶能查看課表、考勤、作業(yè)和成績。在用戶管理中,普通用戶能修改自身賬號信息、新增反饋意見。而管理員對所有內(nèi)容都有新增、修改、查閱等權(quán)限。
3 數(shù)據(jù)庫設(shè)計
用戶相關(guān)表包括教師信息表和學(xué)生信息表。學(xué)習(xí)相關(guān)表包括在線學(xué)習(xí)內(nèi)容表、學(xué)習(xí)筆記表、學(xué)習(xí)資料表和試題表。課程相關(guān)表包括課程表、課后作業(yè)表、考勤表和成績表。用戶管理會使用教師信息表和學(xué)生信息表,再增加一張信息反饋表。在數(shù)據(jù)庫表格設(shè)計時,考慮表格內(nèi)容、索引項、訪問效率等因素。
學(xué)生信息表存放學(xué)生信息,學(xué)生id為索引,包含密碼、姓名、性別、院系、專業(yè)、班級id、電話。
老師信息表存放教師信息,教師id為索引,包含密碼、姓名、性別、院系、專業(yè)、電話。
在線學(xué)習(xí)內(nèi)容表以課程id為索引,包含教師id、學(xué)習(xí)標(biāo)題、學(xué)習(xí)內(nèi)容。
學(xué)習(xí)筆記表以學(xué)生id為索引,包含課程id、筆記標(biāo)題和筆記內(nèi)容。
學(xué)習(xí)資料表和試題表都以課程id為索引,包含教師id、資料/試題標(biāo)題、資料/試題內(nèi)容。
學(xué)生查看課程作業(yè),或者老師發(fā)布新作業(yè)時,需要用到課后作業(yè)表,該表包含了教師id、課程id、作業(yè)題目、作業(yè)內(nèi)容。
課程表以班級id為索引,包含學(xué)期id、課表內(nèi)容。
考勤表和成績表以學(xué)生id為索引,包含課程id和出勤/成績。
4 服務(wù)器編碼實現(xiàn)
服務(wù)器采用PHP編碼實現(xiàn),接收前端APP或管理員發(fā)來的請求,然后對數(shù)據(jù)庫進(jìn)行操作。服務(wù)器與前端APP及管理界面采用JSON技術(shù)進(jìn)行數(shù)據(jù)交互。
首先連接數(shù)據(jù)庫,con = mysql_connect("localhost","root",123456);
然后處理用戶或管理員發(fā)來的請求。以管理員增加一個學(xué)生信息為例,服務(wù)器收到增加請求后,獲取學(xué)生信息字段,構(gòu)造數(shù)據(jù)庫插入語句,執(zhí)行插入操作。插入語句代碼為¥result = mysql_query("INSERT INTO student_info(id, student_id, st_name,……) VALUES(‘id,student_id, ‘st_name, ……)");
最后根據(jù)數(shù)據(jù)庫響應(yīng),向用戶反饋增加成功與否的結(jié)果。
在手機(jī)APP客戶端和管理員Web端進(jìn)行了功能測試。學(xué)生用戶能夠讀取信息,管理員能添加信息,基本功能均已實現(xiàn)。
5 關(guān)鍵技術(shù)分析
服務(wù)器與前端APP客戶端或管理員客戶端采用JSON技術(shù)進(jìn)行信息傳遞。JSON是一種輕量級的數(shù)據(jù)交換格式,編寫和讀取都比較容易。之前在Web服務(wù)器中使用較多[12-13]。在移動互聯(lián)開發(fā)時,Android SDK 中已經(jīng)默認(rèn)包含了org.json的jar包,能解析JSON數(shù)據(jù)。在本學(xué)習(xí)輔助系統(tǒng)的服務(wù)器中,不僅有管理員登錄Web客戶界面進(jìn)行管理操作,還有移動終端用戶通過APP客戶端進(jìn)行學(xué)習(xí)訪問。所以采用JSON技術(shù)實現(xiàn)數(shù)據(jù)的封裝和傳遞。具體實現(xiàn)時定義JSONParser.Java類,將JSON上傳數(shù)據(jù)的方法封裝好,在主程序中直接調(diào)用該類。
6 結(jié) 語
隨著移動互聯(lián)技術(shù)的發(fā)展,移動學(xué)習(xí)越來越被大家認(rèn)可。相對傳統(tǒng)課堂教學(xué)而言,移動學(xué)習(xí)利用碎片化時間隨時隨地都能學(xué),課后能幫助學(xué)生鞏固所學(xué)知識,因此受到師生接納。在下一步研究中,主要考慮如何在學(xué)校范圍內(nèi)部署移動學(xué)習(xí)輔助系統(tǒng)客戶端和服務(wù)器端,讓更多師生收益。
主要參考文獻(xiàn)
[1]劉穎,劉淼晶. 高職移動學(xué)習(xí)APP客戶端實現(xiàn)研究[J]. 電腦知識與技術(shù),2017,13(1):67-70.
[2]王曼. 設(shè)計動態(tài)網(wǎng)站的最佳組合:Apache+PHP+MySQL[J]. 電子制作,2014(7x):85.
[3]李強(qiáng).以PHP+MySQL為基礎(chǔ)的網(wǎng)站開發(fā)研究[J]. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014(5):22-23.
[4]王鳳玲. 基于PHP+MySQL的新聞發(fā)布系統(tǒng)的研究與實現(xiàn)[J]. 計算機(jī)應(yīng)用與軟件,2012,29(2):234-236.
[5]李華明. 基于PHP和MySQL的網(wǎng)上購物系統(tǒng)設(shè)計與實現(xiàn)[D]. 成都:電子科技大學(xué),2014.
[6]武國劍,姚躍傳,潘睛情,等. 基于PHP&MySQL;的高校學(xué)生黨員管理信息系統(tǒng)設(shè)計與實現(xiàn)[J]. 合肥工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2012,35(11):1492-1495.
[7]張飛. 基于PHP和MySQL的同學(xué)錄管理系統(tǒng)[J].計算機(jī)光盤軟件與應(yīng)用,2012(3):157-158.
[8]肖紅玉,賀輝,陳紅順. 在線評測教學(xué)輔助系統(tǒng)設(shè)計[J]. 計算機(jī)技術(shù)與發(fā)展,2017(11):141-145.
[9]史春光. 基于Web的教學(xué)輔助系統(tǒng)的設(shè)計與實現(xiàn)[J]. 信息技術(shù),2015(8):185-186.
[10]李建,葛竹春,傅偉. 基于移動互聯(lián)網(wǎng)的課程教學(xué)輔助系統(tǒng)的構(gòu)建及應(yīng)用[J]. 軟件工程,2016,19(11):33-35
[11]龔成瑩,邢敬宏,胡銀保. 基于JSON的Android移動終端與PHP及MySQL數(shù)據(jù)通信[J]. 工業(yè)儀表與自動化裝置,2013(1):63-65.
[12]雷映喜,習(xí)淑婷,彭俊峰,等. XML與JSON在WEB中對數(shù)據(jù)封裝解析的對比[J]. 價值工程,2013(9):210-211.
[13]龔建華. JSON格式數(shù)據(jù)在Web開發(fā)中的應(yīng)用[J]. 辦公自動化:綜合月刊,2013(10):46-48.