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