基于JSP的圖書管理系統(tǒng)計算機專業(yè)畢業(yè)論文
《基于JSP的圖書管理系統(tǒng)計算機專業(yè)畢業(yè)論文》由會員分享,可在線閱讀,更多相關《基于JSP的圖書管理系統(tǒng)計算機專業(yè)畢業(yè)論文(53頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 -I-題題 目目 基于 JSP 的圖書管理系統(tǒng) TITLE Library Management System Based On JSP 摘摘 要要隨著科學技術的進步和計算機行業(yè)的迅速發(fā)展,人們的工作效率得到大大提高。計算機信息處理系統(tǒng)的引進已徹底改變了許多系統(tǒng)的經(jīng)營管理。圖書管理系統(tǒng)是學校管理機制中的重要組成部分,通過對圖書館管理系統(tǒng)的運行管理機制進行調(diào)查和研究,開發(fā)了此圖書館管理系統(tǒng)。本文中主要介紹了圖書館管理事務中的常見基本問題等研究背景,進行了全面的可行性分析,詳細論證了系統(tǒng)的需求分析、系統(tǒng)設計、系統(tǒng)實現(xiàn)和系統(tǒng)測試過程。本系統(tǒng)使用 JSP 進行網(wǎng)頁界面的設計,使用 MVC 設計模式,
2、采用開源框架Struts、Hibernate 和 Spring 進行開發(fā)。后端的數(shù)據(jù)庫采用 Oracle,通過 JDBC驅(qū)動和數(shù)據(jù)庫進行無縫連接。系統(tǒng)實現(xiàn)了用戶登錄、圖書管理、借書證管理、圖書借閱管理等功能模塊。用戶登錄模塊實現(xiàn)用戶的登錄和權限判定;圖書管理模塊實現(xiàn)了對圖書的添加、刪除、修改、查詢等功能;借書證管理模塊實現(xiàn)了對學生的添加、刪除、修改、查詢等功能;圖書借閱管理模塊實現(xiàn)了學生對圖書的借閱、還書和所借圖書的查看等功能。測試結(jié)果表明,本系統(tǒng)實現(xiàn)了圖書館圖書管理的主要功能,基本滿足圖書管理的需要。關鍵詞關鍵詞:圖書館,圖書管理系統(tǒng),JSP,STRUTS,HIBERNATE,SPRING.
3、 -II-AbstractWith the progress of science and technology, the astonishing rapid development of the computer industry has been improving peoples working efficiency greatly. The introduction of computerized information system has sharply changed the management in many systems in many fields.The librar
4、y management system takes an important role in the administration of school organization. After the thorough investigations about the library management systems mechanism, a book management system was designed. This thesis describes the main things of school library management issues and the researc
5、h background of related statistic work, conducts a comprehensive analysis about the feasibility for the system and demonstrates requirement analysis, system design, the realization of system and the system test in detail. The system is contrived with Java Server Pages technology as well as Struts, S
6、pring and MVC design mode. The DBMS is Oracle. This system uses JDBC to connect the Oracle database server. The system consists of function modules as user login, book management, library card management, book borrowing management. In the user login module, user login and users right judgement is im
7、plemented; in the book management module, book adding, deleting, modifying and querying is implemented; in the library card management module, students adding, deleting, modifying and querying is implemented; in the book borrowing management module, book borrowing, book -III-returning and borrowed b
8、ook querying is implemented.Test results show that this system implements the main function of book management in a library, meets basically the needs of book management.Key words: Library, Book management System, Jsp, Struts, Hibernate, Spring. -IV-目 錄1 1緒緒 論論 .1 11.1目前圖書館管理系統(tǒng)存在的問題 .11.2系統(tǒng)設計的目的和意義
9、.11.3開發(fā)工具及相關技術介紹 .31.3.1 SSH 框架.31.3.2 Tomcat .32 2可行性分析可行性分析 .4 42.1技術可行性 .42.2經(jīng)濟可行性 .52.3操作可行性 .53 3需求分析需求分析 .6 63.1圖書館管理系統(tǒng)需求概述 .63.2功能需求 .63.2.1 與讀者相關的基本功能元素 .63.2.2 與管理員相關的基本功能元素 .73.2.3 總體系統(tǒng)的基本功能元素 .73.3性能需求 .73.4 運行需求.84 4系統(tǒng)設計系統(tǒng)設計 .9 94.1 圖書館管理系統(tǒng)設計指導思想和原則.94.2設計模式 .94.3 圖書館管理系統(tǒng)總體功能概述.104.4 圖書館
10、管理系統(tǒng)各功能模塊概述.114.4.1 系統(tǒng)登錄模塊 .114.3.2 圖書管理模塊 .124.3.3 學生管理模塊 .134.3.4 借閱信息管理模塊 .144.3.5 圖書檢索模塊 .164.4 系統(tǒng)數(shù)據(jù)庫設計.175 5系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn) .22225.1系統(tǒng)的軟件結(jié)構 .22 -V-5.2登錄系統(tǒng)模塊的實現(xiàn) .225.3圖書管理模塊的實現(xiàn) .245.3.1圖書入庫功能的實現(xiàn) .245.3.2圖書維護功能的實現(xiàn) .255.4學生管理模塊的實現(xiàn) .295.4.1學生添加功能的實現(xiàn) .295.4.2學生維護功能的實現(xiàn) .305.5借閱信息管理模塊的實現(xiàn) .335.5.1辦理圖書借閱功能的實現(xiàn)
11、.335.5.2辦理圖書歸還功能的實現(xiàn) .345.6圖書檢索模塊的實現(xiàn) .355.7系統(tǒng)設計的創(chuàng)新點 .365.7.1系統(tǒng)后臺管理的安全性 .365.7.2DAO 數(shù)據(jù)訪問接口.376 6系統(tǒng)測試系統(tǒng)測試 .38386.1系統(tǒng)測試的方法與步驟 .386.2模塊測試 .386.2.1 登錄模塊測試 .386.2.2 圖書管理測試 .396.2.3 學生管理測試 .396.2.4 借閱信息管理測試 .406.3 評價.407 7 結(jié)束語結(jié)束語 .4242致致 謝謝 .4343參考文獻參考文獻 .4444 -1- 1 1緒緒 論論1.11.1目前圖書館管理系統(tǒng)存在的問題目前圖書館管理系統(tǒng)存在的問題(
12、1)檢索速度慢、效率低因為圖書館的藏書種類多。數(shù)量大,將藏書準確的分門別類,快速檢索,手工進行非常困難,往往是終于查到了二維的信息,館中卻沒有此書或已被別人借走。圖書館的規(guī)模越大,這個問題就越突出。(2)借書、還書工作量大借書、還書頻率越大,說明圖書館的作用越大,然而隨之而來的大量的借書、還書登記、實存圖書的更新以及借出圖書超期,遺失等的處理,其工作量之大,往往是人工操作所難以勝任的,而且經(jīng)常會出現(xiàn)這樣那樣的差錯。(3)圖書統(tǒng)計工作難、藏書更新不能及時完成圖書館的圖書應根據(jù)科學技術的發(fā)展和教學工作的需要及時添加和更新,然而由于藏書數(shù)量及圖書種類越來越多,加上自然損耗,人為破壞,使圖書的統(tǒng)計工作
13、難以及時完成,藏書的更新也就很難有針對性的進行,藏書的知識結(jié)構得不到良好地控制。我校也是一所發(fā)展中的高校,近幾年的發(fā)展速度很快,圖書館的規(guī)模和藏書的數(shù)量也在不斷地擴大,為了解決海量圖書的管理問題,以及學生借閱圖書的信息問題,改變傳統(tǒng)的管理方式也就成了迫在眉睫的問題了。1.21.2系統(tǒng)設計的目的和意義系統(tǒng)設計的目的和意義隨著計算機的廣泛應用,其逐步成為現(xiàn)代化的標志。圖書館或者一些企業(yè)內(nèi)部,甚至是書店,在正常運行的過程中總是面對大量的讀者信息,書籍信息以及 -2-兩者相互作用產(chǎn)生的借書信息,還書信息。因此需要對讀者資源,書籍資源,借書信息,還書信息進行管理,及時了解各個環(huán)節(jié)中信息的變更,要對因此而
14、產(chǎn)生的單據(jù)進行及時的處理,為了提高圖書館或者企業(yè)內(nèi)部對圖書存銷的自動化的管理,能夠更快速地滿足讀者的要求,提高各種工作效率,現(xiàn)對其設計相應的系統(tǒng),以達到上述的目的。圖書館管理系統(tǒng)的主要功能是實現(xiàn)圖書館圖書的借閱和歸還的管理自動化,圖書新增及銷毀的及時化,用戶及圖書信息的更新,圍繞這些主要功能,本系統(tǒng)涉及到以下核心功能:借閱管理,歸還管理,圖書管理,學生管理。除了這些核心功能外,還包括一些基本和輔助的功能,它們是:圖書信息管理,查詢功能等。該系統(tǒng)設計的主要目標是:設計一個圖書館管理系統(tǒng),該系統(tǒng)主要功能分為圖書查詢、圖書借閱歸還和圖書管理三大部分。在圖書查詢模塊中要求用戶能在瀏覽器中分別書名、著譯
15、者、類型等條件查詢;在圖書管理模塊中要求能完成如辦理借書證(即添加新的學生)、新書錄入、借書還書登記、圖書修改等日常管理功能。(1)網(wǎng)站前臺設計:前臺供學生使用,學生登錄后有如下權利圖書查詢:用戶可以按多種方式對圖書庫中的圖書進行查詢;借閱信息查詢:用戶可以查看自己的歷史借閱信息。(2)網(wǎng)站后臺設計:后臺是供管理員使用的,管理員登陸后有如下權利 辦理借閱證:將學生信息填寫完整,在數(shù)據(jù)庫中注冊新用戶;書籍的錄入及刪除:可以對現(xiàn)有圖書庫中的圖書進行刪除,也可以添加新 -3-書;借書還書登記:普通用戶借閱或歸還圖書時,管理員將在借閱信息表中添加相應的記錄;圖書修改:管理員可以對現(xiàn)有圖書的詳細信息進行
16、修改。1.31.3開發(fā)工具及相關技術介紹開發(fā)工具及相關技術介紹1.3.1 SSH 框架SSH 框架是指 Struts2 + Hibernate + Spring 三大開源框架技術,用 SSH 技術進行開發(fā),能夠提高開發(fā)效率,層次清晰。Struts2 實現(xiàn)頁面的設計和請求的跳轉(zhuǎn)調(diào)用業(yè)務邏輯;Hibernate 實現(xiàn)對數(shù)據(jù)的增刪改查;Spring 通過依賴注入控制對象的生成和事務的處理。1.3.2 TomcatTomcat 服務器是 Apache Group Jakarta 小組開發(fā)的一個免費服務器軟件,適合于嵌入 Apache 中使用,而且,它的源代碼可以免費獲得,你可以自由地對它進行擴充。To
17、mcat 服務器的兼容性很好,有眾多大軟件的公司的支持,而且服務器的性能穩(wěn)定,其發(fā)展前景很好。*大學畢業(yè)設計(論文) -4-2 2可行性分析可行性分析 采用現(xiàn)代化統(tǒng)一的計算機信息網(wǎng)站系統(tǒng),能夠有效優(yōu)化圖書館管理系統(tǒng),使其高校的發(fā)揮最大的作用,能夠迅捷的為讀者提供相應的服務。開發(fā)本系統(tǒng)的可行性如下:2.12.1技術可行性技術可行性 Struts 框架為開放者提供了一個統(tǒng)一的標準框架,它提供了一個方法,可以在一個 Web 應用程序中一起使用 JSP 和 Servlet。 Struts 框架本身是使用 Java Servlet 和 JavaServer Pages 技術的一種 Model-View-
18、Controller(MVC)實現(xiàn)。它的目的是要解決完全由 JSP 或完全由 Servlet 實現(xiàn)的應用程序中的固有的問題。 MVC 方法采用了 JSP 和 Servlet 方法的最佳特性,使這兩種技術可以協(xié)同工作。明確的是,Servlet 是處理層(控制器) 。Servlet 接收請求,很像 Model1架構中 JSP 頁面所做的那樣,并確定如何滿足那些請求。這就意味著,Servlet控制輸入的請求和輸出的回應。商業(yè)邏輯體現(xiàn)了 MVC 架構中的模式。商業(yè)邏輯代碼為頁面做處理。如果進入 Servlet 的請求是一個數(shù)據(jù)庫查詢,Servlet 就將這個請求傳送到一個 SQL 調(diào)用或類似的數(shù)據(jù)庫代
19、碼。在某種意義上,架構的模式部分是讓應用程序處于領先地位的全部原因。 JSP 頁面是顯示層(視圖) ,是用戶與應用程序交互的地方。它提供輸入并顯示結(jié)果。頁面不應該包括任何腳本。它只是將數(shù)據(jù)傳送到 Servlet,并接收和顯示返回的數(shù)據(jù)。 該架構的優(yōu)勢應該是很明顯的。首先,它將計算和顯示清楚地分開了。結(jié)果*大學畢業(yè)設計(論文) -5-很理想,在 JSP 頁面上沒有出現(xiàn)處理過程,在 Servlet 或商業(yè)邏輯中沒有數(shù)據(jù)格式。這種分離的另一個好處是 Java 程序員可以專注于 Servlet 代碼,HTML 編寫者可以專注于 JSP。第二點,控制器 Servlet 做頁面上的所有的決定。在你的頁面和
20、邏輯中不會出現(xiàn)任何決策。這就提高了一個應用程序的性能和可擴展性,因為請求可以被導向架構的不同的組件,甚至是不同的服務器。另外 Struts 技術支持廣泛:Struts 作為目前最流行的框架,技術資料眾多,即使是一些很偏的問題也可以在網(wǎng)上找到相關的資料和答案。完善的標簽庫:與其他框架比較,Struts 提供了最完善的標簽庫,為 Web 的開發(fā)帶來了極大的方便。開發(fā)工具支持:目前所有主要的 Java IDE 都支持 Struts 的開發(fā),有不少專用的開發(fā)工具和插件還提交了 Struts 的可視化設計,這是其他框架所不可比的。本系統(tǒng)采用的技術均屬當前流行的開發(fā)技術,具有技術成熟、效率高、穩(wěn)定、安全等
21、優(yōu)點,并且自行配置的兼容機性能優(yōu)越,能夠支持以上軟件的運行。所以,本系統(tǒng)在技術上是完全可行的。2.22.2經(jīng)濟可行性經(jīng)濟可行性 根據(jù)成本/效益分析法,本系統(tǒng)所需的軟硬件資源都已具備,該系統(tǒng)簡單易懂,本系統(tǒng)具有成本相對較低、利益高的特點,經(jīng)濟上可行。2.32.3操作可行性操作可行性 本系統(tǒng)開發(fā)的開發(fā)宗旨是以便捷為中心。開發(fā)后的系統(tǒng)應具有美觀、大方、簡單、易操作等優(yōu)點,即使是不懂計算機的人員也可以根據(jù)系統(tǒng)提示使用和管理*大學畢業(yè)設計(論文) -6-本系統(tǒng),它的操作簡單的特點使本系統(tǒng)在操作上可行。*大學畢業(yè)設計(論文)-7-3 3需求分析需求分析3.13.1圖書館管理系統(tǒng)需求概述圖書館管理系統(tǒng)需求概
22、述圖書館管理系統(tǒng)的開發(fā)主要涉及到圖書的管理,學生信息的管理,借閱信息的管理三大功能的數(shù)據(jù)管理。從管理的角度可將圖書分為三類:圖書信息管理、系統(tǒng)用戶管理、讀者數(shù)據(jù)管理。圖書信息管理包括:添加新進圖書、刪除舊圖書、修改圖書信息。系統(tǒng)用戶管理包括:修改用戶信息、辦理新用戶、注銷用戶。讀者數(shù)據(jù)管理主要包括:讀者借閱信息的管理,借閱圖書以及歸還圖書。圖書借閱者的需求是查詢圖書室所存的圖書。個人借閱情況以及個人信息的修改;圖書館工作人員對圖書借閱者的借閱及還書要求進行操作,同時形成借書或還書報表給借閱者查看確認;圖書管理人員的功能最為復雜,包括對圖書借閱者、圖書進行管理和維護、以及系統(tǒng)狀態(tài)的查詢和維護等。
23、圖書館管理員可以瀏覽、查詢、添加、刪除、修改的基本信息;瀏覽、查詢、添加、刪除和修改圖書借閱者的基本信息;瀏覽、查詢、添加、刪除和修改圖書的借閱信息。3.23.2功能需求功能需求在本系統(tǒng)中,對讀者來說,他們關心的問題其實是如何方便的查詢到圖書館中的書籍以及自己正在借閱或者已經(jīng)借閱過一些什么書籍,也就是借閱歷史,另一個關心的問題就是所借閱的圖書是否到期等等。由此可以得出系統(tǒng)一些需求。3.2.1 與讀者相關的基本功能元素(1)圖書查詢:應該能夠按照圖書不同信息對圖書進行查詢,如書名、作者、圖書類型等條件查詢。*大學畢業(yè)設計(論文)-8-(2)讀者信息查詢,讀者信息的查詢內(nèi)容應包括以下幾個方面:讀者
24、信息對讀者的基本信息進行顯示。書刊借閱對該讀者借閱書籍記錄進行查詢。欠款查詢對該讀者超期圖書的欠款情況的查看。3.2.2 與管理員相關的基本功能元素在面向系統(tǒng)的管理員來說,應注意如下幾點:(1)圖書館中有哪些書籍,是否可以被借閱;(2)對學生的添加、修改和刪除操作的方便性;(3)查看學生都借閱著哪些書籍;(4)對書籍的添加、修改和刪除操作的方便性。3.2.3 總體系統(tǒng)的基本功能元素從以上問題出發(fā),可以得出本系統(tǒng)應該具有的功能:(1)圖書查詢對館內(nèi)的圖書進行查詢;(2)借閱管理對讀者的每一次借閱,還書進行登記和管理;(3)圖書管理對圖書館的書籍進行管理,添加、刪除以及修改信息;(4)學生管理對學
25、生進行管理,添加、刪除以及修改信息;(5)欠款情況管理對讀者借閱圖書超期欠款的情況進行管理。3.33.3 性能需求性能需求3.3.1 人身和環(huán)境安全性需求(1)系統(tǒng)中的軟件不構成對人身健康的損害;(2)系統(tǒng)中的軟件失效時不造成財產(chǎn)的損失;*大學畢業(yè)設計(論文)-9-(3)系統(tǒng)中的軟件失效時不造成環(huán)境的破壞。3.3.2 可靠性和可用性需求(1)系統(tǒng)中的軟件可以每天使用 24 小時,每年使用 365 天;(2)系統(tǒng)中的軟件故障率小于等于 5%。3.3.3 容錯性需求用戶輸入錯誤信息時,系統(tǒng)應提示,不應崩潰。3.3.4 易用性軟件適合 12-70 周歲的智力、視力、體力和肢體正常且具有圖書借閱相關知
26、識的人使用;3.3.5 易學性經(jīng)過 1-2 天培訓的使用者可以正常使用本軟件。3.43.4 運行需求運行需求3.4.1 預期的物理環(huán)境(1)系統(tǒng)在常溫環(huán)境下使用;(2)系統(tǒng)在潔凈的室內(nèi)使用。3.4.2 預期的技術環(huán)境(1)寬帶網(wǎng)、1M 以上寬帶互聯(lián)網(wǎng);(2)臺式計算機:CPU P4 2.0G 以上,內(nèi)存 256M 以上,硬盤 40G 以上,10M/100M 網(wǎng)卡,Windows 2000/2003/NT/XP/Vista/Windows 7 中文操作系統(tǒng);(3)數(shù)據(jù)庫管理系統(tǒng):Oracle 9g 及以上。*大學畢業(yè)設計(論文)-10-4 4系統(tǒng)設計系統(tǒng)設計4.14.1 圖書館管理系統(tǒng)設計指導思
27、想和原則圖書館管理系統(tǒng)設計指導思想和原則(1)利用軟件開發(fā)現(xiàn)有軟硬件環(huán)境,及先進的管理系統(tǒng)開發(fā)方案,從而到達充分利用現(xiàn)在資源提高系統(tǒng)開發(fā)水平和應用效果的目的。(2)系統(tǒng)應該符合軟件工程開發(fā)的理論,開發(fā)方法等開發(fā)依據(jù)。(3)系統(tǒng)應滿足圖書館管理工作的需要,并達到操作過程中的直觀,方便,實用,安全,準確等要求。(4)系統(tǒng)應具備數(shù)據(jù)庫維護功能,及時根據(jù)用戶需求進行數(shù)據(jù)庫的各種操作。(5)系統(tǒng)采用原型,實用模塊化程序設計方法,便于系統(tǒng)功能的各種組合和修改,以及系統(tǒng)的測試與維護。(6)圖書館管理系統(tǒng)的設計應適合校園的發(fā)展。(7)圖書館管理系統(tǒng)的設計應當遵循數(shù)據(jù)庫設計規(guī)范。4.24.2 設計模式設計模式設
28、計模式是面向?qū)ο蟮某绦蛟O計人員用來解決編程問題的一種形式化表示。本系統(tǒng)開發(fā)采用目前一種廣泛流行的軟件設計模式 MVC。MVC(ModelViewController)應用程序結(jié)構被用來分析分布式應用程序的特征。這種抽象結(jié)構能有助于將應用程序分割成若干邏輯部件,使程序設計變得更加容易。把一個應用的輸入、處理、輸出流程按照 Model、View、Controller 的方式進行分離,這樣一個應用被分成三個層模型層、視圖層、控制層。*大學畢業(yè)設計(論文)-11-Model抽象系統(tǒng)應用功能;處理業(yè)務邏輯;數(shù)據(jù)持久化View抽象數(shù)據(jù)表達;表示針對用戶的數(shù)據(jù);Contronller定義應用系統(tǒng)的行為將用戶
29、請求映射到模型更新;選擇視圖作為對請求的回應;更新狀態(tài)查詢調(diào)用請求選擇視圖圖圖 4-14-1 MVCMVC 模式模式MVC 模式的出現(xiàn),很好的解決了傳統(tǒng)開發(fā) WEB 應用方式中存在的問題。M 代表模型(Model),包含完成任務所需要的所有的行為和數(shù)據(jù);V 代表視圖(View)界面,現(xiàn)實模型提供的數(shù)據(jù);C 代表控制器(Controller),它將模型映射到界面中,處理用戶的輸入并相應請求。其模型的關系如圖所示。在 MVC 模型中,三層各盡其職、相互獨立,各層內(nèi)部的改變不會影響到其它層,從而降低了數(shù)據(jù)表達、數(shù)據(jù)描述和應該操作的耦合度,也能更好的實現(xiàn)開發(fā)中的分工,加速工程進度。4.34.3 圖書館
30、管理系統(tǒng)總體功能概述圖書館管理系統(tǒng)總體功能概述圖書管理系統(tǒng)包含五個模塊分別是:系統(tǒng)登錄、圖書管理、學生管理、借閱信息管理、圖書檢索。系統(tǒng)登錄模塊:一般用戶和管理員都必須登錄才能進入系統(tǒng),用戶登錄時在后臺判斷用戶的權限類型,分為普通用戶和管理員,普通用戶可以對書籍進行瀏覽及個人借閱信息的查詢,管理員可以對多種信息進行操作。*大學畢業(yè)設計(論文)-12-圖書管理模塊:管理員通過驗證界面進入系統(tǒng)后,進入到圖書管理模塊,可以對圖書進行添加,刪除、修改圖書信息、查詢、查看等一系列的操作。學生管理模塊:管理員可以在此模塊中創(chuàng)建新的普通用戶,并且可以對用戶的信息進行修改,刪除等操作。借閱信息管理模塊:這是圖
31、書管系統(tǒng)中最重要的模塊之一,管理員進入該模塊中可以為普通用戶辦理借閱圖書,歸還圖書的功能,并且能夠?qū)崿F(xiàn)還款的操作。圖書檢索模塊:普通用戶通過驗證界面進入系統(tǒng)后,能夠按照書名,作者等多種條件對圖書進行查詢操作,確保查詢到的都是最新的信息。整體系統(tǒng)的功能模塊如圖 4-2 所示:圖書館管理系統(tǒng)登錄系統(tǒng)模塊借書證管理模塊圖書管理模塊借閱信息模塊圖書檢索模塊圖圖 4-24-2 圖書館管理系統(tǒng)功能圖圖書館管理系統(tǒng)功能圖*大學畢業(yè)設計(論文)-13-4.44.4 圖書館管理系統(tǒng)各功能模塊概述圖書館管理系統(tǒng)各功能模塊概述4.4.1 系統(tǒng)登錄模塊用戶進入系統(tǒng)時調(diào)用的一個模塊。該模塊根據(jù)用戶輸入的用戶名、密碼來判
32、斷用戶的類型,跳轉(zhuǎn)到該類用戶的界面。本模塊的功能點包括:(1)判斷用戶名和密碼是否相符;(2)根據(jù)用戶的權限類型,登錄到系統(tǒng)的制定界面操作使用。登錄功能模塊流程圖如圖 4-3 所示:開始顯示登錄界面是否存在用戶管理員界面結(jié)束是否是管理員用戶界面YNNY圖圖 4-3 登錄模塊流程圖登錄模塊流程圖4.3.2 圖書管理模塊在本模塊中圖書館工作人員可以對圖書進行管理操作。本模塊的功能點包括:(1)新書入庫,將新進圖書按其類型將圖書的基本信息錄入系統(tǒng)數(shù)據(jù)庫; *大學畢業(yè)設計(論文)-14-(2)圖書出庫,某一部分圖書會隨著時間的增長及知識的更新而變得不再有收藏的價值,或者圖書被損壞,這些圖書就要在圖書庫
33、中除去。即從圖書庫中刪除此圖書記錄;(3)新書編碼,圖書入庫后,需要貼上條形碼,以便以后提供借閱,本系統(tǒng)不涉及到條形碼閱讀器,只是假定此過程已經(jīng)生成條形碼。編碼只是將條形碼帖于書上以唯一標識圖書;(4)圖書信息修改,圖書信息由于工作人員的疏忽,而出現(xiàn)錄入錯誤,提供其圖書 ID 就可以查看圖書的基本信息并對其進行修改;圖書管理功能模塊流程圖如圖 4-4 所示:圖書管理是否成功新書入庫圖書信息修改圖書出庫是否成功是否成功入庫成功頁面修改失敗頁面修改成功頁面出庫失敗頁面出庫成功頁面入庫失敗頁面NYNNYY開始結(jié)束圖圖 4-4 圖書管理模塊流程圖圖書管理模塊流程圖4.3.3 學生管理模塊本模塊主要是工
34、作者對學生信息(讀者借書證信息)進行管理。本模塊的功能點包括:*大學畢業(yè)設計(論文)-15-(1)辦理借書證,為新讀者辦理借書證,填寫用戶基本信息;(2)注銷借書證,輸入讀者借書證編號,根據(jù)借書證 ID 刪除讀者表中此借書證信息;(3)掛失借書證,主要是將借書證的狀態(tài)改為掛失,更新讀者表狀態(tài)字段,有圖書管理員操作;(4)修改圖書證信息,由于工作人員的疏忽,而出現(xiàn)辦理借書證時錄入信息有誤,則可根據(jù)借書證編號對其信息進行查看和修改。借書證管理功能模塊流程圖如圖 4-5 所示:借書證管理是否成功借書證辦理讀者信息修改借書證注銷圖書證掛失是否成功是否成功辦理成功頁面修改失敗頁面修改成功頁面注銷失敗頁面
35、注銷成功頁面辦理失敗頁面NYNNYY是否成功掛失失敗頁面掛失成功頁面NY開始結(jié)束圖圖 4-54-5 借書證管理模塊流程圖借書證管理模塊流程圖4.3.4 借閱信息管理模塊本模塊主要是工作者對圖書外借和歸還進行管理。本模塊的功能點包括:*大學畢業(yè)設計(論文)-16-(1)圖書借閱,記錄借閱證編號和圖書編號,進行借書過程。在數(shù)據(jù)庫中插入一天借書記錄,該記錄包括圖書 ID、借書證 ID、借閱日期、歸還日期等;(2)圖書歸還,輸入借書證編號,圖書編號,根據(jù)輸入的編號在借閱登記表中找到相應的記錄,將借閱記錄刪除,并將該記錄相應的數(shù)據(jù)更新到歷史借閱記錄信息表中;(3)查看借閱記錄,可以根據(jù)借書證 ID 以及
36、圖書 ID 查詢借閱記錄。(4)辦理還款,如讀者有圖書超期的情況將會有欠款,可以根據(jù)借書證的ID 來為讀者班里還款。借閱信息管理功能模塊流程圖如圖 4-6 所示:*大學畢業(yè)設計(論文)-17-借書信息管理辦理借閱辦理還款歸還圖書填寫借書證編號和圖書編號是否存在編號填寫借書證編號和圖書編號是否存在借閱記錄歸還成功歸還失敗是否已經(jīng)借閱借閱失敗借閱成功填寫借書證編號是否存在編號是否有欠款還款失敗還款成功YNYNNNNYYY開始結(jié)束圖圖 4-6 借閱信息管理模塊流程圖借閱信息管理模塊流程圖4.3.5 圖書檢索模塊使用該模塊的用戶有:讀者和管理員。本模塊的功能點包括:(1) 根據(jù)圖書 ID 進行檢索;(
37、2) 根據(jù)圖書名稱進行檢索;*大學畢業(yè)設計(論文)-18-(3) 根據(jù)圖書類型進行檢索。(4) 根據(jù)圖書作者或譯者進行檢索。圖書檢索功能模塊流程圖如圖 4-7 所示:圖書檢索根據(jù)圖書ID查詢根據(jù)書名查詢根據(jù)類型查詢根據(jù)作者查詢是否檢索到圖書圖書列表提示頁面YN開始結(jié)束圖圖 4-7 圖書檢索模塊流程圖圖書檢索模塊流程圖4.44.4 系統(tǒng)數(shù)據(jù)庫設計系統(tǒng)數(shù)據(jù)庫設計4.4.1 概念結(jié)構設計(1)實體圖學生:學生屬性有學號、姓名、密碼、性別、學院、班級、電話、email、宿舍、地址、已借書數(shù)量、創(chuàng)建日期。學生實體圖如圖 4-8 所示:學生學號創(chuàng)建日期已借書數(shù)量地址宿舍email電話班級學院性別密碼姓名*
38、大學畢業(yè)設計(論文)-19-圖圖 4-8 學生實體圖學生實體圖圖書:圖書屬性有圖書編號、書名、作者、類別、單價、出版社、出版日期、總數(shù)量、當前數(shù)量、購買日期、內(nèi)容摘要。圖書實體圖如圖 4-9 所示:圖圖 4-9 圖書實體圖圖書實體圖(2)ER 圖根據(jù)以上實體圖,分析了各個實體的屬性,根據(jù)這些屬性,可以得到系統(tǒng)的ER 圖,如圖 4-10 所示1nnn學生圖書圖書編號內(nèi)容摘要購買日期當前數(shù)量總數(shù)量出版日期出版社單價類別作者書名屬于班級借書日期*大學畢業(yè)設計(論文)-20-1n圖圖 4.8 系統(tǒng)系統(tǒng) E-R 圖圖4.4.2 邏輯結(jié)構設計根據(jù)上述功能模塊的需求,設計如下主要數(shù)據(jù)庫表:表表 4.1 圖書
39、信息表圖書信息表(t_book)字段英文名稱字段英文名稱字段中文名稱字段中文名稱字段類型字段類型字段約束字段約束是否可為空是否可為空Book_numBook_num圖書編號Varchar2(15)主鍵否Book_nameBook_name書名Varchar2(20)否WriterWriter作者Varchar2(10)否Sort_idSort_id類加 IDVarchar2(5)否表表 4.14.1 圖書信息表圖書信息表(t_book) 續(xù)表續(xù)表 0101PricePrice單價Number(5.2)是Pub_companyPub_company出版社Varchar2(20)是Pub_date
40、Pub_date出版日期Date是Total_numTotal_num總數(shù)量Number(3)否借閱圖書學生屬于還書日期超期罰款*大學畢業(yè)設計(論文)-21-Current_numCurrent_num當前數(shù)量Number(3)否Buy_dateBuy_date入庫日期Date否BriefBrief內(nèi)容摘要Varchar2(100)是表表 4.24.2 學生信息表學生信息表 (t_student)(t_student)字段英文名稱字段英文名稱字段中文名稱字段中文名稱字段類型字段類型字段約束字段約束是否可為空是否可為空Student_numStudent_num學號Varchar2(15)主鍵否
41、Student_nameStudent_name姓名Varchar2(10)否PasswordPassword密碼Varchar2(20)否Academy_idAcademy_id學院 IDVarchar2(10)否Class_idClass_id班級 IDVarchar2(10)否SexSex性別Varchar2(2)是TelephoneTelephone電話Varchar2(15)是EmailEmailEmailVarchar2(20)是Lended_numLended_num已借書數(shù)量Number(2)默認為 0否Create_dateCreate_date創(chuàng)建日期Date否表表 4.3
42、4.3 借閱信息表借閱信息表(t_book_studentt_book_student)字段英文名稱字段英文名稱字段中文名稱字段中文名稱字段類型字段類型字段約束字段約束是否可為空是否可為空IdIdID 號Varchar2(35)主鍵否Book_idBook_id圖書編號Varchar2(15) 否Student_idStudent_id學號Varchar2(15)否*大學畢業(yè)設計(論文)-22-borrow_dateborrow_date 借書日期Date否return_datereturn_date 還書日期Date否MoneyMoney超期罰款Number(5.2)否表表 4.44.4 管
43、理員表管理員表(t_admint_admin)字段英文名稱字段英文名稱字段中文名稱字段中文名稱字段類型字段類型字段約束字段約束是否可為空是否可為空Admin_idAdmin_id管理員 IDNumber(5)主鍵否Admin_nameAdmin_name管理員姓名Varchar2(10) 否Admin_passwordAdmin_password管理員密碼Varchar2(20)否表表 4.54.5 學院表學院表(t_admint_admin)字段英文名稱字段英文名稱字段中文名稱字段中文名稱字段類型字段類型字段約束字段約束是否可為空是否可為空Academy_idAcademy_id學院 IDV
44、archar2(10)主鍵否Academy_nameAcademy_name學院名Varchar2(30) 否表表 4.64.6 班級表班級表(t_classt_class)字段英文名稱字段英文名稱字段中文名稱字段中文名稱字段類型字段類型字段約束字段約束是否可為空是否可為空Class_idClass_id班級 IDVarchar2(10)主鍵否Class_nameClass_name班級名Varchar2(30)否Academy_idAcademy_id所屬學院 IDVarchar2(10) 否*大學畢業(yè)設計(論文)-23-表表 4.74.7 圖書類別表圖書類別表(t_admint_admin
45、)字段英文名稱字段英文名稱字段中文名稱字段中文名稱字段類型字段類型字段約束字段約束是否可為空是否可為空Sort_idSort_id類別 IDVarchar2(5)主鍵否Sort_nameSort_name類別名Varchar2(20) 否-24-5 5系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn)5.15.1系統(tǒng)的軟件結(jié)構系統(tǒng)的軟件結(jié)構處理靜態(tài) WEB 是由 Web 瀏覽器向 Web 發(fā)送靜態(tài)頁面, Web 服務器直接對發(fā)送的靜態(tài)網(wǎng)頁進行處理。處理動態(tài) WEB 數(shù)據(jù)庫查詢的過程是:當 Web 瀏覽器向 Web 服務器發(fā)送請求時,動態(tài)網(wǎng)頁的處理流程是,屏蔽掉 HTML 語言,只輸入動態(tài)網(wǎng)頁文件,由 Web 服務器向數(shù)據(jù)庫中傳
46、遞信息,經(jīng)過數(shù)據(jù)庫的處理返回數(shù)據(jù)集,Web 應用服務器再把含有程序代碼的動態(tài)網(wǎng)頁轉(zhuǎn)換為靜態(tài)網(wǎng)頁返還給 Web 瀏覽器。這就是用動態(tài)網(wǎng)頁對數(shù)據(jù)庫進行查詢并將數(shù)據(jù)返還給瀏覽器處理的全過程,具體見圖 5-1 所示。數(shù)據(jù)庫Web瀏覽器Web瀏覽器Web服務器 應用程序服務器發(fā)送請求返回響應查詢數(shù)據(jù)返回數(shù)據(jù)集圖圖5-1數(shù)據(jù)庫查詢示意圖數(shù)據(jù)庫查詢示意圖5.25.2登錄系統(tǒng)模塊的實現(xiàn)登錄系統(tǒng)模塊的實現(xiàn)本模塊主要是用戶通過圖書館管理系統(tǒng)的首頁進入該系統(tǒng)。用戶輸入正確的用戶名和密碼,如果登錄信息有錯誤,則系統(tǒng)提示登錄錯誤信息,并且禁止系統(tǒng)-25-用戶進行任何操作。若登錄信息正確,系統(tǒng)會根據(jù)用戶的身份進行相應權限
47、的判斷,讀者進入前臺系統(tǒng),管理員進入后臺系統(tǒng)。圖書館系統(tǒng)登錄主頁面如圖 5-2所示。圖圖 5-2 圖書館管理系統(tǒng)登錄界面圖書館管理系統(tǒng)登錄界面其實現(xiàn)的代碼如下:Action 層:public String login() boolean flag = iss.login(admin);if(flag) return success; message = 用戶名或口令錯誤!;return fail;Service 層:public boolean login(TAdmin admin) TAdmin a = isd.login(admin);if(a != null) return true;r
48、eturn false;Dao 層:public TAdmin login(TAdmin admin) Session session = this.getHibernateTemplate().getSessionFactory().openSession();Query q = session.createQuery(from TAdmin a where a.adminName -26-= ? and a.adminPassword = ?).setString(0, admin.getAdminName().setString(1, admin.getAdminPassword();T
49、Admin a = (TAdmin)q.uniqueResult();return a;5.35.3圖書管理模塊圖書管理模塊的實現(xiàn)的實現(xiàn)圖書管理模塊主要分為圖書入庫、查看圖書、統(tǒng)計圖書,其中圖書入庫是往圖書管理數(shù)據(jù)庫中添加圖書信息??磮D書功能中可以查看圖書詳細信息,并對圖書信息進行修改或刪除某些廢棄圖書信息。5.3.1圖書入庫功能的實現(xiàn)點擊添加圖書功能,填寫圖書基本信息,為圖書選擇類型,類型是與數(shù)據(jù)庫交互動態(tài)生成的下拉列表,具體界面如圖 5-3 所示。圖圖 5-3 圖書入庫界面圖書入庫界面其實現(xiàn)的代碼如下:public String addInfoBook() this.sortList =
50、ibs.listBookSort();-27-return add;public List listBookSort() return this.getHibernateTemplate().find(from TSort tsort);public String addSaveBook() ibs.saveBook(book);book = null;bookList = this.listBook();return Book;public void saveBook(TBook book) Date now = new Date();book.setBuyDate(now);book.se
51、tCurrentNum(book.getTotalNum();ibd.saveBook(book);public void saveBook(TBook book) this.getHibernateTemplate().save(book);5.3.2圖書維護功能的實現(xiàn)點擊圖書維護功能,展示所有圖書的信息列表,在每個圖書信息行后提供刪除和修改操作功能,并且可以單擊選定某一個圖書信息后的詳細信息進行詳細查看圖書信息。具體圖書列表界面如圖 5-4 所示圖圖 5-4 圖書列表界面圖書列表界面其實現(xiàn)的代碼如下:public String listAllBook() bookList = this.l
52、istBook();return Book;public List listBook(TBook book, Page page) String hql = from TBook tb where 1=1;if(book!=null) -28-if(book.getBookNum() != null & !.equals(book.getBookNum().trim() hql = hql + and tb.bookNum = + book.getBookNum()+;if(book.getBookName() != null & !.equals(book.getBookName().tri
53、m() hql = hql + and tb.bookName = + book.getBookName()+;if(book.getWriter() != null & !.equals(book.getWriter().trim() hql = hql + and tb.writer = + book.getWriter()+; if(!book.getSortId().getSortId().trim().equals(-1) hql = hql + and tb.sortId.sortId = + book.getSortId().getSortId()+;hql = hql + or
54、der by tb.bookName; else hql = hql + order by tb.buyDate desc;Session session = this.getHibernateTemplate().getSessionFactory().openSession();Query q = session.createQuery(hql);q.setFirstResult(page.getStartRow();q.setMaxResults(5);List list = q.list();return list;(1)刪除圖書功能的實現(xiàn)管理員刪除圖書,刪除時可刪除一個,也可同時多選
55、刪除,其實現(xiàn)的代碼如下:public String deleteOneBook() ibs.delBookById(bookNum);bookList = this.listBook();return Book;public String deleteMoreBook() ibs.delMoreBook(bookNums);bookList = this.listBook();return Book; public void delBookById(String bookNum) this.getHibernateTemplate().delete(this.getHibernateTempl
56、ate().get(TBook.class, bookNum); public void delMoreBook(String bookNums) -29-for(int i=0; ibookNums.length;i+) this.getHibernateTemplate().delete(this.getHibernateTemplate().get(TBook.class, bookNumsi); (2)修改圖書信息功能的實現(xiàn)在管理員修改圖書信息時,跳轉(zhuǎn)到圖書信息詳細表單中,列出所要修改圖書的詳細信息,并可以進行修改,則修改界面如圖 5-5 所示。圖圖 5-5 修改圖書信息界面修改圖書信
57、息界面其實現(xiàn)的代碼如下:public String modifyInfoBook() this.sortList = ibs.listBookSort();book = ibs.queryOneBookById(bookNum);return modifyInfo;public String modifySaveBook() ibs.modifyBook(book);book = null;bookList = this.listBook();return Book;-30-public TBook queryOneBookById(String bookNum) TBook book = (
58、TBook)this.getSession().createQuery(from TBook tb where tb.bookNum = ?).setString(0, bookNum).uniqueResult();this.getSession().close();return book;public void modifyBook(TBook book) this.getHibernateTemplate().update(book);(3)查看圖書詳細信息功能的實現(xiàn)在管理員點擊詳細信息時,跳轉(zhuǎn)到某圖書信息詳細表單中,列出所選圖書的詳細信息,則顯示界面如圖 5-6 所示。圖圖 5-6 圖
59、書詳細信息界面圖書詳細信息界面其實現(xiàn)的代碼如下:public String infoDetailBook() book = ibs.queryOneBookById(bookNum);return Detail;public TBook queryOneBookById(String bookNum) TBook book = (TBook)this.getSession().createQuery(from TBook tb where tb.bookNum = ?).setString(0, bookNum).uniqueResult();this.getSession().close()
60、;return book;-31-5.45.4學生管理模塊的實現(xiàn)學生管理模塊的實現(xiàn)學生管理模塊主要分為添加學生、查看學生、修改學生,查看學生的詳細信息。 5.4.1學生添加功能的實現(xiàn)點擊添加學生,填寫學生基本信息,具體界面如圖 5-7 所示。圖圖 5-7 辦理借書證界面辦理借書證界面其實現(xiàn)的代碼如下:public String addInfoStudent() this.academyList = iss.listAllAcademy();return add;public void addStudent(TStudent student) Date now = new Date();stud
61、ent.setCreateDate(now);student.setLendedNum(0);-32-isd.saveStudent(student);public List listAllAcademy() return this.getHibernateTemplate().find(from TAcademy ta);public List listAllClass() return this.getHibernateTemplate().find(from TClass tc);public void saveStudent(TStudent student) this.getHibe
62、rnateTemplate().save(student);5.4.2學生維護功能的實現(xiàn)點擊學生維護功能,展示所有讀者的信息列表,在每個讀者信息行后提供刪除和修改操作功能,并且可以單擊選定某一個讀者信息后的詳細信息進行詳細查看讀者信息。具體讀者列表界面如圖 5-8 所示圖圖 5-8 讀者列表界面讀者列表界面其實現(xiàn)的代碼如下:public String listAllStudent() studentList = this.getStudentListByPage();return Student;public List listAllStudent(Page page) Session ses
63、sion = this.getHibernateTemplate().getSessionFactory().openSession();Query q = session.createQuery(from TStudent ts);q.setFirstResult(page.getStartRow();q.setMaxResults(5);List list = q.list();return list;(1)刪除學生功能的實現(xiàn)管理員刪除讀者,刪除時可刪除一個,也可同時多選刪除。-33-其實現(xiàn)的代碼如下:public String deleteOneStudent() iss.deleteO
64、neStudent(studentNum);studentList = this.getStudentListByPage();return Student;public String deleteMoreStudent() iss.deleteMoreStudent(studentNums);studentList = this.getStudentListByPage();return Student;public void deleteOneStudent(String studentNum) this.getHibernateTemplate().delete(this.getHibe
65、rnateTemplate().get(TStudent.class, studentNum);public void deleteMoreStudent(String studentNums) for(int i=0;istudentNums.length;i+) this.getHibernateTemplate().delete(this.getHibernateTemplate().get(TStudent.class, studentNumsi);(2)修改學生信息功能的實現(xiàn)在管理員修改學生信息時,跳轉(zhuǎn)到學生信息詳細表單中,列出所要修改學生的詳細信息,并可以進行修改,則修改界面如圖
66、5-9 所示。圖圖 5-9 修改讀者信息界面修改讀者信息界面-34-其實現(xiàn)的代碼如下:public String modifyInfoStudent() this.student = iss.getStudentByid(studentNum);this.academyList = iss.listAllAcademy();this.classList = iss.listClassById(student.getAcademyId().getAcademyId();return modifyInfo;public String modifySaveStudent() iss.modifyStudentByid(student);student = null;studentList = this.getStudentListByPage();return Student;public TStudent getStudentByid(String studentNum) return (TStudent)this.getHibernateTemplate().get(TStudent.c
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。