彭芳策
在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
彭芳策
(興義民族師范學(xué)院, 貴州 興義 562400)
傳統(tǒng)的考試方式組織一次考試需經(jīng)過四個(gè)步驟,即出題、考試、閱卷、成績評估及分析。而在線考試避開了這些過程,可以節(jié)省大量的時(shí)間、財(cái)力、人力和物力,同時(shí)還可以大幅度提高考試成績的公正性和客觀性;從而實(shí)現(xiàn)低成本、高效率辦公。
在線考試系統(tǒng);管理員用;教師用戶;學(xué)生用戶
隨著經(jīng)濟(jì)、社會和網(wǎng)絡(luò)技術(shù)的快速發(fā)展,很多大學(xué)都有自己的網(wǎng)絡(luò)學(xué)習(xí)平臺。但是對學(xué)生的學(xué)習(xí)跟蹤和評估還是采取傳統(tǒng)的方式,不能很好地適應(yīng)當(dāng)前的社會發(fā)展,因此需要有一系列的系統(tǒng)支撐,如教學(xué)系統(tǒng),答疑系統(tǒng),考試系統(tǒng)等。其中很重要的一個(gè)環(huán)節(jié)就是在線考試系統(tǒng),同時(shí)它也是最難實(shí)現(xiàn)的一個(gè)環(huán)節(jié)。
目前,學(xué)校和社會上的各種考試大都采用傳統(tǒng)的考試方式,在此方式下,組織一次考試需經(jīng)過四個(gè)步驟,即出題、考試、閱卷、成績評估及分析。顯然,隨著考試類型的不斷增加和考試要求的不斷提高,教師的工作量將不斷增加,而且在百忙之中容易出錯(cuò),因此在線考試必將替代傳統(tǒng)的考試方式。
在線考試系統(tǒng)分為管理員用戶模塊,教師用戶模塊和考生用戶模塊。其功能模塊圖如下:
信息管理主要是發(fā)布一些與考試相關(guān)的管理文件及其公告。系統(tǒng)管理包括用戶的添加、修改、刪除以及用戶的權(quán)限設(shè)置;關(guān)閉和開放考試,同時(shí)考試過程中如果某個(gè)同學(xué)由于計(jì)算機(jī)或試題問題可以針對該生進(jìn)行重新抽題重新作答或?qū)ζ溥M(jìn)行延時(shí)處理;設(shè)置考試科目,考試題型及分值并生成試卷。
該系統(tǒng)試題庫包括單項(xiàng)選擇題、多項(xiàng)選擇題、填空題、簡答題等題型,教師在添加題目時(shí)先要選擇自己所教的科目,然后選擇題目類型,最后輸入題目內(nèi)容、題目答案和分值。由于系統(tǒng)算法的不完善,簡單題需要老師自己評閱,系統(tǒng)自動(dòng)評閱有時(shí)分?jǐn)?shù)有出入。所有題目評閱完成后系統(tǒng)自動(dòng)計(jì)算出總分并打印出學(xué)生的考試成績。
學(xué)生可以瀏覽考試的相關(guān)規(guī)定,修改個(gè)人密碼,在線考試,模擬練習(xí),查看成績等。
1.打開或關(guān)閉考試由數(shù)據(jù)庫管理員表中的locked字段控制,該字段值為1時(shí)進(jìn)入考試按鈕隱藏,該字段值為0時(shí)則進(jìn)入考試按鈕顯示,學(xué)生即可點(diǎn)擊該按鈕進(jìn)行考試。代碼程序段如下:
if($rowlock['locked']==0){
echo" }elseif ($rowlock['locked']==1){ echo ''; } 2.考試科目表中的test_time字段用來存放考試的時(shí)間長度(以分作為時(shí)間單位),而學(xué)生在考試時(shí)取出test_time字段的值,用此值乘以60即為考試所用的秒數(shù),秒數(shù)作自減運(yùn)算即可得到考試的倒計(jì)時(shí)。代碼程序段如下: 3.在考試過程中還有一個(gè)重要功能是組卷,組卷工作由管理員完成,管理員根據(jù)老師要求設(shè)置試卷選擇題、填空題的個(gè)數(shù),簡答題和計(jì)算題的個(gè)數(shù)及其分值,系統(tǒng)將自動(dòng)隨機(jī)在題庫中抽取試題組合試卷,但各學(xué)生考卷題目的重復(fù)率將取決于題庫中的題量大小。 在抽題組卷過程中題型由btitle字段的值控制,程序代碼段如下: function mj($btitle){ if($btitle==1){echo ' if($btitle==2){echo ' if($btitle==3){echo ' if($btitle==4){echo ' if($btitle==5){echo " 4.題庫抽題組卷程序代碼段如下: $test=sql_operate("select * from students where id=$_GET[uid]"); $arr=explode(",",$test['kgtestid']); $arrzg=explode(",",$test['zgtestid']); $subtx=sql_select("select * from big_test where test_subject_id=$_GET [sid] order by bigtitle asc"); while($tx=mysql_fetch_array($subtx)){ if($tx['bigtitle']>=1 and $tx['bigtitle']<=4){ for($i=1;$i<=4;$i++){ if($tx['bigtitle']==$i){ echo ' foreach ($arr as $val){ $title=sql_select("select * from small_test where id=$val and bigtitle_id = $i"); while ($titles=@mysql_fetch_array($title)){ echo ' $smresult=sql_select("select * from small_result where smalltitle_id=$val order by xx asc"); while($xx=mysql_fetch_array($smresult)){ if($tx['bigtitle']==1){ echo ' $a[$titles['id']]=array("$xx[xx]");} if($tx['bigtitle']==2){ echo ' '.$xx['smalltitle_c'].' $a[$titles['id']]=array("$xx[xx]");} } if($tx['bigtitle']==3){ echo '答案: $a[$titles['id']]=array("$titles[bt_answer]");} if($tx['bigtitle']==4){ echo ' $a[$titles['id']]=array("$titles[bt_answer]"); }}}}}}} 5.閱卷時(shí)客觀題較為簡單,主觀題相對較難,所以主觀題需要老師再核查一遍看給分是否合理。自動(dòng)閱卷程序代碼段如下: $regs=$_REQUEST['t_'.$k]; $value=@implode(array_values($regs)); $ans=sql_operate("select * from small_test where id = $k"); $pf=sql_operate("select * from big_test where test_subject_id = $ans[subject_id] and bigtitle = $ans[bigtitle_id]"); if($ans['bt_answer']==$value && $ans['bigtitle_id'] != 3){ $scor[$k]=$pf['sscore'];}if($ans['bigtitle_id']==3){ if(strspn($value,"$ans[bt_answer]")){ $num = 0; $arr=explode(",",$ans['bt_answer']); while (list($ke,$va)=each($arr)){ if(substr_count($value,$va)>0){ $num++; $scor[$k]=$pf['sscore']*$num; }}}}} $sums = @implode("+",array_values($scor)); 通過在線考試系統(tǒng)的運(yùn)行,平時(shí)老師只需添加比較經(jīng)典的試題來充實(shí)試題庫,整個(gè)出卷過程老師只需提供題型及其各題型題目的個(gè)數(shù)、分值給管理員即可,改卷教師也只需復(fù)查下主觀題給分是否合理;因此大大減輕了教師的工作量。同時(shí)學(xué)生想通過相應(yīng)課程的考試拿到學(xué)分,平時(shí)就需要做系統(tǒng)的模擬考試題,從而學(xué)生的知識水平也得到了相應(yīng)的提高。在教學(xué)中作者把此系統(tǒng)的開發(fā)過程和如何構(gòu)建系統(tǒng)的整體架構(gòu)應(yīng)用到了課堂,取得了較好的教學(xué)效果。 [1]王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論(第5版)[M].高等教育出版社,2014. [2]Mehdi.Achour等,肖盛文等譯.PHP手冊[Z].2015,www.PHP.net/manual/zh/ [3]金雪云.PHP簡明教程(PHP篇)[M].清華大學(xué)出版社2006.1. [4]范樂,于強(qiáng).基于Web的編程技術(shù)(第1版)[M].北京:鐵道電出版社,2003. Design and Implementation of Online Examination System PENG Fang-ce for the traditional examination,the organization needs four steps:questioning,examination,marking,performance evaluation and analysis.In order to achieve low-cost,highly efficient ways,examination online avoids these processes,which can not only save a lot of time,money,manpower and material resources,but also can greatly improve the objectivity and impartiality ofthe examination. Online Test Sgstem;Admin;Teacher user;Student User 1009—0673(2015)04—0106—04 TP311.52 A 2015—08—01 貴州省黔西南州科技計(jì)劃,編號:2013-36。 彭芳策(1983— ),男,江西波陽人,興義民族師范學(xué)院信息技術(shù)學(xué)院副教授,研究方向:軟件設(shè)計(jì)和開發(fā)。 責(zé)任編輯:李玨三、結(jié)論
(Xingyi Normal University for Nationalities,Xingyi,Guizhou 562400,China)