朱佳軒,鄢雪梅
(貴州工商職業學院 貴州 貴陽 551400)
基于Php-Web技術的在線考試系統設計
朱佳軒,鄢雪梅
(貴州工商職業學院 貴州 貴陽 551400)
針對在線考試系統面對眾多考生的數量壓力引發的服務器訪問量寬帶或者空間的存放問題,通過傳統的書面考試和交流式的在線考試平臺上,利用Php做出的動態頁面和Web前后端開發技術實現老師和考生信息交流的在線考試系統,結合CWC云端平臺作為在線考試強大的云端存儲空間,并且運用MySql數據庫對錄入考試信息。通過access_token接口來獲取在線考試系統上的CWC云端第三方平臺來實現考試功能,自定義菜單編寫成json格式的數據實現考試信息的查詢功能。
在線考試;php技術;web技術;mysql數據庫
隨著互聯網技術的不斷發展,基于Web的在線考試系統應運而生[1]。利用網絡對考生隨時隨地進行遠程考試是對傳統考試模式的拓展,開發在線考試系統具有較高的應用價值[2]:簡化了傳統紙質化考試的流程,并且減少監考和批改考卷的人力投入,從而直接降低了教育資源成本,促進了現代教育方式的發展。在線考試系統主要包含以下幾個方面的功能[3]:信息管理、題庫管理、時間管理、出題管理、系統批改和成績查詢。而實現系統的穩定性是運行在線考試關鍵[4]。針對在線考試的信息傳輸方式,又可將在線考試系統分為有線傳輸和無線傳輸兩種:有線傳輸的在線考試基于B/S架構的軟件系統[5],而無線傳輸的在線考試基于移動互聯網技術實現客戶端與服務器端連接[6]。文中概括地闡述了基于php-web技術的在線考試系統的設計理論框架。將傳統的紙質考試方式變化為在線考試的方式,在php-web技術的基礎上利用CWC(China West Cloud)云端平臺作為第三方服務器,且運用mysql數據庫錄入考試信息。
1.1 消息接口與云端平臺
開發者通過對在線考試系統消息接口的使用進行消息的處理,并在開發者和用戶之間的互動進行消息交互能力的強化。當考生通過登陸賬號成功接入在線考試系統的消息接口,并給在線考試系統發送消息,在線考試系統的服務器就會通過使用http請求的方式對接入消息的網址進行消息推送[7],此時第三方服務器通過對數據包的響應來回復特定的數據結構[8],從而達到試卷信息以消息回復的方式進行出卷考試。
本研究選用CWC云端平臺,CWC(China West Cloud)是貴州互聯數據中心于2012年開始內部開發,并在2015年8月正式推出第一個虛擬化技術的主機服務的貴州首個公有云計算平臺[16]。CWC是主要是通過對先進虛擬化技術的應用,對高性能的服務器和優質的網絡帶寬進行整合,為開發者提供了一系列的存儲和分布式計算的服務。
1.2 php后臺與web網頁開發
PHP是一種結合Perl,Java和C語言語法特點的通用開源腳本語言,其適用于Web程序的開發領域[9]。相對于Perl和CGI而言,在考試試卷的動態網頁表達方面它擁有更快的速度來和反應能力來執行。同其他的編程語言相比,通過將程序嵌入到HTML文檔中來執行的PHP做出的動態頁面[10],相對于CGI技術完全生成HTML標記,其執行效率要高許多[11]。本系統則是利用PHP技術進行在線考試系統web端代碼和第三方服務器后臺代碼的編寫。
從開發技術的角度進行劃分,目前的web網頁可以分為前端開發和后臺的開發[12],其中Web前端開發技術中最為重要的三大要素即HTML、CSS和JavaScrip[13]。通過運用php或者java程序語言的編程為后臺開發的Web網頁后臺運行提供穩定而迅速得服務與支持[14]。基于php-web技術的在線考試系統就是將html、css、js等web開發技術相互結合從而構建完成在線考試系統的前端的設定與設計,從而通過php為系統提供后臺的支持。
2.1 系統接口設計
基于php-web技術的在線考試系統利用CWC平臺作為第三方后臺在線服務器,用來處理服務器傳送過來的消息代碼,然后再將經過處理后的消息代碼折回傳送給服務器,這樣一個流水過程的在線考試系統第三方服務器設計流程就基本完成了,以上就是在線考試系統常用的一些第三方消息接口。為了實現與滿足需要通過接口來實現的功能,可以利用access_token來取得所設計的在線考試系統上的第三方消息接口[17]。通過設計自由化的菜單選項的接口,完成在線考試系統底部菜單欄選項的自我任意設置,使得設計的過程更加方便與簡潔。

圖1 平臺開發流程圖
2.2 Web在線考試頁面設計
從開發技術的角度進行劃分,web在線考試的頁面可分為web前端和web后臺,其中web前端主要由js、html、css等前端開發技術語言的匯編完成,而web后臺通過php編寫代碼提供主要支持。Web在線考試的web前端可以劃分為登錄模塊、答題模塊和改卷模塊,他們各自的功能是相互獨立的完成模擬考試系統考生的在線登錄、題目做答以及和分數的計算和現實等功能。圖2所示。

圖2 在線考試頁面設計
2.3 數據庫設計
基于php-web技術的在線考試系統的數據庫通過以MySQL數據庫為工具進行系統的設計。對于在線考試系統的設計可分為3個表,分別對應著學生簡況表、課程信息表以及試題展示表。學生簡況表主要記載著學生考生的姓名、學號、分數、openID等簡要的個人信息;科目信息表記錄科目的考試時間、題數、分值、開始結束時間等信息;試題展示表主要展示在線考試的試題的題型、選項以及對應的答案等各種詳細地信息。
3.1 平臺實現
對于php-web技術的在線考試系統平臺的實現,主要是通過access_token來間接獲取在線考試系統上的第三方消息接口,從而實現需要通過接口來實現的功能。通過設計自由化的菜單選項的接口,完成在線考試系統底部菜單欄選項的自我任意設置,使得設計的過程更加方便與簡潔。php-web技術的在線考試系統常用的一些第三方消息接口如表1所示。
當服務器同CWC云端第三方服務器相連接時,首先需要申請一個CWC云端賬號,將考生登錄賬號用來給在線考試系統提供CWC云端平臺服務器的數據支持,并且用來處理和回復在線考試系統服務器發送過來的考題信息。利用Php技術建立應用程序框架,并在應用中創立對應的版本號。CWC云端申請成功后,把開發的考試題庫信息代碼上傳到基于Php框架下的服務器中,用于和CWC云端服務器建立連接。在源程序開發過程中,利用signature的校驗代碼對首次提交信息進行驗證申請時,其中CWC云端服務器通過 signature、timestamp、nonce、echostr四個參數發送GET請求到對應的鏈路URL上,源程序開發者通過對signature的效驗來判斷考生對提交考試信息的真實性。在考生連接到CWC云端服務器后,源程序開發者通過url和token來驗證接口配置信息和判斷第三方服務器是否連接。
Web頁面的自定義菜單通過access_token接口里的appid和secret來實現access_token連接,由json格式的數據形式將Web頁面的自定義菜單的程序開發應用到access_token和自定義菜單接口中,以實現考試信息連接通信。當json格式數據包發送到CWC云端平臺實現Web在線考試頁面自定義菜單的設計。

表1 在線考試系統的接口
3.2 web在線考試頁面實現
在線考試系統的Web頁面分為3個模塊組成:登錄模塊、答題模塊和改卷模塊。前端頁面由傳統的html、css、js等前端語言編寫完成,后臺程序的開發由php來編寫完成。
1)登錄模塊:主要用來驗證學生信息信息,第一次登錄會把學生信息更新到mysql數據庫,并與在線考試系統進行數據信息匹配,利用匹配的openid來驗證學生信息,可以把在線考試系統賬號和考生進行綁定,以實現考試結束后考生對成績的實時查詢。
2)答題模塊:考試過程中考生的的答題Web頁面。Web頁面兩部分嵌入式頁面完成,首先為考試時間倒計時界面,其次是考試題目內容的顯示頁面。其中,通過js定時對頁面自動刷新來完成,并且利用css編寫彈窗提示,即在考試結束前15分鐘和考試結束時兩次提示;在答題界面跳轉過程中,通過cookie記錄來存儲考生的答案。
3)改卷模塊:將存儲在考試題庫中的正確答案和考生的做出的cookie答案進行匹配,即判斷做題正確性,最后計算得分并將得分顯示在頁面中。
3.3 數據庫實現
利用MySQL數據庫來實現在線考試系統的考生信息、科目信息和題庫信息3個模塊信息表,分別如表2、表3、表4所示。

表2 考生信息表

表3 科目信息表
本研究針對傳統在線考試系統面對眾多考生的數量壓力引發的服務器訪問量寬帶或者空間的存放問題,提出了一種基于Php做出的動態頁面和Web前后端開發技術的在線考試系統,并且將CWC云端平臺作為第三方服務器,結合MySQL數據庫來實現在線考試系統的考生信息、科目信息和題庫信息,在Web頁面實現了登錄模塊、答題模塊和改卷模塊。本系統改變了在線考試系統工作模式,將考試題庫存儲在CWC云端平臺中,程序開發者只需將考試信息上傳到MySQL數據庫即可完成對考生信息的匹配和試卷的批改。本研究可為在線考試系統的開發具有實踐性意義。

表4 試卷信息表
[1]劉洪江.在線考試系統的數據庫設計與實現[J].電腦知識與技術,2012,8(3):508-511.
[2]劉思堯.在線考試系統防作弊策略研究 [J].軟件導刊,2013,12(10):25-28.
[3]王莎莎.基于JSP的在線考試系統設計與實現[J].計算機光盤軟件與應用,2013(16):53-54.
[4]李偉為.基于ASP.NET2.0的在線考試系統的設計與實現[J].計算機應用與軟件,2011,28(9):163-165.
[5]彭之軍.基于JavaEE技術的在線考試系統的設計與實現[J].數字技術與應用,2012(6):162-163.
[6]楊子天,邵宇.基于Android平臺的在線考試系統的設計與實現[J].電腦知識與技術,2014(3):554-558.
[7]金志國,李煒.基于Netty的HTTP客戶端的設計與實現[J].電信工程技術與標準化,2014(1):84-88.
[8]韓旭東.Java Applet程序的安全規則與訪問第三方WEB服務器[J].電子測試,2014(14):64-65.
[9]戴一平.MVC設計模式在PHP開發中的應用[J].計算機與現代化,2011(3):33-37.
[10]郭靜.基于JSP的動態網頁開發技術[J].科技展望,2016(3):12-16.
[11]屈雪花.基于PHP+HTML5的圖片實時采集系統[J].計算機光盤軟件與應用,2015(1):217-218.
[12]萬茹.基于HTML5的Web富客戶端網頁設計方法[J].電腦編程技巧與維護,2015(13):67-69.
[13]王成,電信工程技術與標準化庫在自動測試系統中的應用[J].計算機應用,2011,31(2):169-171.
[16]Martin Maier, Bhaskar Prasad Rimal.Invited paper:the audacity of fiber-wireless (FiWi)networks:revisited for clouds and cloudlets[J]. China Communications,2015,12(8):33-45.
[17]時子慶,劉金蘭,譚曉華.基于OAuth2.0的認證授權技術[J].計算機系統應用,2012,21(3):260-264.
Design online examination system based on Php-Web technology
ZHU Jia-xuan,YAN Xue-mei
(Guizhou Technology and Business Institute,Guiyang 551400,China)
For online examination system to face the problem server to store the amount of broadband access or the amount of space caused by the pressure of numerous candidates,through traditional written exams and communicative online examination platform,the use-side development technology Php make dynamic Web pages and around teachers and candidates to achieve the exchange of information online examination system,combined with CWC Cloud platform as a powerful online exam cloud storage,and the use of MySql database entry exam information.CWC to obtain third-party cloud platforms online examination system by access_token interface to achieve exam,custom menus written as json format data query functions to achieve exam information.
online exam;php technology;web technology;mysql database
TN915.6
:A
:1674-6236(2017)08-0127-04
2016-05-03稿件編號:201605018
朱佳軒(1985—),男,云南麗江人,碩士,講師。研究方向:計算機網絡安全、數據庫應用。