


關鍵詞:Java;圖書館閱覽室;座位管理
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2024)25-0048-03
0引言
近年來,隨著高等教育的普及,高校學生數量不斷增長,圖書館閱覽室作為學生自學的重要場所,其座位資源日益緊張。然而,閱覽室座位資源有限,座位增長率遠低于學生人數增長率,導致座位供需矛盾突出,“占座”現象屢禁不止[1]。尤其在考試前夕出現了“一座難求”的現象,甚至因霸座行為引發爭執,不僅影響學生學習效率,還加劇了座位資源與學生的供需矛盾。因此,設計開發一套圖書館閱覽室座位管理系統,實現座位資源的公平分配,提高利用率,并為學生營造良好的學習環境,具有重要的現實意義。
1 需求分析
為了保證座位管理系統的順利開發,須對系統的用戶劃分不同的角色,分析不同角色的流程和需求。閱覽室座位管理系統面向全體在校學生,因此系統的用戶角色可分為閱覽室的管理員和使用閱覽室的學生兩類。
1.1 管理員
1) 發布通知和公告,例如閱覽室開放時間、預約規則等。
2) 管理閱覽室座位,例如改變閱覽室布局、添加或刪除座位等。
3) 管理學生信息,例如查詢和更新讀者信息。
4) 接收和處理學生反饋的意見和建議。
1.2 學生
1) 查看管理員發布的通知和公告。
2) 進行座位預約、入座和離座操作。
3) 查詢個人信息,例如違規次數、預約歷史等。
4) 向管理員反饋意見和建議。
2 系統設計
2.1 功能模塊設計
根據系統的需求分析,座位管理系統采用B/S架構的Web應用模式,由登錄管理、公告管理、學生管理、座位管理、預約管理、意見管理和閱覽室管理7個功能模塊組成。總體功能模塊圖如圖1所示。
1) 登錄管理:系統采用統一身份認證平臺進行用戶登錄,實現單點登錄。管理員登錄后進入系統管理首頁,學生登錄后進入個人信息頁面,可查看個人信息、取消預約等。
2) 公告管理:管理員在公告欄發布閱覽室和座位預約的相關說明,如閱覽室開放時間和預約規則等。學生通過公告欄實時瀏覽這些信息。
3) 學生管理:管理員查詢參與座位預約的學生信息,修改提交申請學生的處罰信息,協助學生取消因故無法辦理入座的預約等。
4) 座位管理:管理員在座位管理模塊進行閱覽室布局的調整操作,如擴充新的閱覽室、添加或減少閱覽室座位、標記閱覽室開放區域等。
5) 預約管理:預約管理是整個系統的核心模塊,學生可在此查看所有閱覽室座位的預約情況,選擇適合自己的閱覽室、空閑座位、日期和時間段完成座位的預約操作。
6) 意見管理:學生就閱覽室的學習環境和布局通過意見欄向管理員提出建議或意見,管理員則給予相應的回復。
7) 閱覽室管理:預約的學生在規定的時間段到閱覽室辦理簽到入座和簽退離座操作。未預約的學生在閱覽室管理中現場申請簽到入座。管理員通過閱覽室管理的圖形界面實時查看閱覽室的上座率。
2.2 數據庫設計
數據庫作為一個系統的核心部分,其安全性是數據信息安全和隱私安全的保證。因此,本系統采用穩定、高效和安全的SQL Server 2019 Standard數據庫來存儲和管理系統使用的數據[2]。
數據庫設計須根據系統中的實體進行分析[3]。座位管理系統的實體包括管理員、學生、閱覽室的座位、學生的預約記錄、管理員發布的公告信息、學生提出的意見。實體間存在著多對多和1對多的關系,如管理員和學生之間是多對多的關系,管理員和公告信息之間是一對多的關系,如圖2所示。
實體由多個屬性組成,實體和屬性在數據庫中體現為數據表和字段的關系[4]。因此,座位管理系統涉及的主要數據表有:公告信息表(notice) 、學生信息表(user) 、座位信息表(seat) 、預約記錄表(order) 和意見表(opinion) 。
公告信息表(notice) 用于存儲管理員發布的公告信息,如表1所示。
學生的基本信息存儲在統一身份認證平臺,學生信息表(user) 只用來記錄學生在預約中的違規信息,如表2所示。
座位信息表(seat) 用來存儲閱覽室的座位信息,如表3所示。
預約記錄表(order) 用來存儲學生的座位預約信息,如表4所示。
意見表(opinion) 用來存儲學生提的意見和建議以及管理員的回復信息,如表5所示。
3 系統實現
系統采用MyEclipse 10 作為開發平臺,SQLServer 2019作為數據庫管理系統。后端采用Java語言,前端采用Vue.js框架。Vue.js是一款輕量級響應式JavaScript框架[5],能夠方便地構建用戶界面,并確保頁面在不同設備上的顯示效果。
座位管理系統提供了網上預約和現場申請兩種方式供學生使用閱覽室座位資源。學生可提前一天登錄管理系統網頁,確認允許預約后選擇閱覽室、時間段和“空閑”的座位進行預約操作。學生必須在預約規則規定的時間內到預約的閱覽室進行簽到辦理入座操作,否則會被判違規1次。違規累計3次,將進入7天的處罰期,在此期間禁止申請座位,系統同時對違規次數清零。當閱覽室有“空閑”座位時,學生可現場刷卡申請座位,經系統派位后入座。學生離開閱覽室時也須刷卡辦理離座操作,否則會被記錄違規。選擇“臨時離開”的,須在規定時間內返回并刷卡辦理重新入座操作。學生使用座位的業務流程如圖3所示。
座位管理系統的核心是預約管理模塊,主要代碼如下:
int et=c.getTime();
//獲取預約時間
if(ct>et&&ResStatus.equals("空閑"))
//當前時間大于預約時間且座位“空閑”,對預約
的學生和座位信息進行更新,座位恢復為無預約
狀態。
{
int flag=seatD.userupdateresR(Integer.parseInt(Re?cordID));
int flagseat=seatD.seatTimeNum();
seaD.userupdateS(Integer.parseInt(RecordID));
}
Calendar b=Calendar.getInstance();
try {
b.setTime(df.parse(TimeEnd));
} catch (ParseException e) {
e.printStackTrace();
}
int etime=b.geTime();
//當前時間大于預約時間且座位“忙碌”,對預約的學生和座位信息進行更新
if(ct>etime&&ResStatus.equals("忙碌"))
{
int flag=seatD.userupdataR2(Integer.parseInt(Recor?dID));
int flagseat=seatD.seatTimeNum();
seatD.userupdateS(Integer.parseInt(RecordID));
}
4 結束語
本文設計并實現了基于Java的圖書館閱覽室座位管理系統,該系統能夠有效解決閱覽室“占座”問題,實現座位資源的公平分配,提高座位利用率,為學生營造良好的學習環境,提升圖書館服務質量。