劉健
(天津工業(yè)職業(yè)學(xué)院,天津,300400)
測(cè)評(píng)是數(shù)據(jù)實(shí)驗(yàn)室實(shí)訓(xùn)過程中必不可少的組成部分,但數(shù)據(jù)測(cè)評(píng)本身對(duì)高校的人力、物力等資源會(huì)造成較大消耗[1-3],為了合理釋放教學(xué)資源,本文提出并設(shè)計(jì)了一種數(shù)據(jù)實(shí)驗(yàn)室實(shí)訓(xùn)在線測(cè)評(píng)系統(tǒng),基于MVC 框架構(gòu)建系統(tǒng)的分層體系,通過UML 技術(shù)、E-R 圖進(jìn)行系統(tǒng)模型和數(shù)據(jù)庫(kù)的設(shè)計(jì),在ThinkPHP 框架下利用Javascrit 技術(shù)進(jìn)行軟件開發(fā)。該系統(tǒng)打破了傳統(tǒng)的測(cè)評(píng)模式,功能完善、穩(wěn)定性強(qiáng),對(duì)于數(shù)據(jù)實(shí)驗(yàn)室在線測(cè)評(píng)系統(tǒng)的普及具有重要意義。
在MVC 模式的框架下,在線測(cè)評(píng)系統(tǒng)以分層設(shè)計(jì)的方式搭建整體架構(gòu),如圖1 所示,視圖層、業(yè)務(wù)功能層、數(shù)據(jù)層之間相互獨(dú)立又緊密聯(lián)系,分別實(shí)現(xiàn)系統(tǒng)頁(yè)面顯示、業(yè)務(wù)處理、數(shù)據(jù)存儲(chǔ)的功能。視圖層是與用戶進(jìn)行交互的結(jié)構(gòu)層,用戶通過鍵盤鼠標(biāo)在系統(tǒng)的客戶端界面上進(jìn)行操作,業(yè)務(wù)功能層中包含了各種邏輯組件,負(fù)責(zé)接收用戶的操作指令并進(jìn)行響應(yīng),向數(shù)據(jù)層發(fā)送數(shù)據(jù)調(diào)用的請(qǐng)求,數(shù)據(jù)層將所需的數(shù)據(jù)反饋給業(yè)務(wù)功能層,并由其通過視圖層顯示給用戶。

圖1 數(shù)據(jù)實(shí)驗(yàn)室在線測(cè)評(píng)系統(tǒng)總體架構(gòu)
在線測(cè)評(píng)的過程分為三個(gè)部分,即用戶登錄、在線答題、測(cè)評(píng)評(píng)分。本系統(tǒng)的用戶登錄模塊采用了CSS+DIV 的H-ui.admin 模板,用以生成包括全部用戶信息的用戶表,在admin目錄下創(chuàng)建User.php 用戶表控制器文件,將登錄代碼添加到該文件的login 方法中,用戶登錄時(shí)按照界面顯示填寫用戶名、密碼及驗(yàn)證碼,登錄模塊對(duì)用戶登錄信息進(jìn)行控制判斷,如果判定為非空,則進(jìn)一步確認(rèn)用戶是否已在線,若是直接跳轉(zhuǎn)至后臺(tái),若不在線則通過數(shù)據(jù)庫(kù)中的用戶信息進(jìn)行檢驗(yàn),通過認(rèn)證后允許其登錄后臺(tái)并在session 文件中記錄登錄信息。
監(jiān)考教師根據(jù)測(cè)評(píng)要求通過系統(tǒng)的后臺(tái)創(chuàng)建測(cè)評(píng)試卷,首先輸入測(cè)評(píng)信息,包括測(cè)評(píng)項(xiàng)目名稱、任課教師、答題時(shí)間等,然后選擇題型和題目并添加到測(cè)評(píng)模板上,監(jiān)考教師可以對(duì)每道測(cè)評(píng)試題進(jìn)行手動(dòng)選擇,也可以在設(shè)定題型、題目數(shù)量和所需覆蓋的教學(xué)內(nèi)容后由系統(tǒng)隨機(jī)從題庫(kù)中批量抽取試題以完成試卷的創(chuàng)建。
創(chuàng)建測(cè)評(píng)試題模塊的部分實(shí)現(xiàn)代碼如下:
(1)手動(dòng)創(chuàng)建試卷

(2)自動(dòng)創(chuàng)建測(cè)評(píng)

監(jiān)考教師通過客戶端界面創(chuàng)建當(dāng)次測(cè)評(píng)的試題,參考學(xué)生在登錄成功后對(duì)測(cè)評(píng)信息(測(cè)評(píng)科目、任課教師、測(cè)評(píng)試卷名稱、答題時(shí)間等)進(jìn)行確認(rèn),然后點(diǎn)擊進(jìn)入測(cè)評(píng)界面,在此過程中,模塊從數(shù)據(jù)庫(kù)中調(diào)取題目數(shù)據(jù)表,包括填空題表、單項(xiàng)選擇題表、多項(xiàng)選擇題表、問答題表、判斷題表等。學(xué)生選擇開始答題后,系統(tǒng)自動(dòng)讀取服務(wù)器時(shí)間并將其記錄在session 文件中作為測(cè)評(píng)的開始時(shí)間,測(cè)評(píng)過程中以每秒為間隔持續(xù)刷新測(cè)評(píng)時(shí)間,若小于系統(tǒng)設(shè)定值則允許學(xué)生繼續(xù)測(cè)評(píng),當(dāng)測(cè)評(píng)時(shí)間達(dá)到試卷所規(guī)定的時(shí)間后,系統(tǒng)自動(dòng)終止答題并提交測(cè)評(píng)試卷。
在線測(cè)評(píng)答題模塊的部分實(shí)現(xiàn)代碼如下:

參考學(xué)生提交測(cè)評(píng)試卷后,測(cè)評(píng)教師可在系統(tǒng)后臺(tái)調(diào)取已完成答題的測(cè)評(píng)試卷并進(jìn)行評(píng)分,本系統(tǒng)的評(píng)卷方式分為兩種,即教師人工測(cè)評(píng)和系統(tǒng)自動(dòng)測(cè)評(píng),其中系統(tǒng)自動(dòng)測(cè)評(píng)的部分實(shí)現(xiàn)代碼為:
為了檢驗(yàn)系統(tǒng)軟件代碼的正確性、模塊功能的正常性和整體運(yùn)行的穩(wěn)定性,分別采用白盒測(cè)試法檢驗(yàn)各單元模塊的代碼內(nèi)容,采用黑盒測(cè)試法檢測(cè)各功能模塊的輸入與輸出數(shù)據(jù),通過模擬考試過程的方式檢查系統(tǒng)功能的完善性和運(yùn)行的穩(wěn)定性。
對(duì)各單元模塊分別進(jìn)行白盒測(cè)試,以考生信息管理單元模塊為例,測(cè)試過程和結(jié)果如表1 所示。

表1 考生信息管理單元模塊測(cè)試過程與結(jié)果
按照同樣的方式和過程對(duì)考生管理模塊、試題管理模塊、考生登錄模塊、教師登錄模塊、成績(jī)管理模塊等各單元模塊進(jìn)行測(cè)試,所有單元模塊均能實(shí)現(xiàn)指定操作。
對(duì)各功能模塊分別進(jìn)行黑盒測(cè)試,以在線答題模塊為例,測(cè)試過程和結(jié)果如表2 所示。

表2 在線答題功能模塊測(cè)試過程與結(jié)果
按照同樣的方式和過程對(duì)用戶登錄模塊、創(chuàng)建試卷模塊、在線評(píng)卷模塊進(jìn)行測(cè)試,所有模塊均可正常實(shí)現(xiàn)設(shè)計(jì)功能。
在國(guó)內(nèi)某高校選取一定數(shù)量的學(xué)生參加通過本系統(tǒng)所進(jìn)行的數(shù)據(jù)實(shí)驗(yàn)室模擬測(cè)評(píng),在24 小時(shí)內(nèi)按照100 人、200人、500 人、1000 人、2000 人的順序分批次逐漸提高同時(shí)在線測(cè)評(píng)的人數(shù),以考核系統(tǒng)運(yùn)行的穩(wěn)定性和抗壓能力。結(jié)果如圖2 所示。

圖2 性能測(cè)試結(jié)果
系統(tǒng)運(yùn)行時(shí)隨著在線并發(fā)人數(shù)的增加測(cè)試用計(jì)算機(jī)的資源占用率(CPU 使用率、內(nèi)存使用率)均有所提高但未超過70%,整個(gè)測(cè)試過程中并未出現(xiàn)宕機(jī)或程序中止運(yùn)行的情況,可見本系統(tǒng)具有較好的穩(wěn)定性和較強(qiáng)的抗壓能力。
為了有效釋放實(shí)驗(yàn)室實(shí)訓(xùn)資源,減少組織實(shí)訓(xùn)測(cè)評(píng)過程中的人力、物力消耗,本文提出一種基于數(shù)據(jù)實(shí)驗(yàn)室實(shí)訓(xùn)在線測(cè)評(píng)系統(tǒng),基于MVC 模式的框架搭建系統(tǒng)的分層結(jié)構(gòu),通過視圖層、業(yè)務(wù)功能層和數(shù)據(jù)層分別實(shí)現(xiàn)系統(tǒng)頁(yè)面顯示、業(yè)務(wù)處理、數(shù)據(jù)存儲(chǔ)的功能,本系統(tǒng)能夠?qū)崿F(xiàn)實(shí)驗(yàn)室實(shí)訓(xùn)平臺(tái)在線測(cè)評(píng)的全部需求且具有較好的穩(wěn)定性,適于在高校種應(yīng)用推廣。