• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于PHP的在線考試系統(tǒng)的設計與實現(xiàn)

      2018-01-17 15:51:10劉超
      電子技術(shù)與軟件工程 2017年20期
      關鍵詞:在線考試

      摘 要 本文講述基于PHP的在線考試系統(tǒng)的設計與實現(xiàn)。首先將題目從題庫中抽取出來保存在數(shù)組中,然后再對題目數(shù)組進行隨機抽題,將抽取的題目保存在每個考生的信息中。在做題的過程中還要將考生的答題情況也保存在考生信息表中。該在線考試系統(tǒng)支持隨機抽題、機器出故障重新?lián)Q機考試考生的答題信息仍然保留在系統(tǒng)中。

      【關鍵詞】PHP 在線考試 隨機抽題

      隨著互聯(lián)網(wǎng)+時代的到來,教育信息化是大勢所趨。本文講述的在線考試系統(tǒng)支持單選題、多選題、判斷題。能夠隨機抽題,將考試抽取的題目,答題信息保存在考生信息表中。

      1 數(shù)據(jù)庫設計

      數(shù)據(jù)庫名為db_test,其中包含至少7張表,保存單選題的表、保存多選題的表、保存判斷題的表,保存管理員信息的表,保存考生表信息的表(多張表),保存綜合設置信息的表以及班級與表名對應表。關鍵表結(jié)構(gòu)如下:

      單選題表用于存放考試題目中的單選題。多選題表用于存放考試題目中的多選題。判斷題表用于存放考試題目中的判斷題。多選題、判斷題表結(jié)構(gòu)與單選題表結(jié)構(gòu)類似。下面僅介紹單選題表結(jié)構(gòu)。單選題表的關鍵字段為:“Id”、“題目”、“標答”、“分值”、“A選項”、“B選項”、“C選項”、“D選項”、“E選項”。

      單選題表字段字段意義為:其中“ID”設置為主鍵;“題目”表示考試題目的題干;“A選項”、“B選項”、“C選項”、“D選項”、“E選項”分別是多個單選項,“標答”保存著該題目的標準答案,“分值”保存本題的分值。這些字段均設置為varchar類型。數(shù)據(jù)庫編碼設置為UTF-8。

      考生表是可以新建的,多個班級考試則可以對應多個表。考生表前綴是bj_,用于區(qū)分其他表??忌黻P鍵字段:“考號”、“姓名”、“密碼”、“交卷時間”、“總分”、“單選題題目”、“單選題答案”、“多選題題目”、“多選題答案”、“判斷題題目”、“判斷題答案”等字段。全部設置為varchar數(shù)據(jù)類型,考號設置為主鍵。全部編碼設置為utf-8類型。

      考生表關鍵字段意義為:“考號”是主鍵,唯一?!靶彰笔强忌男彰!懊艽a”是考生登錄用的密碼,考生通過輸入班級、輸入考號、輸入密碼進行登錄考試系統(tǒng)。“交卷時間”是指考生應該交卷的時間,不是實際交卷時間,每個考生從登錄開始(每個考生登錄時間會有少許差異)再加上考試規(guī)定時長就可以得到應該交卷的時間。因為每個考生登錄時間不相同,中途也可能出現(xiàn)差錯需要補時,因此交卷時間也不一樣。此外“交卷時間”還可以收到二次登錄補時的影響?!皢芜x題題目”只保存該考生抽取的單選題的題號,若保存全部抽取的題目信息,則不利于保存,再顯示考題信息的時候再根據(jù)每個考生“單選題題目”中的序號顯示實際單選題?!皢芜x題答案”保存著該考生單選題答題情況。

      注意事項:考生在答題過程中是每做一道題都要保存一下的,確保在機器出故障后,考生的答題信息不會受到影響。因此考生表的這些字段這樣設置是必須的。

      綜合設置表結(jié)構(gòu)為:“網(wǎng)站名稱”、“總分”、“單選題數(shù)量”、“單選題描述”、“單選題分值”、“多選題數(shù)量”、“多選題描述”、“多選題分值”、“判斷題數(shù)量”、“判斷題描述”、“判斷題分值”、“二次登錄密碼”。全部字段設置為varchar類型,編碼設置為utf-8。

      綜合設置表字段意義為:“網(wǎng)站名稱”是指在線考試系統(tǒng)網(wǎng)站的名稱,即顯示的網(wǎng)站標題信息?!翱偡帧笔侵刚麄€考試題目的分數(shù),一般可以設置為100分?!皢芜x題數(shù)量”表示考試題目中有多少道單選題?!皢芜x題描述”一般設置為“本題有五個選項,正確答案只有一個,請選擇正確答案”?!皢芜x題分值”表示每個單選題分數(shù)。多選題和判斷題類似,不再表述?!岸蔚卿浢艽a”是考生在考生過程中機器出現(xiàn)故障,換一臺機器重新考試需要輸入的密碼,若沒有二次密碼則考生可以惡意多次重新啟動機器。

      2 隨機抽題方法(以單選題為例)

      先判斷考生表中字段“單選題題目”是否為空(算法為:if (trim($單選題題目)=='')),若為空則表示該考生第一次登錄,還沒有抽取題目,則進行隨機抽題。先得到全部單選題:關鍵代碼為:$result =$mysqli->query("select * from tx_danxuan"); while($r=$result->fetch_row()) $rowradio[] = $r;。然后進行抽題:$radio_key = array_rand($rowradio,$radio_num); $radio_key保存著抽題的序號。再把抽題保存到考生表中,關鍵代碼為:$radio_st = serialize($radio_key)。至此,系統(tǒng)已將單選題全部隨機抽取并放置在該考生的信息表中。

      說明:抽題抽取的是題目的序號,保存的也是題目的序號,在考生題目顯示的時候才會根據(jù)序號找試題。因為如果將全部抽取的考題放置在考生信息表中,會出現(xiàn)兩大問題:格式問題和容量問題。試題格式不利于保存,試題容量太大不利于保存,只保存抽取題目的序號才是科學的和可行的。

      2.1 答題過程

      考生答題信息保存在該考生的考生信息表的對應記錄中。以A考生(每個考生的考號是唯一的)做單選題為例,若考生第m題選擇了B選項,則設置數(shù)組$answer[$m-1]=B,再將整個數(shù)組$answer變成字符串類型后寫入到A考生記錄的“單選題答案”字段。這樣確保每做一道題都保存到數(shù)據(jù)表。

      2.2 評分過程

      考生在交卷時,系統(tǒng)進行評分。還是以單選題為例講述評分辦法。具體方法是,系統(tǒng)首先從對應考生記錄中取出“單選題答案”字符串,再使用函數(shù)un serialize()轉(zhuǎn)化為數(shù)組,該數(shù)組就是該考生單選題的答題情況,可以所抽單選題的標準答案字段進行比對。若單選題答題信息與標答相同則記分。通過循環(huán)將全部單選題答題情況進行比對即可統(tǒng)計出單選題分數(shù)。多選題和判斷題評分方法與單選題評分方法完全相同。再將三個分數(shù)加在一起,并保持到該考生記錄表之總分字段中。

      2.3 容錯處理

      若電腦在考試過程中出現(xiàn)故障,換電腦進行第二次考試時??荚囅到y(tǒng)首先比對考生的抽題情況“單選題題目”和答題情況“單選題答案”。若不為空,則可以判斷考生是換機考試,此時無需重新抽題,只需要從該考生的記錄中讀出抽題情況“單選題題目”和答題情況“單選題答案”,并顯示在考試頁面中即可。

      3 結(jié)語

      在考試系統(tǒng)的開發(fā)過程中,數(shù)據(jù)庫的設置以及容錯的考慮是必須的。限于篇幅問題,其他功能的實現(xiàn)在此不再贅述。本在線考試系統(tǒng)在某高校思政課考試中使用五年,效果非常好。

      參考文獻

      [1]王偉平,賀春雷.PHP+MySQL網(wǎng)站開發(fā)入門與提高[M].清華大學出版社,2014(07).

      [2]PHP開發(fā)實例大全[M].東軟開發(fā)聯(lián)盟.清華大學出版社,2016(01).

      作者簡介

      劉超(1982-),男,武漢職業(yè)技術(shù)學院學院講師。研究方向為軟件技術(shù)。

      作者單位

      武漢職業(yè)技術(shù)學院計算機技術(shù)與軟件工程學院 湖北省武漢市 430074endprint

      猜你喜歡
      在線考試
      基于Java的考場管理系統(tǒng)的研究與實現(xiàn)
      軟件(2016年4期)2017-01-20 09:54:41
      大學物理在線考試與分析系統(tǒng)
      科教導刊(2016年20期)2016-12-27 14:38:23
      效率觀下高校課程考試形式的改革探索
      東方教育(2016年3期)2016-12-14 22:25:05
      高職院校移動互聯(lián)自主學習考試平臺的設計與實現(xiàn)
      基于iOS 平臺的智慧課堂管理系統(tǒng)的設計與實現(xiàn)
      大數(shù)據(jù)背景下在線評教與在線考試融合的思路探討
      考試周刊(2016年17期)2016-03-31 19:08:57
      克东县| 米易县| 望江县| 弋阳县| 仪陇县| 闸北区| 柘城县| 德兴市| 扎囊县| 泰宁县| 怀化市| 防城港市| 察隅县| 灌云县| 秀山| 贵阳市| 靖宇县| 临沧市| 油尖旺区| 齐齐哈尔市| 化州市| 葫芦岛市| 平潭县| 西和县| 固原市| 玉屏| 东方市| 乳源| 卓尼县| 九寨沟县| 安吉县| 高雄市| 德庆县| 凭祥市| 新田县| 商水县| 大英县| 张掖市| 韶关市| 罗江县| 莆田市|