蔡俊鎧 廖曉芳 朱俊宇 方棟豪
摘要:該系統(tǒng)設(shè)計(jì)主要分為功能模塊的源代碼設(shè)計(jì)以及后臺(tái)數(shù)據(jù)庫的設(shè)計(jì)。使用的是HTML+CSS+JS進(jìn)行前臺(tái)頁面交互設(shè)計(jì),并通過PHP與MySQL的連接,構(gòu)建一個(gè)基于B/S模式下的WEB宿舍管理系統(tǒng)。該系統(tǒng)操作簡(jiǎn)易、實(shí)用性良好,在保持系統(tǒng)能夠正常運(yùn)行的前提下,能保證系統(tǒng)管理有效性以及提高管理效率。能有效幫助宿舍從業(yè)人員進(jìn)行宿舍管理,極大地提高工作人員的工作效率。
關(guān)鍵詞:B/S模式;宿舍管理系統(tǒng);效率
中圖分類號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)36-0060-04
1 背景
隨著社會(huì)高速發(fā)展,大學(xué)生數(shù)量日益增多,呈現(xiàn)增長(zhǎng)的趨勢(shì)。如何高效管理學(xué)生,成了學(xué)校教育工作者的一個(gè)重要任務(wù)。而宿舍是學(xué)生大學(xué)的住所,是學(xué)生學(xué)習(xí)和生活的主要場(chǎng)所。隨著互聯(lián)網(wǎng)的普及,校園網(wǎng)覆蓋日益完善,宿舍管理網(wǎng)絡(luò)化是必然的趨勢(shì)。但當(dāng)今許多宿舍管理仍然采用紙質(zhì)的形式,管理起來消耗大量的時(shí)間和精力,十分低效。比如:通知的傳遞性不強(qiáng),記錄物品遺失信息以及維修記錄仍然采用筆記和口頭通告的方式。因此在見識(shí)到宿舍管理的漏洞和不足之下,開發(fā)出一款能夠及時(shí)、有效的整理和記錄高校宿舍的相關(guān)信息的宿舍管理系統(tǒng)是十分有必要的。而且宿舍管理系統(tǒng)的出現(xiàn)能極大地減少人力、物力的使用,可以在保障信息傳遞效率和信息及時(shí)保存的安全性,更加方便了相關(guān)人員對(duì)信息、數(shù)據(jù)的查詢。因此,十分有必要利用計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),構(gòu)建一個(gè)宿舍管理系統(tǒng),對(duì)學(xué)生進(jìn)行科學(xué)有效的管理。
2 系統(tǒng)架構(gòu)及工具介紹
2.1 系統(tǒng)架構(gòu)介紹
本系統(tǒng)是基于PHP+MySQL的宿舍管理系統(tǒng),使用B/S架構(gòu),在WampServer環(huán)境進(jìn)行開發(fā)。通過瀏覽器訪問web服務(wù)器獲取到數(shù)據(jù)庫數(shù)據(jù)進(jìn)行添加、刪除、修改、查詢的操作。前端頁面的實(shí)現(xiàn)是通過HTML語言,由CSS語言進(jìn)行前端頁面美化設(shè)計(jì),而且為了用戶在移動(dòng)端查看顯示內(nèi)容,使用了BootStrap框架進(jìn)行兼容性設(shè)計(jì)。頁面與用戶進(jìn)行交互的是由JavaScript的框架JQuery完成。系統(tǒng)的后臺(tái)設(shè)計(jì)以及數(shù)據(jù)庫的連接是通過PHP完成的,為了保證數(shù)據(jù)的穩(wěn)定和正確性,使用了大量的邏輯條件判斷。
2.2 相關(guān)技術(shù)與軟件介紹
1)WampServer集成環(huán)境:WampServer是由Apache服務(wù)器和php環(huán)境以及MySQL數(shù)據(jù)庫組成的集合包,支持中文,安裝簡(jiǎn)單快捷,一步搭建本地環(huán)境,而且可以通過phpMyAdmin網(wǎng)頁頁面管理MySQL數(shù)據(jù)庫。
2)Microsoft VS Code編輯器:VsCode是微軟開發(fā)的編輯器,占用小,界面設(shè)計(jì)好,程序、系統(tǒng)調(diào)試方便快捷,支持多文件格式訪問,插件豐富,提高開發(fā)效率。
3)MySQL數(shù)據(jù)庫:是web程序中最方便快捷易上手的數(shù)據(jù)庫之一,搭建簡(jiǎn)單,數(shù)據(jù)一般存儲(chǔ)在不同的表內(nèi),十分易于訪問和管理。
4)PHP語言:PHP是服務(wù)器執(zhí)行的腳本語言,是常見的網(wǎng)站編程語言,適用于WEB開發(fā),函數(shù)封裝方便,可以與許多主流數(shù)據(jù)庫輕松建立連接,易于學(xué)習(xí),應(yīng)用十分廣泛。
3 系統(tǒng)的分析與設(shè)計(jì)
系統(tǒng)的分析主要分為兩種,一種是需求分析,需求分析的意義在于能更快地把這個(gè)系統(tǒng)的架構(gòu)邏輯都梳理清楚,另一種是功能分析,功能分析的意義在于分析如何更快地處理整個(gè)系統(tǒng)的細(xì)枝末節(jié)部分。系統(tǒng)的設(shè)計(jì)也分為兩類,一類是數(shù)據(jù)庫的設(shè)計(jì),主要用于更好地建立系統(tǒng)的數(shù)據(jù)之間的連接關(guān)系,而另一類是系統(tǒng)的流程圖設(shè)計(jì),流程圖能更好地展示系統(tǒng)功能的整個(gè)過程。
3.1 需求分析
基于PHP+MySql的宿舍管理系統(tǒng)具有四個(gè)用戶權(quán)限,分別是學(xué)生、老師、宿管以及系統(tǒng)管理員。他們使用各自擁有的權(quán)限對(duì)系統(tǒng)進(jìn)行操作,通過權(quán)限分管可以讓系統(tǒng)交互性更好,安全性更高以及能有更好的效率運(yùn)行。需求權(quán)限如圖1所示:
3.2 功能分析
1)學(xué)生端功能
學(xué)生端中學(xué)生可在網(wǎng)頁端中享受到以下服務(wù):(包括但不限于)學(xué)生可以申請(qǐng)寢室的調(diào)換,自主報(bào)修宿舍設(shè)施,進(jìn)行樓層群體討論、娛樂以及接收通知,以及接收到宿管或者學(xué)院老師推送的各種通知事宜等服務(wù)。
2)老師端功能
老師端可通過管理員下發(fā)的賬號(hào)到網(wǎng)站進(jìn)行登錄操作,對(duì)所屬管轄范圍內(nèi)的學(xué)生群體進(jìn)行管理操作,收發(fā)來自宿管的通知,接收學(xué)生的申請(qǐng)請(qǐng)求,以及發(fā)送重大通知到學(xué)生群體中。
3)宿管端功能
宿管端中宿舍管理員可以自主登錄學(xué)校提供的賬號(hào),系統(tǒng)自動(dòng)綁定所屬管轄的宿舍棟數(shù),并且可以接收到學(xué)生的報(bào)修信息、申請(qǐng)信息以及其他信息等,與此同時(shí),宿舍管理員還可以查詢到學(xué)生所屬宿舍號(hào),所屬專業(yè)等個(gè)人信息,并且可以與門禁系統(tǒng)接入,及時(shí)了解到學(xué)生的出入情況,還需把學(xué)生寢室調(diào)換申請(qǐng)信息上報(bào)到學(xué)生所屬學(xué)院的輔導(dǎo)員或書記處進(jìn)行審批,接收來自老師的通知。
4)管理員功能
管理員對(duì)數(shù)據(jù)庫進(jìn)行維護(hù),保持系統(tǒng)的正常運(yùn)行,并且對(duì)老師、宿管進(jìn)行賬號(hào)的注冊(cè)與刪除,對(duì)學(xué)生數(shù)據(jù)進(jìn)行Excel表格的批量添加,以及一鍵刪除操作。以及對(duì)通知、討論帖子進(jìn)行刪除操作。
3.3 數(shù)據(jù)庫設(shè)計(jì)
通過分析系統(tǒng)需求以及劃分功能模塊圖,在數(shù)據(jù)庫中設(shè)計(jì)了10張表:
1)學(xué)生表:用于保存學(xué)生注冊(cè)時(shí)填寫的信息,包括表id、學(xué)號(hào)、姓名、性別、宿舍號(hào)、手機(jī)號(hào)碼、身份證號(hào)碼、所屬學(xué)院、所屬專業(yè)、入學(xué)年份。
2)宿管表:用于登記宿管個(gè)人信息,包括表id、工號(hào)、姓名、身份證號(hào)碼、手機(jī)號(hào)、所屬宿舍棟數(shù)、登錄密碼。
3)老師表:用于登記老師個(gè)人信息,包括表id、工號(hào)、姓名、性別、身份證號(hào)碼、手機(jī)號(hào)、所屬學(xué)院、登錄密碼。
4)管理員表:管理員登錄信息,包括表id、用戶名以及密碼。
5)宿舍表:存儲(chǔ)所有宿舍的住人情況,包括表id,棟數(shù)、樓層數(shù)、宿舍號(hào)以及狀態(tài)(“未住人”, “已住人”)。
6)申請(qǐng)表:用于學(xué)生進(jìn)行調(diào)換宿舍以及設(shè)備報(bào)修的申請(qǐng)、包括表id、申請(qǐng)標(biāo)題、申請(qǐng)內(nèi)容、學(xué)生學(xué)號(hào)、申請(qǐng)狀態(tài)(“已審閱”,“未審閱”)、提交時(shí)間。
7)通知表:用于用戶群體收發(fā)通知,包括表id,發(fā)送人信息、發(fā)送標(biāo)題、發(fā)送內(nèi)容、接收者信息、發(fā)送時(shí)間。
8)學(xué)生詳細(xì)信息表:用于批量上傳學(xué)生詳細(xì)信息,包括表id、姓名、性別、生日、身份證號(hào)、家庭地址、畢業(yè)中學(xué)、所屬學(xué)院、所屬專業(yè)、入學(xué)年份、相片。
9)帖子詳情表:用于學(xué)生討論發(fā)布的帖子詳情內(nèi)容,包括表id、帖子標(biāo)題、帖子內(nèi)容、發(fā)布時(shí)間、發(fā)布人信息。
10)回復(fù)帖子表:用于回復(fù)帖子內(nèi)容,包括表id、回復(fù)內(nèi)容、回復(fù)者信息、樓層數(shù)、回復(fù)時(shí)間。
3.4 流程圖設(shè)計(jì)
1)登錄功能設(shè)計(jì)
在用戶群體進(jìn)入本系統(tǒng)后,會(huì)通過下發(fā)的賬號(hào)密碼進(jìn)行各個(gè)端口的界面登錄,在輸入賬號(hào)和密碼時(shí),若輸入的內(nèi)容和數(shù)據(jù)庫內(nèi)的信息匹配,則會(huì)跳至各個(gè)端口的主頁面,否則系統(tǒng)會(huì)提示用戶名或密碼錯(cuò)誤。
本系統(tǒng)的用戶登錄步驟流程圖如圖2所示:
2)討論功能設(shè)計(jì)
在學(xué)生登錄到主界面進(jìn)入討論頁面后,可以進(jìn)行自由發(fā)帖以及回復(fù)帖子,回復(fù)帖子中的樓層的操作。若回復(fù)的內(nèi)容不符合要求,則管理員可以刪除帖子。查看其他人或者自己發(fā)的有關(guān)學(xué)校時(shí)事、學(xué)校風(fēng)景、學(xué)校趣聞的內(nèi)容。
討論功能流程圖如圖3所示:
3)通知收發(fā)送功能設(shè)計(jì)
通知收發(fā)送功能在本系統(tǒng)中的三個(gè)用戶群體中均有使用,發(fā)送通知是通過Ajax連接數(shù)據(jù)庫獲取到需要發(fā)送的對(duì)象信息,然后輸入需要發(fā)送的內(nèi)容,點(diǎn)擊發(fā)送成功即可。接收通知?jiǎng)t是用戶登錄后可在相對(duì)應(yīng)的界面中找到近5天的具體通知信息。
通知收發(fā)送功能流程圖如圖4所示:
4)搜索管理用戶功能設(shè)計(jì)
搜索管理用戶功能是本系統(tǒng)最重要的功能之一,主要的實(shí)現(xiàn)是通過用戶選擇需要查找的信息類別,再輸入查找的內(nèi)容即可檢索到數(shù)據(jù)庫中的數(shù)據(jù),從而判斷是否能獲取到搜索結(jié)果。
搜索管理用戶功能流程圖如圖所示:
4 系統(tǒng)主要功能實(shí)現(xiàn)
本系統(tǒng)的主要功能的實(shí)現(xiàn)分為三大模塊,分別為數(shù)據(jù)庫的連接綁定、頁面的設(shè)計(jì)、交互邏輯的實(shí)現(xiàn)。
4.1 數(shù)據(jù)庫的連接
系統(tǒng)中使用MySQL 數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù),任何信息管理系統(tǒng)中,數(shù)據(jù)庫操作都是最核心的操作之一。其他操作需通過數(shù)據(jù)庫的基本操作才能進(jìn)行,瀏覽器訪問后臺(tái)的數(shù)據(jù)庫獲取數(shù)據(jù),經(jīng)處理后顯示給用戶。[1]此系統(tǒng)采用的是WampServer的環(huán)境,通過內(nèi)置的phpMyAdmin進(jìn)行數(shù)據(jù)庫的頁面式操作。而數(shù)據(jù)庫的連接是通過php語言的封裝函數(shù)實(shí)現(xiàn),通過封裝后的數(shù)據(jù)庫連接函數(shù)十分方便,可通過外部連入config.php,輸入當(dāng)前連接的數(shù)據(jù)庫名稱、角色名、密碼。
4.2 頁面設(shè)計(jì)
頁面設(shè)計(jì)主要采用的是HTML+CSS進(jìn)行頁面的美化設(shè)計(jì),通過設(shè)計(jì)圖進(jìn)行頁面布局,如圖6所示。頁面分為四個(gè)端:學(xué)生端、老師端、宿管端、管理員端,因?yàn)閳D片太多故只放首頁圖。實(shí)際通過代碼語言實(shí)現(xiàn)的頁面效果如圖7所示:
而且為了讓用戶體驗(yàn)更好,本系統(tǒng)采用了Ajax技術(shù),即通過JavaScript語言與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,可以讓網(wǎng)頁在不重新加載的前提下實(shí)現(xiàn)小部分內(nèi)容的異步更新,從而提高系統(tǒng)的使用質(zhì)量。
4.3 登錄后的緩存設(shè)計(jì)
為了保存用戶在注冊(cè)或者登錄后的緩存信息,本系統(tǒng)采用的是cookie的頁面緩存技術(shù)。在用戶進(jìn)行頁面登錄后,后臺(tái)通過cookie保存了登錄的賬號(hào)與密碼,但是保存的時(shí)長(zhǎng)規(guī)定為1小時(shí)。使用者可通過這個(gè)緩存技術(shù),在一小時(shí)內(nèi)自由登錄該網(wǎng)站而不需要進(jìn)行二次登錄。而且用戶如果想刪除這個(gè)cookie,可通過退出按鈕進(jìn)行退出。實(shí)現(xiàn)的操作是通過獲取比當(dāng)前時(shí)間time()函數(shù)還要前的時(shí)間進(jìn)行刪除。
5 測(cè)試
5.1 測(cè)試環(huán)境
在Chrome瀏覽器進(jìn)行測(cè)試,通過WampServer構(gòu)建本地Apache服務(wù)區(qū),進(jìn)入到本地域名進(jìn)行網(wǎng)站登錄測(cè)試。
5.2 測(cè)試步驟
在Chrome瀏覽器輸入網(wǎng)址,進(jìn)入登錄界面,進(jìn)行注冊(cè)/登錄操作。完成操作后,進(jìn)入主界面,在主界面中有討論區(qū)、娛樂游戲區(qū)、調(diào)換宿舍申請(qǐng)、宿舍報(bào)修申請(qǐng)的功能模塊選擇。完成既定的目標(biāo)后,退出系統(tǒng),完成此次操作。
6 結(jié)束語
在這次的系統(tǒng)設(shè)計(jì)中,出現(xiàn)了幾個(gè)難以解決的問題。比如學(xué)生端的討論區(qū)中,如何實(shí)現(xiàn)討論帖子中的樓中樓的邏輯思路。又或者是在管理員端中,如何通過Excel文件上傳,批量獲取其中的學(xué)生數(shù)據(jù)。這些問題困擾了許久,最終通過團(tuán)隊(duì)成員的努力,最終實(shí)現(xiàn)了系統(tǒng)的設(shè)計(jì),完成了預(yù)期的目標(biāo)。
本次系統(tǒng)設(shè)計(jì)也將會(huì)應(yīng)用于本校進(jìn)行投入使用,讓學(xué)校的宿舍管理更加方便、快捷。
參考文獻(xiàn):
[1] 胡子豪.學(xué)生宿舍管理系統(tǒng)分析與設(shè)計(jì)[J].信息與電腦(理論版),2018(21):82-83.
[2] 曾玉紅.基于B/S高校宿舍管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2018,14(36):60-62.
[3] 桑一梅,汝心怡.基于ThinkPHP的學(xué)生宿舍管理系統(tǒng)的開發(fā)[J].電腦知識(shí)與技術(shù),2019,15(25):52-53.
[4] 胡橙鳳.基于B/S架構(gòu)高校宿舍管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2020,16(6):61-62,69.
[5] 歐暢.宿舍管理系統(tǒng)的前端設(shè)計(jì)與實(shí)現(xiàn)[J].湖北農(nóng)機(jī)化,2020(2):186-187.
【通聯(lián)編輯:謝媛媛】