創(chuàng)新者:張 欣
自習(xí)室空位智能查詢與預(yù)約系統(tǒng)的設(shè)計(jì)
創(chuàng)新者:張 欣
為解決占座導(dǎo)致自習(xí)室資料利用率不高,一座難求的問題,設(shè)計(jì)并實(shí)現(xiàn)用于高校自習(xí)室空位的管理在自習(xí)室空位智能查詢與預(yù)約系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了空位的查詢選擇、預(yù)約和確認(rèn)到座、取消預(yù)約等功能,并希望之后能夠進(jìn)一步實(shí)現(xiàn)添加好友,導(dǎo)入教務(wù)系統(tǒng)的課程安排的功能,并將確認(rèn)到座這一過程優(yōu)化。
現(xiàn)各大高校自習(xí)室資源不足的現(xiàn)象普遍存在,導(dǎo)致的占座現(xiàn)象尤為嚴(yán)重,造成了資源利用率不高,校園相關(guān)部門難以管理,而學(xué)生自習(xí)座位難找的問題。一些意識(shí)到此問題的高校也嘗試了各種方法。例如東南大學(xué)圖書館利用紅外接近檢測來檢測座位是否空閑,又如清華大學(xué)智能座位管理系統(tǒng)通過一卡通與圖書館門禁系統(tǒng)相結(jié)合來管理圖書館座位。由于圖書館的座位容量往往不能滿足廣大學(xué)生對(duì)自習(xí)座位的需求,所以本系統(tǒng)不同之處在于其主要針對(duì)自習(xí)室的系統(tǒng)管理,細(xì)化到每一個(gè)座位,并非僅局限于圖書館。另一點(diǎn)不同之處在于本系統(tǒng)對(duì)各高校的硬件條件并無特殊要求如一卡通或紅外線檢測儀器等,用于高校自習(xí)室空位的管理,降低了硬件成本。
自習(xí)室空位智能查詢與預(yù)約系統(tǒng)提供了自習(xí)室的空位數(shù)量顯示功能和自習(xí)預(yù)約功能,為避免預(yù)約之后并沒有人自習(xí)這一浪費(fèi)資源的現(xiàn)象,系統(tǒng)還提供了到座確認(rèn)的功能,未確認(rèn)的將取消預(yù)約信息。從而一定程度上消除長時(shí)間占座而無人使用的現(xiàn)象。此系統(tǒng)具有較好的普適性,管理員用戶可根據(jù)學(xué)校的具體情況對(duì)系統(tǒng)進(jìn)行設(shè)定。
自習(xí)室空位智能查詢與預(yù)約系統(tǒng)設(shè)定了兩類用戶,學(xué)生用戶和管理員用戶。
對(duì)于學(xué)生用戶,該系統(tǒng)統(tǒng)計(jì)了自習(xí)室每個(gè)座位有無人使用的情況,提供了實(shí)時(shí)查詢的功能,即查詢某一時(shí)刻,某自習(xí)室是否仍有空位,避免了同學(xué)們經(jīng)常去圖書館,卻發(fā)現(xiàn)沒有空位的情況,使同學(xué)用戶更方便的安排自己的學(xué)習(xí)計(jì)劃。該系統(tǒng)也提供了預(yù)約空位的功能。這一功能將自習(xí)室的座位使用情況分時(shí)間段安排,既保證了有預(yù)約的同學(xué)用戶的優(yōu)先使用權(quán),也保證了座位在其余空閑時(shí)間供不被白白浪費(fèi),給予其他人使用的權(quán)利,提高了座位資源的利用率。
管理員用戶主要負(fù)責(zé)對(duì)系統(tǒng)的數(shù)據(jù)進(jìn)行管理,比如哪些自習(xí)室可以開發(fā)預(yù)約,每個(gè)自習(xí)室的座位數(shù)量等。這使得校園有良好的秩序,有限的資源可滿足更多學(xué)生的需求,創(chuàng)造更好的學(xué)習(xí)環(huán)境。
系統(tǒng)功能模塊設(shè)計(jì)
自習(xí)室空位智能查詢與預(yù)約系統(tǒng)的目的是分教室,分時(shí)間段來對(duì)座位進(jìn)行合理分配。該款系統(tǒng)能統(tǒng)計(jì)每棟教學(xué)樓每個(gè)自習(xí)室的人數(shù)情況,并將數(shù)據(jù)返回給學(xué)生用戶。學(xué)生用戶可實(shí)時(shí)查詢某時(shí)段的自習(xí)室剩余座位,也可以提前預(yù)約該時(shí)間段某自習(xí)室的一空位,以安排自己的學(xué)習(xí)計(jì)劃。系統(tǒng)管理員可根據(jù)學(xué)校的自身情況開放自習(xí)室及圖書館閱覽室,管理學(xué)生預(yù)約座位的情況。
自習(xí)室空位智能查詢與預(yù)約系統(tǒng)的主要功能模塊結(jié)構(gòu)圖如下圖所示:
系統(tǒng)具體功能需求如下:
(1)學(xué)生和管理員注冊(cè)和登錄功能
在校學(xué)生有唯一的學(xué)號(hào),以此注冊(cè)系統(tǒng)用戶,設(shè)置登錄密碼。學(xué)生用戶將完善其信息,包括姓名、專業(yè)、年級(jí)。系統(tǒng)管理員也應(yīng)注冊(cè)系統(tǒng)用戶,設(shè)置登錄密碼。
(2)學(xué)生查詢自習(xí)室空位功能
學(xué)生用戶可選擇將要自習(xí)的時(shí)間段,根據(jù)選擇的時(shí)間段查詢有空位的自習(xí)室及該自習(xí)室的具體剩余空位。
(3)學(xué)生預(yù)約自習(xí)室空位功能及取消處理
學(xué)生用戶可根據(jù)系統(tǒng)反饋的空余座位信息進(jìn)自主選擇,并確認(rèn)預(yù)約信息。可臨時(shí)取消預(yù)約。
(4)預(yù)約處理功能
學(xué)生用戶在預(yù)約之后需在預(yù)約起始時(shí)間二十分鐘內(nèi)將座位編號(hào)進(jìn)行確認(rèn)到座,在設(shè)計(jì)時(shí),考慮到一些同學(xué)預(yù)約后不到,座位仍被閑置的問題,系統(tǒng)需將自動(dòng)取消此條預(yù)約信息,將座位狀態(tài)置為空閑以供其他用戶使用。為避免學(xué)生用戶忘記確認(rèn)而造成的系統(tǒng)誤刪預(yù)約信息情況,系統(tǒng)將在預(yù)約起始時(shí)間二十分鐘時(shí),發(fā)送推送消息,提醒確認(rèn)。
(5)管理員添加和刪除自習(xí)室功能
管理員可根據(jù)學(xué)校的具體情況,例如節(jié)假日或者某活動(dòng)占用教室等,更改自習(xí)室的開放情況,供學(xué)生查詢。
(6)管理員修改自習(xí)室容量功能
考慮到自習(xí)室的大小不一情況,管理員可以根據(jù)具體的自習(xí)室來修改該自習(xí)室的座位數(shù)量。
數(shù)據(jù)庫設(shè)計(jì)
數(shù)據(jù)庫作為系統(tǒng)服務(wù)器端的后臺(tái),分別用七張表存儲(chǔ)了學(xué)生用戶基本信息、管理員基本信息、用戶登錄信息、自習(xí)室基本信息、座位分時(shí)段基本信息、座位預(yù)約信息、課程安排信息。主要的三張表如下。
表1 座位分時(shí)段基本信息表
表2 課程安排信息表
表3 座位預(yù)約信息表
表1座位分時(shí)段基本信息表中預(yù)約Appointment為1表示空位,0表示已有預(yù)約。每個(gè)座位有唯一的座位編號(hào),并在相應(yīng)座位上可見,方便之后的確認(rèn)到座過程。
表2課程安排信息表用來設(shè)置自習(xí)室對(duì)學(xué)生用戶的開發(fā)時(shí)段,當(dāng)自習(xí)室有課程安排時(shí),表中Class=1,該時(shí)段的該自習(xí)室座位是不能被預(yù)約的。
學(xué)生用戶選擇自習(xí)時(shí)間后,系統(tǒng)將數(shù)據(jù)庫中表1座位分時(shí)段基本信息表、表2課程安排信息表連接,顯示出該時(shí)段有空位的自習(xí)室。學(xué)生用戶選擇自習(xí)室,并選定座位后,系統(tǒng)將修改表1相應(yīng)座位的信息為0,系統(tǒng)自動(dòng)在表3中添加一條預(yù)約信息記錄,完成預(yù)約。
學(xué)生用戶需在預(yù)約起始時(shí)間二十分鐘之內(nèi)(系統(tǒng)將提醒用戶)到座后手動(dòng)輸入座位上的唯一座位編號(hào)確認(rèn)到座,開始自習(xí),系統(tǒng)將表3座位預(yù)約信息表中Asure改為1。否則系統(tǒng)將默認(rèn)此條預(yù)約信息作廢,座位無人使用,并在表3座位預(yù)約信息表默認(rèn)刪除此條預(yù)約記錄,修改表1座位分時(shí)段基本信息表中的該座位信息為1。
該系統(tǒng)采用Java語言和B/S結(jié)構(gòu)。B/S結(jié)構(gòu)統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護(hù)和使用。此系統(tǒng)對(duì)交互性要求較高,需要進(jìn)行局部實(shí)時(shí)刷新,B/S結(jié)構(gòu)恰能滿足此要求。
下面介紹系統(tǒng)的三個(gè)主要模塊,分別為座位查詢預(yù)約、預(yù)約確認(rèn)或取消,修改自習(xí)室情況。
座位查詢預(yù)約模塊:根據(jù)學(xué)生用戶所選自習(xí)時(shí)間段反饋該時(shí)間段空閑的自習(xí)室,選定自習(xí)室后顯示該自習(xí)室空位的座位。通過使用處理預(yù)編譯語句的接口和PreparedStatement執(zhí)行帶參數(shù)的動(dòng)態(tài)SQL語句進(jìn)行動(dòng)態(tài)查詢。選定座位后,隨即可進(jìn)行預(yù)約。系統(tǒng)將修改表1相應(yīng)座位的信息Appointment為0,系統(tǒng)利用觸發(fā)器或者存儲(chǔ)過程實(shí)時(shí)在表3中添加一條預(yù)約信息記錄。定義一個(gè)觸發(fā)器,在表1座位分時(shí)段基本信息表中預(yù)約Appointment被修改為0時(shí),觸發(fā)以下過程:獲得學(xué)生信息與該座位信息,在表3座位預(yù)約信息表中添加一條記錄。
預(yù)約確認(rèn)或取消模塊:學(xué)生用戶在預(yù)約之后需在預(yù)約起始時(shí)間二十分鐘
內(nèi)將座位編號(hào)進(jìn)行確認(rèn)到座,否則系統(tǒng)將自動(dòng)取消此條預(yù)約信息,將座位狀態(tài)置為空閑以供其他用戶使用。定義一個(gè)定時(shí)觸發(fā)器,從表1座位分時(shí)段基本信息表中Appointment被修改為1時(shí)開始計(jì)時(shí),二十分鐘后,觸發(fā)以下過程:推送確認(rèn)到座消息提醒學(xué)生用戶,并確認(rèn)表3座位預(yù)約信息表中Asure是否為1,為0則刪除該條預(yù)約信息,并置表1座位分時(shí)段基本信息表中的相應(yīng)座位號(hào)為1。學(xué)生可臨時(shí)取消預(yù)約。表1座位分時(shí)段基本信息表中Appointment被修改為1時(shí),則觸發(fā)刪除表3座位預(yù)約信息表中相應(yīng)記錄的過程。學(xué)生用戶自習(xí)結(jié)束后,即其預(yù)約的時(shí)間結(jié)束后,系統(tǒng)將自動(dòng)置表1座位分時(shí)段基本信息表中的相應(yīng)座位號(hào)的Appointment為1。
修改自習(xí)室情況模塊:管理員用戶可對(duì)自習(xí)室的開發(fā)預(yù)約或關(guān)閉預(yù)約狀態(tài)進(jìn)行修改。置該自習(xí)室為不可預(yù)約狀態(tài)時(shí),在表1座位分時(shí)段基本信息表中select指定時(shí)間、指定自習(xí)室的記錄,并UPDATE表1 SET Appointment=0。不同的自習(xí)室可能有不同的座位數(shù)量,管理員也可以在表1座位分時(shí)段基本信息表中增添或刪除該自習(xí)室座位的記錄。
自習(xí)室空位智能查詢與預(yù)約系統(tǒng)既能解決長期以來大學(xué)里自習(xí)室占座,自習(xí)室利用效率不高等問題;節(jié)省了時(shí)間提高同學(xué)們的學(xué)習(xí)效率;規(guī)范了自習(xí)室秩序也營造了更良好的學(xué)習(xí)環(huán)境,以更加簡便和科學(xué)的辦法實(shí)現(xiàn)了自習(xí)室和圖書館的高效利用。
在實(shí)現(xiàn)該系統(tǒng)時(shí)對(duì)一些功能和操作都進(jìn)行了簡化,希望之后能夠進(jìn)一步實(shí)現(xiàn)對(duì)該系統(tǒng)的三個(gè)設(shè)想。第一,系統(tǒng)可以和學(xué)校的教務(wù)信息系統(tǒng)進(jìn)行信息交換,獲得教室的排課信息,以便于更有效地利用教室空位而不影響正常對(duì)教學(xué)。第二個(gè)設(shè)想是系統(tǒng)可根據(jù)學(xué)生基本信息表里的年級(jí)專業(yè)等提供添加好友等功能,可以查看好友的預(yù)約空位信息或者和好友一起預(yù)約相鄰座位。實(shí)現(xiàn)基本的聊天信息,自習(xí)之余還可以互相討論交流,提高了系統(tǒng)的用戶黏性。最后,每個(gè)座位上的座位編號(hào)可換成唯一的二維碼,學(xué)生用戶到座后掃碼即可將信息傳回系統(tǒng),無需手動(dòng)輸入座位編號(hào),簡化了學(xué)生用戶的操作過程。
10.3969/j.issn.1001-8972.2015.15.031