版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 太原理工大學(xué)??飘厴I(yè)論文題 目 基于JSP的圖書管理系統(tǒng) 學(xué)院專業(yè)班級(jí)姓名指導(dǎo)教師2011年9月摘 要隨著科學(xué)技術(shù)的進(jìn)步和計(jì)算機(jī)行業(yè)的迅速發(fā)展,人們的工作效率得到大大提高。計(jì)算機(jī)信息處理系統(tǒng)的引進(jìn)已徹底改變了許多系統(tǒng)的經(jīng)營管理。圖書管理系統(tǒng)是學(xué)校管理機(jī)制中的重要組成部分,通過對(duì)圖書館管理系統(tǒng)的運(yùn)行管理機(jī)制進(jìn)行調(diào)查和研究,開發(fā)了此圖書館管理系統(tǒng)。本文中主要介紹了圖書館管理事務(wù)中的常見基本問題等研究背景,進(jìn)行了全面的可行性分析,詳細(xì)論證了系統(tǒng)的需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)和系統(tǒng)測(cè)試過程。本系統(tǒng)使用JSP進(jìn)行網(wǎng)頁界面的設(shè)計(jì),使用MVC設(shè)計(jì)模式,采用開源框架Struts、Hibernate和Spri
2、ng進(jìn)行開發(fā)。后端的數(shù)據(jù)庫采用Oracle,通過JDBC驅(qū)動(dòng)和數(shù)據(jù)庫進(jìn)行無縫連接。系統(tǒng)實(shí)現(xiàn)了用戶登錄、圖書管理、借書證管理、圖書借閱管理等功能模塊。用戶登錄模塊實(shí)現(xiàn)用戶的登錄和權(quán)限判定;圖書管理模塊實(shí)現(xiàn)了對(duì)圖書的添加、刪除、修改、查詢等功能;借書證管理模塊實(shí)現(xiàn)了對(duì)學(xué)生的添加、刪除、修改、查詢等功能;圖書借閱管理模塊實(shí)現(xiàn)了學(xué)生對(duì)圖書的借閱、還書和所借圖書的查看等功能。測(cè)試結(jié)果表明,本系統(tǒng)實(shí)現(xiàn)了圖書館圖書管理的主要功能,基本滿足圖書管理的需要。關(guān)鍵詞:圖書館,圖書管理系統(tǒng),JSP,STRUTS,HIBERNATE,SPRING.目 錄1緒 論11.1目前圖書館管理系統(tǒng)存在的問題11.2系統(tǒng)設(shè)計(jì)的目
3、的和意義11.3開發(fā)工具及相關(guān)技術(shù)介紹31.3.1 SSH框架31.3.2 Tomcat32可行性分析42.1技術(shù)可行性42.2經(jīng)濟(jì)可行性52.3操作可行性53需求分析63.1圖書館管理系統(tǒng)需求概述63.2功能需求63.2.1 與讀者相關(guān)的基本功能元素63.2.2 與管理員相關(guān)的基本功能元素73.2.3 總體系統(tǒng)的基本功能元素73.3性能需求73.4運(yùn)行需求84系統(tǒng)設(shè)計(jì)94.1 圖書館管理系統(tǒng)設(shè)計(jì)指導(dǎo)思想和原則94.2設(shè)計(jì)模式94.3 圖書館管理系統(tǒng)總體功能概述104.4 圖書館管理系統(tǒng)各功能模塊概述114.4.1 系統(tǒng)登錄模塊114.3.2 圖書管理模塊124.3.3 學(xué)生管理模塊134.3
4、.4 借閱信息管理模塊144.3.5 圖書檢索模塊164.4 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)175系統(tǒng)實(shí)現(xiàn)225.1系統(tǒng)的軟件結(jié)構(gòu)225.2登錄系統(tǒng)模塊的實(shí)現(xiàn)225.3圖書管理模塊的實(shí)現(xiàn)24圖書入庫功能的實(shí)現(xiàn)24圖書維護(hù)功能的實(shí)現(xiàn)255.4學(xué)生管理模塊的實(shí)現(xiàn)29學(xué)生添加功能的實(shí)現(xiàn)29學(xué)生維護(hù)功能的實(shí)現(xiàn)305.5借閱信息管理模塊的實(shí)現(xiàn)33辦理圖書借閱功能的實(shí)現(xiàn)33辦理圖書歸還功能的實(shí)現(xiàn)345.6圖書檢索模塊的實(shí)現(xiàn)355.7系統(tǒng)設(shè)計(jì)的創(chuàng)新點(diǎn)36系統(tǒng)后臺(tái)管理的安全性36DAO數(shù)據(jù)訪問接口376系統(tǒng)測(cè)試386.1系統(tǒng)測(cè)試的方法與步驟386.2模塊測(cè)試386.2.1 登錄模塊測(cè)試386.2.2 圖書管理測(cè)試396.2.
5、3 學(xué)生管理測(cè)試396.2.4 借閱信息管理測(cè)試406.3 評(píng)價(jià)407 結(jié)束語42致 謝43參考文獻(xiàn)44 1緒 論1.1目前圖書館管理系統(tǒng)存在的問題(1)檢索速度慢、效率低因?yàn)閳D書館的藏書種類多。數(shù)量大,將藏書準(zhǔn)確的分門別類,快速檢索,手工進(jìn)行非常困難,往往是終于查到了二維的信息,館中卻沒有此書或已被別人借走。圖書館的規(guī)模越大,這個(gè)問題就越突出。(2)借書、還書工作量大借書、還書頻率越大,說明圖書館的作用越大,然而隨之而來的大量的借書、還書登記、實(shí)存圖書的更新以及借出圖書超期,遺失等的處理,其工作量之大,往往是人工操作所難以勝任的,而且經(jīng)常會(huì)出現(xiàn)這樣那樣的差錯(cuò)。(3)圖書統(tǒng)計(jì)工作難、藏書更新不
6、能及時(shí)完成圖書館的圖書應(yīng)根據(jù)科學(xué)技術(shù)的發(fā)展和教學(xué)工作的需要及時(shí)添加和更新,然而由于藏書數(shù)量及圖書種類越來越多,加上自然損耗,人為破壞,使圖書的統(tǒng)計(jì)工作難以及時(shí)完成,藏書的更新也就很難有針對(duì)性的進(jìn)行,藏書的知識(shí)結(jié)構(gòu)得不到良好地控制。我校也是一所發(fā)展中的高校,近幾年的發(fā)展速度很快,圖書館的規(guī)模和藏書的數(shù)量也在不斷地?cái)U(kuò)大,為了解決海量圖書的管理問題,以及學(xué)生借閱圖書的信息問題,改變傳統(tǒng)的管理方式也就成了迫在眉睫的問題了。1.2系統(tǒng)設(shè)計(jì)的目的和意義隨著計(jì)算機(jī)的廣泛應(yīng)用,其逐步成為現(xiàn)代化的標(biāo)志。圖書館或者一些企業(yè)內(nèi)部,甚至是書店,在正常運(yùn)行的過程中總是面對(duì)大量的讀者信息,書籍信息以及兩者相互作用產(chǎn)生的借
7、書信息,還書信息。因此需要對(duì)讀者資源,書籍資源,借書信息,還書信息進(jìn)行管理,及時(shí)了解各個(gè)環(huán)節(jié)中信息的變更,要對(duì)因此而產(chǎn)生的單據(jù)進(jìn)行及時(shí)的處理,為了提高圖書館或者企業(yè)內(nèi)部對(duì)圖書存銷的自動(dòng)化的管理,能夠更快速地滿足讀者的要求,提高各種工作效率,現(xiàn)對(duì)其設(shè)計(jì)相應(yīng)的系統(tǒng),以達(dá)到上述的目的。圖書館管理系統(tǒng)的主要功能是實(shí)現(xiàn)圖書館圖書的借閱和歸還的管理自動(dòng)化,圖書新增及銷毀的及時(shí)化,用戶及圖書信息的更新,圍繞這些主要功能,本系統(tǒng)涉及到以下核心功能:借閱管理,歸還管理,圖書管理,學(xué)生管理。除了這些核心功能外,還包括一些基本和輔助的功能,它們是:圖書信息管理,查詢功能等。該系統(tǒng)設(shè)計(jì)的主要目標(biāo)是:設(shè)計(jì)一個(gè)圖書館管理
8、系統(tǒng),該系統(tǒng)主要功能分為圖書查詢、圖書借閱歸還和圖書管理三大部分。在圖書查詢模塊中要求用戶能在瀏覽器中分別書名、著譯者、類型等條件查詢;在圖書管理模塊中要求能完成如辦理借書證(即添加新的學(xué)生)、新書錄入、借書還書登記、圖書修改等日常管理功能。(1) 網(wǎng)站前臺(tái)設(shè)計(jì):前臺(tái)供學(xué)生使用,學(xué)生登錄后有如下權(quán)利圖書查詢:用戶可以按多種方式對(duì)圖書庫中的圖書進(jìn)行查詢;借閱信息查詢:用戶可以查看自己的歷史借閱信息。(2)網(wǎng)站后臺(tái)設(shè)計(jì):后臺(tái)是供管理員使用的,管理員登陸后有如下權(quán)利 辦理借閱證:將學(xué)生信息填寫完整,在數(shù)據(jù)庫中注冊(cè)新用戶;書籍的錄入及刪除:可以對(duì)現(xiàn)有圖書庫中的圖書進(jìn)行刪除,也可以
9、添加新書;借書還書登記:普通用戶借閱或歸還圖書時(shí),管理員將在借閱信息表中添加相應(yīng)的記錄;圖書修改:管理員可以對(duì)現(xiàn)有圖書的詳細(xì)信息進(jìn)行修改。1.3開發(fā)工具及相關(guān)技術(shù)介紹1.3.1 SSH框架SSH框架是指Struts2 + Hibernate + Spring三大開源框架技術(shù),用SSH技術(shù)進(jìn)行開發(fā),能夠提高開發(fā)效率,層次清晰。Struts2實(shí)現(xiàn)頁面的設(shè)計(jì)和請(qǐng)求的跳轉(zhuǎn)調(diào)用業(yè)務(wù)邏輯;Hibernate實(shí)現(xiàn)對(duì)數(shù)據(jù)的增刪改查;Spring通過依賴注入控制對(duì)象的生成和事務(wù)的處理。1.3.2 TomcatTomcat服務(wù)器是Apache Group Jakarta小組開發(fā)的一個(gè)免費(fèi)服務(wù)器軟件,適合于嵌入Ap
10、ache中使用,而且,它的源代碼可以免費(fèi)獲得,你可以自由地對(duì)它進(jìn)行擴(kuò)充。Tomcat服務(wù)器的兼容性很好,有眾多大軟件的公司的支持,而且服務(wù)器的性能穩(wěn)定,其發(fā)展前景很好。2可行性分析 采用現(xiàn)代化統(tǒng)一的計(jì)算機(jī)信息網(wǎng)站系統(tǒng),能夠有效優(yōu)化圖書館管理系統(tǒng),使其高校的發(fā)揮最大的作用,能夠迅捷的為讀者提供相應(yīng)的服務(wù)。開發(fā)本系統(tǒng)的可行性如下:2.1技術(shù)可行性 Struts框架為開放者提供了一個(gè)統(tǒng)一的標(biāo)準(zhǔn)框架,它提供了一個(gè)方法,可以在一個(gè)Web應(yīng)用程序中一起使用JSP和Servlet。 Struts框架本身是使用Java Servlet和JavaServer Pages技術(shù)的一種Model-View-Contr
11、oller(MVC)實(shí)現(xiàn)。它的目的是要解決完全由JSP或完全由Servlet實(shí)現(xiàn)的應(yīng)用程序中的固有的問題。 MVC方法采用了JSP和Servlet方法的最佳特性,使這兩種技術(shù)可以協(xié)同工作。明確的是,Servlet是處理層(控制器)。Servlet接收請(qǐng)求,很像Model1架構(gòu)中JSP頁面所做的那樣,并確定如何滿足那些請(qǐng)求。這就意味著,Servlet控制輸入的請(qǐng)求和輸出的回應(yīng)。商業(yè)邏輯體現(xiàn)了MVC架構(gòu)中的模式。商業(yè)邏輯代碼為頁面做處理。如果進(jìn)入Servlet的請(qǐng)求是一個(gè)數(shù)據(jù)庫查詢,Servlet就將這個(gè)請(qǐng)求傳送到一個(gè)SQL調(diào)用或類似的數(shù)據(jù)庫代碼。在某種意義上,架構(gòu)的模式部分
12、是讓應(yīng)用程序處于領(lǐng)先地位的全部原因。 JSP頁面是顯示層(視圖),是用戶與應(yīng)用程序交互的地方。它提供輸入并顯示結(jié)果。頁面不應(yīng)該包括任何腳本。它只是將數(shù)據(jù)傳送到Servlet,并接收和顯示返回的數(shù)據(jù)。 該架構(gòu)的優(yōu)勢(shì)應(yīng)該是很明顯的。首先,它將計(jì)算和顯示清楚地分開了。結(jié)果很理想,在JSP頁面上沒有出現(xiàn)處理過程,在Servlet或商業(yè)邏輯中沒有數(shù)據(jù)格式。這種分離的另一個(gè)好處是Java程序員可以專注于Servlet代碼,HTML編寫者可以專注于JSP。第二點(diǎn),控制器Servlet做頁面上的所有的決定。在你的頁面和邏輯中不會(huì)出現(xiàn)任何決策。這就提高了一個(gè)應(yīng)用程序的性能和可擴(kuò)展性,因?yàn)?/p>
13、請(qǐng)求可以被導(dǎo)向架構(gòu)的不同的組件,甚至是不同的服務(wù)器。另外Struts技術(shù)支持廣泛:Struts作為目前最流行的框架,技術(shù)資料眾多,即使是一些很偏的問題也可以在網(wǎng)上找到相關(guān)的資料和答案。完善的標(biāo)簽庫:與其他框架比較,Struts提供了最完善的標(biāo)簽庫,為Web的開發(fā)帶來了極大的方便。開發(fā)工具支持:目前所有主要的Java IDE都支持Struts的開發(fā),有不少專用的開發(fā)工具和插件還提交了Struts的可視化設(shè)計(jì),這是其他框架所不可比的。本系統(tǒng)采用的技術(shù)均屬當(dāng)前流行的開發(fā)技術(shù),具有技術(shù)成熟、效率高、穩(wěn)定、安全等優(yōu)點(diǎn),并且自行配置的兼容機(jī)性能優(yōu)越,能夠支持以上軟件的運(yùn)行。所以,本系統(tǒng)在技術(shù)上是完全可行的
14、。2.2經(jīng)濟(jì)可行性 根據(jù)成本/效益分析法,本系統(tǒng)所需的軟硬件資源都已具備,該系統(tǒng)簡(jiǎn)單易懂,本系統(tǒng)具有成本相對(duì)較低、利益高的特點(diǎn),經(jīng)濟(jì)上可行。2.3操作可行性 本系統(tǒng)開發(fā)的開發(fā)宗旨是以便捷為中心。開發(fā)后的系統(tǒng)應(yīng)具有美觀、大方、簡(jiǎn)單、易操作等優(yōu)點(diǎn),即使是不懂計(jì)算機(jī)的人員也可以根據(jù)系統(tǒng)提示使用和管理本系統(tǒng),它的操作簡(jiǎn)單的特點(diǎn)使本系統(tǒng)在操作上可行。3需求分析3.1圖書館管理系統(tǒng)需求概述圖書館管理系統(tǒng)的開發(fā)主要涉及到圖書的管理,學(xué)生信息的管理,借閱信息的管理三大功能的數(shù)據(jù)管理。從管理的角度可將圖書分為三類:圖書信息管理、系統(tǒng)用戶管理、讀者數(shù)據(jù)管理。圖書信息管理包括:添加新進(jìn)圖書、刪除舊圖書、修改圖書信息
15、。系統(tǒng)用戶管理包括:修改用戶信息、辦理新用戶、注銷用戶。讀者數(shù)據(jù)管理主要包括:讀者借閱信息的管理,借閱圖書以及歸還圖書。圖書借閱者的需求是查詢圖書室所存的圖書。個(gè)人借閱情況以及個(gè)人信息的修改;圖書館工作人員對(duì)圖書借閱者的借閱及還書要求進(jìn)行操作,同時(shí)形成借書或還書報(bào)表給借閱者查看確認(rèn);圖書管理人員的功能最為復(fù)雜,包括對(duì)圖書借閱者、圖書進(jìn)行管理和維護(hù)、以及系統(tǒng)狀態(tài)的查詢和維護(hù)等。圖書館管理員可以瀏覽、查詢、添加、刪除、修改的基本信息;瀏覽、查詢、添加、刪除和修改圖書借閱者的基本信息;瀏覽、查詢、添加、刪除和修改圖書的借閱信息。3.2功能需求在本系統(tǒng)中,對(duì)讀者來說,他們關(guān)心的問題其實(shí)是如何方便的查詢
16、到圖書館中的書籍以及自己正在借閱或者已經(jīng)借閱過一些什么書籍,也就是借閱歷史,另一個(gè)關(guān)心的問題就是所借閱的圖書是否到期等等。由此可以得出系統(tǒng)一些需求。 與讀者相關(guān)的基本功能元素(1)圖書查詢:應(yīng)該能夠按照?qǐng)D書不同信息對(duì)圖書進(jìn)行查詢,如書名、作者、圖書類型等條件查詢。(2)讀者信息查詢,讀者信息的查詢內(nèi)容應(yīng)包括以下幾個(gè)方面:讀者信息對(duì)讀者的基本信息進(jìn)行顯示。書刊借閱對(duì)該讀者借閱書籍記錄進(jìn)行查詢。欠款查詢對(duì)該讀者超期圖書的欠款情況的查看。3.2.2 與管理員相關(guān)的基本功能元素在面向系統(tǒng)的管理員來說,應(yīng)注意如下幾點(diǎn):(1)圖書館中有哪些書籍,是否可以被借閱;(2)對(duì)學(xué)生的添加、修改和刪除操作的方便性;
17、(3)查看學(xué)生都借閱著哪些書籍;(4)對(duì)書籍的添加、修改和刪除操作的方便性。3.2.3 總體系統(tǒng)的基本功能元素從以上問題出發(fā),可以得出本系統(tǒng)應(yīng)該具有的功能:(1)圖書查詢對(duì)館內(nèi)的圖書進(jìn)行查詢;(2)借閱管理對(duì)讀者的每一次借閱,還書進(jìn)行登記和管理;(3)圖書管理對(duì)圖書館的書籍進(jìn)行管理,添加、刪除以及修改信息;(4)學(xué)生管理對(duì)學(xué)生進(jìn)行管理,添加、刪除以及修改信息;(5)欠款情況管理對(duì)讀者借閱圖書超期欠款的情況進(jìn)行管理。3.3 性能需求3.3.1人身和環(huán)境安全性需求(1)系統(tǒng)中的軟件不構(gòu)成對(duì)人身健康的損害;(2)系統(tǒng)中的軟件失效時(shí)不造成財(cái)產(chǎn)的損失;(3)系統(tǒng)中的軟件失效時(shí)不造成環(huán)境的破壞。3.3.2
18、可靠性和可用性需求(1)系統(tǒng)中的軟件可以每天使用24小時(shí),每年使用365天;(2)系統(tǒng)中的軟件故障率小于等于5%。3.3.3容錯(cuò)性需求用戶輸入錯(cuò)誤信息時(shí),系統(tǒng)應(yīng)提示,不應(yīng)崩潰。3.3.4易用性軟件適合12-70周歲的智力、視力、體力和肢體正常且具有圖書借閱相關(guān)知識(shí)的人使用;易學(xué)性經(jīng)過1-2天培訓(xùn)的使用者可以正常使用本軟件。3.4 運(yùn)行需求3.4.1預(yù)期的物理環(huán)境(1)系統(tǒng)在常溫環(huán)境下使用;(2)系統(tǒng)在潔凈的室內(nèi)使用。3.4.2預(yù)期的技術(shù)環(huán)境(1)寬帶網(wǎng)、1M以上寬帶互聯(lián)網(wǎng);(2)臺(tái)式計(jì)算機(jī):CPU P4 2.0G以上,內(nèi)存256M以上,硬盤40G以上,10M/100M網(wǎng)卡,Windows 20
19、00/2003/NT/XP/Vista/Windows 7中文操作系統(tǒng);(3)數(shù)據(jù)庫管理系統(tǒng):Oracle 9g及以上。4系統(tǒng)設(shè)計(jì)4.1 圖書館管理系統(tǒng)設(shè)計(jì)指導(dǎo)思想和原則(1)利用軟件開發(fā)現(xiàn)有軟硬件環(huán)境,及先進(jìn)的管理系統(tǒng)開發(fā)方案,從而到達(dá)充分利用現(xiàn)在資源提高系統(tǒng)開發(fā)水平和應(yīng)用效果的目的。(2)系統(tǒng)應(yīng)該符合軟件工程開發(fā)的理論,開發(fā)方法等開發(fā)依據(jù)。(3)系統(tǒng)應(yīng)滿足圖書館管理工作的需要,并達(dá)到操作過程中的直觀,方便,實(shí)用,安全,準(zhǔn)確等要求。(4)系統(tǒng)應(yīng)具備數(shù)據(jù)庫維護(hù)功能,及時(shí)根據(jù)用戶需求進(jìn)行數(shù)據(jù)庫的各種操作。(5)系統(tǒng)采用原型,實(shí)用模塊化程序設(shè)計(jì)方法,便于系統(tǒng)功能的各種組合和修改,以及系統(tǒng)的測(cè)試與維
20、護(hù)。(6)圖書館管理系統(tǒng)的設(shè)計(jì)應(yīng)適合校園的發(fā)展。(7)圖書館管理系統(tǒng)的設(shè)計(jì)應(yīng)當(dāng)遵循數(shù)據(jù)庫設(shè)計(jì)規(guī)范。4.2 設(shè)計(jì)模式設(shè)計(jì)模式是面向?qū)ο蟮某绦蛟O(shè)計(jì)人員用來解決編程問題的一種形式化表示。本系統(tǒng)開發(fā)采用目前一種廣泛流行的軟件設(shè)計(jì)模式MVC。MVC(ModelViewController)應(yīng)用程序結(jié)構(gòu)被用來分析分布式應(yīng)用程序的特征。這種抽象結(jié)構(gòu)能有助于將應(yīng)用程序分割成若干邏輯部件,使程序設(shè)計(jì)變得更加容易。把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層模型層、視圖層、控制層。圖4-1 MVC模式MVC模式的出現(xiàn),很好的解決了傳統(tǒng)開發(fā)W
21、EB應(yīng)用方式中存在的問題。M代表模型(Model),包含完成任務(wù)所需要的所有的行為和數(shù)據(jù);V代表視圖(View)界面,現(xiàn)實(shí)模型提供的數(shù)據(jù);C代表控制器(Controller),它將模型映射到界面中,處理用戶的輸入并相應(yīng)請(qǐng)求。其模型的關(guān)系如圖所示。在MVC模型中,三層各盡其職、相互獨(dú)立,各層內(nèi)部的改變不會(huì)影響到其它層,從而降低了數(shù)據(jù)表達(dá)、數(shù)據(jù)描述和應(yīng)該操作的耦合度,也能更好的實(shí)現(xiàn)開發(fā)中的分工,加速工程進(jìn)度。4.3 圖書館管理系統(tǒng)總體功能概述圖書管理系統(tǒng)包含五個(gè)模塊分別是:系統(tǒng)登錄、圖書管理、學(xué)生管理、借閱信息管理、圖書檢索。系統(tǒng)登錄模塊:一般用戶和管理員都必須登錄才能進(jìn)入系統(tǒng),用戶登錄時(shí)在后臺(tái)判
22、斷用戶的權(quán)限類型,分為普通用戶和管理員,普通用戶可以對(duì)書籍進(jìn)行瀏覽及個(gè)人借閱信息的查詢,管理員可以對(duì)多種信息進(jìn)行操作。圖書管理模塊:管理員通過驗(yàn)證界面進(jìn)入系統(tǒng)后,進(jìn)入到圖書管理模塊,可以對(duì)圖書進(jìn)行添加,刪除、修改圖書信息、查詢、查看等一系列的操作。學(xué)生管理模塊:管理員可以在此模塊中創(chuàng)建新的普通用戶,并且可以對(duì)用戶的信息進(jìn)行修改,刪除等操作。借閱信息管理模塊:這是圖書管系統(tǒng)中最重要的模塊之一,管理員進(jìn)入該模塊中可以為普通用戶辦理借閱圖書,歸還圖書的功能,并且能夠?qū)崿F(xiàn)還款的操作。圖書檢索模塊:普通用戶通過驗(yàn)證界面進(jìn)入系統(tǒng)后,能夠按照書名,作者等多種條件對(duì)圖書進(jìn)行查詢操作,確保查詢到的都是最新的信息
23、。整體系統(tǒng)的功能模塊如圖4-2所示:圖4-2 圖書館管理系統(tǒng)功能圖4.4 圖書館管理系統(tǒng)各功能模塊概述4.4.1 系統(tǒng)登錄模塊用戶進(jìn)入系統(tǒng)時(shí)調(diào)用的一個(gè)模塊。該模塊根據(jù)用戶輸入的用戶名、密碼來判斷用戶的類型,跳轉(zhuǎn)到該類用戶的界面。本模塊的功能點(diǎn)包括:(1) 判斷用戶名和密碼是否相符;(2) 根據(jù)用戶的權(quán)限類型,登錄到系統(tǒng)的制定界面操作使用。登錄功能模塊流程圖如圖4-3所示:圖4-3 登錄模塊流程圖 圖書管理模塊在本模塊中圖書館工作人員可以對(duì)圖書進(jìn)行管理操作。本模塊的功能點(diǎn)包括:(1) 新書入庫,將新進(jìn)圖書按其類型將圖書的基本信息錄入系統(tǒng)數(shù)據(jù)庫; (2) 圖書出庫,某一部分圖書會(huì)隨著時(shí)間的增長(zhǎng)及知
24、識(shí)的更新而變得不再有收藏的價(jià)值,或者圖書被損壞,這些圖書就要在圖書庫中除去。即從圖書庫中刪除此圖書記錄;(3) 新書編碼,圖書入庫后,需要貼上條形碼,以便以后提供借閱,本系統(tǒng)不涉及到條形碼閱讀器,只是假定此過程已經(jīng)生成條形碼。編碼只是將條形碼帖于書上以唯一標(biāo)識(shí)圖書;(4) 圖書信息修改,圖書信息由于工作人員的疏忽,而出現(xiàn)錄入錯(cuò)誤,提供其圖書ID就可以查看圖書的基本信息并對(duì)其進(jìn)行修改;圖書管理功能模塊流程圖如圖4-4所示:圖4-4 圖書管理模塊流程圖4.3.3 學(xué)生管理模塊本模塊主要是工作者對(duì)學(xué)生信息(讀者借書證信息)進(jìn)行管理。本模塊的功能點(diǎn)包括:(1) 辦理借書證,為新讀者辦理借書證,填寫用戶
25、基本信息;(2) 注銷借書證,輸入讀者借書證編號(hào),根據(jù)借書證ID刪除讀者表中此借書證信息;(3) 掛失借書證,主要是將借書證的狀態(tài)改為掛失,更新讀者表狀態(tài)字段,有圖書管理員操作;(4) 修改圖書證信息,由于工作人員的疏忽,而出現(xiàn)辦理借書證時(shí)錄入信息有誤,則可根據(jù)借書證編號(hào)對(duì)其信息進(jìn)行查看和修改。借書證管理功能模塊流程圖如圖4-5所示:圖4-5 借書證管理模塊流程圖 借閱信息管理模塊本模塊主要是工作者對(duì)圖書外借和歸還進(jìn)行管理。本模塊的功能點(diǎn)包括:(1) 圖書借閱,記錄借閱證編號(hào)和圖書編號(hào),進(jìn)行借書過程。在數(shù)據(jù)庫中插入一天借書記錄,該記錄包括圖書ID、借書證ID、借閱日期、歸還日期等;(2) 圖書
26、歸還,輸入借書證編號(hào),圖書編號(hào),根據(jù)輸入的編號(hào)在借閱登記表中找到相應(yīng)的記錄,將借閱記錄刪除,并將該記錄相應(yīng)的數(shù)據(jù)更新到歷史借閱記錄信息表中;(3) 查看借閱記錄,可以根據(jù)借書證ID以及圖書ID查詢借閱記錄。(4) 辦理還款,如讀者有圖書超期的情況將會(huì)有欠款,可以根據(jù)借書證的ID來為讀者班里還款。借閱信息管理功能模塊流程圖如圖4-6所示:圖4-6 借閱信息管理模塊流程圖 圖書檢索模塊使用該模塊的用戶有:讀者和管理員。本模塊的功能點(diǎn)包括:(1) 根據(jù)圖書ID進(jìn)行檢索;(2) 根據(jù)圖書名稱進(jìn)行檢索;(3) 根據(jù)圖書類型進(jìn)行檢索。(4) 根據(jù)圖書作者或譯者進(jìn)行檢索。圖書檢索功能模塊流程圖如圖4-7所示
27、:圖4-7 圖書檢索模塊流程圖4.4 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì) 概念結(jié)構(gòu)設(shè)計(jì)(1)實(shí)體圖學(xué)生:學(xué)生屬性有學(xué)號(hào)、姓名、密碼、性別、學(xué)院、班級(jí)、電話、email、宿舍、地址、已借書數(shù)量、創(chuàng)建日期。學(xué)生實(shí)體圖如圖4-8所示:學(xué)生學(xué)號(hào)創(chuàng)建日期已借書數(shù)量地址宿舍email電話班級(jí)學(xué)院性別密碼姓名圖4-8 學(xué)生實(shí)體圖圖書:圖書屬性有圖書編號(hào)、書名、作者、類別、單價(jià)、出版社、出版日期、總數(shù)量、當(dāng)前數(shù)量、購買日期、內(nèi)容摘要。圖書實(shí)體圖如圖4-9所示:圖書編號(hào)書名內(nèi)容摘要購買日期當(dāng)前數(shù)量作者圖書總數(shù)量類別出版日期出版社單價(jià)圖4-9 圖書實(shí)體圖(2)ER圖根據(jù)以上實(shí)體圖,分析了各個(gè)實(shí)體的屬性,根據(jù)這些屬性,可以得到系統(tǒng)的E
28、R圖,如圖4-10所示班級(jí)屬于1n學(xué)生借書日期nn屬于借閱還書日期超期罰款1n學(xué)生圖書圖4.8 系統(tǒng)E-R圖 邏輯結(jié)構(gòu)設(shè)計(jì)根據(jù)上述功能模塊的需求,設(shè)計(jì)如下主要數(shù)據(jù)庫表:表4.1 圖書信息表(t_book)字段英文名稱字段中文名稱字段類型字段約束是否可為空Book_num圖書編號(hào)Varchar2(15)主鍵否Book_name書名Varchar2(20)否Writer作者Varchar2(10)否Sort_id類加IDVarchar2(5)否表4.1圖書信息表(t_book) 續(xù)表01Price單價(jià)Number(5.2)是Pub_company出版社Varchar2(20)是Pub_date出版
29、日期Date是Total_num總數(shù)量Number(3)否Current_num當(dāng)前數(shù)量Number(3)否Buy_date入庫日期Date否Brief內(nèi)容摘要Varchar2(100)是表4.2 學(xué)生信息表 (t_student)字段英文名稱字段中文名稱字段類型字段約束是否可為空Student_num學(xué)號(hào)Varchar2(15)主鍵否Student_name姓名Varchar2(10)否Password密碼Varchar2(20)否Academy_id學(xué)院IDVarchar2(10)否Class_id班級(jí)IDVarchar2(10)否Sex性別Varchar2(2)是Telephone電話V
30、archar2(15)是EmailEmailVarchar2(20)是Lended_num已借書數(shù)量Number(2)默認(rèn)為0否Create_date創(chuàng)建日期Date否表4.3 借閱信息表(t_book_student)字段英文名稱字段中文名稱字段類型字段約束是否可為空IdID號(hào)Varchar2(35)主鍵否Book_id圖書編號(hào)Varchar2(15) 否Student_id學(xué)號(hào)Varchar2(15)否borrow_date 借書日期Date否return_date 還書日期Date否Money超期罰款Number(5.2)否表4.4 管理員表(t_admin)字段英文名稱字段中文名稱字段
31、類型字段約束是否可為空Admin_id管理員IDNumber(5)主鍵否Admin_name管理員姓名Varchar2(10) 否Admin_password管理員密碼Varchar2(20)否表4.5 學(xué)院表(t_admin)字段英文名稱字段中文名稱字段類型字段約束是否可為空Academy_id學(xué)院IDVarchar2(10)主鍵否Academy_name學(xué)院名Varchar2(30) 否表4.6 班級(jí)表(t_class)字段英文名稱字段中文名稱字段類型字段約束是否可為空Class_id班級(jí)IDVarchar2(10)主鍵否Class_name班級(jí)名Varchar2(30)否Academy_
32、id所屬學(xué)院IDVarchar2(10) 否表4.7 圖書類別表(t_admin)字段英文名稱字段中文名稱字段類型字段約束是否可為空Sort_id類別IDVarchar2(5)主鍵否Sort_name類別名Varchar2(20) 否5系統(tǒng)實(shí)現(xiàn)5.1系統(tǒng)的軟件結(jié)構(gòu)處理靜態(tài)WEB是由Web瀏覽器向Web發(fā)送靜態(tài)頁面, Web服務(wù)器直接對(duì)發(fā)送的靜態(tài)網(wǎng)頁進(jìn)行處理。處理動(dòng)態(tài)WEB數(shù)據(jù)庫查詢的過程是:當(dāng)Web瀏覽器向Web服務(wù)器發(fā)送請(qǐng)求時(shí),動(dòng)態(tài)網(wǎng)頁的處理流程是,屏蔽掉HTML語言,只輸入動(dòng)態(tài)網(wǎng)頁文件,由Web服務(wù)器向數(shù)據(jù)庫中傳遞信息,經(jīng)過數(shù)據(jù)庫的處理返回?cái)?shù)據(jù)集,Web應(yīng)用服務(wù)器再把含有程序代碼的動(dòng)態(tài)網(wǎng)頁
33、轉(zhuǎn)換為靜態(tài)網(wǎng)頁返還給Web瀏覽器。這就是用動(dòng)態(tài)網(wǎng)頁對(duì)數(shù)據(jù)庫進(jìn)行查詢并將數(shù)據(jù)返還給瀏覽器處理的全過程,具體見圖5-1所示。圖5-1數(shù)據(jù)庫查詢示意圖5.2登錄系統(tǒng)模塊的實(shí)現(xiàn)本模塊主要是用戶通過圖書館管理系統(tǒng)的首頁進(jìn)入該系統(tǒng)。用戶輸入正確的用戶名和密碼,如果登錄信息有錯(cuò)誤,則系統(tǒng)提示登錄錯(cuò)誤信息,并且禁止系統(tǒng)用戶進(jìn)行任何操作。若登錄信息正確,系統(tǒng)會(huì)根據(jù)用戶的身份進(jìn)行相應(yīng)權(quán)限的判斷,讀者進(jìn)入前臺(tái)系統(tǒng),管理員進(jìn)入后臺(tái)系統(tǒng)。圖書館系統(tǒng)登錄主頁面如圖5-2所示。圖5-2 圖書館管理系統(tǒng)登錄界面其實(shí)現(xiàn)的代碼如下:Action層:public String login() boolean flag = iss.
34、login(admin);if(flag) return "success" message = "用戶名或口令錯(cuò)誤!"return "fail"Service層:public boolean login(TAdmin admin) TAdmin a = isd.login(admin);if(a != null) return true;return false;Dao層:public TAdmin login(TAdmin admin) Session session = this.getHibernateTemplate().g
35、etSessionFactory().openSession();Query q = session.createQuery("from TAdmin a where a.adminName = ? and a.adminPassword = ?").setString(0, admin.getAdminName().setString(1, admin.getAdminPassword();TAdmin a = (TAdmin)q.uniqueResult();return a;5.3圖書管理模塊的實(shí)現(xiàn)圖書管理模塊主要分為圖書入庫、查看圖書、統(tǒng)計(jì)圖書,其中圖書入庫是往圖書
36、管理數(shù)據(jù)庫中添加圖書信息??磮D書功能中可以查看圖書詳細(xì)信息,并對(duì)圖書信息進(jìn)行修改或刪除某些廢棄圖書信息。5.3.1圖書入庫功能的實(shí)現(xiàn)點(diǎn)擊添加圖書功能,填寫圖書基本信息,為圖書選擇類型,類型是與數(shù)據(jù)庫交互動(dòng)態(tài)生成的下拉列表,具體界面如圖5-3所示。圖5-3 圖書入庫界面其實(shí)現(xiàn)的代碼如下:public String addInfoBook() this.sortList = ibs.listBookSort();return "add"public List<TSort> listBookSort() return this.getHibernateTemplate
37、().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.setCurrentNum(book.getTotalNum();ibd.saveBook(book);public void saveBook
38、(TBook book) this.getHibernateTemplate().save(book);5.3.2圖書維護(hù)功能的實(shí)現(xiàn)點(diǎn)擊圖書維護(hù)功能,展示所有圖書的信息列表,在每個(gè)圖書信息行后提供刪除和修改操作功能,并且可以單擊選定某一個(gè)圖書信息后的詳細(xì)信息進(jìn)行詳細(xì)查看圖書信息。具體圖書列表界面如圖5-4所示圖5-4 圖書列表界面其實(shí)現(xiàn)的代碼如下:public String listAllBook() bookList = this.listBook();return "Book"public List<TBook> listBook(TBook book, P
39、age page) String hql = "from TBook tb where 1=1"if(book!=null) if(book.getBookNum() != null && !"".equals(book.getBookNum().trim() hql = hql + " and tb.bookNum = '" + book.getBookNum()+"'"if(book.getBookName() != null && !"".e
40、quals(book.getBookName().trim() hql = hql + " and tb.bookName = '" + book.getBookName()+"'"if(book.getWriter() != null && !"".equals(book.getWriter().trim() hql = hql + " and tb.writer = '" + book.getWriter()+"'" if(!book.getS
41、ortId().getSortId().trim().equals("-1") hql = hql + " and tb.sortId.sortId = '" + book.getSortId().getSortId()+"'"hql = hql + " order by tb.bookName" else hql = hql + " order by tb.buyDate desc"Session session = this.getHibernateTemplate().ge
42、tSessionFactory().openSession();Query q = session.createQuery(hql);q.setFirstResult(page.getStartRow();q.setMaxResults(5);List<TBook> list = q.list();return list;(1)刪除圖書功能的實(shí)現(xiàn)管理員刪除圖書,刪除時(shí)可刪除一個(gè),也可同時(shí)多選刪除,其實(shí)現(xiàn)的代碼如下:public String deleteOneBook() ibs.delBookById(bookNum);bookList = this.listBook();ret
43、urn "Book"public String deleteMoreBook() ibs.delMoreBook(bookNums);bookList = this.listBook();return "Book" public void delBookById(String bookNum) this.getHibernateTemplate().delete(this.getHibernateTemplate().get(TBook.class, bookNum); public void delMoreBook(String bookNums) f
44、or(int i=0; i<bookNums.length;i+) this.getHibernateTemplate().delete(this.getHibernateTemplate().get(TBook.class, bookNumsi);(2)修改圖書信息功能的實(shí)現(xiàn)在管理員修改圖書信息時(shí),跳轉(zhuǎn)到圖書信息詳細(xì)表單中,列出所要修改圖書的詳細(xì)信息,并可以進(jìn)行修改,則修改界面如圖5-5所示。圖5-5 修改圖書信息界面其實(shí)現(xiàn)的代碼如下:public String modifyInfoBook() this.sortList = ibs.listBookSort();book = ibs
45、.queryOneBookById(bookNum);return "modifyInfo"public String modifySaveBook() ibs.modifyBook(book);book = null;bookList = this.listBook();return "Book"public TBook queryOneBookById(String bookNum) TBook book = (TBook)this.getSession().createQuery("from TBook tb where tb.bookN
46、um = ?").setString(0, bookNum).uniqueResult();this.getSession().close();return book;public void modifyBook(TBook book) this.getHibernateTemplate().update(book);(3)查看圖書詳細(xì)信息功能的實(shí)現(xiàn)在管理員點(diǎn)擊詳細(xì)信息時(shí),跳轉(zhuǎn)到某圖書信息詳細(xì)表單中,列出所選圖書的詳細(xì)信息,則顯示界面如圖5-6所示。圖5-6圖書詳細(xì)信息界面其實(shí)現(xiàn)的代碼如下:public String infoDetailBook() book = ibs.query
47、OneBookById(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();return book;5.4學(xué)生管理模塊的實(shí)現(xiàn)學(xué)生管理模塊主要分為添加學(xué)生、查看學(xué)生、修改學(xué)
48、生,查看學(xué)生的詳細(xì)信息。 5.4.1學(xué)生添加功能的實(shí)現(xiàn)點(diǎn)擊添加學(xué)生,填寫學(xué)生基本信息,具體界面如圖5-7所示。圖5-7辦理借書證界面其實(shí)現(xiàn)的代碼如下:public String addInfoStudent() this.academyList = iss.listAllAcademy();return "add"public void addStudent(TStudent student) Date now = new Date();student.setCreateDate(now);student.setLendedNum(0);isd.saveStudent(st
49、udent);public List<TAcademy> listAllAcademy() return this.getHibernateTemplate().find("from TAcademy ta");public List<TClass> listAllClass() return this.getHibernateTemplate().find("from TClass tc");public void saveStudent(TStudent student) this.getHibernateTemplate()
50、.save(student);5.4.2學(xué)生維護(hù)功能的實(shí)現(xiàn)點(diǎn)擊學(xué)生維護(hù)功能,展示所有讀者的信息列表,在每個(gè)讀者信息行后提供刪除和修改操作功能,并且可以單擊選定某一個(gè)讀者信息后的詳細(xì)信息進(jìn)行詳細(xì)查看讀者信息。具體讀者列表界面如圖5-8所示圖5-8 讀者列表界面其實(shí)現(xiàn)的代碼如下:public String listAllStudent() studentList = this.getStudentListByPage();return "Student"public List<TStudent> listAllStudent(Page page) Session s
51、ession = this.getHibernateTemplate().getSessionFactory().openSession();Query q = session.createQuery("from TStudent ts");q.setFirstResult(page.getStartRow();q.setMaxResults(5);List<TStudent> list = q.list();return list;(1)刪除學(xué)生功能的實(shí)現(xiàn)管理員刪除讀者,刪除時(shí)可刪除一個(gè),也可同時(shí)多選刪除。其實(shí)現(xiàn)的代碼如下:public String dele
52、teOneStudent() iss.deleteOneStudent(studentNum);studentList = this.getStudentListByPage();return "Student"public String deleteMoreStudent() iss.deleteMoreStudent(studentNums);studentList = this.getStudentListByPage();return "Student"public void deleteOneStudent(String studentNum)
53、 this.getHibernateTemplate().delete(this.getHibernateTemplate().get(TStudent.class, studentNum);public void deleteMoreStudent(String studentNums) for(int i=0;i<studentNums.length;i+) this.getHibernateTemplate().delete(this.getHibernateTemplate().get(TStudent.class, studentNumsi);(2)修改學(xué)生信息功能的實(shí)現(xiàn)在管理
54、員修改學(xué)生信息時(shí),跳轉(zhuǎn)到學(xué)生信息詳細(xì)表單中,列出所要修改學(xué)生的詳細(xì)信息,并可以進(jìn)行修改,則修改界面如圖5-9所示。圖5-9 修改讀者信息界面其實(shí)現(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.g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度煤炭交易市場(chǎng)與鐵路運(yùn)輸服務(wù)合同范本4篇
- 2025年度臨時(shí)倉儲(chǔ)租賃與貨物裝卸安全防護(hù)服務(wù)合同4篇
- 二零二五年度環(huán)保U盤生產(chǎn)與分銷合作協(xié)議2篇
- 2025-2030年中國高空作業(yè)機(jī)械市場(chǎng)發(fā)展?fàn)顩r及營銷戰(zhàn)略研究報(bào)告
- 2025年度苗木種植與生態(tài)保護(hù)合作合同范本3篇
- 2025-2030年中國防水建材市場(chǎng)運(yùn)行現(xiàn)狀及發(fā)展前景預(yù)測(cè)報(bào)告
- 2025-2030年中國鑄造機(jī)床行業(yè)前景趨勢(shì)展望及投資潛力分析報(bào)告新版
- 2025-2030年中國銅鋁復(fù)合母線市場(chǎng)發(fā)展現(xiàn)狀及投資策略預(yù)測(cè)研究報(bào)告
- 2025-2030年中國金屬制罐行業(yè)發(fā)展現(xiàn)狀及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國西服市場(chǎng)未來發(fā)展趨勢(shì)及投資戰(zhàn)略研究報(bào)告新版
- 2024-2025學(xué)年成都高新區(qū)七上數(shù)學(xué)期末考試試卷【含答案】
- 定額〔2025〕1號(hào)文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價(jià)格水平調(diào)整的通知
- 2025年浙江杭州市西湖區(qū)專職社區(qū)招聘85人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《數(shù)學(xué)廣角-優(yōu)化》說課稿-2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué)人教版
- “懂你”(原題+解題+范文+話題+技巧+閱讀類素材)-2025年中考語文一輪復(fù)習(xí)之寫作
- 2025年景觀照明項(xiàng)目可行性分析報(bào)告
- 2025年江蘇南京地鐵集團(tuán)招聘筆試參考題庫含答案解析
- 2025年度愛讀書學(xué)長(zhǎng)參與的讀書項(xiàng)目投資合同
- 電力系統(tǒng)分析答案(吳俊勇)(已修訂)
- 化學(xué)-河北省金太陽質(zhì)檢聯(lián)盟2024-2025學(xué)年高三上學(xué)期12月第三次聯(lián)考試題和答案
- 期末復(fù)習(xí)試題(試題)-2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué) 北師大版
評(píng)論
0/150
提交評(píng)論