999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

移動端在線考試系統設計與實現

2019-05-24 14:17:58陳尚書文斌
軟件導刊 2019年5期

陳尚書 文斌

摘 要:高速移動通信網絡的迅速發展為在線考試系統移動化提供了條件。基于B/S架構,將變化的遺傳算法運用于在線考試系統設計;采用PHP開發,實現移動端用戶管理、題目管理、試卷管理,以及移動端在線考試自動組卷、在線考試、試卷批改等功能;引入Bootstrap框架,通過功能的化繁與適配,實現同一代碼下移動端在線考試系統功能。

關鍵詞:移動考試系統;遺傳算法;自適應;PHP;Bootstrap

DOI:10. 11907/rjdk. 182297

中圖分類號:TP319 文獻標識碼:A 文章編號:1672-7800(2019)005-0117-05

Abstract: The rapid development of high-speed mobile communication network accelerates the mobility of online examination system. This study is mainly based on the B/S architecture, applying the changed genetic algorithm to the design of online examination system. It adopts PHP development to realize the management of mobile end users, title management and examination paper management, as well as the automatic grouping, online examination and examination paper marking in the online examination of mobile end. The Bootstrap framework is introduced to realize the online examination function of mobile terminal online examination system under the same code through the transformation and adaptation of functions.

Key Words: online examination system in mobile terminal; genetic algorithm; self-adaption; PHP; Bootstrap

0 引言

隨著移動通信網絡的飛速發展及智能手機的普及,在線考試范圍逐步擴大,非普通教育的在線測試考試系統出現在日常教學中。網絡在線考試以其跨越傳統課堂時間和空間、方便、快捷的優勢日益為大家所接受[1]。

美國是最早將計算機技術運用到教育中的國家,大家熟知的托福、思科認證、微軟認證等考試均采用在線考試系統,1993年研究生入學考試(GRE)亦采用在線考試技術[2]。我國隨后跟進,開始了相關算法與技術的研究。隨著國內網絡技術的快速普及,各大考試系統平臺逐步投入研發并上線。其中中央電大考試平臺是遠程教育的典范,還有大家熟知的全國計算機等級考試(NCRE)等職業資格認證考試等,商業領域的在線考試也逐步推廣[3]。眾多高校利用校園網構建了在線考試系統平臺,但其使用仍處于研究和探索階段[4]。

在線考試系統主要采用兩種體系結構:①C/S(客戶端/服務器)體系結構,適合在局域網下進行在線考試,需要特定的機房與電腦才能登陸考試系統,如計算機等級考試、職業技能考試以及行業考試等比較正式的考試;②B/S(瀏覽器/服務器)體系結構考試系統。是在Web 環境下的在線考試系統,考生只需在連接到互聯網的計算機上登錄即可進行答題測試[5],如一些學校、培訓機構教學管理系統中的考試模塊,但它們對移動設備均不友好。當前較為前沿的支持移動端在考試系統有考試酷[6]、云測庫[7]、考試云[8]等,它們主要采用成熟的在線表單及數據統計技術生成試卷,有一定的行業測試題庫,但這些軟件更多偏向在線測試及練習。

一般情況下考試系統題庫需求較小,按照一定的算法可以抽出滿足一定約束條件的試卷。但有些科目考試范圍較廣、題庫需求過大,這時系統可能會進入無限循環進而導致系統癱瘓,最終無法成功抽卷。本研究基于B/S架構,采用PHP開發,將遺傳算法理論運用于在線考試系統的設計與制作,通過設計試題分類調用、同時檢索,實現了便捷快速的在線自動組卷、在線考試、試卷批改等功能;引入Bootstrap框架,通過功能的化繁與適配,實現同一代碼下的移動端在線考試系統功能。

1 技術概述

1.1 系統運行環境

本系統采用phpStudy集成開發而成。phpStudy是一個免費開源的集Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer的環境套件包,可簡單快捷地在Windows環境下安裝,并可在可視化窗口中進行簡單設置,附帶的phpMyAdmin系統能便捷管理MySQL數據庫[9]。

PHP(Hypertext Preprocessor)是一種運行在服務器上的腳本語言,是1994年Rasmus Lerdorf[10]通過對C、Java、Perl這3種語言結合與改進后創建的一種新的面向對象的編程語言,主要用于Web開發。PHP可將請求發送到Apache服務器,然后在Apache服務器解釋執行之后將HTML代碼返回到瀏覽器,它也可嵌入到HTML代碼中,控制HTML的輸出及動態變化。PHP的函數健全,包括文本處理、圖像處理、進程控制、數據庫管理、壓縮歸檔等功能模塊。

MySQL是目前使用最廣泛的開源數據庫,也是Web應用方面最好的RDBMS(Relational Database Management System,關系型數據庫管理系統)之一[11]。MySQL可使用標準的SQL語句添加、刪除及修改數據庫中的內容。

1.2 遺傳算法

遺傳算法(Genetic Algorithm, GA)是一種模擬生物在自然環境中遺傳和進化過程中形成的一種自適應的全局化概率搜索求解算法,最早由美國Michigan大學的J·Holland[12]教授于1975年開始系統研究。該算法避開問題求解過程中復雜的模式轉換,不考慮遺傳過程中的細節問題,通過創建初始種群的復制、交叉以及變異操作解決問題,所以在多條件最優化求解中應用很多,如人工智能、數據挖掘等。

遺傳算法遵循達爾文生物進化論,通過優勝劣汰及變異方式求出最優解,核心內容由編碼、初始群體設定、適應度函數設計、遺傳操作設計及控制參數設定5個基本要素組成[13]。遺傳算法首先要創建并初始化一個群體,然后通過算法對種群中的染色體進行評價并計算它們的適應度值,從而使適應度更好(即數值更低)的染色體被選中的概率更大。隨后對選取的染色體進行交叉雜交,創建新的個體,如此循環直到所規定的迭代數并輸出符合要求的結果,如圖1所示。

2 考試系統總體設計

移動端考試系統采用Web開發中常用的三層結構,即表示層(USL)、業務邏輯層(BLL)、數據訪問層(DAL),如圖2所示。用戶通過網頁操作向服務器發送Request請求,待服務器接收到GET或POST請求后對數據執行邏輯操作。服務器可向數據庫發送一次或多次SQL請求,數據庫將查詢結果返回給服務器,然后服務器通過HTTP響應將數據推送到用戶所使用的瀏覽器中顯示。

2.1 系統功能框架

通過對考試系統功能需求分析,得到如圖3所示的功能結構。系統包含用戶管理模塊、基于遺傳算法的自動組卷模塊、查看試卷模塊、批改試卷模塊、試題模塊、考試模塊、成績查詢模塊。

2.2 數據庫設計

數據庫(Database)是整個軟件應用的根基,是儲存和管理數據的倉庫,雖然表現為虛擬狀態,但對實際操作具有很大影響。良好的數據庫設計是計算機系統有效運行的關鍵要素,對系統的功能和擴展性起著決定性作用[14]。考試的所有數據,如試卷信息、試題信息、答案、成績、學生信息等等,都需要存儲在數據庫中。同時,還需要在數據庫中執行關系數據庫SQL(structured query language)語句實現查詢功能[15]。

(1)數據庫表設計。數據庫表是一系列二維數組的集合,用來代表和儲存數據對象之間的關系。它由縱向的列和橫向的行組成,數據庫表的設計是實現在線考試系統十分重要的部分,表的設計直接影響系統的效率、功能和擴展性[16],一個好的數據庫表設計能極大減小后期維護難度。本系統建立用戶表(user)、課程表(course)、試題類型表(type)、試題表(item)、試卷表(paper)、試卷題目表(paper_item)、成績表(score)、成績詳情表(score_detail)等8個數據庫表,尤其在試題表(item)列名中設計了diffculty(難度)、accuracy(正確率)等參數,增強了系統的實用性。具體試題表(item)及字段見表1。

(2)數據庫關系設計。為滿足在線考試組卷、內容及查詢的關鍵詞內外部匹配,需要對相關數據庫表進行數據庫關系設計。

試題表(item)中創建了3個外鍵記錄試題全部信息,其數據庫關系為:課程號(courseid)對應課程表中的課程號(courseid),添加者(teacherid)對應用戶表中的用戶編號(userid),試題類型(typeid)對應試題類型表中的試題類型(typeid)。

試卷表(paper)中創建了兩個外鍵記錄試卷的全部信息:課程號(courseid)對應課程表中的課程號(courseid),添加者(teacherid)對應用戶表中的用戶編號(userid)。

成績表(score)中創建了兩個外鍵記錄每個考生全部試卷的得分,分別是試卷編號(paperid)對應試卷表中的試卷編號(paperid),用戶編號(userid)對應用戶表中的用戶編號(userid)。

試卷試題表(paper_item)中創建了兩個外鍵記錄每張試卷的全部試題,試卷編號(paperid)對應試卷表中的試卷編號(paperid),試題編號(subjectid)對應試題表中的試題編號(subjectid)。

成績詳細表(score_detail)中創建了兩個外鍵記錄每張考生做過的試卷試題,成績編號(scoreid)對應成績表中的編號(scoreid),試題編號(subjectid)對應試題表中的試題編號(subjectid)。

2.3 遺傳算法自動組卷設計

遺傳算法將每個可能的解看作群體(所有可能解的集合)中的一個個體,并將每個個體編碼成字符串的形式,根據預定的目標函數對每個個體進行評價后給出一個適應度值,其優良特性使其在科研領域應用廣泛[17]。但傳統的遺傳算法存在一些問題,如易形成末成熟收斂、搜索后期效率較低等[18]。本系統自動組卷算法采用一種改進遺傳算法,在算法選擇運算上采用精英策略,確保適應度高的個體獲得較低的交叉概率[19]。傳統的遺傳算法組卷系統通常將試卷看作一個整體,設計比較復雜,導致組卷時間長。本系統采用試卷分類調用同時檢索的遺傳算法組卷模式,即針對不同題型同時執行遺傳算法的組卷模式,提升了組卷效率和準確性。

(1)數學模型設計。每套試題都有不同的目的要求,有的是鞏固所學知識,有的是查找掌握知識缺漏,有的是拔高知識水平等等,每次組卷的指標會有所不同。因此,在組卷之前應先建立智能組卷控制指標[20]。

(3)組卷步驟。分為3步:①初始化種群。收到用戶指定的知識點、難度、正確率等參數后,系統會把符合條件的題目分類抽取并將全部試題放入list矩陣中。隨后根據設定的題目數量,從list矩陣中隨機抽取相應數目的試題,將題目編號放入select中,并計算每道試題的適應度存放在數組f中;②變異。選擇適應度值最大(適應度最差)的題目,在矩陣list中隨機抽取一題代替它。如果新抽取的題目適應度比原來的適應度值大,則繼續隨機抽取試題。若連續4次不能找到合適的試題則退出;③遺傳。在變異過程中會自動將適應度值小(適應度更好)的題目遺傳至下一代,重復30次變異遺傳步驟后輸出試題結果。

2.4 移動設備適配

(1)Bootstrap框架。Bootstrap是Twitter公司一款開源的前端框架,具有良好的跨瀏覽器兼容性。Bootstrap預設了多種常用的樣式集以及多種JavaScript 插件,對移動設備擁有一定的友好性[23]。Bootstrap擁有較為全面的網格系統,通過媒體查詢(@Media)方式認知屏幕或瀏覽器的寬度,并由此改變長、寬的樣式布局,還可運用較為方便的方式在小屏幕中將非必要功能隱藏,合并多個模塊以適應不同大小屏幕上的更優布局與用戶操作習慣。

(2)功能化繁與適配。讓系統頁面適應移動設備的使用,最重要的一點就是簡潔明了,將最復雜的功能用最簡單而又易懂的頁面展示出來并非易事。考試系統管理功能富集,每個頁面需要顯示多種信息,包括支持富文本編輯,實現查看、修改、調整參數等功能,但受屏幕尺寸限制的移動設備頁面必須化繁為簡,實現路徑有兩種:①隱去非必要信息,刪除不必要的信息,如在試題頁面中,有編號、題型、題目、答案、課程、章節、分值、知識點、抽題次數、正確率、難度、出題教師、操作這13種信息需要展示,而在移動設備上難以全面展示,可將諸如編號、答案、出題教師等非必要信息隱去;②歸類顯示。將題目信息中題型、課程作為歸類條件歸類顯示,從而減少頁面信息。

2.5 非功能性需求設計

考慮到用戶的信息安全性,本系統對所有用戶密碼均采用MD5算法進行數據加密,有效避免了用戶在登陸過程中被非法分子盜取賬戶及密碼的風險。

3 考試系統功能實現

3.1 用戶管理

本考試系統用戶管理功能,包括用戶注冊及登陸、管理員對用戶的管理等等。系統有學生、教師、管理員3種用戶,不同用戶的權限不同,系統會自動判斷用戶類型并登陸至相應的界面。

為保證每個用戶的唯一性,防止相同用戶名情形出現,本系統采用AJAX方法與后臺交互,實時判斷用戶名是否與數據庫中已存在的數據重合。

考試系統中,管理員還具備核對教師賬號、凍結和解凍賬號功能。核對后的教師賬號才能登陸,凍結的賬號則被封鎖,不能登陸。

學生進入系統后,可在導航欄中進入考試界面,選擇考試試卷并參與測試。測試設計有時間限制,在測試中以倒計時方式顯示,考生若中途退出考試則成績為空。考試結束時,系統將強制切換頁面并結束本次測試。測試者可以使用手機或電腦通過瀏覽器登陸,方便進行隨堂測試。考試界面如圖4所示。

3.2 考試計時

考試倒計時使用JavaScript進行控制。先從數據庫中讀取考試時間輸出到頁面,再使用DOM讀取頁面中的時間,并按秒刷新顯示行進時間,若時間為0則強制提交試卷。

3.3 試題管理

考試系統需要不斷擴充新題目完善題庫,保持測試效度,因此試題增添和修改是必不可少的功能。教師和管理員可以進入試題管理界面查看考題并修改考題,或者直接新增考題。新增試題需要先選擇好課程、題型、分數、難度、章節、知識點、正確率等參數,再填入試題詳細內容及答案即可提交。系統會根據登陸信息自動加入出題者信息,并隨表單一并提交。

3.4 試卷管理

本系統試卷管理包括自動組卷、手動組卷兩種形式。自動組卷需3步完成:①設置課程、試題數量、總分等信息;②設置知識點、難度、正確率等多項指標與權值,如圖5所示;③系統將自動組成試卷并預覽部分內容,填入試卷標題與考試時間即可提交生成試卷。

手動組卷并不復雜,教師可根據自身特定需求添加擬測試題目組成試卷,如圖6所示。

本系統自動組卷與手動組卷可結合使用,比如某類題型可由教師手動出卷,然后補充到自動組卷中,這時兩種方式可自由組合。

由于系統不能準確判斷填空題及主觀題的對錯,所以需要教師進行在線批改,給出最終得分。教師可瀏覽學生提交的試卷列表,看到學生參與的考試、當前得分、是否已批改過等信息,然后選擇試卷進行批改。教師可根據當前學生的答題情況修改相應得分,提交并得出最后成績。

4 結語

隨著信息技術和移動互聯網的迅猛發展,共享優質在線教育資源逐漸普及,科學、便捷、有效的在線考試系統需求越來越大。本系統通過改進遺傳算法自適應函數設計編寫的自動組卷算法,大大提高了組卷效率和系統操作效率;采用B/S架構及自適應網頁實現手機在線考試系統功能;綜合運用PHP、MySQL及網頁數據交互、數據庫處理等知識與技術,并加入AJAX異步處理、Bootstrap架構,提升移動端在線考試系統的安全性和易用性。

使用中深入研究發現,移動設備在線考試系統功能模塊如試卷修改功能、在線考試時主觀題的答題編輯器功能等還有欠缺,需進一步完善。

參考文獻:

[1] YANG T, RONALD M C, YANG B, et al. Three-dimensional stability of landslides based on local safety factor[J]. Journal of Mountain Science,2016,13(9):1515-1526.

[2] 六維論文網. 在線考試系統國內外研究水平與現狀發展趨勢[EB/OL]. [2017-05-06]. http://www.lwfree.cn/yanjiu/20170506/6415.html.

[3] 百度文庫.在線考試系統設計方案[EB/OL]. [2018-07-01]. https://wenku.baidu.com/view/4f7089b789eb172ded63b7ce.html?re=view1

[4] 高欣,張建莉,劉環,等. 移動終端在線考試系統的設計與實現[J]. 軟件工程,2017,20(2):34-37.

[5] 朱杰. 在線考試系統的發展現狀與趨勢[J]. 無線互聯科技,2014(4):76-77.

[6] 考試酷[EB/OL]. https://www.examcoo.com/.

[7] 云測庫[EB/OL]. http://www.yunceku.com/.

[8] 考試云[EB/OL]. http://www.kaoshiyun.com.cn/.

[9] 鄒國強. phpStudy網站搭建工具在電子數據取證工作中的應用[J]. 廣東公安科技,2017,130(4):13-14.

[10] 菜鳥教程. PHP教程[EB/OL]. [2014-04-21]. http://www.runoob.com/php/php-tutorial.htmlW3Cschool.

[11] 黃縉華. MySQL入門很簡單[M]. 北京:清華大學出版社,2011.

[12] 陳國良,王煦法,莊鎮泉,等. 遺傳算法及其其運用[M]. 北京:人民郵電出版社,1996.

[13] 拓守恒. 基于遺傳算法智能組卷的J2EE考試系統的設計與實現[J]. 西華大學學報,自然科學版,2010,29(5):31-37.

[14] 王璐,計算機軟件數據庫的設計原則與方式[J]. 電子技術與軟件工程,2017(4):175-176.

[15] 林子雨,楊冬青,王騰蛟,等. 基于關系數據庫的關鍵詞查詢[J]. 軟件學報,2010,21(10):2454-2475.

[16] 趙宣容. 計算機軟件數據庫設計的重要性以及原則探討[J]. 電子技術與軟件工程,2015(17):209-210.

[17] 嚴峻. 一種改進的基于成熟前收斂判斷的自適應遺傳算法[J]. 南京郵電學院學報:自然科學版,1999,19(1):35-38.

[18] 田濤. 在線考試系統設計與實現[D]. 成都:電子科技大學,2013.

[19] 張京杰,姜麗芬,花季偉,等. 改進遺傳算法在供熱系統中的應用[J]. 天津師范大學學報:自然科學版,2018,38(1):64-69.

[20] 李紫蔓. 基于改進遺傳算法的在線考試智能組卷系統[D]. 鄭州:鄭州大學,2013.

[21] 劉英. 遺傳算法中適應度函數的研究[J]. 蘭州工業高等專科學校學報,2006,13(9):1-4.

[22] 張思才,張方曉. 一種遺傳算法適應度函數的改進方法[J]. 計算機應用與軟件,2006,23(2):108-110.

[23] 李勝良,李隱峰,曹詩翠. 基于PHP框架的會議論文投稿系統設計[J]. 電子科技,2014,27(1):131-134.

(責任編輯:杜能鋼)

主站蜘蛛池模板: 亚洲视频在线网| 久一在线视频| 国产一区二区丝袜高跟鞋| 亚洲午夜国产精品无卡| 亚洲综合片| 91久久天天躁狠狠躁夜夜| 亚洲欧洲日韩久久狠狠爱 | 亚洲成年网站在线观看| 国产成人成人一区二区| 免费aa毛片| 91久久青青草原精品国产| 91久久夜色精品国产网站| 天天摸夜夜操| 日本高清在线看免费观看| 免费午夜无码18禁无码影院| 青草午夜精品视频在线观看| 黄色网页在线播放| 欧美成在线视频| 国产91小视频| 日本国产精品| 毛片在线播放a| 美女国产在线| 中文字幕永久视频| 亚洲精品国产首次亮相| 欧美区国产区| 在线观看亚洲人成网站| 久久精品人人做人人综合试看| 伊人五月丁香综合AⅤ| 精品视频第一页| 一区二区三区精品视频在线观看| 51国产偷自视频区视频手机观看 | 国产激情无码一区二区APP| 激情综合激情| 精品国产免费人成在线观看| 尤物视频一区| 亚洲婷婷六月| 九色综合伊人久久富二代| 久精品色妇丰满人妻| 成人综合久久综合| jijzzizz老师出水喷水喷出| 被公侵犯人妻少妇一区二区三区 | 国产高清毛片| 真人免费一级毛片一区二区| 亚洲资源站av无码网址| 激情乱人伦| 91免费国产高清观看| 四虎永久免费地址| 国产精鲁鲁网在线视频| 国产福利一区二区在线观看| 好吊色妇女免费视频免费| 免费高清自慰一区二区三区| 无码精油按摩潮喷在线播放| 国产精品无码一二三视频| 美女黄网十八禁免费看| 色偷偷综合网| 91成人在线免费观看| 最新国产成人剧情在线播放 | 国产精品偷伦视频免费观看国产| 无码专区第一页| 精品中文字幕一区在线| 亚洲av日韩av制服丝袜| 一级毛片免费观看不卡视频| 亚洲乱码视频| 日韩久久精品无码aV| 国产成人1024精品| 无码乱人伦一区二区亚洲一| 色悠久久久久久久综合网伊人| 日韩a在线观看免费观看| 欧美黄网站免费观看| 国产精品久线在线观看| 最新亚洲人成无码网站欣赏网| 日韩中文无码av超清| 国产麻豆永久视频| 亚洲精品成人7777在线观看| 青青草国产在线视频| 国产免费羞羞视频| 亚洲欧美自拍视频| 一级片一区| 99在线视频免费| 国产91丝袜| 在线观看国产精品一区| 99视频精品在线观看|