曾水新 溫立輝
摘要:目前不少在經(jīng)濟(jì)欠發(fā)達(dá)地區(qū)的高校,機(jī)房建設(shè)的年份早、配置低,文章設(shè)計(jì)并實(shí)現(xiàn)了一個基于Client/Server架構(gòu)的考試系統(tǒng),占用系統(tǒng)資源低、效率高、操作便捷,適合硬件配置低的環(huán)境使用。該系統(tǒng)以Delphi編寫,發(fā)布為管理端、監(jiān)考端、學(xué)生端三個單文件的模塊,監(jiān)考端與學(xué)生端軟件僅2M~3M大小,方便分發(fā);業(yè)務(wù)處理合理地分配在教師機(jī)與學(xué)生機(jī)上,減少了教師機(jī)的壓力;通信基于高效的UDP協(xié)議,通信的內(nèi)容僅限控制信號及狀態(tài)信息,試題以文件形式傳輸,減少了網(wǎng)絡(luò)壓力。
關(guān)鍵詞:考試系統(tǒng);教育信息化;C/S架構(gòu);B/S架構(gòu);Delphi
中圖分類號:TP311.52;G647? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2022)27-0079-03
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
1 引言
新冠肺炎疫情以來,各高校積極響應(yīng)教育部提出的“停課不停學(xué)”的要求,積極開展線上教學(xué)工作,探索信息化教學(xué)系統(tǒng)的應(yīng)用,經(jīng)過幾年的實(shí)踐,教師、學(xué)生已逐步適應(yīng)了線上教學(xué)并體會到了教育信息系統(tǒng)的便捷。新一代智能技術(shù)與教育教學(xué)深度融合為教與學(xué)方式的變革帶來了更多可能性,促進(jìn)了教學(xué)方式、學(xué)習(xí)方式和教學(xué)元素三個方面產(chǎn)生變革[1]。
網(wǎng)絡(luò)化考試具有處理速度快、準(zhǔn)確等特點(diǎn),計(jì)算機(jī)自動閱卷的功能節(jié)省了教師大量的時間和精力,且在線考試可以節(jié)約紙張資源,符合綠色發(fā)展的理念[2]。在線考試系統(tǒng)采用一些針對性的技術(shù)手段,可以減少作弊現(xiàn)象,提升了考試的公平性[3]。
2 需求分析
市面上考試系統(tǒng)的產(chǎn)品和研究很多,如張旭輝的基于Java語言和MySQL數(shù)據(jù)庫的在線考試系統(tǒng)[4],陳斌的基于人臉識別的智能混排考試管理系統(tǒng)[5],吳永輝的基于C/S模式的通用網(wǎng)絡(luò)考試系統(tǒng)[6],任紅云的基于云計(jì)算的考試系統(tǒng)[7]等,這些系統(tǒng)對計(jì)算機(jī)配置的要求較高,不適用于經(jīng)濟(jì)落后地區(qū)機(jī)房硬件配置低的學(xué)校,這類學(xué)校的考試系統(tǒng)的需求是:
1)教師機(jī)、學(xué)生機(jī)的硬件配置要求低。很多學(xué)校教師機(jī)的配置與學(xué)生機(jī)是一樣的,因此學(xué)校需要的考試系統(tǒng)不僅要求在低配的學(xué)生機(jī)能運(yùn)行,在教師機(jī)同樣也不能要求配置太高。
2)監(jiān)考人員的操作需簡單。普通的期末考試監(jiān)考人員是隨機(jī)安排的,因此系統(tǒng)應(yīng)操作簡單,不需培訓(xùn)即能使用。
3)啟動快。有監(jiān)考過網(wǎng)絡(luò)考試的教師應(yīng)該有體會,有的考試系統(tǒng)功能強(qiáng)大,但是需要在服務(wù)器做很多的部署工作,如安裝啟動應(yīng)用服務(wù)器、安裝啟動數(shù)據(jù)庫服務(wù)器、導(dǎo)入數(shù)據(jù)、配置、導(dǎo)出數(shù)據(jù)等,會帶來很高的時間成本。
3 系統(tǒng)設(shè)計(jì)
3.1 系統(tǒng)體系架構(gòu)
在局域網(wǎng)環(huán)境下,可選的體系架構(gòu)可以是C/S架構(gòu)也可以是B/S架構(gòu),目前市場上的考試系統(tǒng)兩者皆有。
C/S(Client/Server)架構(gòu),即客戶機(jī)/服務(wù)器架構(gòu),是成熟的軟件系統(tǒng)體系結(jié)構(gòu)。客戶機(jī)和服務(wù)器都需要安裝軟件,計(jì)算任務(wù)通常合理地分配到客戶端和服務(wù)器,降低了系統(tǒng)的通訊開銷和服務(wù)器開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢[8]。
B/S(Browser/Server)架構(gòu),即瀏覽器/服務(wù)器架構(gòu),是隨著Internet技術(shù)的興起,對C/S架構(gòu)的改進(jìn)??蛻魴C(jī)不需要安裝軟件,用戶界面通過瀏覽器實(shí)現(xiàn),客戶機(jī)一般不做或做極少量的業(yè)務(wù)處理,主要的事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重[8]。
本系統(tǒng)采用的是C/S架構(gòu),原因如下:
1)需對學(xué)生的行為做一些限制,以防止作弊。如:限制使用U盤、限制通訊軟件、限制上網(wǎng)、限制切換窗口、限制復(fù)制粘貼等。這些功能在C/S的客戶端軟件可以輕松實(shí)現(xiàn),但在瀏覽器中不容易實(shí)現(xiàn)。
2)C/S的客戶端可分擔(dān)服務(wù)器的部分功能。C/S的客戶端有較高的安全性,不容易泄露數(shù)據(jù)或被篡改,因此可以將服務(wù)器的部分功能分?jǐn)偟綄W(xué)生機(jī),以減少服務(wù)器的計(jì)算壓力,例如客觀題的評分。
3)C/S的客戶端可方便實(shí)現(xiàn)存取本地文件、屏幕截圖等功能。有些課程考試需要上傳文件或?qū)ζ聊唤貓D作為評分依據(jù)。
4)客戶端軟件的交互性遠(yuǎn)超于瀏覽器的Web頁面,讓學(xué)生不必浪費(fèi)在頁面等待中。
5)通信量低。對于一些老舊機(jī)房,網(wǎng)速差、教師機(jī)配置不夠高,使用C/S架構(gòu)減少通信量可以降低網(wǎng)絡(luò)負(fù)載和教師機(jī)的并發(fā)處理。
3.2 開發(fā)工具選擇
開發(fā)C/S架構(gòu)可選的開發(fā)工具很多,如經(jīng)典的Java、C#、C++、Delphi、Python,新秀產(chǎn)品有QT、Electron、NW.js等。結(jié)合學(xué)校的需求,選型應(yīng)考慮以下因素:
1)基于Windows系統(tǒng)。除了一些特殊專業(yè)的機(jī)房,高校機(jī)房里大多數(shù)安裝的是Windows系統(tǒng),因此系統(tǒng)要求運(yùn)行的平臺是Windows系統(tǒng)。
2)盡可能少的底層依賴。由于考試時分配的機(jī)房是未知的,不能保證計(jì)算機(jī)里的配套軟件是符合要求的,因此應(yīng)盡量地對底層少依賴或不依賴。Java、Python都需安裝運(yùn)行,C#需要安裝.net環(huán)境,可以排除這幾種語言。
3)要求單文件、尺寸小。在考試場景下,應(yīng)盡量簡化學(xué)生的操作。無須安裝、單文件的程序,學(xué)生可快速進(jìn)入考試、減少出錯概率;教師機(jī)下發(fā)軟件也是個耗時的工作,例如用紅蜘蛛網(wǎng)絡(luò)教室軟件在50臺學(xué)生機(jī)的機(jī)房分發(fā)一個100M的文件,需要幾十分鐘,給監(jiān)考工作帶來不便。QT、Electron、NW.js發(fā)布后會帶有一系列依賴文件,發(fā)布的文件總大小也超過一百兆,因此可以排除這幾個工具。
剩下可選的有C++和Delphi,這兩種工具都可以開發(fā)出單文件、無依賴、小尺寸的軟件,但相對而言Delphi比C++更簡潔更快速,因此最終選擇Delphi作為開發(fā)工具。
3.3 系統(tǒng)功能
系統(tǒng)分為三個模塊,分別為管理端、監(jiān)考端、學(xué)生端。主要功能為:
1)管理端。試題管理、評分、報(bào)表生成、成績分析。
2)監(jiān)考端。發(fā)送監(jiān)考信號、接收狀態(tài)信息、修改端口。
3)學(xué)生端。考試、修改密碼、發(fā)送狀態(tài)信息。
管理端在教師的計(jì)算機(jī)上運(yùn)行,教師設(shè)計(jì)好試卷后,導(dǎo)出加密的試題文件;考試結(jié)束后,管理端導(dǎo)入答題文件,教師進(jìn)行批改。監(jiān)考端和學(xué)生端運(yùn)行在機(jī)房的局域網(wǎng)環(huán)境下,啟動后自動檢測、驗(yàn)證試題文件。監(jiān)考端發(fā)送開考、結(jié)束的指令以控制考試時間,學(xué)生端在考試期間會發(fā)送已完成的題目數(shù)量信息到監(jiān)考端,以讓監(jiān)考教師了解整體進(jìn)度。系統(tǒng)架構(gòu)如圖1。
4 詳細(xì)設(shè)計(jì)
4.1 管理端設(shè)計(jì)
管理端用于教師管理所有系統(tǒng)數(shù)據(jù),包括試卷管理、導(dǎo)入答題文件、批改試卷、統(tǒng)計(jì)報(bào)表、成績分析等功能。
1)試卷管理模塊
①查看試卷。該功能顯示試卷的試題、參考答案、分值、分?jǐn)?shù),以供教師查看、導(dǎo)出歸檔。刪除試卷也在此模塊下。
②編輯試卷。試題采取固定三級分類的方式,一級題需設(shè)置標(biāo)題、題目類型、是否亂序、三級題分值、三級題數(shù)量、抽題數(shù)量;二級題需設(shè)置內(nèi)容、參考答案,二級題是學(xué)生真正要作答的題目;三級題實(shí)際上是學(xué)生的作答,不需要設(shè)置。
“題目類型”包括單選、多選、填空、簡答。單選、多選、填空這幾類客觀題可設(shè)置自動評分;多選題可設(shè)置為部分正確得一半分,如正確答案為ABCD,那么學(xué)生選擇了AB、BC也能獲該題的一半分?jǐn)?shù);填空題的參考答案可填寫多個,學(xué)生的回答與其中一個匹配即可得分,填空題可勾選是否忽略大小寫;簡答題需手動評分。
“是否亂序”是指二級題的順序是否隨機(jī),以避免學(xué)生相互對答案?!俺轭}數(shù)量”是指抽二級題的數(shù)量。
③導(dǎo)出試卷。導(dǎo)出試卷可選擇要導(dǎo)出的題目、填寫端口號。導(dǎo)出題目可選是為了導(dǎo)出多套不重合的試卷,例如同一個考試多個班的考試時間不一樣,為了防止學(xué)生漏題,可導(dǎo)出多套試卷避免作弊。端口號是用于監(jiān)考端與學(xué)生端通信用的端口,一般默認(rèn)即可,但為了防止默認(rèn)端口被其他軟件占用,可以修改成另一個端口號。監(jiān)考端也提供了修改端口號的功能,以讓監(jiān)考教師也可在遇到端口被占用時修改。
2)答題文件導(dǎo)入模塊
考試結(jié)束后,教師收集學(xué)生的答題文件,在管理端導(dǎo)入數(shù)據(jù)庫。流程如下:
①獲取答題文件信息,包括考試編號、文件名、學(xué)號、班級、姓名。
②校驗(yàn)。校驗(yàn)是否能解密,答題文件是加密的,如果文件被篡改,會出錯而不能讀取;根據(jù)考試編號、學(xué)號,比對數(shù)據(jù)庫是否已有此文件;檢測所選文件中是否有重復(fù),學(xué)生提交考試時,經(jīng)常會出現(xiàn)重復(fù)提交的情況(文件名不同),因此入庫前需檢測此問題。
③系統(tǒng)自動將解密錯誤的文件設(shè)置為不可選、已入庫和重復(fù)的文件設(shè)置為未選中(但教師仍然能手工勾選),由教師決定是否入庫,同一個考試的同一個學(xué)生的文件,后入庫的覆蓋先入庫的。
3)試卷批改模塊
試卷批改是系統(tǒng)的核心功能之一,本系統(tǒng)采用雙重批改模式,即先自動再手動。自動批改只能批改客觀題,手動批改可以批改所有題型。
試卷批改窗口分左右兩欄,左側(cè)為主區(qū)域,顯示答題內(nèi)容,右側(cè)為批改工具欄。
主區(qū)域由TWebBrowser控件實(shí)現(xiàn),系統(tǒng)根據(jù)搜索條件加載數(shù)據(jù)庫里的記錄后,動態(tài)生成html代碼,再加載到TWebBrowser里顯示。
工具類由上下兩部分組成,上部為搜索條件,可篩選考試名稱、題目、分?jǐn)?shù)范圍、姓名。分?jǐn)?shù)范圍可以選擇“所有”“未評”“分?jǐn)?shù)區(qū)間”。
下部為打分欄,包括選擇工具、分?jǐn)?shù)設(shè)置。選擇工具可以選擇匹配某答案、清除選擇;分?jǐn)?shù)設(shè)置包括滿分、0分、某分、設(shè)置為未評。
4)統(tǒng)計(jì)報(bào)表模塊
統(tǒng)計(jì)報(bào)表模塊可統(tǒng)計(jì)單次考試和所有考試。單次考試顯示考試的各題明細(xì),所有考試僅顯示總分。
4.2 監(jiān)考端設(shè)計(jì)
監(jiān)考端是提供給監(jiān)考教師使用的,監(jiān)考教師通常隨機(jī)指派的,設(shè)計(jì)的原則是步驟少、操作直觀、時間短。監(jiān)考端的功能有:
1)控制功能。如果采用B/S架構(gòu),需要教師安裝數(shù)據(jù)庫、Web服務(wù)器、應(yīng)用服務(wù)器,部署項(xiàng)目,不僅操作復(fù)雜,還需要提前一個小時準(zhǔn)備。本系統(tǒng)僅需教師運(yùn)行軟件,一鍵啟動考試一鍵結(jié)束考試,無須部署。
2)考試狀態(tài)查看。監(jiān)考端接收學(xué)生機(jī)的狀態(tài)信息,可全覽整個班的考試狀態(tài),查看每位同學(xué)的考試進(jìn)度。
3)修改通訊端口。監(jiān)考端與學(xué)生端是通過UDP協(xié)議通訊的,因此對網(wǎng)絡(luò)的要求非常低,速度也更快,端口號從考題文件里讀取。監(jiān)考端啟動時,自動檢測端口是否被占用,如果被占用則提示教師修改端口號。
4.3 學(xué)生端設(shè)計(jì)
考試前教師通過網(wǎng)絡(luò)教學(xué)軟件如紅蜘蛛教學(xué)軟件將學(xué)生端軟件及考題文件發(fā)放給學(xué)生。
1)登錄。學(xué)生端啟動后,會檢測同層文件夾下是否有考題文件,如果沒有或有多個考題文件,系統(tǒng)不允許登錄。初次登錄學(xué)生需輸入姓名、設(shè)置密碼,學(xué)生信息列表已經(jīng)集成在客戶端軟件里,只有在列表里的學(xué)生才能登錄。如果是第二次以上登錄,姓名不能輸入,學(xué)生需輸入第一次設(shè)置的密碼。
2)初始化。學(xué)生端啟動后,在設(shè)定好的端口持續(xù)監(jiān)聽監(jiān)考端的控制信息,收到開始考試的信號后,進(jìn)行初始化。初始化的內(nèi)容包括抽題、檢測綁定信息、綁定學(xué)生信息。
抽題僅在第一次啟動時執(zhí)行,是指根據(jù)配置隨機(jī)抽取特定數(shù)量的試題,并將試題次序打亂;檢測學(xué)生綁定信息時詢問監(jiān)考端,本機(jī)輸入的姓名是否與之前綁定的一致,如不一致則不允許考試;如本機(jī)未綁定,則向監(jiān)考端發(fā)送姓名、計(jì)算機(jī)識別號以綁定學(xué)生信息。
3)考試。初始化之后,學(xué)生端進(jìn)入考試界面??荚嚱缑娣秩糠?,上部顯示學(xué)生姓名、學(xué)號、考試名稱信息,以及“修改密碼”“結(jié)束考試”按鈕。左側(cè)為導(dǎo)航樹,右側(cè)顯示題目內(nèi)容、題目控制工具欄。題目控制工具欄包括上一題、下一題的快捷按鈕,以及當(dāng)前已完成的數(shù)量。
4)導(dǎo)出。學(xué)生主動結(jié)束考試或系統(tǒng)收到結(jié)束考試信號后,系統(tǒng)將學(xué)生的答案加密導(dǎo)出到答題文件,以“學(xué)號+姓名”的規(guī)則命名答題文件。文件內(nèi)的信息有試卷信息、計(jì)算機(jī)識別號、學(xué)生信息、起始時間列表、答題內(nèi)容等。
5 結(jié)束語
本文實(shí)現(xiàn)的考試系統(tǒng),是在經(jīng)濟(jì)落后地區(qū)的高校機(jī)房配置不高的背景下,實(shí)現(xiàn)高效穩(wěn)定的網(wǎng)絡(luò)考試的解決方案,創(chuàng)新點(diǎn)有:
1)計(jì)算機(jī)硬件配置要求低。教師機(jī)僅要求運(yùn)行監(jiān)考端軟件,不需要服務(wù)器、數(shù)據(jù)庫,學(xué)生機(jī)僅要求運(yùn)行學(xué)生端軟件,即使是非常老舊的機(jī)房也毫無壓力。
2)網(wǎng)絡(luò)載荷低。教師機(jī)與學(xué)生機(jī)通過局域網(wǎng)通信的內(nèi)容僅有控制信號與狀態(tài)信息,每個通信包的大小僅十多個字節(jié)。
3)軟件極小,方便攜帶和傳輸。生成的監(jiān)考端軟件僅2.7M,學(xué)生端軟件2.6M,試題文件和答題文件僅幾十K左右。
4)操作簡單,上手即用。配置好參數(shù)后,監(jiān)考端僅需開始、結(jié)束操作,學(xué)生端需登錄、提交操作。
5)帶防作弊功能。通過隨機(jī)題目、綁定信息、記錄起始時間、一考多卷、禁止復(fù)制等功能減少考試作弊現(xiàn)象。
參考文獻(xiàn):
[1] 胡欽太,林曉凡,王姝莉.智慧教育驅(qū)動的教育系統(tǒng)革新[J].中國遠(yuǎn)程教育,2022(7):13-20,78.
[2] 趙英萍,毛玉萃.基于Java Web的在線考試管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識與技術(shù),2020,16(19):47-48,51.
[3] 呂曉東.在線考試系統(tǒng)中防作弊措施的應(yīng)用探討[J].科技風(fēng),2019(36):65.
[4] 張旭輝,郭華瑞.在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2022(6):13-14,35.
[5] 陳斌,吳小香,付銘,等.基于人臉識別的智能混排考試管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識與技術(shù),2022,18(13):43-44.
[6] 吳永輝.基于C/S模式的通用網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)和信息化教育,2022(3):91-94.
[7] 任紅云.基于云計(jì)算的考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].信息與電腦(理論版),2022,34(4):148-150.
[8] 許晏.C/S與B/S結(jié)構(gòu)的比較[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014,17(21):63-64.
【通聯(lián)編輯:謝媛媛】