版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> JINGGANGSHAN UNIVERSITY</p><p> 本科畢業(yè)論文(設計)</p><p> 題目 基于JSP的學校圖書館管理系統(tǒng)的設計與實現</p><p> 學 院 電子與信息工程學院 </p><p> 專 業(yè) 軟件工程 </p>
2、;<p> 班 級 2008 級軟件工程本(1)班 </p><p> 姓 名 蔡長煒 </p><p> 學 號 80914029 </p><p> 指導教師 郭于明 </p><p> 起訖時間
3、 2012.1—2012.5 </p><p><b> 摘 要</b></p><p> 二十一世紀是信息的社會,信息作為社會最主要的資源,將成為戰(zhàn)略資源引起人們廣泛的關注。如何獲取信息?圖書是我們最好的獲取信息的方式,但由于圖書館圖書收藏量大大增加,使傳統(tǒng)的圖書管理員的工作日益繁重起來。迫使人們起用新的管理方法來管理圖書,如何把圖書管理員從
4、繁重的工作中解脫出來呢? </p><p> 圖書館管理系統(tǒng)是學校管理機制中的重要組成部分,通過對圖書館管理系統(tǒng)的運行管理機制進行調查研究,開發(fā)了此圖書館系統(tǒng)。本系統(tǒng)中實現了學校圖書管理事務中的常用基本問題以及相關統(tǒng)計工作。本系統(tǒng)中包含6個功能模塊:讀書借閱,讀者管理,圖書管理,系統(tǒng)查詢,系統(tǒng)設置和更改口令。</p><p> 本系統(tǒng)使用jsp進行網頁界面的設計,使用MVC設計模式,采
5、用了開源框架Struts,它采用了當今軟件設計的最新技術,具有開發(fā)效率高、設計靈活、生成的軟件界面友好美觀等特點。本系統(tǒng)中通過JDBC驅動和數據庫進行無縫連接,后端的數據庫是MySQL,也是一個開源的數據庫系統(tǒng),該數據庫具有較高的完整性,一致性和安全性。</p><p> 關鍵詞:圖書館管理 MySQL JSP Struts</p><p><b> Abstra
6、ct</b></p><p> 21 centuries is resources that information that society, social most in conduct and actions in information, will become the strategy resources cause the extensive concern in people.How
7、to obtain the information?Books is work that the way that we obtain the information bestly, but collect and keep to have great capacity the big increment because of the library books, make traditional books' managing
8、 person increasingly heavy to get up.Forcing people rises to manage the books with the new manageme</p><p> The management system of the library takes an important role in the administration of school organ
9、ization. I desigen the system after the thorough investigations about the library management system’s mechanism. This system contains with six functional modules: book borrowing,reader management, booksmanagement ,system
10、 query,system setting,and change the password.</p><p> The system is contrived with Java Server Pages Techonolege as well as Struts,the software design mode of MVC with open source framework techonolege, wh
11、ich makes this system have the advantages of efficiently designed with beauteous and friendly interface . This system use jdbc driver to connect the mysql database server,which is also an open source database system for
12、its users. The batabase was desigend with highly integrity, security, and consistency.</p><p> Keyword: Library Management MySQL JSP Struts</p><p><b> 目 錄</b></p>
13、<p> 第1章 緒論- 1 -</p><p> 1.1.1圖書管理的現狀- 1 -</p><p> 1.1.2現有圖書館管理系統(tǒng)現狀- 2 -</p><p> 1.2 選題的目的及意義- 3 -</p><p> 1.3 課題研究的主要內容- 3 -</p><p> 第2章
14、 系統(tǒng)開發(fā)工具及相關技術- 4 -</p><p> 2.1 JSP技術- 4 -</p><p> 2.2 JDBC- 4 -</p><p> 2.3 Servlet- 5 -</p><p> 2.4 MySQL- 5 -</p><p> 2.5 TOMCAT- 5 -</p>
15、<p> 2.6 MyEclipse- 5 -</p><p> 2.7 B/S結構- 6 -</p><p> 2.8 本章總結- 6 -</p><p> 第3章 系統(tǒng)需求分析- 7 -</p><p> 3.1 可行性分析- 7 -</p><p> 3.1.1技術可行性-
16、 7 -</p><p> 3.1.2經濟可行性- 7 -</p><p> 3.2 系統(tǒng)實現的目標- 8 -</p><p> 3.3系統(tǒng)功能分析- 8 -</p><p> 3.4系統(tǒng)流程圖分析- 8 -</p><p> 3.5 開發(fā)及運行的環(huán)境- 9 -</p><p&g
17、t; 3.5.1硬件環(huán)境- 9 -</p><p> 3.5.2軟件環(huán)境- 9 -</p><p> 3.6設計模式分析- 10 -</p><p> 第4章 系統(tǒng)設計- 11 -</p><p> 4.1 系統(tǒng)功能設計:- 11 -</p><p> 4.1.1總體功能設計- 11 -<
18、;/p><p> 4.1.2“圖書借還”模塊設計- 12 -</p><p> 4.1.3“讀者管理”模塊設計- 12 -</p><p> 4.1.4“圖書管理”模塊設計- 13 -</p><p> 4.1.5“系統(tǒng)查詢”模塊設計- 13 -</p><p> 4.1.6“系統(tǒng)設置”模塊設計- 14
19、 -</p><p> 4.1.7“更改口令”模塊設計- 14 -</p><p> 4.1.8 其他功能設計- 14 -</p><p> 4.2 系統(tǒng)數據庫設計- 14 -</p><p> 4.2.1數據總體結構設計- 14 -</p><p> 4.2.2圖書信息表結構設計- 16 -<
20、;/p><p> 4.2.3圖書類型信息表結構設計- 16 -</p><p> 4.2.4 讀者信息表結構設計- 17 -</p><p> 4.2.5讀者類型信息表結構設計- 17 -</p><p> 4.2.6圖書借閱信息表結構設計- 18 -</p><p> 4.2.7圖書歸還信息表結構設計
21、- 18 -</p><p> 4.2.8管理員信息表結構設計- 18 -</p><p> 4.2.9圖書館信息表結構設計- 19 -</p><p> 4.2.10書架信息表結構設計- 19 -</p><p> 4.2.11出版社信息表結構設計- 20 -</p><p> 4.2.12權限信息
22、表結構設計- 20 -</p><p> 第5章 系統(tǒng)實現- 21 -</p><p> 5.1數據庫操作類的實現- 21 -</p><p> 5.2登錄模塊實現- 23 -</p><p> 5.3圖書館主界面模塊的實現- 24 -</p><p> 5.4圖書借還功能模塊的實現- 26 -
23、</p><p> 5.5讀者管理功能模塊的實現- 30 -</p><p> 5.6圖書管理功能模塊的實現- 34 -</p><p> 5.7系統(tǒng)查詢功能模塊的實現- 39 -</p><p> 5.8系統(tǒng)管理功能模塊的實現- 43 -</p><p> 第六章 軟件測試- 48 -</
24、p><p> 6.1 軟件測試的方法與步驟- 48 -</p><p> 6.2 測試用例設計與測試用例的運行過程及測試結果分析- 49 -</p><p> 6.2.1模塊測試- 49 -</p><p> 6.2.2集成測試- 50 -</p><p> 6.2.3 驗收測試- 51 -</p
25、><p> 6.3 評價- 51 -</p><p> 第七章 總結- 52 -</p><p> 致 謝- 53 -</p><p> 參考文獻- 54 -</p><p><b> 第1章 緒論</b></p><p> 隨著計算機技術的發(fā)展以
26、及計算機網絡的逐漸普及,Internet 英特網成為人們查找信息的重要場所。二十一世紀是信息的時代,所以信息的交換和信息流通顯得特別重要。因此,圖書館使用計算機來管理成為必然。</p><p> 圖書館在正常運營中總是面對大量的讀者信息,書籍信息以及由兩者相互作用產生的借書信息,還書信息。因此圖書管理信息化是發(fā)展的必然趨勢。用結構化系統(tǒng)分析與設計的方法,建立一套有效的圖書信息管理系統(tǒng),可以減輕工作,將工作科學化
27、、規(guī)范化,提高了圖書館信息管理的工作質量,因此根據圖書館目前實際的管理情況開發(fā)一套圖書館管理系統(tǒng)是十分必要的。</p><p><b> 1.1課題現狀分析</b></p><p> 當今時代是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這正是計算機被廣泛應用于信息管理系統(tǒng)的環(huán)境。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工
28、作效率,而且大大的提高了其安全性。尤其對于復雜的信息管理,計算機能夠充分發(fā)揮它的優(yōu)越性。計算機進行信息管理與信息管理系統(tǒng)的開發(fā)密切相關,系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。</p><p> 基于上面,有必要建立一個基于JSP的圖書館管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準確性,能夠及時、準確、有效的查詢和修改圖書情況。</p><p> 1
29、.1.1圖書管理的現狀</p><p> 一直以來人們使用傳統(tǒng)的人工方式管理圖書館的日常工作,對于圖書館的借書和還書過程,想必大家都已很熟悉。在計算機尚未在圖書管理系統(tǒng)廣泛使用之前,借書和還書過程主要依靠手工。</p><p> 一個最典型的手工處理還書過程就是:讀者將要借的書和借閱證交給工作人員,工作人員將每本書上附帶的描述書的信息的卡片和讀者的借閱證放在一個小格欄里,并在借閱證和每
30、本書貼的借閱條上填寫借閱信息。這樣借書過程就完成了。還書時,讀者將要還的書交給工作人員,工作人員根據圖書信息找到相應的書卡和借閱證,并填好相應的還書信息,這樣還書過程就完成了。隨著近年來信息技術及計算機網絡技術的不斷發(fā)展, 圖書館也先從傳統(tǒng)的圖書館發(fā)展到自動化圖書館,再發(fā)展到今天的數字圖書館,這些變化使得圖書館的形象越來越現代化,人們查找資料也更加方便。對于一些小圖書館和一些圖書室來說,由于工作人員比較少,長期以來,作為圖書館的主要工作
31、—圖書借閱一直未能很好地開展。在平常的圖書借閱工作中, 由于大部分讀者不熟悉圖書館藏書,且對圖書排架分類的不了解,往往花費很長時間才能找到其所需的書。為提高管理效率,更好地為讀者服務,利用已有的辦公局域網絡條件,將館藏書籍做成基于JSP的查詢系統(tǒng),實現圖書在一個單位的網絡內甚至Internet上查詢,可使圖書查詢和借閱變得更加方便快捷,從而使圖書室的工作效率得到明顯提高。</p><p> 傳統(tǒng)的圖書管理模式其
32、最大的特點是手工。首先要把買來的圖書資料登記到資料本上,再給每本書分類貼上標簽及制作和標簽相對應的圖書分類卡片,最后把圖書分類卡片按類別分別放置在文件柜里。對于有學生(教師)證的學生(教師)來說還要對他們資料作一定的記錄。并且在人們來借書的時候,首先持證件者要去存放圖書分類卡片的文件柜里查找想借的書是否在架,如果卡片存在,再按照圖書分類卡片在相應的書架上找到需要的圖書,然后登記持證件者的借還書時間和在書簽條上寫下借還書記錄,之后把借書證
33、留在那里;還書的時候相對應的消去出借記錄;這樣做起來比較麻煩比較費時間。傳統(tǒng)圖書管理的特點是一直以來,中小型書店、中小學的小型圖書館及各高校圖書館和資料室使用傳統(tǒng)的人工方式管理圖書檔案、會員檔案。這種管理方式存在著諸多缺點,如:手續(xù)繁瑣、工作量大、效率低下、出錯率高等,同時給對大量資料的查詢、更新及維護都帶來不少困難。</p><p> 1.1.2現有圖書館管理系統(tǒng)現狀</p><p>
34、 在試用了一些個圖書管理系統(tǒng)和查閱了大量相關資料文獻的基礎上,發(fā)現那些系統(tǒng)在幾個方面已經不符合時代的要求,由于設計人員及其所用的工具的不同,再加上圖書管理系統(tǒng)設計的時間也不一樣,所用具體場合也有區(qū)別,因此在功能上除了圖書資料管理所需的基本功能之外也有所不同。經過比較總結他們都實現了以下圖書館管理的基本功能:1、圖書檢索模塊:是圖書管理系統(tǒng)的重要模塊之一,是讀者快速查詢圖書的途徑。2、圖書管理模塊:是圖書管理員操作模塊,讀者是無權進入的
35、。由借出圖書登記、歸還圖書登記和續(xù)借圖書登記子模塊構成。3、數據維護模塊:是由圖書管理員控制的模塊,它由增加、修改和刪除讀者,增加、修改刪除圖書,瀏覽修改讀者、瀏覽修改圖書等程序組成。 4、數據統(tǒng)計模塊:由讀者統(tǒng)計、圖書統(tǒng)計、借出圖書分類統(tǒng)計、到期末歸還圖書讀者統(tǒng)計幾部分組成。這些系統(tǒng)解決了以前的那種管理方式所存在著的諸如手續(xù)繁瑣、工作量大、效率低下、出錯率高等缺點,設計出的系統(tǒng)能使讀者快速檢索到自己喜愛的書,圖書管理員能減輕工作量。&
36、lt;/p><p> 但是鑒于開發(fā)工具和開發(fā)當時的科技發(fā)展水平所限,再加上歷史發(fā)展到今天,人們的生活環(huán)境已經發(fā)生了改變,大家對于圖書查詢這方面的要求也更高。如在一個局域網內,大家希望能在本臺電腦上就能查找自己想要的圖書,就需要網絡化的聯機查詢系統(tǒng)。</p><p> 1.2 選題的目的及意義</p><p> 目的:隨著社會的進步,信息技術的廣泛應用,數字化管理的
37、優(yōu)勢日趨顯著。針對中小型圖書館或圖書室管理落后的情況,設計實現一個圖書信息管理系統(tǒng),通過與計算機的結合使用對中小型圖書館或圖書室的各種圖書信息進行管理可以給管理員和用戶帶來以下不同的方便:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高工作效率,也是圖書館等部門管理科學化、正規(guī)化的重要標志之一。而且計算機管理的成本不斷降低。因此,開發(fā)一套這樣的中小型圖書管理軟件已經很有必要,并且實現研究服務于實
38、踐的原則。</p><p> 意義:圖書館管理系統(tǒng)是一項非常有意義的開發(fā)工作,其發(fā)展的潛力巨大,現今最好的辦法就是使用計算機操作的圖書館管理系統(tǒng)來實現對圖書館的管理,這就為圖書館管理系統(tǒng)提供了市場需要,而圖書館管理系統(tǒng)在現代社會是最熱門的行業(yè),國際上在線圖書管理系統(tǒng)前景看好,而國內的在線圖書,數量上也有了新的增長。數字圖書,各學校的電子圖書室等在線圖書的出現,證明了在線圖書管理系統(tǒng)的前景是好的。它的建立使圖書館
39、管理擺脫傳統(tǒng)擺脫用手工操作,實現通過互連網而進行的遠程圖書借閱,其發(fā)展前景將是非常深遠的。</p><p> 1.3 課題研究的主要內容</p><p> 本次畢業(yè)設計能夠實現動態(tài)站點的開發(fā)與維護的技術――JSP。JSP用于頁面顯示部分, JDBC用于存取數據庫,數據庫用于數據存儲。JSP通過對數據庫的數據處理,實現圖書館書籍的管理。本系統(tǒng)主要采用的是B/S結構,由于傳統(tǒng)C/S結構存在
40、靈活性差、升級困難、維護工作量大等缺陷,已較難適應當前信息技術與網絡技術發(fā)展的需要。隨著WEB技術的日益成熟,Browse/Server(簡稱B/S)結構已成為取代Browser/Server(簡稱C/S)結構的一種全新技術。采用該結構軟件的優(yōu)勢在于:(1)無須開發(fā)客戶端軟件,維護和升級方便;(2)可跨平臺操作,任何一臺機器只要裝有WWW瀏覽器軟件,均可作為客戶機來訪問系統(tǒng);(3)具有良好的開放性和可擴充性;(4)保證系統(tǒng)的安全性,有效
41、地適應了當前用戶對管理信息系統(tǒng)的新需求。因此該結構在管理信息系統(tǒng)開發(fā)領域中獲得飛速發(fā)展,成為應用軟件研制中一種流行的體系結構。</p><p> 在MyEclipse開發(fā)環(huán)境下,以J2EE為平臺,運用JSP網絡編程語言和Struts框架和MySQL數據庫完成了B/S模式的圖書館管理系統(tǒng)。</p><p> 網站主要實現的功能有查詢、借閱、信息管理,其中信息管理為重點,包括圖書信息管理、
42、讀者信息管理、管理員信息管理等。通過對信息輸入、編輯(增加、刪除、查詢、修改)等功能完成對圖書信息數據庫、用戶信息數據庫的操作管理。</p><p> 第2章 系統(tǒng)開發(fā)工具及相關技術</p><p><b> 2.1 JSP技術</b></p><p> JavaServer Pages 技術是一個純Java平臺的技術,它主要用來產生動
43、態(tài)網頁內容。在傳統(tǒng)的網頁HTML文件中加入Java程序片段和JSP標記,就構成了JSP網頁。Web服務器接收到訪問JSP網頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結果以HTML格式返回給客戶。JSP是基于Java Servlet以及整個Java體系的Web開發(fā)技術,利用這一技術可以建立先進、安全、快速和跨平臺的動態(tài)網頁。</p><p> JSP在多個方面加速了動態(tài)的Web頁面的開發(fā):</p>
44、<p> 程序寫一次,到處可以運行。JSP在設計時,充分考慮到應用平臺的無關性。依賴于Java的可移植性,JSP得到目前許多流行操作平臺的支持,可在Apache、NetScape、IIS等服務器上執(zhí)行。</p><p> 執(zhí)行速度快。JSP頁面只需編譯一次轉化為Java字節(jié)代碼,其后一直駐留于服務器內存中,加快了對JSP頁面的響應速度。若不考慮JSP頁面第一次編譯所花的時間,則JSP的響應速度要
45、比ASP快得多。</p><p> Java的優(yōu)勢。JSP技術是用Java語言作為腳本語言的。跨平臺、成熟、健壯、易擴充的Java技術使得開發(fā)人員的工作在其他方面也變得容易和簡單。Java語言通過提供防止內存泄漏的方法,在內存管理方面大顯身手。加之,JSP為應用程序提供了更為健壯的意外事件處理機制,充分發(fā)揮了Java的優(yōu)勢。</p><p> JSP標簽可擴充性和跨平臺的可重用性。JS
46、P技術能夠使開發(fā)者擴展JSP標簽得以應用,JSP開發(fā)者能定制標簽庫,大大減少對腳本語言的依賴。由于定制標簽技術,使網頁制作者降低了制作網頁和向多個網頁擴充關鍵功能的復雜程度。JSP組件(企業(yè)Javabeans,JavaBeans或定制的JSP標簽)都是跨平臺可重用的。</p><p><b> 2.2 JDBC</b></p><p> JDBC由一組Java語言
47、編寫的類和接口組成,使用內嵌式的SQL,主要實現三方面的功能:建立與數據庫的連接,執(zhí)行SQL聲明以及處理SQL執(zhí)行結果。JDBC支持基本的SQL功能,使用它可方便地與不同的關系型數據庫建立連接,進行相關操作,并無需再為不同的DBMS分別編寫程序。</p><p> 2.3 Servlet</p><p> Servlet是是JAVA 2.0中新增的一個全新功能。它是與Applet相對應
48、的,Applet是運行在客戶端的瀏覽器,而Servlet是運行在服務器端的。 JAVA Servlets 是運行在請求/面向請求服務器上的模塊。也就是說:servlet能夠象CGI腳本一樣擴展WEB服務器功能,但是servlet占用很少密集資源,當一個服務器裝載servlet時, 它運行servlet的 init 方法. 這個方法不能反復調用,一旦調用就是再裝載servlet. 直到服務器調用 destroy 方法卸載 servlet后
49、才能再調用.每個新的CGI要求在服務器上新增一個進程。如果多個用戶并發(fā)地訪問該程序,這些進程將消耗該Web服務器所有的可用資源,并且系統(tǒng)性能降低到極其低下的地步。有很多用CGI腳本編制的一些站點由于訪問量劇增,性能迅速下降,這是CGI腳本一個缺點。 同時由于servlet 是用java編寫的,因此是跨平臺的。</p><p><b> 2.4 MySQL</b></p>&l
50、t;p> MySQL是一個多用戶、多線程的SQL數據庫,是一個客戶機/服務器結構的應用,它由一個服務器守護程序mysqld和很多不同的客戶程序和庫組成。MySQL的快速和靈活性足以滿足一個網站的信息管理工作。 因為許可證的靈活,任何人都可以以任何目的免費使用,修改,和分發(fā) PostgreSQL,不管是私用,商用,還是學術研究使用。命令執(zhí)行速度快,也許是現今最快的;簡單有效的用戶特權系統(tǒng)。MySQL使用完全免費,使得其運用范圍更加
51、廣泛。</p><p> 2.5 TOMCAT</p><p> Tomcat服務器是Apache Group Jakarta小組開發(fā)的一個免費服務器軟件,適合于嵌入Apache中使用,而且,它的源代碼可以免費獲得,你可以自由地對它進行擴充。Tomcat服務器的兼容性很好,如WebLogic服務器采用其為Web服務器引擎,Jbuilder將其作為標準的測試服務器,Sun公司也將其作為J
52、SP技術應用的示例服務器。但是Tomcat服務器有眾多大軟件公司的支持,而且服務器的性能穩(wěn)定,其發(fā)展前景很好。</p><p> 2.6 MyEclipse</p><p> MyEclipse 是一個開放源代碼的、基于 Java 的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。</p><p><b> 2.
53、7 B/S結構</b></p><p> 本系統(tǒng)采用B/S模式來實現客戶端對服務器端的調用,所謂B/S模式即瀏覽器/服務器模式,是一種從傳統(tǒng)的二層C/S模式發(fā)展起來的新的網絡結構模式。在B/S模式中,客戶端運行瀏覽器軟件。瀏覽器以超文本形式向WEB服務器提出訪問數據庫的要求,WEB服務器接受客戶端請求后,將這個請求轉化為SQL語法,并交給數據庫服務器,數據庫服務器得到請求后,驗證其合法性,并進行數據
54、處理,然后將處理后的結果返回給WEB服務器,WEB 服務器再一次將得到的所有結果進行轉化,變成HTML文檔形式,轉發(fā)給客戶端瀏覽器,以友好的WEB頁面形式顯示出來。如圖2.1所示。</p><p> 圖2.1 B/S模式圖</p><p> 與傳統(tǒng)的C/S模式相比,B/S結構把處理功能全部移植到了服務器端,用戶的請求通過瀏覽器發(fā)出,無論是使用和數據庫維護上都比傳統(tǒng)模式更加經濟方便。而且
55、使維護任務層次化:管理員負責服務器硬件日常管理和維護,系統(tǒng)維護人員負責后臺數據庫數據更新維護。</p><p><b> 2.8 本章總結</b></p><p> 本章主要介紹本畢設所要采用的各種相關技術及開發(fā)工具。首先介紹了開發(fā)JAVA工具,詳細說明了JSP開發(fā)系統(tǒng)的特性及其發(fā)展史。之后敘述了MySQL數據庫服務器的相關特性,常見版本以及常用工具。然后說明了M
56、YSQL數據庫應用程序開發(fā)環(huán)境和用來生成數據庫應用程序的語言。最后介紹了本課題所采用的B/S體系結構模式,說明了該體系結構的特點和優(yōu)勢。</p><p> 第3章 系統(tǒng)需求分析</p><p> 隨著互聯網的爆炸性發(fā)展,人們越來越習慣于利用網絡來實現所需的服務,網絡已深深影響到人們生活的各個方面。另外,傳統(tǒng)的圖書館不能滿足一部分現代人的需要,而電子閱覽室,由于其不受時間與空間的限制,
57、同時又具有傳統(tǒng)圖書館的大部分功能,能夠滿足各類用戶的常規(guī)與特殊需求,而且其方便快捷,實現技術又比較成熟,因此受到當代人的喜愛。</p><p> 該系統(tǒng)主要分為:讀者部分和管理員部分。為了方便讀者查找自己感興趣的主題進行閱讀,要將圖書按照內容進行分類。讀者可以按照類別進行查找,可以查看自己的信息。本系統(tǒng)還可對用戶的賬號和書目的閱讀權限進行管理。管理員需要給用戶分配用戶名和密碼,及設定用戶的權限,還為管理員提供圖
58、書的排行榜讓用戶能知道那些圖書受到大家的歡迎。</p><p><b> 3.1 可行性分析</b></p><p> 采用現代化統(tǒng)一的計算機信息網站系統(tǒng),能夠有效優(yōu)化圖書館管理系統(tǒng),使其高效的發(fā)揮最大作用,能夠迅捷的為讀者提供相應的服務。開發(fā)本系統(tǒng)的可行性研究如下。</p><p> 3.1.1技術可行性</p><
59、p> 技術上的可行性分析主要分析技術條件能否順利完成開發(fā)工作,軟、硬件能否滿足需要。本系統(tǒng)采用JSP開發(fā)出友好美觀的人機界面,便于用戶理解、操作。數據庫管理系統(tǒng)采用MySQL,它能夠處理大量數據,同時保持數據的完整性、安全性。因此本系統(tǒng)的開發(fā)平臺已成熟可行。硬件方面,在科技飛速發(fā)展的今天,硬件更新速度越來越快,容量越來越大,可靠性越來越高,價格越來越便宜,因此硬件平臺也能夠滿足本系統(tǒng)所需。</p><p>
60、; 3.1.2經濟可行性</p><p> 鑒于計算機技術發(fā)展異常迅猛,在硬件軟件配置以及開發(fā)技術均以可行的情況下開發(fā)這樣一個管理系統(tǒng)成本不會很高,但其可以大大提高圖書館的工作效率,也是圖書館管理發(fā)展的必然趨勢,其必將有比較寬闊的市場,因此改性統(tǒng)在經濟可行性上時可行的。</p><p> 3.2 系統(tǒng)實現的目標</p><p> 學校圖書管理系統(tǒng)的開發(fā)主要要
61、實現的目標有以下幾個方面:</p><p> 1. 界面設計友好、美觀。</p><p> 2. 數據存儲安全、可靠。</p><p> 3. 信息分類清晰、準確。</p><p> 4. 強大的查詢功能,保證數據查詢的靈活性。</p><p> 5. 實現對借書處理和歸還過程的全程數據信息跟蹤。</p
62、><p> 6. 提供圖書借閱排行榜,為圖書管理員提供了真實的數據信息。</p><p> 7. 提供靈活、方便的權限設置功能,使整個系統(tǒng)的管理分工明確。</p><p> 8. 具有易維護性和易操作性。</p><p><b> 3.3系統(tǒng)功能分析</b></p><p> 1. 密碼設置
63、:每個操作員均有自己的密碼,可以防止非本系統(tǒng)人員進入本系統(tǒng);又因每個人的權限不一致,故可以防止越權操作。</p><p> 2. 資料維護:為了存放圖書、讀者檔案的全部數據,本系統(tǒng)將每一本圖書和每位讀者的信息進行管理。系統(tǒng)維護包括對各種表記錄的修改、刪除、添加等操作。</p><p> 3. 系統(tǒng)查詢:可以按圖書編號、借閱證編號等相關信息進行查詢。</p><p&g
64、t; 4. 系統(tǒng)管理:進行員工管理、數據備份和數據恢復。</p><p> 5. 報表統(tǒng)計:包括統(tǒng)計圖書信息、讀者信息、借閱信息和到期提醒信息等。</p><p> 6. 其它操作:包括修改密碼、添加用戶、頁面設置等。</p><p> 3.4系統(tǒng)流程圖分析</p><p> 圖書館管理系統(tǒng)的流程是用戶先輸入自己的帳號密碼進入系統(tǒng)如
65、有一項不符合則不能進入系統(tǒng),成功登陸系統(tǒng)后系統(tǒng)根劇登陸的帳號信息從數據庫中的數據進行對比判斷是讀者還是管理員,如果是讀者則能進行信息查詢,及修改自己的相關信息,查詢到自己所需要的圖書就能進行借閱圖書、歸還圖書。如果不是讀者而是管理員,那管理員可以進行相關信息的查詢、添加刪除圖書及讀者的所有信息、設置相應的權限、為圖書更新排行榜的信息、以及完成讀者的圖書借閱與歸還。圖書館管理系統(tǒng)的系統(tǒng)流程圖如圖3-1所示。</p><
66、p> 圖3-1 圖書館管理系統(tǒng)的系統(tǒng)流程圖</p><p> 3.5 開發(fā)及運行的環(huán)境</p><p><b> 3.5.1硬件環(huán)境</b></p><p> CPU: 一臺Pentium 4 cpu 以上的微機及兼容</p><p> 內存:512MB以上(最好1GB內存) </p>&
67、lt;p> 顯示屏:VGA 彩顯一臺</p><p><b> 3.5.2軟件環(huán)境</b></p><p> 操作系統(tǒng):Windows 2000 以上的 </p><p><b> 數據庫:MySQL</b></p><p><b> 開發(fā)工具包:JDK<
68、/b></p><p> JSP服務器:Tomcat</p><p> 瀏覽器:IE6.0及以上版本</p><p> 分辨率:最佳效果1024像素*768像素</p><p><b> 3.6設計模式分析</b></p><p> 設計模式是面向對象的程序設計人員用來解決編程問題
69、的一種形式化表示。本系統(tǒng)開發(fā)采用目前一種目前廣泛流行的軟件設計模式MVC。MVC(Model-View - Controller)應用程序結構被用來分析分布式應用程序的特征。這種抽象結構能有助于將應用程序分割成若干邏輯部件,使程序設計變得更加容易。把一個應用的輸入、處理、輸出流程按照Model、View、Controller的方式進行分離,這樣一個應用被分成三個層——模型層、視圖層、控制層。</p><p>
70、圖3-2 MVC模式</p><p> MVC模式的出現,很好的解決了傳統(tǒng)開發(fā)WEB應用方式中存在的問題。M代表模型(Model),包含完成任務所需要的所有的行為和數據;V代表視圖(View)界面,顯示模型提供的數據;C代表控制器(Controller),它將模型映射到界面中,處理用戶的輸入并響應請求。其模型關系如圖所示。</p><p><b> 第4章 系統(tǒng)設計<
71、/b></p><p> 4.1 系統(tǒng)功能設計:</p><p> 4.1.1總體功能設計</p><p> 在MyEclipse開發(fā)環(huán)境下,以J2EE為平臺,運用JSP網絡編程語言和Struts框架和MySQL數據庫完成了B/S模式的圖書館管理系統(tǒng)。根據圖書館管理系統(tǒng)的實際需求,可以將圖書館管理系統(tǒng)劃分為日常工作,讀者資料維護,圖書資料維護,查詢,系統(tǒng)
72、管理和更改口令6個部分,各個部分的具體功能的系統(tǒng)功能結構圖如圖4-1所示。</p><p> 圖4-1 系統(tǒng)功能結構圖</p><p> 4.1.2“圖書借還”模塊設計</p><p> 圖4-2 “圖書借閱”模塊設計結構</p><p> (1) 圖書借閱:主要功能是記錄借閱證編號和圖書編號,進行借書過程。在數據庫</p&
73、gt;<p> 中插入一條借書記錄,該記錄包括讀者ID、圖書ID、借出日期、還書期限及相關其它信息。</p><p> (2) 歸還圖書:主要功能是輸入借閱證編號、圖書ID,在借閱登記表中找到相應的</p><p> 記錄,將該記錄的相應數據插入到還書記錄中,同時將借書記錄刪除,并保存在借閱歷史記錄表中。</p><p> 圖書續(xù)借:進行續(xù)借相
74、關功能,記錄借閱證編號和圖書編號,完成續(xù)借過程。</p><p> 4.1.3“讀者管理”模塊設計</p><p> 圖4-3 “讀者資料維護”模塊設計結構</p><p> (1) 讀者類型管理:包括新成員的類型資料入庫,以及現有成員資料的修改和刪除。</p><p> (2) 讀者檔案管理:包括新成員的檔案資料入庫,以及現有成員
75、資料的修改和刪除及詳細資料查詢。</p><p> 4.1.4“圖書管理”模塊設計</p><p> 圖4-4 “圖書資料維護”模塊設計結構</p><p> (1) 圖書類型設置:包括新書的分類資料入庫,以及現有書籍資料的修改和刪除。</p><p> (2) 圖書檔案管理:包括新書的檔案資料入庫,以及現有成員資料的修改和刪除及詳
76、細資料查詢。</p><p> 4.1.5“系統(tǒng)查詢”模塊設計</p><p> 圖4-5 “查詢”模塊設計結構</p><p> (1) 圖書資料查詢:根據相應的圖書信息對所有書籍進行所需查詢。此查詢包括:‘圖書分類’、‘圖書編號’、‘圖書名稱’、‘作者’、‘出版社’及‘書架’。</p><p> (2) 借閱歷史記錄查詢:根據相
77、應的借閱信息進行所需查詢。此查詢包括:‘借閱證編號’、 ‘圖書名稱’、‘圖書編號’、 ‘讀者名稱’、‘借書日期’、‘還書日期’。</p><p> (3) 借閱到期提醒:根據相應的圖書信息歸還日期進行判斷結果及查看。</p><p> 4.1.6“系統(tǒng)設置”模塊設計</p><p> 圖4-6 “系統(tǒng)設置”模塊設計結構</p><p>
78、; (1) 圖書館信息:包括圖書館名稱及相關資料信息的顯示。</p><p> (2) 管理員管理:包括管理員名稱及相關資料信息的錄入,密碼的修改以及員工信息的刪除,權限設置方便用網頁不能越界查詢自己相關信息,系統(tǒng)管理員可以修改自己的密碼,并且擁有其他用戶所擁有的功能。</p><p> (3) 書架設置:包括書架名稱的錄入,修改以及刪除功能。</p><p>
79、; 4.1.7“更改口令”模塊設計</p><p> (1) 實現更改管理員姓名密碼的功能。</p><p> 4.1.8 其他功能設計</p><p> (1) 首頁顯示圖書借閱排行榜;</p><p> (2) 頁面頂端顯示井岡山大學圖標及相關題目信息;</p><p> (3) 左端顯示今日日期時間;
80、</p><p> (4) 最下端顯示一些提示信息。</p><p> 4.2 系統(tǒng)數據庫設計</p><p> 4.2.1數據總體結構設計</p><p> 整個系統(tǒng)所包括的信息有圖書信息、讀者信息、圖書借閱信息、圖書歸還信息、管理員信息、讀者類型信息、圖書類型信息??蓪⑿畔⒊橄鬄橄铝袛祿椇蛿祿Y構:</p><
81、;p> (1) 圖書信息(圖書編號,圖書名稱,圖書類型,作者,譯者,ISBN號,價格,出版社,所在書架,入庫時間,操作員)</p><p> (2) 圖書類型(圖書編號,名稱,可借閱天數)</p><p> (3) 讀者信息(編號,姓名,性別,借閱證編號,讀者類型,出生年月,有效證件,證件號碼,登記日期,電話,郵箱,操作員)</p><p> (4)
82、讀者類型(名稱,可借閱圖書本數)</p><p> (5) 圖書借閱信息(圖書編號,讀者ID,借出時間,應還時間,是否歸還,操作員)</p><p> (6) 圖書歸還信息(圖書編號,讀者ID,歸還時間,操作員)</p><p> (7) 管理員信息(名稱,密碼);圖書館書架信息(名稱);出版社信息;權限信息</p><p> (8)
83、 圖書館信息(編號,名稱,館長,電話,地址,郵箱,創(chuàng)建日期,簡介)</p><p> 在這里使用E-R圖描述了圖書館管理系統(tǒng)的數據模型。下圖標識涉及的實體及關系。</p><p> 圖4-7 系統(tǒng)E-R 圖</p><p> 本系統(tǒng)數據庫采用MySQL數據庫,系統(tǒng)數據庫名稱db-librarySys,共包含11張表,下面給出數據表概要說明及數據表樹形結構圖,如
84、圖4-3所示,包含系統(tǒng)所有數據表。</p><p><b> 圖4-8 數據表</b></p><p> 4.2.2圖書信息表結構設計</p><p> 圖書信息表主要用于存儲圖書館中所藏圖書的相關信息,其中的相關信息是在圖書入庫時由操作員進行添加完善,此表主要用于讀者和圖書管理員對館中圖書的查詢,系統(tǒng)用戶根據圖書的某個屬性進行查詢,便可
85、得知圖書的其他相關信息,其中圖書所在書架屬性是便于讀者借閱時對圖書的尋找,圖書價格是在讀者不慎將圖書遺失時對遺失圖書進行賠償的依據。表的具體結果如下:</p><p> 表4-1 圖書信息表tb_bookinfo</p><p> 4.2.3圖書類型信息表結構設計</p><p> 該表的設計主要是方便對圖書的分類,和對圖書的查詢,在實際應用中圖書管理員就是
86、根據圖書類型的不同將之分列在不同的書架,以方便讀者的借閱尋找,其中可借閱天數項設置了不同類型圖書的借閱期限,可根據圖書的具體情況進行不同的維護管理,表的具體結構設計如下:</p><p> 表4-2 圖書類型信息表tb_booktype</p><p> 4.2.4 讀者信息表結構設計</p><p> 讀者信息表的設計是為了圖書館管理員對讀者進行管理,其中
87、讀者ID,不同類型證件的號碼都是唯一的,是讀者在借閱圖書時需要輸入對讀者身份進行識別的信息,讀者郵件電話等信息是為了與讀者進行聯系,讀者類型信息決定了讀者一次性可借閱的圖書的數量,操作員是為了便于對信息才操作的查詢。表的具體結構設計如下:</p><p> 表4-3 讀者信息表tb_reader</p><p> 4.2.5讀者類型信息表結構設計</p><p&g
88、t; 此表的設計是為了對不同身份的讀者進行分類方便讀者的管理,其中可借閱圖書數量的屬性設定,是根據讀者需求的不同對起權限進行的設置,用于規(guī)定不同類型讀者一次可借閱的圖書數量,表的具體結構設計如下:</p><p> 表4-4 讀者類型信息表tb_readertype</p><p> 4.2.6圖書借閱信息表結構設計</p><p> 該表的設計是用于對讀
89、者借閱圖書進行管理,表中圖書ID屬性是對借閱圖書的唯一性識別標識,讀者ID號記錄借閱的相應讀者,結出時間記錄了相應的歸還時間,以及歸還時是否超時,操作員是對借閱進行操作的人員的記錄方便日后的查詢,是否歸還標識可查詢當起讀書是否被歸還,表的具體結構設計如下:</p><p> 表 4-5 圖書借閱信息表 tb_borrow</p><p> 4.2.7圖書歸還信息表結構設計</
90、p><p> 與圖書借閱信息表形成對照的是圖書歸還信息表,該表的設計除了像上表一樣把借閱的圖書與相應的借閱者進行對應的聯系以外還記錄了讀者應歸還圖書的時間,以此判斷讀者的借閱是否超時,表的具體結構設計如下:</p><p> 表 4-6 圖書歸還信息表tb_giveback</p><p> 4.2.8管理員信息表結構設計</p><p>
91、; 該表的設計用于記錄圖書管理系統(tǒng)用戶的信息,方便對用戶的管理,表中包括用戶ID 和用戶的登錄密碼,表的具體結構設計如下:</p><p> 表 4-7系統(tǒng)用戶信息表tb_mamager</p><p> 4.2.9圖書館信息表結構設計</p><p> 該表包含了圖書館的名稱,地址,聯系方式,建館時間,簡介等信息,是對圖書館基本屬性信息的描述,方便外界讀者
92、對圖書館的了解,表的具體結構設計如下:</p><p> 表4-8 圖書館信息表 tb_library </p><p> 4.2.10書架信息表結構設計</p><p> 該表是為保存書架信息,表的具體結果設計如下:</p><p> 表4-9 書架信息表tb_bookcase</p><p> 4.2
93、.11出版社信息表結構設計</p><p> 該表包含了出版社的名稱,編碼信息,是保存出版社信息的描述,表的具體結構設計如下:</p><p> 表4-10 出版社信息表 tb_publishing </p><p> 4.2.12權限信息表結構設計</p><p> 該表用來保存管理員權限信息,表的具體結構設計如下:</p&
94、gt;<p> 表4-11 權限信息表 tb_purview</p><p><b> 第5章 系統(tǒng)實現</b></p><p> 5.1數據庫操作類的實現</p><p> 數據庫連接時采用連接池技術鏈接MySQL,具體代碼實現如下:</p><p> public ConnDB()</
95、p><p><b> {</b></p><p><b> Try</b></p><p><b> {</b></p><p> InputStream in=getClass().getResourceAsStream(propFileName);</p>
96、<p> prop.load(in); //通過輸入流對象加載Properties文件</p><p> dbClassName = prop.getProperty("DB_CLASS_NAME");//獲取數據庫驅動</p><p> dbUrl = prop.getProperty("DB_URL",
97、 "jdbc:mysql://127.0.0.1:3306/db_librarySys?user=root&password=123&useUnicode=true");</p><p><b> }</b></p><p> catch (Exception e) </p><
98、;p><b> {</b></p><p> e.printStackTrace();//輸出異常信息</p><p><b> }</b></p><p><b> }</b></p><p> public static Connection getCo
99、nnection() </p><p><b> {</b></p><p> Connection conn = null;</p><p><b> try {</b></p><p> Class.forName(dbClassName).newInstance();</p>
100、;<p> conn = DriverManager.getConnection(dbUrl);</p><p><b> }</b></p><p> catch (Exception ee) {</p><p> ee.printStackTrace();</p><p><b>
101、}</b></p><p> if (conn == null) {</p><p> System.err.println("警告: DbConnectionManager.getConnection() 獲得數據庫鏈接失敗.\r\n\r\n鏈接類型:" +dbClassName + "\r\n鏈接位置:" + dbUrl);<
102、;/p><p><b> }</b></p><p> return conn;</p><p><b> }</b></p><p><b> /*</b></p><p> * 功能:執(zhí)行查詢語句</p><p><
103、;b> */</b></p><p> public ResultSet executeQuery(String sql) {</p><p><b> try {</b></p><p> conn = getConnection();</p><p> stmt = conn.create
104、Statement(ResultSet.TYPE_SCROLL_INSENSITIVE,</p><p> ResultSet.CONCUR_READ_ONLY);</p><p> rs = stmt.executeQuery(sql);</p><p> } catch (SQLException ex) {</p><p> S
105、ystem.err.println(ex.getMessage());</p><p><b> }</b></p><p> return rs;</p><p><b> }</b></p><p><b> /*</b></p><p>
106、 * 功能:執(zhí)行更新操作</p><p><b> */</b></p><p> public int executeUpdate(String sql) {</p><p> int result = 0;</p><p><b> try {</b></p><p&
107、gt; conn = getConnection();//調用getConnection()方法構造Connection對象的一個實例conn</p><p> stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,</p><p> ResultSet.CONCUR_READ_ONLY);</p>
108、<p> result = stmt.executeUpdate(sql);//執(zhí)行更新操作</p><p> } catch (SQLException ex) {</p><p> result = 0;</p><p><b> }</b></p><p> return result;&
109、lt;/p><p><b> }</b></p><p><b> /*</b></p><p> * 功能:關閉數據庫的連接</p><p><b> */</b></p><p> public void close() {</p>
110、<p><b> try {</b></p><p> if (rs != null) {</p><p> rs.close();</p><p><b> }</b></p><p> if (stmt != null) {</p><p> s
111、tmt.close();</p><p><b> }</b></p><p> if (conn != null) {</p><p> conn.close();</p><p><b> }</b></p><p> } catch (Exception e)
112、 {</p><p> e.printStackTrace(System.err);</p><p><b> }}</b></p><p><b> }</b></p><p><b> 5.2登錄模塊實現</b></p><p> 本模塊
113、主要是用戶通過圖書館管理系統(tǒng)的首頁登錄進入該系統(tǒng)。打開360瀏覽器,在地址欄中輸入http://lbwin7:8080/Library/login.jsp, 用戶輸入正確的用戶名和密碼,系統(tǒng)會根據用戶的身份進行相應權限劃分;如果登錄信息有錯誤,則系統(tǒng)提示登入錯誤的信息,并且禁止用戶進行任何操作。進入圖書館管理系統(tǒng)的登錄主頁面,如圖5-1所示。</p><p> 圖5-1 圖書館管理系統(tǒng)登錄首頁</p>
114、;<p> 出現登錄界面,在用戶名中輸入管理員的登錄名稱:admin,在密碼中輸入管理員的登錄密碼:admin,再按確定就可以進入圖書館管理系統(tǒng)的主界面了。</p><p> 用戶在登錄頁面寫好用戶名和密碼,選擇確定,登錄成功則跳轉到系統(tǒng)的首頁,否則提示錯誤信息。</p><p> 判斷寫好用戶名和密碼的語句:</p><p> functio
115、n check(form){</p><p> if (form.name.value==""){</p><p> alert("請輸入用戶名!");form.name.focus();return false;</p><p><b> }</b></p><p> i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于jsp的圖書館管理系統(tǒng)畢業(yè)論文
- 基于jsp的圖書館管理系統(tǒng) 畢業(yè)論文
- 基于jsp圖書館管理系統(tǒng)畢業(yè)設計論文
- 基于jsp圖書館管理系統(tǒng)畢業(yè)設計論文
- 畢業(yè)論文---基于jsp技術的圖書館管理系統(tǒng)的設計與實現
- 基于jsp的圖書館管理系統(tǒng)
- 圖書館管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文--圖書館管理系統(tǒng)
- 圖書館管理系統(tǒng)畢業(yè)論文
- 圖書館管理系統(tǒng)畢業(yè)論文
- 圖書館管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——圖書館管理系統(tǒng)
- 畢業(yè)論文-----基于web的圖書館管理系統(tǒng)
- 基于jsp的高校圖書館管理系統(tǒng)
- 畢業(yè)論文--圖書館借閱管理系統(tǒng)
- 圖書館管理系統(tǒng)論文畢業(yè)論文
- 基于java的圖書館管理系統(tǒng)設計(畢業(yè)論文)
- 畢業(yè)論文--圖書館借閱管理系統(tǒng)
- 基于jsp的圖書館管理系統(tǒng)的開發(fā)
- 畢業(yè)論文范文——圖書館管理系統(tǒng)
評論
0/150
提交評論