李云洪 許勛熠 趙泉 遼寧對外經貿學院
前,教育方面也經歷著同樣的考驗。學校規模不斷擴大,學生人數迅速增加,對圖書館的需求也在不斷增加。它造成了大量的圖書館,惡劣的環境和混亂的管理。該系統采用ThinkPHP5作為系統框架,TP框架作為PHP最常用的框架之一,可以解決很多需求,因為它包含底層架構,兼容處理,基類庫,數據庫訪問層,模板引擎,緩存機制,插件機制,角色認證,表單處理等常見組件,對于跨版本,跨平臺和跨數據庫遷移更方便。每個組件都經過精心設計和完善,應用程序開發過程只需要關注您的業務邏輯。
該系統的開發主要包括兩個方面:后端數據庫的建立,連接和維護以及前端網頁的開發。由于PHP的易用性,安全性等優點,本文采用PHP + MySQL的技術方法和規范的全局設計開發過程。用戶端采用 APP方式和本系統連接,開發軟件采用 Sublime_text3來編寫讀者信息管理系統。系統用戶權限分兩種:讀者和管理員,具有不同權限的用戶登錄到不同的操作頁面以執行相應的操作。
關鍵詞:ThinkPHP;圖書館管理;MySQL;PHP
目前國內社會已經有了很大的發展和進步,很多工作已經不局限于線下完成,借助著隨著互聯網的普及,利用網絡來進行工作和學習已經是大勢所趨,所以學校進入信息管理時代也是必然的發展趨勢。目前各高校每年入學人數激增,校內很多公共設施已經人滿為患,例如圖書館的環境越來越差,座位不夠,環境不夠安靜,衛生臟亂的現象屢見不鮮,對想自習的同學帶來了很大的影響。因此,圖書館自學管理系統的設計對學校來說是必要的。
圖書館自學管理信息系統的設計與開發是一項系統工程。具體設計原則如下:
1.2.1 實用性原則
因為本系統主要解決圖書館的混亂問題,所以在功能的實現上要滿足實際的需求,同時系統是為讀者和學校管理者提供,在業務方面和數據的處理方面也是重中之重,首先界面展示和操作的設計上要盡可能簡潔,同時業務邏輯也要環環相扣,以便于讀者和管理人員使用。
1.2.2 可擴展性與可維護性原則
由于互聯網一直在發展,所以為了適應這個現狀,本系統需要有良好的擴展性,同時也要便于維護,否則會產生不必要的麻煩,所以在本系統的設計上,借助TP框架,要讓系統盡可能的模塊化,來提高系統的靈活性,并且可以適應今后互聯網的發展。
1.2.3 安全可靠性原則
應用軟件和數據庫系統設計應安全可靠,以防止非法用戶入侵和數據破壞。數據庫備份策略適用于防止災難性事件。由于技術原因,本系統暫時沒有使用網絡防火墻,所以本次研究暫時不研究防火墻相關的內容,但是會在日后的系統完善中進行詳細的分析與設計。
1.2.4 用戶界面設計原則
界面的整體設計風格必須符合圖形原理,用戶界面應該直觀,有條理。實現“傻瓜式”設計方法,即易學易用,易于管理的原則。
1.2.5 數據庫設計原則
數據庫的設計首先要考慮兩個方面,第一是數據庫的完整性,第二是數據庫的安全性,兩個特性缺一不可。因為一個好的數據庫設計需要有很好的正確性和兼容性,同時為了防止其他用戶惡意添加數據或者盜取數據,本系統對數據庫采用了MD5加密等手段來提高數據庫的安全性。
2.1.1 開發技術
本系統采用ThinkPHP框架,ThinkPHP是為了簡化企業級應用開發和敏捷WEB應用開發而誕生的。最早誕生于2006年初,2007年元旦正式更名為ThinkPHP,并且遵循Apache2開源協議發布。ThinkPHP從誕生以來一直秉承簡潔實用的設計原則,在保持出色的性能和至簡的代碼的同時,也注重易用性。并且擁有眾多原創功能和特性,在社區團隊的積極參與下,在易用性、擴展性和性能方面不斷優化和改進。
2.1.2 運行環境

表2.1 主機類型表

表2.2 軟件環境表
本系統一共分為5大模塊,分別是讀者模塊和管理員模塊,其中讀者模塊功能包括:注冊、登錄、查看座位信息、預約座位、就坐自習和個人信息查看。管理員模塊功能包括:讀者管理、座位管理和系統管理。
本系統架構圖如圖3.1所示。

圖3.1 系統架構圖
由圖3.1可知,本系統分為客戶端、服務端和數據庫三層。客戶端可供用戶訪問,服務端又分為控制層、業務邏輯層、基礎服務層,包括參數解析和會話管理功能。業務邏輯層包括讀者管理、座位管理、系統管理。基礎服務類包括時間服務與日期服務。數據端分為數據訪問層和數據存儲層,供系統調用數據使用。
系統ER圖如圖4.1所示。
由圖4.1可知,系統主要實體分為自習室實體、讀者實體、座位實體和黑名單實體。其中座位實體屬于自習室實體,讀者可以通過系統查看座位信息,并且可以在線預訂座位,每位讀者可以預定所有的座位,但是每次只能預定一個座位。讀者中途有事可以臨時離開,但是如果讀者中途離開超過30分鐘沒有歸位,會被系統列入黑名單中,同時該座位變成閑置座位,其他的讀者可以進行預定和自習操作。進了黑名單的讀者無法繼續預訂座位,管理員可以管理黑名單中的讀者信息,需要管理員將讀者從黑名單中移除才可以預訂座位。

圖4.1 系統ER圖
通過對領域對象、業務對象及對象間關聯的分析,對本系統的數據庫表進行了設計,如表4.1--表4.5所示。本系統數據庫管理采用MySQL,數據庫其中主要包括6個表,分別為讀者表、管理員表、座位表、自習室表、黑名單表和二維碼信息表。詳情請見下面的數據庫表。
讀者表主要用于保存讀者的信息,主要字段包括:讀者ID、用戶名、密碼和學號信息。其中讀者ID作為表的主鍵,可供其他的表進行關聯。表結構如表4.1所示。

表4.1 讀者信息表(user)
管理員表主要用于保存管理員信息,主要字段包括:管理員ID、用戶名和密碼。其中管理員ID為表的主鍵。表結構如表4.2所示。。

表4.2 管理員表(admin)
黑名單表主要用于保存黑名單內容,主要字段包括:ID、讀者ID、原因和時間。表結構如表4.3所示。

表4.3 黑名單表(blacklist)
在線選座的主要流程為:讀者首先需要登錄本系統,成功登錄系統后,選擇預訂座位模塊,系統處理讀者請求后從數據庫中調用出全部座位的信息展示給讀者,讀者根據喜好選擇作為,之后提交預訂申請,系統將讀者的預訂申請保存到數據庫中,并展示預訂成功頁面。
添加座位的主要流程為:管理員登錄系統后,選擇添加座位模塊,系統會檢測該區域的座位是否已滿,如果已滿則提示該區域座位已滿,無法繼續添加,如果還有空位,則進入到添加頁面,管理員填寫好座位編號和區域后,保存到數據庫中,前端可以接收到添加好的數據并展示給讀者,供讀者進行座位預訂。
黑名單的主要流程為:讀者在自習途中如果中途離開座位,必須在30分鐘內回歸,或者選擇離管選項,否則超過30分鐘未歸,系統會將座位設置為空閑狀態,該座位可被其他讀者預訂,同時將該讀者添加到黑名單中,添加到黑名單中的讀者無法預訂座位并且進行自習,需經過管理員同意,將該讀者移出黑名單才可以繼續預訂座位。
經過一個多月進行的努力,終于完成了本篇論文,本系統的雖然在功能上的設計還不夠完善,但在這次圖書館自習管理系統的設計過程中也使我受益匪淺:第一在系統的設計過程中,必須要將理論和現實相結合,不能偏重于理論而忽略實際的開發效果,第二要明確系統的定位,在明確的定位后再進行開發,如果在開發過程中碰到了一些問題,還需要對系統進行必要的調整,這樣的系統設計才不會出現大問題,這樣做還可以擴展自己的知識面,從問題中學到解決方法,從整個設計過程中完善自己,提高自己。此外系統中還存在著一些不足之處,例如系統的安全性問題,由于技術原因暫時無法達到預期,暫時只對數據信息進行MD5加密,沒有采用其他的加密措施,同時系統功能模塊較少,設計的不夠全面細致。這些問題會在日后的系統設計中得到修復。
通過這次的系統設計,我了解到了系統設計的重要性和設計方法,同時借助書籍和資料,彌補了自己知識上的不足,面對日新月異的科技發展,自己應該是主動地接受并去適應新的技術,而不是被動的等技術來配合自己的思想;應該熟練的掌握一到兩門編程語言和開發技術,是自己所學的理論知識能和實際操作有機地聯系起來;光說不練、動手能力差也是擺在自己面前的一大難題。在今后的學習中,我要努力的拓寬自己的知識面,不斷地補充自己的專業知識,當面對一個新的課題時,自己積極思考,使該課題不再是空想,能在自己手中實現。