李云洪 許勛熠 趙泉 遼寧對(duì)外經(jīng)貿(mào)學(xué)院
前,教育方面也經(jīng)歷著同樣的考驗(yàn)。學(xué)校規(guī)模不斷擴(kuò)大,學(xué)生人數(shù)迅速增加,對(duì)圖書館的需求也在不斷增加。它造成了大量的圖書館,惡劣的環(huán)境和混亂的管理。該系統(tǒng)采用ThinkPHP5作為系統(tǒng)框架,TP框架作為PHP最常用的框架之一,可以解決很多需求,因?yàn)樗讓蛹軜?gòu),兼容處理,基類庫(kù),數(shù)據(jù)庫(kù)訪問層,模板引擎,緩存機(jī)制,插件機(jī)制,角色認(rèn)證,表單處理等常見組件,對(duì)于跨版本,跨平臺(tái)和跨數(shù)據(jù)庫(kù)遷移更方便。每個(gè)組件都經(jīng)過精心設(shè)計(jì)和完善,應(yīng)用程序開發(fā)過程只需要關(guān)注您的業(yè)務(wù)邏輯。
該系統(tǒng)的開發(fā)主要包括兩個(gè)方面:后端數(shù)據(jù)庫(kù)的建立,連接和維護(hù)以及前端網(wǎng)頁(yè)的開發(fā)。由于PHP的易用性,安全性等優(yōu)點(diǎn),本文采用PHP + MySQL的技術(shù)方法和規(guī)范的全局設(shè)計(jì)開發(fā)過程。用戶端采用 APP方式和本系統(tǒng)連接,開發(fā)軟件采用 Sublime_text3來(lái)編寫讀者信息管理系統(tǒng)。系統(tǒng)用戶權(quán)限分兩種:讀者和管理員,具有不同權(quán)限的用戶登錄到不同的操作頁(yè)面以執(zhí)行相應(yīng)的操作。
關(guān)鍵詞:ThinkPHP;圖書館管理;MySQL;PHP
目前國(guó)內(nèi)社會(huì)已經(jīng)有了很大的發(fā)展和進(jìn)步,很多工作已經(jīng)不局限于線下完成,借助著隨著互聯(lián)網(wǎng)的普及,利用網(wǎng)絡(luò)來(lái)進(jìn)行工作和學(xué)習(xí)已經(jīng)是大勢(shì)所趨,所以學(xué)校進(jìn)入信息管理時(shí)代也是必然的發(fā)展趨勢(shì)。目前各高校每年入學(xué)人數(shù)激增,校內(nèi)很多公共設(shè)施已經(jīng)人滿為患,例如圖書館的環(huán)境越來(lái)越差,座位不夠,環(huán)境不夠安靜,衛(wèi)生臟亂的現(xiàn)象屢見不鮮,對(duì)想自習(xí)的同學(xué)帶來(lái)了很大的影響。因此,圖書館自學(xué)管理系統(tǒng)的設(shè)計(jì)對(duì)學(xué)校來(lái)說是必要的。
圖書館自學(xué)管理信息系統(tǒng)的設(shè)計(jì)與開發(fā)是一項(xiàng)系統(tǒng)工程。具體設(shè)計(jì)原則如下:
1.2.1 實(shí)用性原則
因?yàn)楸鞠到y(tǒng)主要解決圖書館的混亂問題,所以在功能的實(shí)現(xiàn)上要滿足實(shí)際的需求,同時(shí)系統(tǒng)是為讀者和學(xué)校管理者提供,在業(yè)務(wù)方面和數(shù)據(jù)的處理方面也是重中之重,首先界面展示和操作的設(shè)計(jì)上要盡可能簡(jiǎn)潔,同時(shí)業(yè)務(wù)邏輯也要環(huán)環(huán)相扣,以便于讀者和管理人員使用。
1.2.2 可擴(kuò)展性與可維護(hù)性原則
由于互聯(lián)網(wǎng)一直在發(fā)展,所以為了適應(yīng)這個(gè)現(xiàn)狀,本系統(tǒng)需要有良好的擴(kuò)展性,同時(shí)也要便于維護(hù),否則會(huì)產(chǎn)生不必要的麻煩,所以在本系統(tǒng)的設(shè)計(jì)上,借助TP框架,要讓系統(tǒng)盡可能的模塊化,來(lái)提高系統(tǒng)的靈活性,并且可以適應(yīng)今后互聯(lián)網(wǎng)的發(fā)展。
1.2.3 安全可靠性原則
應(yīng)用軟件和數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)應(yīng)安全可靠,以防止非法用戶入侵和數(shù)據(jù)破壞。數(shù)據(jù)庫(kù)備份策略適用于防止災(zāi)難性事件。由于技術(shù)原因,本系統(tǒng)暫時(shí)沒有使用網(wǎng)絡(luò)防火墻,所以本次研究暫時(shí)不研究防火墻相關(guān)的內(nèi)容,但是會(huì)在日后的系統(tǒng)完善中進(jìn)行詳細(xì)的分析與設(shè)計(jì)。
1.2.4 用戶界面設(shè)計(jì)原則
界面的整體設(shè)計(jì)風(fēng)格必須符合圖形原理,用戶界面應(yīng)該直觀,有條理。實(shí)現(xiàn)“傻瓜式”設(shè)計(jì)方法,即易學(xué)易用,易于管理的原則。
1.2.5 數(shù)據(jù)庫(kù)設(shè)計(jì)原則
數(shù)據(jù)庫(kù)的設(shè)計(jì)首先要考慮兩個(gè)方面,第一是數(shù)據(jù)庫(kù)的完整性,第二是數(shù)據(jù)庫(kù)的安全性,兩個(gè)特性缺一不可。因?yàn)橐粋€(gè)好的數(shù)據(jù)庫(kù)設(shè)計(jì)需要有很好的正確性和兼容性,同時(shí)為了防止其他用戶惡意添加數(shù)據(jù)或者盜取數(shù)據(jù),本系統(tǒng)對(duì)數(shù)據(jù)庫(kù)采用了MD5加密等手段來(lái)提高數(shù)據(jù)庫(kù)的安全性。
2.1.1 開發(fā)技術(shù)
本系統(tǒng)采用ThinkPHP框架,ThinkPHP是為了簡(jiǎn)化企業(yè)級(jí)應(yīng)用開發(fā)和敏捷WEB應(yīng)用開發(fā)而誕生的。最早誕生于2006年初,2007年元旦正式更名為ThinkPHP,并且遵循Apache2開源協(xié)議發(fā)布。ThinkPHP從誕生以來(lái)一直秉承簡(jiǎn)潔實(shí)用的設(shè)計(jì)原則,在保持出色的性能和至簡(jiǎn)的代碼的同時(shí),也注重易用性。并且擁有眾多原創(chuàng)功能和特性,在社區(qū)團(tuán)隊(duì)的積極參與下,在易用性、擴(kuò)展性和性能方面不斷優(yōu)化和改進(jìn)。
2.1.2 運(yùn)行環(huán)境
表2.1 主機(jī)類型表
表2.2 軟件環(huán)境表
本系統(tǒng)一共分為5大模塊,分別是讀者模塊和管理員模塊,其中讀者模塊功能包括:注冊(cè)、登錄、查看座位信息、預(yù)約座位、就坐自習(xí)和個(gè)人信息查看。管理員模塊功能包括:讀者管理、座位管理和系統(tǒng)管理。
本系統(tǒng)架構(gòu)圖如圖3.1所示。
圖3.1 系統(tǒng)架構(gòu)圖
由圖3.1可知,本系統(tǒng)分為客戶端、服務(wù)端和數(shù)據(jù)庫(kù)三層??蛻舳丝晒┯脩粼L問,服務(wù)端又分為控制層、業(yè)務(wù)邏輯層、基礎(chǔ)服務(wù)層,包括參數(shù)解析和會(huì)話管理功能。業(yè)務(wù)邏輯層包括讀者管理、座位管理、系統(tǒng)管理?;A(chǔ)服務(wù)類包括時(shí)間服務(wù)與日期服務(wù)。數(shù)據(jù)端分為數(shù)據(jù)訪問層和數(shù)據(jù)存儲(chǔ)層,供系統(tǒng)調(diào)用數(shù)據(jù)使用。
系統(tǒng)ER圖如圖4.1所示。
由圖4.1可知,系統(tǒng)主要實(shí)體分為自習(xí)室實(shí)體、讀者實(shí)體、座位實(shí)體和黑名單實(shí)體。其中座位實(shí)體屬于自習(xí)室實(shí)體,讀者可以通過系統(tǒng)查看座位信息,并且可以在線預(yù)訂座位,每位讀者可以預(yù)定所有的座位,但是每次只能預(yù)定一個(gè)座位。讀者中途有事可以臨時(shí)離開,但是如果讀者中途離開超過30分鐘沒有歸位,會(huì)被系統(tǒng)列入黑名單中,同時(shí)該座位變成閑置座位,其他的讀者可以進(jìn)行預(yù)定和自習(xí)操作。進(jìn)了黑名單的讀者無(wú)法繼續(xù)預(yù)訂座位,管理員可以管理黑名單中的讀者信息,需要管理員將讀者從黑名單中移除才可以預(yù)訂座位。
圖4.1 系統(tǒng)ER圖
通過對(duì)領(lǐng)域?qū)ο蟆I(yè)務(wù)對(duì)象及對(duì)象間關(guān)聯(lián)的分析,對(duì)本系統(tǒng)的數(shù)據(jù)庫(kù)表進(jìn)行了設(shè)計(jì),如表4.1--表4.5所示。本系統(tǒng)數(shù)據(jù)庫(kù)管理采用MySQL,數(shù)據(jù)庫(kù)其中主要包括6個(gè)表,分別為讀者表、管理員表、座位表、自習(xí)室表、黑名單表和二維碼信息表。詳情請(qǐng)見下面的數(shù)據(jù)庫(kù)表。
讀者表主要用于保存讀者的信息,主要字段包括:讀者ID、用戶名、密碼和學(xué)號(hào)信息。其中讀者ID作為表的主鍵,可供其他的表進(jìn)行關(guān)聯(lián)。表結(jié)構(gòu)如表4.1所示。
表4.1 讀者信息表(user)
管理員表主要用于保存管理員信息,主要字段包括:管理員ID、用戶名和密碼。其中管理員ID為表的主鍵。表結(jié)構(gòu)如表4.2所示。。
表4.2 管理員表(admin)
黑名單表主要用于保存黑名單內(nèi)容,主要字段包括:ID、讀者ID、原因和時(shí)間。表結(jié)構(gòu)如表4.3所示。
表4.3 黑名單表(blacklist)
在線選座的主要流程為:讀者首先需要登錄本系統(tǒng),成功登錄系統(tǒng)后,選擇預(yù)訂座位模塊,系統(tǒng)處理讀者請(qǐng)求后從數(shù)據(jù)庫(kù)中調(diào)用出全部座位的信息展示給讀者,讀者根據(jù)喜好選擇作為,之后提交預(yù)訂申請(qǐng),系統(tǒng)將讀者的預(yù)訂申請(qǐng)保存到數(shù)據(jù)庫(kù)中,并展示預(yù)訂成功頁(yè)面。
添加座位的主要流程為:管理員登錄系統(tǒng)后,選擇添加座位模塊,系統(tǒng)會(huì)檢測(cè)該區(qū)域的座位是否已滿,如果已滿則提示該區(qū)域座位已滿,無(wú)法繼續(xù)添加,如果還有空位,則進(jìn)入到添加頁(yè)面,管理員填寫好座位編號(hào)和區(qū)域后,保存到數(shù)據(jù)庫(kù)中,前端可以接收到添加好的數(shù)據(jù)并展示給讀者,供讀者進(jìn)行座位預(yù)訂。
黑名單的主要流程為:讀者在自習(xí)途中如果中途離開座位,必須在30分鐘內(nèi)回歸,或者選擇離管選項(xiàng),否則超過30分鐘未歸,系統(tǒng)會(huì)將座位設(shè)置為空閑狀態(tài),該座位可被其他讀者預(yù)訂,同時(shí)將該讀者添加到黑名單中,添加到黑名單中的讀者無(wú)法預(yù)訂座位并且進(jìn)行自習(xí),需經(jīng)過管理員同意,將該讀者移出黑名單才可以繼續(xù)預(yù)訂座位。
經(jīng)過一個(gè)多月進(jìn)行的努力,終于完成了本篇論文,本系統(tǒng)的雖然在功能上的設(shè)計(jì)還不夠完善,但在這次圖書館自習(xí)管理系統(tǒng)的設(shè)計(jì)過程中也使我受益匪淺:第一在系統(tǒng)的設(shè)計(jì)過程中,必須要將理論和現(xiàn)實(shí)相結(jié)合,不能偏重于理論而忽略實(shí)際的開發(fā)效果,第二要明確系統(tǒng)的定位,在明確的定位后再進(jìn)行開發(fā),如果在開發(fā)過程中碰到了一些問題,還需要對(duì)系統(tǒng)進(jìn)行必要的調(diào)整,這樣的系統(tǒng)設(shè)計(jì)才不會(huì)出現(xiàn)大問題,這樣做還可以擴(kuò)展自己的知識(shí)面,從問題中學(xué)到解決方法,從整個(gè)設(shè)計(jì)過程中完善自己,提高自己。此外系統(tǒng)中還存在著一些不足之處,例如系統(tǒng)的安全性問題,由于技術(shù)原因暫時(shí)無(wú)法達(dá)到預(yù)期,暫時(shí)只對(duì)數(shù)據(jù)信息進(jìn)行MD5加密,沒有采用其他的加密措施,同時(shí)系統(tǒng)功能模塊較少,設(shè)計(jì)的不夠全面細(xì)致。這些問題會(huì)在日后的系統(tǒng)設(shè)計(jì)中得到修復(fù)。
通過這次的系統(tǒng)設(shè)計(jì),我了解到了系統(tǒng)設(shè)計(jì)的重要性和設(shè)計(jì)方法,同時(shí)借助書籍和資料,彌補(bǔ)了自己知識(shí)上的不足,面對(duì)日新月異的科技發(fā)展,自己應(yīng)該是主動(dòng)地接受并去適應(yīng)新的技術(shù),而不是被動(dòng)的等技術(shù)來(lái)配合自己的思想;應(yīng)該熟練的掌握一到兩門編程語(yǔ)言和開發(fā)技術(shù),是自己所學(xué)的理論知識(shí)能和實(shí)際操作有機(jī)地聯(lián)系起來(lái);光說不練、動(dòng)手能力差也是擺在自己面前的一大難題。在今后的學(xué)習(xí)中,我要努力的拓寬自己的知識(shí)面,不斷地補(bǔ)充自己的專業(yè)知識(shí),當(dāng)面對(duì)一個(gè)新的課題時(shí),自己積極思考,使該課題不再是空想,能在自己手中實(shí)現(xiàn)。