黃帥 李勤 李航宇 陳奇瀚 郭定棖 廖志超
摘 ?要:基于PHP語言的響應(yīng)式考場座位安排系統(tǒng)能使傳統(tǒng)考試安排更智能化,減輕了教務(wù)人員的壓力,降低考試出錯(cuò)和發(fā)生沖突的概率,學(xué)生能在線及時(shí)查看自己的考試信息,避免錯(cuò)過考試。教師也能方便地在線安排考試,只需選擇相對應(yīng)的考試對象的信息,系統(tǒng)就能安排考試座位。系統(tǒng)能快速地修改考試信息也能打印考試信息,提高了考試座位安排的效率,系統(tǒng)還能兼容各類電子設(shè)備并正常地顯示內(nèi)容,對線下考試工作提供了極大的便利。
關(guān)鍵詞:考試管理;座位安排;PHP
中圖分類號:TP311.5 ? 文獻(xiàn)標(biāo)識碼:A ? 文章編號:2096-4706(2023)16-0054-04
Design and Implementation of Responsive Seating Arrangement in
Examination Room System
HUANG Shuai, LI Qin, LI Hangyu, CHEN Qihan, GUO Dingcheng, LIAO Zhichao
(Wuchang Institute of Technology, Wuhan ?430065, China)
Abstract: The responsive seating arrangement in examination room system based on PHP language can make the traditional exam arrangement more intelligent, reduce the pressure of teaching staff, reduce the probability of errors and conflicts in the exam. The students can timely check their own exam information online, avoid missing the exam. The teachers can also conveniently arrange the exam online, just need to choose the information of the corresponding test object, then the system can arrange the exam seat. The system can quickly modify the exam information and print the exam information into a table, which improves the efficiency of the exam seat arrangement. The system can also be compatible with electronic devices of different screen sizes and display the content normally, which provides great convenience for the offline exam work.
Keywords: exam management; seating arrangement; PHP
0 ?引 ?言
如今,考試已是各大校園必備的一種檢驗(yàn)知識能力是否合格的一種方法。當(dāng)今時(shí)代,傳統(tǒng)的考試安排已經(jīng)不能滿足校園考試大量化的需求,需要智能化的考試安排系統(tǒng)接棒。傳統(tǒng)的考試安排會消耗大量的精力,出錯(cuò)率也較高。如果因?yàn)槟撤N特殊原因需要修改考試信息,學(xué)生也許不能及時(shí)得到最新的考場信息而延誤了考試。因此,開發(fā)一套智能化的考試安排系統(tǒng)是很有必要的。
本系統(tǒng)基于PHP實(shí)現(xiàn),開發(fā)本系統(tǒng)的目的是使考試安排變得便捷、易修改、無沖突,學(xué)生也能更快地查詢到最新的考試信息,幫助教務(wù)人員輕松地分配考場而無任何負(fù)擔(dān),響應(yīng)式設(shè)計(jì)能夠使網(wǎng)站針對不同設(shè)備環(huán)境進(jìn)行響應(yīng)和調(diào)整,實(shí)現(xiàn)同一個(gè)網(wǎng)站對多種終端設(shè)備的兼容。
1 ?系統(tǒng)設(shè)計(jì)
1.1 ?設(shè)計(jì)原則
本系統(tǒng)架構(gòu)是B/S架構(gòu),采用SSR(服務(wù)端渲染)模式,針對線下考試安排座位,該系統(tǒng)能在多平臺下運(yùn)行,通過CSS媒體查詢實(shí)現(xiàn)在屏幕大小尺寸不同的屏幕能夠?qū)崿F(xiàn)響應(yīng)式的調(diào)整布局,給用戶最佳的體驗(yàn)。本系統(tǒng)在Windows操作系統(tǒng)下開發(fā),主要采用JavaScript、PHP語言,MySQL數(shù)據(jù)庫和Bootstrap框架、Nginx服務(wù)器等技術(shù)實(shí)現(xiàn)。采用JavaScript、PHP和MySQL開發(fā)能使開發(fā)效率更高,此系統(tǒng)具有跨平臺性,不僅能在Windows下運(yùn)行也能在Linux下運(yùn)行。系統(tǒng)需要根據(jù)對應(yīng)的信息無沖突安排出考試座位。本系統(tǒng)主要分為兩端,一個(gè)是教師和管理員端,教師和管理員可以安排考試,管理員能限制教師的權(quán)限。學(xué)生端能查詢自己的考試信息,本系統(tǒng)查詢能多樣查詢,比如可以根據(jù)科目、考試時(shí)間、監(jiān)考老師查詢等,極大地方便了人工進(jìn)行篩選和查找。要解決考試時(shí)段的沖突問題,重點(diǎn)在于如何處理學(xué)生、科目、時(shí)間、考場、監(jiān)考教師之間多重的多對多聯(lián)系的復(fù)雜關(guān)系,從而得到一個(gè)最優(yōu)的組合。
1.2 ?需求分析
本系統(tǒng)主要分為三個(gè)角色,分別是學(xué)生、教師、管理員。每個(gè)角色的具體功能如下:學(xué)生:查詢考試信息;教師:考試信息管理,學(xué)生信息管理;管理員:教師和學(xué)生信息管理,教師權(quán)限管理,考試信息管理。
學(xué)生可以查詢考試的具體信息,比如考場、考試時(shí)間等。管理員對學(xué)生、教師、考試信息進(jìn)行管理,還能對教師操作權(quán)限做出限制。教師可以安排考試,選擇對應(yīng)的考試的班級,系統(tǒng)根據(jù)教師選擇的信息無沖突給學(xué)生安排座位。學(xué)生不僅能查詢到考試信息,該系統(tǒng)還需要有打印考試信息的功能,離線狀態(tài)也能查看。該設(shè)備還需是響應(yīng)式的,即在屏幕大小不同的設(shè)備下能正常地顯示內(nèi)容,模塊功能圖如圖1所示。
1.3 ?數(shù)據(jù)庫設(shè)計(jì)
此系統(tǒng)采用MySQL數(shù)據(jù)庫,共有12張表,分別是存儲院系信息、專業(yè)信息、年級信息、班級信息、考試科目信息、考試教室信息、監(jiān)考老師信息、考試信息、學(xué)生信息、教師信息、管理員信息、教師權(quán)限信息,在考試信息表中記錄了詳細(xì)的考試信息,學(xué)生信息、教師信息、管理員信息主要是儲存賬號、密碼、姓名,其他表是儲存與考試相關(guān)的基本信息。由于篇幅原因,下面列出有代表性的一張表,如表1所示。
2 ?系統(tǒng)的實(shí)現(xiàn)
2.1 ?登錄模塊
本系統(tǒng)登錄分為管理員登錄和師生登錄兩個(gè)模塊,管理員的賬號和密碼在安裝本系統(tǒng)時(shí)設(shè)定的,第一管理員還可以分配其他管理員的賬號和密碼。師生的賬號和密碼由管理員分配,教師也可以錄入新的學(xué)生賬號,賬號和密碼均成功時(shí)才可以登錄成功,身份驗(yàn)證采用COOKIE和SESSION的組合,登錄成功后,信息會在客戶端保存一段時(shí)間,在這段時(shí)間內(nèi),用戶可以免登錄進(jìn)入本系統(tǒng),如果用戶想要切換賬號,也可以先退出系統(tǒng),再重新登錄,用戶也能修改登錄密碼。學(xué)生登錄界面如圖2所示。
2.2 ?信息管理模塊
信息管理模塊分為基本信息錄入、學(xué)生信息錄入、教師信息錄入,管理員信息錄入,信息修改與刪除?;拘畔浫敕譃樵合敌畔?、年級信息、專業(yè)信息、班級信息、考試教室信息、考試科目信息、監(jiān)考老師信息,這為考試安排提供了基本的相關(guān)信息,支持多條信息錄入,每一條信息占一行。學(xué)生信息、教師信息、管理員信息是錄入賬號、密碼、姓名信息,學(xué)生信息錄入可以選擇院系、年級、專業(yè)、班級,年級和班級是必選項(xiàng),在錄入基本信息后,點(diǎn)擊相應(yīng)的選項(xiàng)按鈕后,相應(yīng)的信息就會顯示出來。在錄入密碼時(shí),如果密碼都一樣可以只輸入一個(gè)密碼,代表所有的賬號都使用這個(gè)密碼,也可以輸入多個(gè)相同的密碼(如果通過表格形式導(dǎo)入,表格里面只寫一個(gè)密碼,導(dǎo)入到密碼框可能是兩個(gè)密碼,需要把第二個(gè)空行給刪除,不然系統(tǒng)會提示其他賬號缺失密碼),信息錄好后點(diǎn)擊提交按鈕,如提示成功錄入的條數(shù)表示錄入成功,有些數(shù)據(jù)已經(jīng)存在數(shù)據(jù)庫也會提示信息重復(fù),有些特殊字符不能錄入也會有提示。信息錄入可以直接導(dǎo)入外部的表格文件,支持多個(gè)文件導(dǎo)入,也支持部分錄入,只需要把表頭寫正確就能導(dǎo)入成功,表頭可不分順序,比如表頭為年級、班級,也可以為班級、年級,如果只想錄入班級信息,也可以只寫班級。信息修改與刪除能對錄入成功的信息進(jìn)行操作,可按分類搜索查找具體信息進(jìn)行操作。學(xué)生信息錄入如圖3所示。
2.3 ?考試管理模塊
考試管理模塊主要分為考試隨機(jī)安排和考試查看模塊??荚囯S機(jī)安排先要選擇考試年級、考試班級、考試科目、考試教室、每間教室容納人數(shù)、每間教室監(jiān)考人數(shù)、考試時(shí)間、考試備注,系統(tǒng)才能根據(jù)錄入的信息進(jìn)行隨機(jī)安排,如圖4所示。系統(tǒng)先從選擇的考試年級和考試班級中獲取全部學(xué)生的信息,再把所有的學(xué)生信息放入一個(gè)數(shù)組中,再根據(jù)選擇的教室信息和每間教室容納的人數(shù)隨機(jī)生成座位號,放入另外一個(gè)數(shù)組,再通過數(shù)組隨機(jī)索引抽取,將兩個(gè)數(shù)組的數(shù)據(jù)進(jìn)行綜合,就能無沖突地為不同的學(xué)生匹配不同的座位號,系統(tǒng)也會根據(jù)每間教室監(jiān)考人數(shù)從數(shù)據(jù)庫中調(diào)用監(jiān)考老師的信息,并隨機(jī)為監(jiān)考老師分配考場,如果人數(shù)不足,系統(tǒng)也會有提示信息。點(diǎn)擊考試時(shí)間框或者點(diǎn)擊旁邊像日歷一樣的圖標(biāo)可以選擇時(shí)間,考試備注是選填的??荚嚥榭纯梢詾g覽所有的考試信息,搜索考試信息并可以刪除和修改考試信息,右上角打印功能能打印所有考試信息成為一個(gè)表格并下載下來。點(diǎn)擊每一項(xiàng)考試中的查看按鈕,也可以對每一場考試單獨(dú)打印詳細(xì)信息。
2.4 ?權(quán)限管理模塊
權(quán)限管理模塊主要是管理員對教師權(quán)限做出限制,如果用教師賬號登錄這個(gè)系統(tǒng),該模塊不會顯示,只有當(dāng)用管理員賬號登錄時(shí)該模塊才會顯示。管理員可以對教師六種權(quán)限做出管理,主要是對考試安排、考試刪除、考試修改、信息錄入、信息刪除、信息修改這些權(quán)限做出控制,如果管理員將某一項(xiàng)權(quán)限勾掉,那么教師就不能進(jìn)行這一操作。管理員不僅可以控制教師的權(quán)限,還可以直接修改教師和學(xué)生的信息,教師只能修改學(xué)生的信息,如圖5所示。總的來說管理員權(quán)限最高,其次是教師,然后是學(xué)生。
2.5 ?學(xué)生信息查詢模塊
學(xué)生信息查詢主要是學(xué)生登錄學(xué)生端,只有錄入成功的學(xué)生信息才可以登錄成功,對自己的考試進(jìn)行查詢,可以看到考試的相關(guān)信息比如考場、座位等,如圖6所示,也可以將考試信息打印下來,以便離線時(shí)觀看。學(xué)生端也能查看自己的基本信息,比如院系、專業(yè)、年級、班級等。
2.6 ?軟件安裝模塊
此程序首先需要搭建Web服務(wù)器,需要安裝PHP語言,版本要求7以上,需要安裝MySQL數(shù)據(jù)庫,版本要求5.7以上,需要安裝Nginx,版本要求1.15以上。將源程序目錄下所有文件上傳到服務(wù)器后,訪問/install/install.php,點(diǎn)擊下一步,如圖7所示,填寫數(shù)據(jù)庫相關(guān)信息,點(diǎn)擊連接,連接成功后再點(diǎn)擊下一步,創(chuàng)建表成功后,再點(diǎn)擊下一步(如果重新安裝,數(shù)據(jù)庫已經(jīng)存在表,會提示執(zhí)行失敗的條數(shù)但并不影響使用),設(shè)置管理員賬號、密碼和姓名,再點(diǎn)擊提交(如果重新安裝,數(shù)據(jù)庫已經(jīng)存在賬號,就不能填寫與原來相同的賬號,不然會提示服務(wù)器錯(cuò)誤,需要把原來的刪除或者輸入與原來不一樣的賬號),提交成功后會提示安裝成功,再點(diǎn)擊確定,會跳到后臺登錄頁面(安裝成功后會刪除install目錄下的lock.txt文件,如果需重新安裝,在install目錄下添加一個(gè)lock.txt文件即可)。
3 ?系統(tǒng)測試
本次測試對安排100人和1 000人考試進(jìn)行測試,結(jié)果如表2和表3所示。
從表2可以看出,多出10倍人數(shù),該系統(tǒng)只是多了將近1秒的時(shí)間,證明該系統(tǒng)效率高。從表3可以看出,該系統(tǒng)容錯(cuò)率高。
4 ?結(jié) ?論
本系統(tǒng)的開發(fā)有助于學(xué)校高效地對線下考試座位進(jìn)行安排,具有多平臺、多設(shè)備、易修改等特點(diǎn),解決了傳統(tǒng)安排考試的復(fù)雜、出錯(cuò)率高、耗時(shí)長等問題。系統(tǒng)還具有更多的研究意義,第一,比如線下考試時(shí),監(jiān)考老師可能連續(xù)監(jiān)考好幾場考試,會使監(jiān)考老師過于疲勞,對于學(xué)生也是如此,如果連續(xù)幾場考試安排在一起,學(xué)生也會很疲勞,系統(tǒng)未來可以嘗試解決這一考試安排密度問題。第二,如果系統(tǒng)修改了考試信息但學(xué)生沒有及時(shí)登錄系統(tǒng)進(jìn)行查看,會導(dǎo)致學(xué)生獲取到錯(cuò)誤的考試信息,未來可以嘗試解決這一問題,安排或者修改考試時(shí)需要及時(shí)通知到學(xué)生和學(xué)校各單位,以及在考試之前幾個(gè)小時(shí)之內(nèi)能提醒學(xué)生準(zhǔn)備考試。系統(tǒng)不僅要解決座位之間的沖突,也要解決每場考試之間的沖突,在同一時(shí)間段,同一學(xué)生只能擁有一場考試而不能在同一時(shí)間段擁有多場考試。第三,系統(tǒng)也可以增加線上考試功能,可以將題庫錄入系統(tǒng),規(guī)范考試的規(guī)則制度,完善系統(tǒng)的防作弊功能。第四,可以增加成績顯示功能,無論是線上還是線下考試,都能讓學(xué)生查到具體成績以及每一部分的詳細(xì)成績,能讓學(xué)生制定下一步的學(xué)習(xí)目標(biāo)。第五,系統(tǒng)可以增加對每場考試的評價(jià)功能,比如考試題目難度等級,學(xué)生可以實(shí)名或匿名的方式進(jìn)行評價(jià),監(jiān)考老師也可以及時(shí)評價(jià)該場考試的紀(jì)律,然后將所有的評價(jià)進(jìn)行分析,以可視化的圖表形式呈現(xiàn)出來。此外,信息錄入、考試安排效率、頁面布局以及兼容性等方面還有待進(jìn)一步優(yōu)化,系統(tǒng)架構(gòu)也有待升級。總的來說,該系統(tǒng)現(xiàn)有功能和未來擴(kuò)展功能都是很有應(yīng)用價(jià)值的。
參考文獻(xiàn):
[1] 謝路.基于Web的考務(wù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [J].福建電腦,2019,35(1):136-137.
[2] 張培培,呂震宇,閆海波.基于高??荚嚬芾砑?xì)化的排考系統(tǒng)研究與設(shè)計(jì) [J].中國教育信息化,2019(9):77-81.
[3] 尹麗禎,張德政,詹欽潮.基于教務(wù)排考系統(tǒng)的研究與設(shè)計(jì) [J].內(nèi)江科技,2020,41(1):45-46.
[4] 王志剛.高校智能排考系統(tǒng)的構(gòu)建 [J].西安工程大學(xué)學(xué)報(bào),2017,31(4):556-562.
[5] 楊瑞.基于.NET技術(shù)的在線考試系統(tǒng)研究與設(shè)計(jì) [J].電子設(shè)計(jì)工程,2013,21(24):37-39.
[6] 王勤,趙新冬.基于云計(jì)算的在線考試系統(tǒng) [J].計(jì)算機(jī)與現(xiàn)代化,2014(12):37-43.
[7] 鄒潤奇,魯麗萍.一類考場座位安排算法的研究 [J].計(jì)算機(jī)工程與設(shè)計(jì),2005(6):1514-1515.
[8] 李芳.中職學(xué)校在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].現(xiàn)代信息科技,2022,6(24):134-137.
作者簡介:黃帥(2001—),男,漢族,湖北武漢人,本科在讀,研究方向:軟件工程;通訊作者:李勤(1978—),女,漢族,湖北武漢人,副教授,碩士研究生,研究方向:計(jì)算機(jī)應(yīng)用技術(shù);李航宇(2001—),男,漢族,山西運(yùn)城人,本科在讀,研究方向:軟件工程;陳奇瀚(2001—),男,漢族,湖北漢川人,本科在讀,研究方向:軟件工程;郭定棖(2002—),男,漢族,福建福州人,本科在讀,研究方向:軟件工程;廖志超(2002—),男,漢族,湖北潛江人,本科在讀,研究方向:軟件工程。