摘?要
隨著時(shí)代的不斷更新,社會(huì)的不斷變換,信息技術(shù)的飛速發(fā)展,計(jì)算機(jī)科技技術(shù)也逐步走向成熟。圖書館管理系統(tǒng)對(duì)于當(dāng)今社會(huì)來說是必不可少的一個(gè)信息組成部分,它可以管理大量圖書、大量讀者、讓讀者有條不紊的進(jìn)行借閱圖書,大大減小了工作量,并且提高了工作效率。本文研究的圖書館管理系統(tǒng)是采用Python編程語言,MySQL數(shù)據(jù)庫,Ajax異步交互,根據(jù)Ajax異步模式等開發(fā)工具,完成了系統(tǒng)的主要模塊的頁面設(shè)計(jì)和功能實(shí)現(xiàn)。系統(tǒng)主要分成兩個(gè)角色,分別是普通用戶、管理員。普通用戶登錄,可以進(jìn)行查詢圖書、搜索熱門書籍、在線進(jìn)行圖書的借閱以及歸還。管理員登陸,可以對(duì)圖書、讀者、類別進(jìn)行增、刪、改、查的管理,還能對(duì)讀者進(jìn)行圖書借閱、歸還管理。能夠滿足中小型圖書館管理系統(tǒng)的基本功能,通過多次運(yùn)行和測(cè)試,本系統(tǒng)能夠?qū)崿F(xiàn)在設(shè)計(jì)時(shí)的全部功能。
關(guān)鍵詞:圖書館管理;Python語言;MySQL數(shù)據(jù)庫
Python library management system
Abstract
With the continuous updating of the times, the continuous transformation of society, the rapid development of information technology, computer science and technology has gradually become mature. The library management system is an indispensable information component for today's society. It can manage a large number of books, a large number of readers, and let readers borrow books in an orderly manner, greatly reducing the workload and improving the work efficiency. The library management system studied in this paper adopts python programming language, MySQL database, AJAX asynchronous interaction, and completes the page design and function realization of the main modules of the system according to the Ajax asynchronous mode and other development tools. The system is mainly divided into two roles: ordinary user and administrator. Ordinary users can log in to query books, search for popular books, and borrow and return books online. The administrator can log in to manage the addition, deletion, modification and query of books, readers and categories, and also manage the borrowing and return of books to readers. It can meet the basic functions of small and medium-sized library management system. Through many times of operation and testing, the system can achieve all the functions in the design.
Key words:Library management; Python language; Mysql database
目 ?錄
第1章 緒論
1.1?研究背景與意義
1.2?開發(fā)現(xiàn)狀
1.3?研究方法
第2章 相關(guān)技術(shù)介紹
2.1 Pycharm簡(jiǎn)介
2.2 MySQL描述
2.3 Python編程語言
2.4 Django框架
2.5B/S體系工作原理
第3章 系統(tǒng)分析
3.1?可行性分析
3.2?功能需求分析
3.2.1?前臺(tái)用戶功能
3.2.2?后臺(tái)管理員功能
3.3?非功能需求分析
3.4?安全性需求分析
3.4.1?系統(tǒng)的安全性
3.4.2?數(shù)據(jù)的安全性
3.5?數(shù)據(jù)流程分析
第4章 系統(tǒng)設(shè)計(jì)
4.1?系統(tǒng)架構(gòu)設(shè)計(jì)
4.2?系統(tǒng)總體設(shè)計(jì)
4.3?系統(tǒng)功能設(shè)計(jì)
4.4?數(shù)據(jù)庫設(shè)計(jì)
4.4.1?數(shù)據(jù)需求分析
4.4.2?數(shù)據(jù)庫概念設(shè)計(jì)
4.4.3?數(shù)據(jù)庫表設(shè)計(jì)
第5章 系統(tǒng)實(shí)現(xiàn)
5.1?數(shù)據(jù)庫訪問層的實(shí)現(xiàn)
5.2?注冊(cè)模塊的實(shí)現(xiàn)
5.3?登錄模塊的實(shí)現(xiàn)
5.4?用戶資料修改模塊的實(shí)現(xiàn)
5.5?圖書資訊模塊的實(shí)現(xiàn)
5.6圖書借閱模塊的實(shí)現(xiàn)
5.7?圖書歸還模塊的實(shí)現(xiàn)
5.8?圖書分類列表模塊的實(shí)現(xiàn)
第6章 系統(tǒng)測(cè)試
6.1?測(cè)試目的
6.2?功能測(cè)試
6.3?性能測(cè)試
第7章 總結(jié)與展望
參考文獻(xiàn)
致謝
-
緒論
- 研究背景與意義
近幾年,隨著信息技術(shù)的不斷進(jìn)步與完善,傳統(tǒng)的人工租售管理模式缺點(diǎn)慢慢顯現(xiàn)。為了更好地適應(yīng)信息時(shí)代的效率,將出現(xiàn)一個(gè)使用計(jì)算機(jī)來管理書籍和租售的系統(tǒng)。圖書館管理系統(tǒng)對(duì)管理員和用戶都有很大幫助,圖書館管理系統(tǒng)通過和數(shù)據(jù)庫管理系軟件協(xié)作來搭建管理者和用戶之間的一個(gè)很好平臺(tái),基于這一點(diǎn),設(shè)計(jì)了一個(gè)圖書館管理系統(tǒng)。基于以上認(rèn)識(shí),收集相關(guān)數(shù)據(jù)和數(shù)據(jù),參考相關(guān)文獻(xiàn)和技術(shù)參數(shù),并對(duì)圖書館管理的實(shí)際需求進(jìn)行研究。發(fā)現(xiàn)目前所采用的人工管理存在用戶借閱歸還不方便、信息管理混亂等等這些原因,所以計(jì)算機(jī)這種管理模式會(huì)慢慢代替?zhèn)鹘y(tǒng)的模式。
在這種情況下,使計(jì)算機(jī)稱為能夠有效的提高管理員的管理工作,從而實(shí)現(xiàn)對(duì)圖書管理的自動(dòng)化,提高效率。系統(tǒng)的實(shí)現(xiàn)具有以下意義:
- 用戶可以直接在網(wǎng)上就可以獲取圖書相關(guān)資訊信息。圖書信息獲取更及時(shí)、更高效。
- 用戶可以通過系統(tǒng)進(jìn)行借書和購買等簡(jiǎn)單方便,節(jié)省時(shí)間。
- 該系統(tǒng)的使用提高了管理效率并節(jié)省了成本。
- 開發(fā)現(xiàn)狀
隨著我國(guó)相關(guān)數(shù)據(jù)管理技術(shù)的發(fā)展完善,不少大型圖書中心都有著完善的圖書館管理系統(tǒng),無論是性能、數(shù)據(jù)處理還是操作便捷度方面都非常不錯(cuò),但同時(shí)我國(guó)不少的中小型圖書中心還面臨著經(jīng)費(fèi)不足,無法安裝相應(yīng)的電子管理系統(tǒng),只能依靠人工進(jìn)行傳統(tǒng)的相關(guān)管理,相關(guān)的工作環(huán)節(jié)都采用傳統(tǒng)的手工方法。隨著圖書數(shù)量的增加,書籍和資料的編目和查詢難度也增加,手工方法也不能滿足要求。圖書館管理系統(tǒng)功能強(qiáng)大,界面友好,通用性強(qiáng),使用維護(hù)簡(jiǎn)單。隨著社會(huì)的發(fā)展,科學(xué)的進(jìn)步和生活水平的提高,人們渴求知識(shí)的態(tài)度也日益增加,此時(shí),有必要建立一個(gè)成本不高、規(guī)模不大、后續(xù)管理維護(hù)簡(jiǎn)單、滿足圖書中心日常工作需要的圖書館管理系統(tǒng),最大化地減輕相應(yīng)的人力以及科學(xué)化地管理圖書的相應(yīng)數(shù)據(jù)信息。圖書館管理系統(tǒng)包含大量的信息數(shù)據(jù)管理,可以減少人為管理的一些缺陷。因此,開發(fā)一款適用于圖書中心的圖書館管理系統(tǒng)是十分必要的。
-
- 研究方法
首先,通過引擎搜索或者查閱相關(guān)文獻(xiàn)資料,了解了本系統(tǒng)開發(fā)的背景以及設(shè)計(jì)系統(tǒng)的意義所在,收集用戶需求信息。其次,在開發(fā)工具上,最終確定選用Django框架設(shè)計(jì)開發(fā)本系統(tǒng),MySQL作為設(shè)計(jì)數(shù)據(jù)庫的工具。即利用Python語言實(shí)現(xiàn)用戶界面,并同數(shù)據(jù)庫連接起來實(shí)現(xiàn)完整的通信功能。之后,設(shè)計(jì)出系統(tǒng)大致的功能模塊。主要從方便系統(tǒng)用戶和系統(tǒng)管理員的角度進(jìn)行分析,明確該系統(tǒng)應(yīng)該具有的功能。最終是測(cè)試系統(tǒng),通過用例測(cè)試發(fā)現(xiàn)存在的問題并找到解決的方案。利用現(xiàn)有的開發(fā)平臺(tái),結(jié)合自己所學(xué)的知識(shí),在老師的指導(dǎo)幫助下來完成該設(shè)計(jì),確保系統(tǒng)的可用性、實(shí)用性。
-
相關(guān)技術(shù)介紹
- Pycharm簡(jiǎn)介
PyCharm是用于Python腳本語言的最流行的IDE。
1.每個(gè)文件都有其輸出窗口。
2.可以終止進(jìn)程(只要點(diǎn)下按鈕就行)。
3.各種提示超強(qiáng):①?zèng)]用的變量顏色會(huì)變灰②用錯(cuò)了的變量下面會(huì)有紅色波浪線③書寫提示(sublime也有但較弱)。
4.索引功能超強(qiáng)。
-
- MySQL描述
現(xiàn)在MySQL數(shù)據(jù)庫在網(wǎng)絡(luò)上它可以支撐許多個(gè)用戶,而且也可以適應(yīng)客服機(jī)和服務(wù)器的部署或者配置等,我們這里的服務(wù)器和客戶機(jī)其實(shí)就是一種軟件上的概念,并且我們使用的計(jì)算機(jī)硬件也與他們不存在一一對(duì)應(yīng)的關(guān)系。
MySQL是一款非常流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它的出現(xiàn)一直都是佼佼者,它不僅功能非常強(qiáng)大,而且使用起來非常方便,并且MySQL的跨平臺(tái)能力也很好,軟件開發(fā)人員非常喜歡它的這些強(qiáng)大的優(yōu)點(diǎn)。不同于其他關(guān)系型數(shù)據(jù)庫,對(duì)于數(shù)據(jù)庫的管理它有著自己的一套方案,通過對(duì)用戶設(shè)定相應(yīng)的權(quán)限和角色來達(dá)到對(duì)數(shù)據(jù)庫的管理。由此可見,MySQL是一個(gè)能夠適用于吞吐量高,可靠性高,效率高的一款數(shù)據(jù)庫管理軟件。
優(yōu)點(diǎn)一:MySQL中對(duì)于不同身份的用戶都設(shè)定其不同的權(quán)限來完成不同的業(yè)務(wù)邏輯,這使得MySQL在安全和完整性遠(yuǎn)遠(yuǎn)超出了其他關(guān)系型數(shù)據(jù)庫。
優(yōu)點(diǎn)二:對(duì)于那些動(dòng)畫、圖形和聲音的數(shù)據(jù)類型MySQL也可以支持,這說明多數(shù)據(jù)類型MySQL也是可以支持的。
優(yōu)點(diǎn)三:MySQL還可以做到多個(gè)平臺(tái)的開發(fā),軟件開發(fā)的多種編程語言都可以實(shí)現(xiàn)對(duì)MySQL數(shù)據(jù)庫的操作。
-
- Python編程語言
Python是一種開發(fā)語言,能夠以直譯的方式進(jìn)行計(jì)算機(jī)語言,而且可以面向?qū)ο缶幊?。它是由Guido van Rossum在十九世紀(jì)八十年代末研發(fā)出來,并且在九一年公開發(fā)行使用。Python有很多特點(diǎn),比如有簡(jiǎn)潔的語法,清晰的語句,豐富的類庫。正式由于這些優(yōu)點(diǎn),能夠非??焖俚暮推渌Z言進(jìn)行結(jié)合,來實(shí)現(xiàn)各種功能模塊。很多人給它起了個(gè)外號(hào)叫“黏黏膠”語言。使用Python快速生成程序的原型,是現(xiàn)在很多程序員使用的方法。如果其中有比較特殊要求的地方,也非常方便的進(jìn)行修改。
而且PyQt具有雙證,為它能夠跨平臺(tái)運(yùn)行(例如UNIX,微軟和蘋果的平臺(tái))提供了保證。
使用Python語言之前,要進(jìn)行平臺(tái)的安裝,用戶需要根據(jù)不同的平臺(tái),下載不同的版本,然后進(jìn)行環(huán)境變量的配置,便可以進(jìn)行運(yùn)行。
Python 特點(diǎn):
1.相對(duì)于其他計(jì)算機(jī)語言來說學(xué)習(xí)起來比較簡(jiǎn)單:Python的關(guān)鍵字較少,結(jié)構(gòu)相對(duì)簡(jiǎn)單,語法簡(jiǎn)單,對(duì)于剛學(xué)編程語言的人來說更容易上手。
2.閱讀起來也相對(duì)簡(jiǎn)單:Python代碼結(jié)構(gòu)簡(jiǎn)潔明了,并在定義上看起來也非常清晰,所以在閱讀的過程中更加簡(jiǎn)單。
3.維護(hù)起來方便:Python的維護(hù)簡(jiǎn)單方便。
4.標(biāo)準(zhǔn)庫特別廣泛:Python的最大的最大優(yōu)勢(shì)是有非常多的庫,而且是跨平臺(tái)的,而且對(duì)系統(tǒng)的兼容性很好,比如在UNIX,Windows和Macintosh系統(tǒng)上都能夠進(jìn)行兼容。
5.具有方便的互動(dòng)模式:有了互動(dòng)模式的支持,開發(fā)者可以從代碼就可以看到結(jié)果,這樣開發(fā)者對(duì)程序的測(cè)試與調(diào)試,變的更方便。
6.可移植性好:Python可以跨平臺(tái)運(yùn)行。
7.擴(kuò)展性非常好的:如果有關(guān)鍵的代碼,你可以用特殊的語言進(jìn)行編寫,也能夠在系統(tǒng)中調(diào)試運(yùn)行。
-
- Django框架
Django是一個(gè)由Python編寫的具有完整架站能力的開源Web框架。使用Django,只要很少的代碼,Python的程序開發(fā)人員就可以輕松地完成一個(gè)正式網(wǎng)站所需要的大部分內(nèi)容,并進(jìn)一步開發(fā)出全功能的Web服務(wù)。
Django本身基于MVC模型,即Model(模型)+View(視圖)+ Controller(控制器)設(shè)計(jì)模式,因此天然具有MVC的出色基因:開發(fā)快捷、部署方便、可重用性高、維護(hù)成本低等。Python加Django是快速開發(fā)、設(shè)計(jì)、部署網(wǎng)站的最佳組合。
-
- B/S體系工作原理
B/S架構(gòu)采取瀏覽器請(qǐng)求,服務(wù)器響應(yīng)的工作模式。
用戶可以通過瀏覽器去訪問Internet上由Web服務(wù)器產(chǎn)生的文本、數(shù)據(jù)、圖片、動(dòng)畫、視頻點(diǎn)播和聲音等信息;
而每一個(gè)Web服務(wù)器又可以通過各種方式與數(shù)據(jù)庫服務(wù)器連接,大量的數(shù)據(jù)實(shí)際存放在數(shù)據(jù)庫服務(wù)器中;
從Web服務(wù)器上下載程序到本地來執(zhí)行,在下載過程中若遇到與數(shù)據(jù)庫有關(guān)的指令,由Web服務(wù)器交給數(shù)據(jù)庫服務(wù)器來解釋執(zhí)行,并返回給Web服務(wù)器,Web服務(wù)器又返回給用戶。在這種結(jié)構(gòu)中,將許許多多的網(wǎng)連接到一塊,形成一個(gè)巨大的網(wǎng),即全球網(wǎng)。而各個(gè)企業(yè)可以在此結(jié)構(gòu)的基礎(chǔ)上建立自己的Internet。
在 B/S 模式中,用戶是通過瀏覽器針對(duì)許多分布于網(wǎng)絡(luò)上的服務(wù)器進(jìn)行請(qǐng)求訪問的,瀏覽器的請(qǐng)求通過服務(wù)器進(jìn)行處理,并將處理結(jié)果以及相應(yīng)的信息返回給瀏覽器,其他的數(shù)據(jù)加工、請(qǐng)求全部都是由Web Server完成的。通過該框架結(jié)構(gòu)以及植入于操作系統(tǒng)內(nèi)部的瀏覽器,該結(jié)構(gòu)已經(jīng)成為了當(dāng)今軟件應(yīng)用的主流結(jié)構(gòu)模式。
-
系統(tǒng)分析
- 可行性分析
本次設(shè)計(jì)基于B/S 模式下,運(yùn)用基于Python技術(shù)采用的是Mysql數(shù)據(jù)庫實(shí)現(xiàn),總體的可行性共分為以下兩個(gè)方面。
實(shí)用性方面,本次設(shè)計(jì)的主要任務(wù)是在圖書館管理系統(tǒng)內(nèi)圖書資訊,圖書類型,圖書列表,圖書借閱,圖書歸還等,符合當(dāng)前潮流的發(fā)展。從用戶角度出發(fā),同時(shí)也考慮系統(tǒng)運(yùn)營(yíng)成本和人力資源,采用網(wǎng)絡(luò)上的便捷方式,實(shí)現(xiàn)線上業(yè)務(wù),使得業(yè)務(wù)流程更系統(tǒng),也更方便用戶的體驗(yàn),比較實(shí)用。
經(jīng)濟(jì)性方面,由于本課題中設(shè)計(jì)的圖書館管理系統(tǒng)的主要目的是為了能夠更加方便及快捷的進(jìn)行信息的查詢管理及檢索服務(wù),也就是能夠可以直接投入使用的信息化軟件。系統(tǒng)的主要成本主要是集中在對(duì)使用數(shù)據(jù)后期繼續(xù)維護(hù)及其管理更新這個(gè)操作上。但是一旦系統(tǒng)投入到實(shí)際的運(yùn)行及使用之后就能夠很好的提高信息查詢檢索的效率,同時(shí)也需要有效的保證查詢者的信息方面的安全性,同時(shí)這個(gè)圖書館管理系統(tǒng)所帶來的實(shí)際應(yīng)用方面的價(jià)值是遠(yuǎn)遠(yuǎn)的超過了實(shí)際系統(tǒng)進(jìn)行開發(fā)與維護(hù)方面的成本,因此,從經(jīng)濟(jì)上來說開發(fā)這個(gè)軟件是可行的。
-
- 功能需求分析
圖書館管理系統(tǒng)的功能主要分為前臺(tái)用戶根據(jù)自己的需求進(jìn)行注冊(cè)登錄,瀏覽圖書信息并對(duì)選中的圖書進(jìn)行借閱、歸還操作。后臺(tái)系統(tǒng)管理員因職責(zé)的不同,分為普通管理員和超級(jí)管理員,普通管理員主要對(duì)借閱申請(qǐng)進(jìn)行處理,進(jìn)行圖書分類列表,而超級(jí)管理員主要對(duì)注冊(cè)用戶管理,借書信息管理,還書信息等進(jìn)行處理。
系統(tǒng)用例圖如下所示。

圖3-1 系統(tǒng)用例圖
-
-
- 前臺(tái)用戶功能
-
前臺(tái)用戶可分為未注冊(cè)用戶需求和已注冊(cè)用戶需求。
未注冊(cè)用戶的功能如下:
注冊(cè)賬號(hào):用戶填寫個(gè)人信息,并驗(yàn)證手機(jī)號(hào)碼。
圖書資訊瀏覽:用戶可以根據(jù)圖書類型瀏覽圖書的信息,并選中某個(gè)圖書類型查看詳情,例如:圖書編號(hào)、圖書名稱、圖書類型,是否推薦等。
已注冊(cè)用戶的功能如下:
登錄:根據(jù)賬號(hào)密碼進(jìn)行登錄操作。
維護(hù)個(gè)人信息:用戶因個(gè)人信息的變更可以隨時(shí)修改自己注冊(cè)信息。
圖書借閱:用戶根據(jù)自己的需求選中某個(gè)圖書進(jìn)行借閱申請(qǐng)操作。
圖書歸還:用戶可以將書籍在線歸還操作。
提醒信息:用戶可以在線查看系統(tǒng)的提醒信息。
-
-
- 后臺(tái)管理員功能
-
后臺(tái)管理員可分為普通管理員和超級(jí)管理員。
普通管理員功能如下。
修改密碼:管理員可以隨時(shí)修改自己進(jìn)入系統(tǒng)的登錄密碼,以保證系統(tǒng)的安全性。
對(duì)圖書借閱進(jìn)行處理:查看借書信息,辦理借書申請(qǐng)單審核等。
圖書信息管理:對(duì)圖書信息進(jìn)行維護(hù),添加、刪除、修改信息。
對(duì)圖書歸還進(jìn)行處理:辦理圖書歸還審核等。
提醒信息管理:發(fā)布用戶提醒信息等。
-
- 非功能需求分析
首先主要考慮的是系統(tǒng)功能軟件,在具體設(shè)計(jì)的環(huán)節(jié)上,是不是能夠較好的滿足各類用戶的基本功能需求,如果不能較好的滿足用戶需求,那么這個(gè)系統(tǒng)的存在是沒有價(jià)值的。軟件系統(tǒng)的非功能性求分析,從7個(gè)方面展開,一個(gè)是性能分析,針對(duì)系統(tǒng);一個(gè)是安全分析,針對(duì)系統(tǒng),一個(gè)是完整度分析,針對(duì)系統(tǒng),一個(gè)是可維護(hù)分析,針對(duì)系統(tǒng),一個(gè)是可擴(kuò)展性分析,針對(duì)系統(tǒng),一個(gè)是適應(yīng)業(yè)務(wù)的性能分析。面對(duì)圖書館管理系統(tǒng)存在的性能、安全、擴(kuò)展、完整度等7個(gè)方面性能綜合比對(duì)分析后發(fā)現(xiàn),需要相應(yīng)的非功能性需求分析。
-
-
安全性需求分析
- 系統(tǒng)的安全性
-
安全性需求分析
安全性對(duì)每一個(gè)系統(tǒng)來說都是非常重要的。安全性很好的系統(tǒng)可以保護(hù)企業(yè)的信息和用戶的信息不被竊取。提高系統(tǒng)的安全性不僅是對(duì)用戶的負(fù)責(zé),更是對(duì)企業(yè)的負(fù)責(zé)。尤其針對(duì)于圖書館管理系統(tǒng)來說,必須要有很好的安全性來保障整個(gè)系統(tǒng)。
系統(tǒng)具有對(duì)使用者有權(quán)限控制,針對(duì)角色的不通限制使用者的權(quán)限,以此來確保系統(tǒng)的安全性。
-
-
- 數(shù)據(jù)的安全性
-
數(shù)據(jù)庫中的數(shù)據(jù)是從外界輸入的,當(dāng)數(shù)據(jù)的輸入時(shí),由于種種原因,輸入的數(shù)據(jù)會(huì)無效,或者是臟數(shù)據(jù)。因此,怎樣保證輸入的數(shù)據(jù)符合規(guī)定,成為了數(shù)據(jù)庫系統(tǒng),尤其是多用戶的關(guān)系數(shù)據(jù)庫系統(tǒng)首要關(guān)注的問題。
因此,在寫入數(shù)據(jù)庫時(shí),要保證數(shù)據(jù)完整性、正確性和一致性。
-
- 數(shù)據(jù)流程分析
對(duì)系統(tǒng)的數(shù)據(jù)流進(jìn)行分析,系統(tǒng)的使用者分為二類,一般用戶,管理員。系統(tǒng)主要對(duì)界面信息傳送,登錄信息的驗(yàn)證,注冊(cè)信息的接收,用戶各種操作的響應(yīng)做處理。
系統(tǒng)頂層數(shù)據(jù)流圖如下圖所示。

圖3-2 頂層數(shù)據(jù)流圖
要判斷用戶是是什么身份,是根據(jù)登錄的數(shù)據(jù)來判斷后,跳轉(zhuǎn)到對(duì)應(yīng)的功能界面。在系統(tǒng)的內(nèi)部用戶就可以對(duì)數(shù)據(jù)進(jìn)行操作,數(shù)據(jù)庫中心就可以接收到系統(tǒng)傳輸?shù)挠行?shù)據(jù)流來對(duì)數(shù)據(jù)sql語句進(jìn)行對(duì)應(yīng)操作。
系統(tǒng)底層數(shù)據(jù)流圖如下圖所示。

?圖3-3 底層數(shù)據(jù)流圖
系統(tǒng)可以分為前臺(tái)和后臺(tái)兩部分,每一種操作后系統(tǒng)都返回操作結(jié)果。前臺(tái)和后臺(tái)的數(shù)據(jù)連接主要通過數(shù)據(jù)庫,既分別對(duì)數(shù)據(jù)庫做不同的操作。
-
系統(tǒng)設(shè)計(jì)
- 系統(tǒng)架構(gòu)設(shè)計(jì)
本圖書館管理系統(tǒng)的架構(gòu)設(shè)計(jì)主要分為可以3層,主要有Web層,業(yè)務(wù)層,Model層。其中web層還包括View層和Controller層,Model層包括元數(shù)據(jù)擴(kuò)展層和數(shù)據(jù)訪問層。
系統(tǒng)架構(gòu)如下圖所示。

圖4-1 系統(tǒng)架構(gòu)
-
- 系統(tǒng)總體設(shè)計(jì)
圖書館管理系統(tǒng)總體分為前臺(tái)用戶模塊和后臺(tái)管理員模塊。
兩個(gè)模塊表現(xiàn)上是分別獨(dú)立存在,但是訪問的數(shù)據(jù)庫是一樣的。每一個(gè)模塊的功能都是根據(jù)先前完成的需求分析,并查閱相關(guān)資料后整理制作的。
綜上所述,系統(tǒng)功能結(jié)構(gòu)圖如下圖所示。

圖4-2 系統(tǒng)功能結(jié)構(gòu)圖
-
- 系統(tǒng)功能設(shè)計(jì)
登錄模塊:登錄模塊是進(jìn)入系統(tǒng)的入口,所有用戶必須登錄后才能訪問系統(tǒng)。登錄需要輸入用戶名和密碼,如果多次嘗試登錄需要輸入驗(yàn)證碼。登錄時(shí)需要選擇用戶的角色,是一般用戶還是管理員登錄等。登錄成功后,會(huì)通過數(shù)據(jù)庫獲取用戶的權(quán)限,并跳轉(zhuǎn)至用戶的主頁面。
圖書借閱數(shù)據(jù)模塊:可分為借書列表數(shù)據(jù)瀏覽、圖書類型數(shù)據(jù)檢索、借書數(shù)據(jù)維護(hù)三個(gè)模塊,管理員對(duì)借書數(shù)據(jù)有維護(hù)的權(quán)限,發(fā)布新的圖書數(shù)據(jù)、更新已有的借書信息數(shù)據(jù)等。
圖書管理模塊:圖書管理分為圖書添加、修改和圖書出借。圖書信息由管理員進(jìn)行修改、添加、刪除操作;圖書出借、圖書歸還由普通用戶來執(zhí)行。
-
-
數(shù)據(jù)庫設(shè)計(jì)
- 數(shù)據(jù)需求分析
-
數(shù)據(jù)庫設(shè)計(jì)
從前面可以分析到數(shù)據(jù)庫中最重要的是圖書信息,用戶信息,借閱信息,歸還信息分析可以得到如下數(shù)據(jù)描述:
平臺(tái)用戶:用于記錄用戶的各種信息,包括用戶名、密碼、姓名、性別、地址、郵箱、聯(lián)系方式等數(shù)據(jù)項(xiàng)。
管理員:記錄管理員的登錄信息。包括用戶名,密碼,權(quán)限等數(shù)據(jù)項(xiàng)。
圖書推薦:存放圖書的內(nèi)容,包括圖書編號(hào)、圖書名稱、圖書類型是否推薦等數(shù)據(jù)項(xiàng)。
圖書借閱:存儲(chǔ)用戶的借閱信息。包括借出的圖書編號(hào)、圖書名稱、借閱時(shí)間、借閱天數(shù)、借書人姓名、聯(lián)系電話、借書證、是否審核等數(shù)據(jù)項(xiàng)。
-
-
- 數(shù)據(jù)庫概念設(shè)計(jì)
-
根據(jù)前面的數(shù)據(jù)流程圖,結(jié)合系統(tǒng)的功能模塊設(shè)計(jì),設(shè)計(jì)出符合系統(tǒng)的各信息實(shí)體。
系統(tǒng)ER圖如下圖所示。

圖4-3 系統(tǒng)ER圖
-
-
- 數(shù)據(jù)庫表設(shè)計(jì)
-
圖書館管理系統(tǒng)所擁有的數(shù)據(jù)表有以下:用戶信息表,圖書借閱表,圖書信息表,圖書分類列表,圖書歸還表等。
由于數(shù)據(jù)表較多,只展示系統(tǒng)主要數(shù)據(jù)表,如下表所示。
registered_users表:
名稱 |
類型 |
長(zhǎng)度 |
不是null |
主鍵 |
注釋 |
registered_user_id |
int |
11 |
是 |
是 |
注冊(cè)用戶ID |
library_card_no |
varchar |
64 |
是 |
否 |
借書證號(hào) |
user_identity |
varchar |
64 |
否 |
否 |
用戶身份 |
examine_state |
varchar |
16 |
是 |
否 |
審核狀態(tài) |
recommend |
int |
11 |
是 |
否 |
智能推薦 |
user_id |
int |
11 |
是 |
否 |
用戶ID |
create_time |
datetime |
0 |
是 |
否 |
創(chuàng)建時(shí)間 |
update_time |
timestamp |
0 |
是 |
否 |
更新時(shí)間 |
slides表:
名稱 |
類型 |
長(zhǎng)度 |
不是null |
主鍵 |
注釋 |
slides_id |
int |
10 |
是 |
是 |
輪播圖ID: |
title |
varchar |
64 |
否 |
否 |
標(biāo)題: |
content |
varchar |
255 |
否 |
否 |
內(nèi)容: |
url |
varchar |
255 |
否 |
否 |
鏈接: |
img |
varchar |
255 |
否 |
否 |
輪播圖: |
hits |
int |
10 |
是 |
否 |
點(diǎn)擊量: |
create_time |
timestamp |
0 |
是 |
否 |
創(chuàng)建時(shí)間: |
update_time |
timestamp |
0 |
是 |
否 |
更新時(shí)間: |
notice表:
名稱 |
類型 |
長(zhǎng)度 |
不是null |
主鍵 |
注釋 |
notice_id |
mediumint |
8 |
是 |
是 |
公告id: |
title |
varchar |
125 |
是 |
否 |
標(biāo)題: |
content |
longtext |
0 |
否 |
否 |
正文: |
create_time |
timestamp |
0 |
是 |
否 |
創(chuàng)建時(shí)間: |
update_time |
timestamp |
0 |
是 |
否 |
更新時(shí)間: |
book_classification表:
名稱 |
類型 |
長(zhǎng)度 |
不是null |
主鍵 |
注釋 |
book_classification_id |
int |
11 |
是 |
是 |
圖書分類ID |
book_category |
varchar |
64 |
否 |
否 |
圖書類別 |
recommend |
int |
11 |
是 |
否 |
智能推薦 |
create_time |
datetime |
0 |
是 |
否 |
創(chuàng)建時(shí)間 |
update_time |
timestamp |
0 |
是 |
否 |
更新時(shí)間 |
?
book_information表:
名稱 |
類型 |
長(zhǎng)度 |
不是null |
主鍵 |
注釋 |
book_information_id |
int |
11 |
是 |
是 |
圖書信息ID |
book_number |
varchar |
64 |
否 |
否 |
圖書編號(hào) |
book_name |
varchar |
64 |
否 |
否 |
圖書名稱 |
book_category |
varchar |
64 |
否 |
否 |
圖書類別 |
cover |
varchar |
255 |
否 |
否 |
封面 |
author |
varchar |
64 |
否 |
否 |
作者 |
press |
varchar |
64 |
否 |
否 |
出版社 |
number |
int |
11 |
否 |
否 |
數(shù)量 |
storage_location |
varchar |
64 |
否 |
否 |
存放位置 |
details |
longtext |
0 |
否 |
否 |
詳情 |
hits |
int |
11 |
是 |
否 |
點(diǎn)擊數(shù) |
praise_len |
int |
11 |
是 |
否 |
點(diǎn)贊數(shù) |
recommend |
int |
11 |
是 |
否 |
智能推薦 |
create_time |
datetime |
0 |
是 |
否 |
創(chuàng)建時(shí)間 |
update_time |
timestamp |
0 |
是 |
否 |
更新時(shí)間 |
book_borrowing表:
名稱 |
類型 |
長(zhǎng)度 |
不是null |
主鍵 |
注釋 |
book_borrowing_id |
int |
11 |
是 |
是 |
圖書借閱ID |
book_number |
varchar |
64 |
否 |
否 |
圖書編號(hào) |
book_name |
varchar |
64 |
否 |
否 |
圖書名稱 |
book_category |
varchar |
64 |
否 |
否 |
圖書類別 |
author |
varchar |
64 |
否 |
否 |
作者 |
borrowing_quantity |
int |
11 |
否 |
否 |
借閱數(shù)量 |
library_card_no |
int |
11 |
否 |
否 |
借書證號(hào) |
user_identity |
varchar |
64 |
否 |
否 |
用戶身份 |
borrowing_days |
int |
11 |
否 |
否 |
借閱天數(shù) |
recommend |
int |
11 |
是 |
否 |
智能推薦 |
create_time |
datetime |
0 |
是 |
否 |
創(chuàng)建時(shí)間 |
update_time |
timestamp |
0 |
是 |
否 |
更新時(shí)間 |
book_return表:
名稱 |
類型 |
長(zhǎng)度 |
不是null |
主鍵 |
注釋 |
book_return_id |
int |
11 |
是 |
是 |
圖書歸還ID |
book_number |
varchar |
64 |
否 |
否 |
圖書編號(hào) |
book_name |
varchar |
64 |
否 |
否 |
圖書名稱 |
book_category |
varchar |
64 |
否 |
否 |
圖書類別 |
borrowing_quantity |
varchar |
64 |
否 |
否 |
借閱數(shù)量 |
library_card_no |
int |
11 |
否 |
否 |
借書證號(hào) |
user_identity |
varchar |
64 |
否 |
否 |
用戶身份 |
remarks |
text |
0 |
否 |
否 |
備注 |
examine_state |
varchar |
16 |
是 |
否 |
審核狀態(tài) |
examine_reply |
varchar |
16 |
否 |
否 |
審核回復(fù) |
recommend |
int |
11 |
是 |
否 |
智能推薦 |
create_time |
datetime |
0 |
是 |
否 |
創(chuàng)建時(shí)間 |
update_time |
timestamp |
0 |
是 |
否 |
更新時(shí)間 |
-
系統(tǒng)實(shí)現(xiàn)
- 數(shù)據(jù)庫訪問層的實(shí)現(xiàn)
該系統(tǒng)是通過jdbc和MySQL達(dá)成連接的,新建一個(gè)jdbc.properties文件來填寫與數(shù)據(jù)庫連接所需要的驅(qū)動(dòng)和參數(shù)。
jdbc.driverClass=com.MySQL.jdbc.Driver
jdbc.url=jdbc:MySQL://localhost:3306/tsi
jdbc.username=root
jdbc.password=123
第一個(gè)參數(shù)代表MySQL數(shù)據(jù)庫的驅(qū)動(dòng),第二個(gè)參數(shù)代表要連接的數(shù)據(jù)庫,第三個(gè)和第四個(gè)參數(shù)代表數(shù)據(jù)庫連接名和密碼。
后臺(tái)與數(shù)據(jù)庫訪問主要是通過HQL語句來進(jìn)行查詢的,查詢語句中的表名是表格的實(shí)體類名,在這種查詢語句中*是不允許使用的,除非適合聚合函數(shù)一起使用才可以。
-
- 注冊(cè)模塊的實(shí)現(xiàn)
用戶在填寫數(shù)據(jù)的時(shí)候必須與注冊(cè)頁面上的驗(yàn)證相匹配否則會(huì)注冊(cè)失敗,注冊(cè)頁面的表單驗(yàn)證是通過PythonScript進(jìn)行驗(yàn)證的,用戶名的長(zhǎng)度必須在6到18之間,郵箱必須帶有@符號(hào),密碼和密碼確認(rèn)必須相同,你輸入的密碼,系統(tǒng)會(huì)根據(jù)你輸入密碼的強(qiáng)度給出指定的值,電話號(hào)碼和身份證號(hào)碼必須要求輸入格式與生活相符合,當(dāng)你前臺(tái)驗(yàn)證通過的時(shí)候你點(diǎn)擊注冊(cè),表單會(huì)將你輸入的值通過name值傳遞給后臺(tái)并保存到數(shù)據(jù)庫中。
用戶注冊(cè)流程圖如下圖所示。

圖5-1用戶注冊(cè)流程圖
用戶注冊(cè)界面如下圖所示。

圖5-2用戶注冊(cè)界面
-
- 登錄模塊的實(shí)現(xiàn)
主要由兩部分組成,登錄前的登錄界面以及登錄后的用戶功能界面。登錄界面,要求用戶輸入用戶名和密碼,當(dāng)用戶名和密碼其中一個(gè)輸入為空時(shí),給出提示“用戶名,密碼不能為空”。獲取用戶名和密碼后到數(shù)據(jù)庫中查找,如果用戶名存在,以及對(duì)應(yīng)的密碼正確,則登錄成功,否則登錄失敗。登錄失敗后給出提示,并把焦點(diǎn)停在文本框中。登錄成功后將該次會(huì)話的全局變量username設(shè)置為用戶名。登錄成功后進(jìn)入會(huì)員的功能模塊,主要有會(huì)員基本信息修改,已經(jīng)發(fā)布圖書信息管理,發(fā)布信息,和退出功能。退出功能是清除全局變量username的值,并跳回到首頁。
登錄流程圖如下圖所示。

圖5-3登錄流程圖
用戶登錄界面如下圖所示。

圖5-4用戶登錄界面
-
- 用戶資料修改模塊的實(shí)現(xiàn)
用戶登錄/注冊(cè)成功之后可以修改自己的基本信息。修改頁面的表單中每一個(gè)input的name值都要與實(shí)體類中的參數(shù)相匹配,在用戶點(diǎn)擊修改頁面的時(shí)候,如果改后用戶名與數(shù)據(jù)庫里面重復(fù)了,頁面會(huì)提示該用戶名已經(jīng)存在了,否則通過Id來查詢用戶,并將用戶的信息修改為表單提交的數(shù)據(jù)。
-
- 圖書資訊列表模塊的實(shí)現(xiàn)
如果圖書資訊列表數(shù)據(jù)的信息需要修改,管理員可以通過查詢圖書資訊列表數(shù)據(jù)的基本信息來查詢圖書資訊列表數(shù)據(jù),查詢圖書資訊列表數(shù)據(jù)是通過ajax技術(shù)來進(jìn)行查詢的,需要傳遞圖書資訊列表數(shù)據(jù)的標(biāo)題、編號(hào)等參數(shù)然后在返回到該頁面中,可以選中要修改或刪除的那條信息,如果選中了超過一條數(shù)據(jù),頁面會(huì)挑一個(gè)窗口提醒只能選擇一條數(shù),如果沒有選中數(shù)據(jù)會(huì)挑一個(gè)窗口題型必須選擇一條數(shù)據(jù)。當(dāng)選擇確認(rèn)修改的時(shí)候,后臺(tái)會(huì)根據(jù)傳過來的id到數(shù)據(jù)庫查詢,并將結(jié)果返回到修改頁面中,可以在修改頁面中修改剛剛選中的信息當(dāng)點(diǎn)擊確認(rèn)的時(shí)候from表單會(huì)將修改的數(shù)據(jù)提交到后臺(tái)并保存到數(shù)據(jù)庫中,就是說如果提交的數(shù)據(jù)數(shù)據(jù)庫中存在就修改,否則就保存。
圖書資訊列表展示界面如下圖所示。

圖5-5圖書資訊列表展示界面
圖書資訊管理界面如下圖所示。

圖5-6圖書資訊管理界面
-
- 圖書借閱模塊的實(shí)現(xiàn)
用戶借閱信息后臺(tái)會(huì)自動(dòng)生成圖書出借列表。從session中取出該用戶信息,前臺(tái)發(fā)起請(qǐng)求,將對(duì)應(yīng)的用戶信息、baozhangpId參數(shù)信息從前臺(tái)傳遞BaozhangController類里,匹配到create()方法,create()方法調(diào)用BaozhangServiceImpl類的createBaozhang()方法獲取數(shù)據(jù),調(diào)用本類的getCartBaozhangItem()方法得到出借列表。
圖書借閱界面如下所示。

圖5-7圖書借閱界面
-
- 圖書歸還模塊的實(shí)現(xiàn)
圖書歸還功能需要考慮高并發(fā),防止出現(xiàn)圖書重復(fù)歸還、逾期歸還、圖書狀態(tài)顯示出錯(cuò)等情況,特對(duì)圖書這一共享數(shù)據(jù)增加鎖機(jī)制。在樂觀鎖、悲觀鎖以及線程鎖中,綜合考慮性能效率和錯(cuò)誤的可接受性選擇了樂觀鎖機(jī)制。樂觀鎖的實(shí)現(xiàn)方式是使用版本標(biāo)識(shí)來確定讀到的數(shù)據(jù)與提交時(shí)的數(shù)據(jù)是否一致,提交后修改版本標(biāo)識(shí),不一致時(shí)可以采取丟棄和再次嘗試的策略。在數(shù)據(jù)庫圖書表(對(duì)應(yīng)圖書實(shí)體)設(shè)計(jì)中增加了version字段,每次數(shù)據(jù)提交時(shí)(更改圖書狀態(tài))會(huì)判斷version是否匹配,若不匹配停止本次提交,若匹配則提交成功并增加version的值。
圖書歸還功能整體流程:用戶進(jìn)行圖書歸還操作時(shí),同時(shí)會(huì)顯示圖書的狀態(tài),系統(tǒng)會(huì)在其顯示詳細(xì)信息的頁面時(shí)便會(huì)判斷圖書的狀態(tài),若圖書狀態(tài)為在限定的歸還日期內(nèi),則會(huì)顯示歸還的鏈接按鈕。在用戶點(diǎn)擊歸還按鈕時(shí),會(huì)先通過攔截器判斷用戶是否登錄,若未登錄,會(huì)跳轉(zhuǎn)至登錄頁面,提示用戶先登錄,若為登錄用戶就會(huì)跳轉(zhuǎn)至填寫歸還信息的頁面,填寫好歸還信息之后,點(diǎn)擊提交按鈕,圖書歸還成功之后返回提示信息,告知用戶還書成功。
圖書歸還流程圖如下圖所示。
圖5-8圖書歸還流程圖
圖書歸還界面如下圖所示。
圖5-9圖書歸還界面
歸還管理界面如下圖所示。
圖5-10歸還管理界面
-
- 圖書分類列表模塊的實(shí)現(xiàn)
圖書分類列表流程圖如下圖所示。
圖5-11圖書分類列表流程圖
圖書分類管理界面如下圖所示。
圖5-12圖書分類管理界面
-
系統(tǒng)測(cè)試
- 測(cè)試目的
對(duì)任何系統(tǒng)而言,測(cè)試都是必不可少的環(huán)節(jié),測(cè)試可以發(fā)現(xiàn)系統(tǒng)存在的很多問題,所有的軟件上線之前,都應(yīng)該進(jìn)行充足的測(cè)試之后才能保證上線后不會(huì)Bug頻發(fā),或者是功能不滿足需求等問題的發(fā)生。下面分別從單元測(cè)試,功能測(cè)試和用例測(cè)試來對(duì)系統(tǒng)進(jìn)行測(cè)試以保證系統(tǒng)的穩(wěn)定性和可靠性。
-
- 功能測(cè)試
下表是系統(tǒng)登錄功能測(cè)試用例,檢測(cè)了用戶名和密碼的不同的輸入情況,觀察系統(tǒng)的響應(yīng)情況。得出該功能達(dá)到了設(shè)計(jì)目標(biāo)。
表6-1 系統(tǒng)登錄功能測(cè)試用例
功能描述 |
用于系統(tǒng)登錄 |
|
測(cè)試目的 |
檢測(cè)登錄時(shí)的合法性檢查 |
|
測(cè)試數(shù)據(jù)以及操作 |
預(yù)期結(jié)果 |
實(shí)際結(jié)果 |
輸入的用戶名和密碼帶有非法字符 |
提示用戶名或者密碼錯(cuò)誤 |
與預(yù)期結(jié)果一致 |
輸入的用戶名或者密碼為空 |
提示用戶名或者密碼錯(cuò)誤 |
與預(yù)期結(jié)果一致 |
輸入的用戶名和密碼不存在 |
提示用戶名或者密碼錯(cuò)誤 |
與預(yù)期結(jié)果一致 |
輸入正確的用戶名和密碼 |
登錄成功 |
與預(yù)期結(jié)果一致 |
下表是注冊(cè)功能測(cè)試用例,檢測(cè)了各種數(shù)據(jù)的輸入情況,觀察系統(tǒng)的響應(yīng)情況。得出該功能達(dá)到了設(shè)計(jì)目標(biāo)。
表6-2 注冊(cè)功能測(cè)試用例
功能描述 |
用于用戶注冊(cè) |
|
測(cè)試目的 |
檢測(cè)用戶注冊(cè)時(shí)的合法性檢查 |
|
測(cè)試數(shù)據(jù)以及操作 |
預(yù)期結(jié)果 |
實(shí)際結(jié)果 |
輸入的手機(jī)號(hào)不合法 |
提示請(qǐng)輸入正確的手機(jī)號(hào)碼 |
與預(yù)期結(jié)果一致 |
輸入的字段為空 |
提示必填項(xiàng)不能為空 |
與預(yù)期結(jié)果一致 |
輸入的密碼少于6位 |
提示密碼必須為6-12位 |
與預(yù)期結(jié)果一致 |
輸入的密碼大于12位 |
提示密碼必須為6-12位 |
與預(yù)期結(jié)果一致 |
下表是圖書管理功能的測(cè)試用例,檢測(cè)了圖書管理中對(duì)圖書信息的增加,刪除,修改,查詢操作是否成功運(yùn)行。觀察系統(tǒng)的響應(yīng)情況,得出該功能也達(dá)到了設(shè)計(jì)目標(biāo),系統(tǒng)運(yùn)行正確。
前置條件;用戶登錄系統(tǒng)。
表6-3 圖書管理的測(cè)試用例
功能描述 |
用于圖書管理 |
|
測(cè)試目的 |
檢測(cè)圖書管理時(shí)的各種操作的運(yùn)行情況 |
|
測(cè)試數(shù)據(jù)以及操作 |
預(yù)期結(jié)果 |
實(shí)際結(jié)果 |
點(diǎn)擊添加圖書,必填項(xiàng)合法輸入,點(diǎn)擊保存 |
提示添加成功 |
與預(yù)期結(jié)果一致 |
點(diǎn)擊添加圖書,必填項(xiàng)輸入不合法,點(diǎn)擊保存 |
提示必填項(xiàng)不能為空 |
與預(yù)期結(jié)果一致 |
點(diǎn)擊修改圖書,必填項(xiàng)修改為空,點(diǎn)擊保存 |
提示必填項(xiàng)不能為空 |
與預(yù)期結(jié)果一致 |
點(diǎn)擊修改圖書,必填項(xiàng)輸入不合法,點(diǎn)擊保存 |
提示必填項(xiàng)不能為空 |
與預(yù)期結(jié)果一致 |
點(diǎn)擊刪除圖書,選擇圖書刪除 |
提示刪除成功 |
與預(yù)期結(jié)果一致 |
點(diǎn)擊搜索圖書,輸入存在的圖書名 |
查找出圖書 |
與預(yù)期結(jié)果一致 |
點(diǎn)擊搜索圖書,輸入不存在的圖書名 |
不顯示圖書 |
與預(yù)期結(jié)果一致 |
下表是圖書借閱管理功能的測(cè)試用例,檢測(cè)了圖書借閱管理中借閱申請(qǐng)的操作是否成功運(yùn)行。觀察系統(tǒng)的響應(yīng)情況,得出該功能也達(dá)到了設(shè)計(jì)目標(biāo),系統(tǒng)運(yùn)行正確。
前置條件;用戶登錄系統(tǒng)。
表6-5 圖書借閱管理的測(cè)試用例
功能描述 |
用于圖書借閱管理 |
|
測(cè)試目的 |
檢測(cè)圖書借閱管理時(shí)各種操作的情況 |
|
測(cè)試數(shù)據(jù)以及操作 |
預(yù)期結(jié)果 |
實(shí)際結(jié)果 |
未選擇圖書,點(diǎn)擊提交 |
提示請(qǐng)選擇圖書 |
與預(yù)期結(jié)果一致 |
未輸入時(shí)間,點(diǎn)擊提交 |
提示請(qǐng)輸入時(shí)間 |
與預(yù)期結(jié)果一致 |
-
- 性能測(cè)試
使用阿里云PTS(Performance Testing Service)性能測(cè)試服務(wù)對(duì)線上系統(tǒng)進(jìn)行壓力測(cè)試。線上服務(wù)器環(huán)境為:1核心CPU,1G內(nèi)存,1Mbps公網(wǎng)帶寬,Centos7.0操作系統(tǒng)。
壓測(cè)過程中使用了2臺(tái)并發(fā)機(jī)器,每臺(tái)機(jī)器20個(gè)用戶并發(fā),對(duì)系統(tǒng)主頁,登錄,數(shù)據(jù)查詢和數(shù)據(jù)維護(hù)等模塊進(jìn)行并發(fā)訪問,測(cè)試結(jié)果是有40個(gè)用戶并發(fā)時(shí),數(shù)據(jù)管理相關(guān)頁面的響應(yīng)時(shí)間甚至達(dá)到了7s,通過查看服務(wù)器出網(wǎng)流量發(fā)現(xiàn)已經(jīng)達(dá)到1381kb/s,可以看出服務(wù)器的帶寬已經(jīng)達(dá)到峰值,如果系統(tǒng)使用5Mbps的帶寬,系統(tǒng)的響應(yīng)時(shí)間和TPS將會(huì)大大增加。在整個(gè)測(cè)試的過程中,CPU的使用率占用僅8%,也提現(xiàn)出帶寬瓶頸對(duì)系統(tǒng)的影響非常嚴(yán)重。
- 總結(jié)與展望
隨著計(jì)算機(jī)互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,各行各業(yè)都已經(jīng)實(shí)現(xiàn)采用計(jì)算機(jī)相關(guān)技術(shù)對(duì)日益放大的數(shù)據(jù)進(jìn)行管理。該課題是圖書館管理系統(tǒng)為核心展開的,主要是為了實(shí)現(xiàn)圖書借閱信息化管理和用戶在線歸還圖書的需求。
圖書館管理系統(tǒng)的開發(fā)是以Django框架作為基礎(chǔ),系統(tǒng)整體為B/S架構(gòu),數(shù)據(jù)庫系統(tǒng)使用MySQL。文中詳細(xì)分析了圖書館管理系統(tǒng)的研究背景、研究目的和意義、開發(fā)工具和相關(guān)技術(shù)以及系統(tǒng)需求、系統(tǒng)詳細(xì)設(shè)計(jì)和系統(tǒng)測(cè)試等等一系列內(nèi)容。系統(tǒng)實(shí)現(xiàn)了圖書館管理系統(tǒng)所需的一些基本功能,并通過測(cè)試對(duì)這些實(shí)現(xiàn)的功能進(jìn)行了完善,進(jìn)而提高了系統(tǒng)整體的實(shí)用性。系統(tǒng)投入運(yùn)行時(shí),各功能均運(yùn)行正常。系統(tǒng)的每個(gè)界面的操作符合常規(guī)邏輯,對(duì)使用者來說操作簡(jiǎn)單,界面友好。整個(gè)系統(tǒng)的各個(gè)功能設(shè)計(jì)合理,體現(xiàn)了人性化。
但是由于自己在系統(tǒng)開發(fā)過程中對(duì)一些用到的相關(guān)知識(shí)和技術(shù)掌握不夠牢固,再加上自身開發(fā)經(jīng)驗(yàn)欠缺,因此系統(tǒng)在有些方面的功能還不夠完善,考慮的不夠全面,因此整個(gè)系統(tǒng)還有待日后逐步完善。
參考文獻(xiàn)
[1]教育部.關(guān)于全面提高高等職業(yè)教育教學(xué)質(zhì)量的若干意見.中國(guó)職業(yè)技術(shù)教育,2017(1):14-15.
[1]張烈超,胡迎九.典型Java Web開發(fā)框架模型的研究[J].武漢交通職業(yè)學(xué)院學(xué)報(bào),2021,23(04):122-127.
[2]黃波.基于PHP+MySQL圖書館管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].信息與電腦(理論版),2021,33(19):124-126.
[3]Jun Ma, Jun Mao, Long Chen , Lili Yin. Design and Implementation of Multi-terminal Debugging System based on SSM Framework[J]. International Core Journal of Engineering,2021,7(7):
[4]Ravishankar B. T.,Vaishali S.,Bhattacharya D.,Ramadevi M. C.,Sarwade Abhilash,Seetha S.. AstroSat/SSM data pipeline[J]. Journal of Astrophysics and Astronomy,2021,42(2):
[5]石艷麗,劉欣.基于微信公眾平臺(tái)的圖書借閱信息查詢系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2020,43(24):88-91.DOI:10.16652/j.issn.1004-373x.2020.24.023.
[6]范路橋,段班祥,鄭述招.基于Web的圖書借閱系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2020(11):20-24.DOI:10.16184/j.cnki.comprg.2020.11.007.
[7]高遠(yuǎn).網(wǎng)絡(luò)環(huán)境下電子圖書館借閱流通管理系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2020,43(08):56-59.DOI:10.16652/j.issn.1004-373x.2020.08.015.
[8]莊禮金,黃曉云.基于JSP的圖書在線借閱系統(tǒng)的分析與設(shè)計(jì)[J].信息技術(shù)與信息化,2019(11):36-38.
[9]許佩迪,王海燕,李闖.基于JSP的網(wǎng)上在線圖書租售系統(tǒng)開發(fā)與設(shè)計(jì)[J].智能計(jì)算機(jī)與應(yīng)用,2019,9(05):310-311+319.
[10]錢月霞,楊保華.基于RFID技術(shù)的圖書租售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].價(jià)值工程,2019,38(01):182-184.DOI:10.14018/j.cnki.cn13-1085/n.2019.01.059.
[11]孫同寧.圖書租閱管理信息系統(tǒng)構(gòu)建[J].產(chǎn)業(yè)與科技論壇,2018,15(08):234-235.
[12]潘伯新.基于C/S模式的圖書館租售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技風(fēng),2013(13):275.DOI:10.19392/j.cnki.1671-7341.2018.13.234.
[13]李慶香.圖書租售管理信息系統(tǒng)的分析研究[J].文教資料,2018(23):137-138.
[14]經(jīng)營(yíng)模式嶄新 一角書屋創(chuàng)效奇高[J].現(xiàn)代營(yíng)銷,2018(10):60.
致謝
本次設(shè)計(jì)歷時(shí)3個(gè)月。在這個(gè)畢業(yè)設(shè)計(jì)中,它離不開指導(dǎo)教師的指導(dǎo),使事情基本順利。指導(dǎo)老師無論是在畢業(yè)設(shè)計(jì)歷經(jīng)中,還是在論文做完中都給了了我特別大的助益。另1個(gè)方面,教師認(rèn)真負(fù)責(zé)的工作姿態(tài),謹(jǐn)慎的教學(xué)精神厚重的理論水準(zhǔn)都使我獲益匪淺。他勤懇謹(jǐn)慎的教學(xué)育人學(xué)習(xí)姿態(tài)也給我留下了特別特別深的感覺。我從老師那里學(xué)到了很多東西。在理論和實(shí)踐中,我的技能得到了特別大的提高。在此,特向教師表示由衷的感激。
經(jīng)過對(duì)該畢業(yè)設(shè)計(jì)的全部研究和開發(fā),我的系統(tǒng)研發(fā)經(jīng)歷了從需求分析到實(shí)現(xiàn)詳細(xì)功能,再到最終測(cè)試和維護(hù)的特殊進(jìn)展。讓我對(duì)系統(tǒng)研發(fā)有了更深層次的認(rèn)識(shí)。如今我的動(dòng)手本領(lǐng)單獨(dú)處理疑惑的本領(lǐng)也獲取到了特別大的演練學(xué)習(xí)增多,這是這次畢業(yè)設(shè)計(jì)最好的收獲。文章來源:http://www.zghlxwxcb.cn/news/detail-768595.html
最后,在整個(gè)系統(tǒng)開發(fā)過程中,我周圍的同學(xué)和朋友給了我很多意見,所以我很快就確認(rèn)了系統(tǒng)的商業(yè)思想。在次,我由衷的向他們表示感激。文章來源地址http://www.zghlxwxcb.cn/news/detail-768595.html
免費(fèi)領(lǐng)取項(xiàng)目源碼,請(qǐng)關(guān)注?點(diǎn)贊收藏并私信博主,謝謝-
到了這里,關(guān)于python+基于python的圖書館管理系統(tǒng)-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼071718的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!