




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于Web的圖書管理系統(tǒng)的設(shè)計與實現(xiàn)摘 要隨著時代的發(fā)展,在現(xiàn)代中小型圖書管理系統(tǒng)中,如何方便快捷地為用戶提供服務(wù)、提高圖書的利用率等問題變得越來越突出。借助網(wǎng)絡(luò),在圖書管理和用戶之間建立一個交互的電子平臺,將大大提高中小型圖書管理的管理水平和現(xiàn)代化程度。 圖書管理系統(tǒng)正是趨于這個目標(biāo)而設(shè)計,主要實現(xiàn)了5個方面的功能:1.圖書查詢,對圖書進(jìn)行查詢,可查詢書本的當(dāng)前狀態(tài)和相關(guān)信息;2.借閱管理,包括書籍借閱和書籍歸還的管理;3.圖書管理,主要實現(xiàn)書庫的管理和書籍的管理,包括書庫的建立和刪除,新書的入庫和廢書的刪除等;4.會員管理,是對會員信息和借閱進(jìn)行管理;5.系統(tǒng)管理,是對系統(tǒng)的權(quán)限管理。系統(tǒng)
2、設(shè)計突出充分利用JSP技術(shù)的MVC設(shè)計模式、J2EE開發(fā)中流行的組合框架SSH(Strust+Spring+Hibernate)技術(shù)和MYSQL數(shù)據(jù)庫技術(shù)設(shè)計和實現(xiàn)了一個基于Web的圖書管理系統(tǒng)。系統(tǒng)要解決的圖書管理所要解決的問題,可以滿足圖書管理基本要求,包括添加、修改刪除管理等功能。系統(tǒng)能根據(jù)用戶的需求,快捷方便的為讀者提供借閱服務(wù)。關(guān)鍵詞: 圖書管理,MVC,框架,SSH,MYSQL數(shù)據(jù)庫The library management system based on Web of design and implementationABSTRACT:With the development
3、in modern small library management system, how to quickly and easily provide users with services, enhancing the utilization of other issues become more prominent. With the network, the library management and user interaction between a e-platform will greatly enhance the management of small and mediu
4、m level of library management and modernization. Library management system is designed to tend to this end, the main achievement of the five functional areas: one. Book inquiries, check books, check books can be the current status and related information; two. Lending management, including the lendi
5、ng library, and Books returned to the management; three. library management, the main stacks of the management and implementation of management books, including the stack room of the building and removed, new books, book storage and waste removal, etc.; four. member of management, is a member of loa
6、n for information and Management; five. system management is a system of rights management. System design using JSP database development tools and MYSQL5.0 to develop the library management system. Library management system to be solved to solve the problem of library management to meet the basic re
7、quirements, including add, modify, remove management. System according to user needs, provide readers with fast and convenient loan services. Keywords:Literature management system; Information management; JSP第一章 系統(tǒng)需求分析1.1引言隨著計算機技術(shù)的飛速發(fā)展,計算機在企業(yè)管理中應(yīng)用的普與,利用計算機實現(xiàn)圖書信息的管理勢在必行。目前圖書管理的借閱工作部分大多數(shù)還是手工管理,工作效率很低,
8、并且不能與時了解圖書的種類和用戶比較需求的圖書等,不能更好的適應(yīng)當(dāng)前讀者的借閱要求。手工管理還存在這許多弊端,由于不可避免的人為因素,造成數(shù)據(jù)的遺漏、誤報。計算機信息化管理有著儲存量大,速度快等許多優(yōu)點,提供給我們的處理信息與時快捷,因此我們利用計算機提供給我們的信息對讀者的借閱過程形成一整套動態(tài)的管理能夠極提高圖書管理管理的效率,這也是圖書管理的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。1.2 開發(fā)環(huán)境在開發(fā)圖書館管理系統(tǒng)時,需要具備下面的軟件環(huán)境。服務(wù)器端: 操作系統(tǒng):Windows Sever 2003Web服務(wù)器:Tomcat5.5Java開發(fā)包:JDK 1.5以上,JRE1.6.數(shù)據(jù)
9、庫:MySQL 5.0.37瀏覽器:IE6.0以上版本分辨率:最佳效果為1024 X 768客戶端: 瀏覽器:IE 6.0分辨率:最佳效果 1024 X 768像素1.3 系統(tǒng)需求分析系統(tǒng)的主要目的是實現(xiàn)一個圖書管理系統(tǒng)。系統(tǒng)有2 類用戶分別為管理員、讀者會員。管理員經(jīng)口令認(rèn)證進(jìn)人系統(tǒng)后,管理員可完成維護(hù)系統(tǒng)的功能, 包括管理圖書和管理會員。讀者會員則完成查詢圖書、修改個人資料、查詢個人借閱信息的功能, 工作完成后可以退出系統(tǒng)。1.3.1功能需求描述隨著圖書的日益增多,傳統(tǒng)的手工圖書管理不僅工作量大,而且容易出現(xiàn)問題。圖書管理設(shè)計的容非常復(fù)雜而且繁多,比如擁有圖書信息錄入管理、用戶信息管理、圖
10、書借閱管理和歸還管理,圖書的查詢和修改等。由于系統(tǒng)主要是為方便管理員定制開發(fā)的,因此針對圖書管理的實際工作而言,經(jīng)過了反復(fù)地論證,最終確定了圖書管理系統(tǒng)的設(shè)計方案,圖書管理系統(tǒng)的主要功能為:(1) 用戶登錄。管理員或會員根據(jù)工作證和密碼登錄系統(tǒng)進(jìn)行身份驗證。(2) 查詢圖書。登錄系統(tǒng)后進(jìn)行圖書檢索, 并可以通過點擊圖書名稱查看書本詳細(xì)信息。可以查看到書本的所有信息與借閱信息。(3) 添加圖書。只有管理員登錄成功后才能添加圖書。通過點擊導(dǎo)航條上的“添加圖書“超進(jìn)入添加圖書頁面,填好后點提交, 就進(jìn)數(shù)據(jù)庫了。(4) 修改圖書。只有管理員登錄成功后才能修改圖書。通過點擊導(dǎo)航條上的“修改圖書“超進(jìn)入修
11、改圖書頁面,修改好后點提交, 就進(jìn)數(shù)據(jù)庫了。(5) 刪除圖書。只有管理員登錄成功后才能修改圖書。通過點擊導(dǎo)航條上的“刪除圖書“超進(jìn)入刪除圖書頁面,點刪除就可將書刪除。(6) 修改和查詢個人信息。1.4 性能需求為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行,圖書管理系統(tǒng)應(yīng)該滿足以下的性能需求:1.4.1系統(tǒng)處理的準(zhǔn)確性和與時性系統(tǒng)處理的準(zhǔn)確性和與時性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計和開發(fā)過程中,要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時間能夠滿足中小型企業(yè)對信息處理的需求。1.4.2系統(tǒng)的開放性和系統(tǒng)的可擴(kuò)充性圖書管理系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如用
12、戶查詢的需求也會不斷的更新和完善,都要求系統(tǒng)提供足夠的功能的調(diào)整和擴(kuò)充。而要實現(xiàn)這一點,應(yīng)通過系統(tǒng)的開放性來完成,既系統(tǒng)應(yīng)是一個開放系統(tǒng),只要符合一定的規(guī),可以簡單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補、替換完成系統(tǒng)的升級和更新?lián)Q代。1.4.3系統(tǒng)的易用性和易維護(hù)性圖書管理系統(tǒng)是直接面對使用人員的,而使用人員往往對計算機并不時非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機交互界面。要實現(xiàn)這一點,就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面;針對用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對系統(tǒng)熟悉的過程。1.4.4系統(tǒng)的標(biāo)準(zhǔn)性系統(tǒng)在設(shè)計開發(fā)使用過程中
13、都要涉與到很多計算機硬件、軟件。所有這些都要符合主流國際、國家和行業(yè)標(biāo)準(zhǔn)。1.4.5系統(tǒng)的先進(jìn)性目前計算系統(tǒng)的技術(shù)發(fā)展相當(dāng)快,做為圖書管理系統(tǒng)工程,在系統(tǒng)的生命周期盡量做到系統(tǒng)的先進(jìn),充分完成企業(yè)信息處理的要求而不至于落后。這一方面通過系統(tǒng)的開放性和可擴(kuò)充性,不斷改善系統(tǒng)的功能完成。另一方面,在系統(tǒng)設(shè)計和開發(fā)的過程中,應(yīng)在考慮成本的基礎(chǔ)上盡量采用當(dāng)前主流并先進(jìn)且有良好發(fā)展前途的產(chǎn)品。1.4.6系統(tǒng)的響應(yīng)速度圖書管理系統(tǒng)系統(tǒng)在日常處理中的響應(yīng)速度為秒級,達(dá)到實時要求,以與時反饋信息。在進(jìn)行統(tǒng)計分析時,根據(jù)所需數(shù)據(jù)量的不同而從秒級到分鐘級,原則是保證操作人員不會因為速度問題而影響工作效率。第二章
14、相關(guān)技術(shù)介紹本系統(tǒng)實現(xiàn),采用現(xiàn)在Web開發(fā)最流行的組合框架SSH(Strust+Spring+Hibernate),該框架是基于MVC設(shè)計模式的一個組合框架,系統(tǒng)實現(xiàn)層次分明,action層頁面?zhèn)髦?,控制跳轉(zhuǎn),service層業(yè)務(wù)服務(wù)層,主要實現(xiàn)業(yè)務(wù)邏輯處理,dao層主要是做數(shù)據(jù)持久層的工作,負(fù)責(zé)與數(shù)據(jù)庫進(jìn)行聯(lián)絡(luò)的一些任務(wù)都封裝在此,model層數(shù)據(jù)表與實體類型映射。本系統(tǒng)設(shè)計時,考慮到數(shù)據(jù)庫存儲量大,系統(tǒng)適用對象是型旅游運行商,選擇了現(xiàn)在比較流行的MySQL數(shù)據(jù)庫作為系統(tǒng)數(shù)據(jù)庫。本章節(jié)將對MVC模式、SSH框架以與MySQL數(shù)據(jù)庫等技術(shù)做簡要介紹。2.1 MVC簡介 MVC是一個設(shè)計模式,它
15、強制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個核心部件:模型Model、視圖View、控制器Controller。它們各自處理自己的任務(wù)。 視圖是用戶看到并與之交互的界面。對老式的Web應(yīng)用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮 演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括Macromedia Flash和象XHTML,XML/XSL,WML等一些標(biāo)識語言和Web services。如何處理應(yīng)用程序的界面變得越來越有挑戰(zhàn)性。MVC一個大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發(fā)生
16、,不管這些數(shù)據(jù)是聯(lián)機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務(wù)。例如它可能用象Es和ColdFusion Components這樣的構(gòu)件對象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關(guān),這樣一個模型能為多個視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復(fù)性??刂破鹘邮苡脩舻妮斎氩⒄{(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁面中的超和發(fā)送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調(diào)用哪個模型
17、構(gòu)件去處理請求,然后再確定用哪個視圖來顯示返回的數(shù)據(jù)。MVC模式三核心部件關(guān)系圖如下圖2-1。 Controller User Action UpdateModelView Update Notify 圖2-1 MVC模型圖2.1.1MVC的優(yōu)點低耦合性視圖層和業(yè)務(wù)層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需要改動MVC的模型層即可。因為模型與控制器和視圖相分離,所以很容易改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。高重用性和可適用性隨著技術(shù)的不斷進(jìn)步,現(xiàn)在需要用越來越多的方式來訪問應(yīng)用程序。MVC模式允許你使用各種不同樣式的視圖來訪問同一
18、個服務(wù)器端的代碼。它包括任何WEB( )瀏覽器或者無線瀏覽器(wap),比如,用戶可以通過電腦也可通過手機來訂購某樣產(chǎn)品,雖然訂購的方式不一樣,但處理訂購產(chǎn)品的方式是一樣的。由于模型返回的數(shù)據(jù)沒有進(jìn)行格式化,所以同樣的構(gòu)件能被不同的界面使用。例如,很多數(shù)據(jù)可能用HTML來表示,但是也有可能用WAP來表示,而這些表示所需要的命令是改變視圖層的實現(xiàn)方式,而控制層和模型層無需做任何改變。較低的生命周期成本MVC使降低開發(fā)和維護(hù)用戶接口的技術(shù)含量成為可能??焖俚牟渴鹗褂肕VC模式使開發(fā)時間得到相當(dāng)大的縮減,它使程序員(Java開發(fā)人員)集中精力于業(yè)務(wù)邏輯,界面程序員(HTML和JSP開發(fā)人員)集中精力
19、于表現(xiàn)形式上??删S護(hù)性分離視圖層和業(yè)務(wù)邏輯層也使得WEB應(yīng)用更易于維護(hù)和修改。有利于軟件工程化管理由于不同的層各司其職,每一層不同的應(yīng)用具有某些一樣的特征,有利于通過工程化、工具化管理程序代碼。2.2 SSH框架簡介SSH框架是J2EE開發(fā)的一個流行組合框架,其中SSH是Struts+Spring+Hibernate三個單詞縮寫。(1) S表示層框架Struts Struts是一個在JSP Model2基礎(chǔ)上實現(xiàn)的MVC框架,主要分為模型(Model)、視圖(Viewer)和控制器(Controller)三部分,其主要的設(shè)計理念是通過控制器將表現(xiàn)邏輯和業(yè)務(wù)邏輯解耦,以提高系統(tǒng)的可維護(hù)性、可擴(kuò)展
20、性和可重用性。(2)S業(yè)務(wù)邏輯層框架Spring Spring是一個解決了許多J2EE開發(fā)中常見問題并能夠替代E技術(shù)的強大的輕量級框架。這里所說的輕量級指的是Spring框架本身,而不是指Spring只能用于輕量級的應(yīng)用開發(fā)。Spring的輕盈體現(xiàn)在其框架本身的基礎(chǔ)結(jié)構(gòu)以與對其他應(yīng)用工具的支持和裝配能力。與E這種龐然大物相比,Spring可使程序研發(fā)人員把各個技術(shù)層次之間的風(fēng)險降低。 Spring框架的核心是控制翻轉(zhuǎn)IoC(Inversion of Control)/依賴注入DI(Dependence Injection)機制。IoC是指由容器中控制組件之間的關(guān)系(這里,容器是指為組件提供特定
21、服務(wù)和技術(shù)支持的一個標(biāo)準(zhǔn)化的運行時的環(huán)境)而非傳統(tǒng)實現(xiàn)中由程序代碼直接操控,這種將控制權(quán)由程序代碼到外部容器的轉(zhuǎn)移,稱為“翻轉(zhuǎn)”3。DI是對IoC更形象的解釋,即由容器在運行期間動態(tài)地將依賴關(guān)系(如構(gòu)造參數(shù)、構(gòu)造對象或接口)注入到組件之中3。Spring采用設(shè)值注入(使用Setter方法實現(xiàn)依賴)和構(gòu)造子注入(在構(gòu)造方法中實現(xiàn)依賴)的機制,通過配置文件管理組建的協(xié)作對象,創(chuàng)建可以構(gòu)造組件的IoC容器。這樣,不需要編寫工廠模式、單例模式或者其他構(gòu)造的方法,就可以通過容器直接獲取所需的業(yè)務(wù)組件。(3)H數(shù)據(jù)持久層框架Hibernate O/R mapping技術(shù)是為了解決關(guān)系型數(shù)據(jù)庫和面向?qū)ο蟮某?/p>
22、序設(shè)計之間不匹配的矛盾而產(chǎn)生的。Hibernate是目前最為流行的O/R mapping框架,它在關(guān)系型數(shù)據(jù)庫和Java對象之間做了一個自動映射,使得程序員可以以非常簡單的方式實現(xiàn)對數(shù)據(jù)庫的操作。SSH框架關(guān)系如下圖2-2。PersistenceLayer HibernateDataSource/Connection Pool Query LanguageSupport and Other Hibernate service BussinessLayer Spring TransactionHibernateSession ManagementBusiness Service Classes
23、UILayer Struts-MVC Struts ActionActionForm JSPStruts-config.xml etcDAO classesService Locator Domain Model Business Objects 圖2-2 SSH框架關(guān)系圖2.3 MySQL數(shù)據(jù)庫簡介MySQL關(guān)系數(shù)據(jù)庫服務(wù)器大約在15年前脫胎于一個公司的部項目,最初由瑞典TcXDataKonsult AB (AB是Aktiebolag的縮寫,在瑞典語中表示公司)的員工發(fā)起,這個稱為MySQL的項目在1996年底開始公司發(fā)行。該軟件迅速流行起來,所以他們在2001年成立了一家完全致力于MySQ
24、L服務(wù)和產(chǎn)品的公司,稱為MySQLAB。由于一開始就獲利頗豐,MySQLAB飛速發(fā)展,在多個國家成立了辦事處,吸引了大量風(fēng)險投資資金,并開始與很多重量級公司合作,包括Red Hat、Veritas、Novell、Rackspace。MySQL公司的發(fā)展因2008年被Sun Microsystems收購而終結(jié),而后者則于2009年初被Oracle公司買進(jìn)。從1996年首次發(fā)行開始,MySQL的發(fā)開人員就將重點放在了軟件性能和可拓展性上。其結(jié)果是得到了一個高度優(yōu)化的產(chǎn)品,但是缺乏企業(yè)級數(shù)據(jù)庫產(chǎn)品的很多標(biāo)準(zhǔn)特征,例如存儲過程、觸發(fā)器和事務(wù)。然而,該產(chǎn)品仍然吸引了大量的用戶,這些用戶更注重速度和可拓展
25、性,而不那么關(guān)心平常不太使用的功能(隨后的版本又包括了這樣一些特征,并吸引了更多的用戶)。盡管如此,MySQL仍有由于一下特點而風(fēng)靡:使用C和C+編寫,并使用了多種編譯器進(jìn)行測試,保證源代碼的可移植性;支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng);為多種編程語言提供了API。這些編程語言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等;支持多線程,充分利用CPU資源 ;優(yōu)化的SQL查詢算法,有效地提高查詢速度 ;既能夠作為一個
26、單獨的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名 ;提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑;提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具;可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫 ;支持多種存儲引擎。2.3 本章技術(shù)小結(jié)本章主要介紹了最新的MVC優(yōu)秀的設(shè)計模式、J2EE開發(fā)的一個流行組合SSH框架,以與MySQL數(shù)據(jù)庫。在我的系統(tǒng)開發(fā)過程中,這些技術(shù)都有相應(yīng)的應(yīng)用到我的圖書管理系統(tǒng)中。第三章 系統(tǒng)概要設(shè)計系統(tǒng)概要設(shè)計是系統(tǒng)實現(xiàn)一個重要的
27、前期工作。本章節(jié)將結(jié)合功能設(shè)計、模塊劃分和子模塊功能設(shè)計與流程三個方面對該系統(tǒng)的概要設(shè)計做詳細(xì)的說明。3.1 功能設(shè)計本系統(tǒng)是基于B/S模式的旅游管理系統(tǒng)的設(shè)計與實現(xiàn)。系統(tǒng)開發(fā)使用軟件有MyEclipse8.5、MySQL、Dreamwear8.0等,系統(tǒng)功能主要包括登錄,系統(tǒng)設(shè)置,讀者管理,圖書管理,圖書借還,系統(tǒng)查詢等。本系統(tǒng)設(shè)計實現(xiàn)了用戶登錄、系統(tǒng)設(shè)置、讀者管理、圖書管理、圖書借還、系統(tǒng)查詢等模塊。系統(tǒng)模塊結(jié)構(gòu)參考圖3-1。圖書管理系統(tǒng)讀者管理模塊用戶登錄模塊系統(tǒng)設(shè)置模塊更改口令模塊圖書借還模塊圖書管理模塊系統(tǒng)查詢模塊圖3-1圖書管理系統(tǒng)模塊3.2 模塊具體劃分系統(tǒng)主要劃分為四大模塊,分
28、別是用戶登錄模塊、系統(tǒng)設(shè)置模塊、讀者管理模塊、圖書管理模塊和圖書借還等模塊。其模塊具體劃分參考圖3-2。圖書館管理系統(tǒng)系統(tǒng)設(shè)置讀者管理圖書借還圖書管理圖書館信息管理員設(shè)置讀者類型管理讀者檔案管理圖書類型管理圖書檔案管理圖書借閱圖書歸還系統(tǒng)查詢參數(shù)設(shè)置書架設(shè)置圖書續(xù)借圖書檔案查詢圖書借閱查詢借閱到期提醒更改口令退出系統(tǒng)3-2 圖書管理系統(tǒng)功能模塊具體劃分圖3.3 子模塊功能設(shè)計與流程為了能更好地完成系統(tǒng)實現(xiàn),本文對系統(tǒng)各子模塊功能設(shè)計以與流程做了詳細(xì)的說明。3.3.1 登錄模塊用戶輸入用戶密碼,系統(tǒng)驗證,失敗時返回登錄頁面,成功時進(jìn)入主界面。登陸成功,將用戶信息保存Session里,便于用戶信息
29、提取。設(shè)計流程圖參考圖3-3。 用戶登錄訪問login.jsp信息錄入錯誤提示登錄驗證error successUser>Session進(jìn)入main.jsp 圖3-3 登錄模塊程序流程3.3.2 系統(tǒng)設(shè)置模塊主要操作:對管理員、書架等的增加、修改、刪除、查詢?;静僮髁鞒虆⒖紙D3-4。操作說明:1、 增加驗證錄入信息是否正確,確認(rèn)正確,成功后顯示信息列表。2、 修改驗證修改信息是否正確,確認(rèn)修改,成功后顯示信息列表。3、 刪除選擇刪除項,確認(rèn)刪除后,刪除選擇數(shù)據(jù),成功后顯示回信息列表。4、 查詢查詢所有的管理員、書架等信息。查詢流程參考圖3-5。系統(tǒng)設(shè)置信息輸入查詢數(shù)據(jù)錄入數(shù)據(jù)修改、刪除
30、數(shù)據(jù)圖3-4 系統(tǒng)設(shè)置基本操作基本操作刪除增加、修改選擇數(shù)據(jù)錄入信息信息判斷錯誤提示刪除判斷錯誤提示 N N Y Y信息列表信息列表圖3-5基本操作的程序流程3.3.3 讀者管理模塊主要操作:對讀者信息的維護(hù),包括增、刪、查、改等。程序流程參考圖3-4和圖3-5。3.3.4 圖書管理模塊主要操作:對圖書信息的維護(hù),包括增、刪、查、改等。程序流程參考圖3-4和圖3-5。3.3.4 圖書借還模塊主要操作:對圖書的管理,包括圖書借閱、圖書續(xù)借、圖書歸還等。程序流程參考圖3-6、圖3-7和圖3-8。錄入讀者條形碼選擇圖書輸入圖書的條形碼或書名完成圖書借閱顯示讀者信息 確認(rèn)確認(rèn)圖3-6圖書借閱的程序流程
31、顯示該讀者所借的所有書籍錄入讀者條形碼選擇續(xù)借圖書顯示讀者信息完成圖書續(xù)借圖3-7圖書續(xù)借的程序流程顯示該讀者所借的所有書籍錄入讀者條形碼選擇歸還圖書顯示讀者信息完成圖書歸還圖3-8圖書續(xù)借的程序流程3.3.4 系統(tǒng)查詢模塊主要操作:對圖書的相關(guān)查詢,包括圖書檔案查詢、圖書借閱查詢、借閱到期提醒等。程序流程參考圖3-9。信息查詢模糊查詢等值查詢選擇條件選擇條件錄入部分信息錄入完整信息錯誤提示查詢判斷查詢判斷錯誤提示 N N Y Y 查詢查詢結(jié)果信息列表結(jié)果信息列表圖3-9 查詢操作流程圖第四章 數(shù)據(jù)庫設(shè)計4.1數(shù)據(jù)庫設(shè)計概述計算機信息系統(tǒng)以數(shù)據(jù)庫為核心,在數(shù)據(jù)庫管理系統(tǒng)的支持下,進(jìn)行信息的收集
32、、整理、存儲、檢索、更新、加工、統(tǒng)計和傳播等操作。 為了使現(xiàn)實世界的信息流計算機化,并對計算機化的信息進(jìn)行各種操作,就是如何利用數(shù)據(jù)庫管理系統(tǒng)、系統(tǒng)軟件和相關(guān)硬件系統(tǒng),將用戶的要求轉(zhuǎn)化成有效的數(shù)據(jù)結(jié)構(gòu),并使數(shù)據(jù)庫結(jié)構(gòu)易于實現(xiàn)用戶新的要求的過程。 確切的說,數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,提供一個確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計,以與一個確定數(shù)據(jù)庫存儲結(jié)構(gòu)與存取方法的物理設(shè)計,建立起既能反映現(xiàn)實世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個數(shù)據(jù)庫管理系統(tǒng)所接受,同時能實現(xiàn)系統(tǒng)目標(biāo),并有效存取數(shù)據(jù)的數(shù)據(jù)庫。 根據(jù)軟件工程的思想,數(shù)據(jù)庫設(shè)計的周期可以劃分為六個階段: 規(guī)劃階段、
33、需求分析階段 、設(shè)計階段、程序編制階段 、調(diào)試階段、運行和維護(hù)階段 。數(shù)據(jù)庫設(shè)計是要在一個給定的應(yīng)用環(huán)境(DBMS)中,通過合理的邏輯設(shè)計和有效的物理設(shè)計,構(gòu)造較優(yōu)的數(shù)據(jù)庫模式、子模式,建立數(shù)據(jù)庫和設(shè)計應(yīng)用程序,滿足用戶的各種信息需求。物理結(jié)構(gòu)設(shè)計的原則如下:(1) 盡可能的減少數(shù)據(jù)冗余和重復(fù)(2) 結(jié)構(gòu)設(shè)計與操作設(shè)計相結(jié)合(3) 數(shù)據(jù)結(jié)構(gòu)具有相對的穩(wěn)定性?;谝陨显O(shè)計原則,系統(tǒng)設(shè)計了一個數(shù)據(jù)庫,包含基本信息表(如圖書信息表、系統(tǒng)用戶表等)與幾個實體聯(lián)系建模后的表(如借閱信息表、會員信息表等)。為了加快系統(tǒng)訪問的速度把這些表放在一個數(shù)據(jù)庫中。4.2數(shù)據(jù)字典有了系統(tǒng)的數(shù)據(jù)流圖后,還有相當(dāng)多的數(shù)據(jù)
34、信息如圖書、借閱、歸還等信息需要進(jìn)一步描述,這就是需要定義數(shù)據(jù)字典,才能把現(xiàn)有的系統(tǒng)描述清楚。列出系統(tǒng)的主要數(shù)據(jù)字典。名稱:管理員描述:記錄管理員信息定義:管理員信息=管理員ID+管理員密碼輸入數(shù)據(jù):管理員信息輸出數(shù)據(jù):管理員信息名稱:圖書信息表結(jié)構(gòu)描述:記錄所有圖書的基本情況定義:圖書信息=圖書編號+ISBN號+索引號+圖書類別+圖書名稱+語種+原名+頁碼+作者+價格+出版時間+登記日期+備注輸入數(shù)據(jù):圖書信息輸出數(shù)據(jù):圖書信息名稱:讀者信息表結(jié)構(gòu)描述:記錄所有讀者的基本情況定義:讀者信息=讀者編號+性別+類別+號+辦證日期+證有效期+工作單位+E-mail+聯(lián)系輸入數(shù)據(jù):讀者信息輸出數(shù)據(jù):
35、讀者信息名稱:借書登記表結(jié)構(gòu)描述:記錄所有圖書的借閱情況定義:借書信息=讀者編號+讀者編號+讀者類別+圖書編號+圖書類別+圖書名稱+原名+作者+借出日期+應(yīng)還日期輸入數(shù)據(jù):借書信息輸出數(shù)據(jù):借書信息名稱:記錄歸還登記表結(jié)構(gòu)描述:記錄所有圖書的歸還情況定義:歸還信息=讀者編號+讀者編號+讀者類別+圖書編號+圖書類別+圖書名稱+原名+作者+借出日期+應(yīng)還日期+實還日期+罰款輸入數(shù)據(jù):歸還信息輸出數(shù)據(jù):歸還信息4.3數(shù)據(jù)庫的邏輯設(shè)計在需求分析階段已完成該系統(tǒng)所有的數(shù)據(jù)分析。根據(jù)該階段所建立的概念模型,已經(jīng)得出滿足系統(tǒng)設(shè)計要求的幾個關(guān)系描述,該階段的主要工作就是把前一階段的成果轉(zhuǎn)化為具體的數(shù)據(jù)庫。下面
36、給出概念結(jié)構(gòu)設(shè)計得E-R圖。1:管理員實體E-R圖: 管理員密碼用戶ID圖4.1 管理員實體E-R圖2:會員信息實體E-R圖:編號 讀者XX條形碼電子郵件職業(yè)類型圖4.2 讀者實體E-R圖3:圖書信息實體E-R圖:出版日期 條形碼 圖書登記日期編號名稱類別數(shù)量 價格作者 圖4.3 圖書實體E-R圖4:借書信息實體E-R圖:出版 讀者編號 借書讀者XX書籍類別書籍編號應(yīng)還日期借出日期書籍名稱書籍作者讀者類別圖4.4 借書實體E-R圖6:還書信息實體E-R圖:實還日期 讀者編號 還書操作員讀者XX書籍類別書籍編號應(yīng)還日期書籍名稱借出日期讀者類別 書籍作者圖4.5還書實體E-R圖7:總體E-R圖:權(quán)
37、限管理參數(shù)管理讀者管理管理員圖書管理讀者圖書歸還借閱圖書館信息管理信息管理 1 1 N N M M N N N 圖4.6總體E-R圖4.4 數(shù)據(jù)庫表tb_manager表是用戶記錄用戶的信息(管理員信息表)管理員信息表主要用來保存管理員信息。表tb_manager的結(jié)構(gòu)如表4-4-1所示。字段名稱數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述idInt(10)unsigncdNOYESID自動編號nameVarchar(30)YESNULL管理員名稱pwdVarchar(30)YESNULL密碼表4-4-1tb_purview(權(quán)限表)權(quán)限表主要用來保存管理員的權(quán)限信息,該表中的id字段與管理員信息表(t
38、b_ purview)中的id字段關(guān)聯(lián)。表tb_ purview的結(jié)構(gòu)如表4-4-2所示。字段名稱數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述idInt(11)NOYES0管理員ID號syssetTinyint(1)YES0系統(tǒng)設(shè)置readersetTinyint(1)YES0讀者管理booksetTinyint(1)YES0圖書管理borrowbackTinyint(1)YES0圖書借還sysqueryTinyint(1)YES0系統(tǒng)查詢表4-4-2tb_parameter(參數(shù)設(shè)置表)參數(shù)設(shè)置表主要用來保存辦證費與書證的有效期限等信息。表tb_parameter的結(jié)構(gòu)如表4-4-3所示字段名稱數(shù)據(jù)類
39、型是否為空是否主鍵默認(rèn)值描述idInt(10)unsigncdNOYESID(自動編號)costInt(10)unsigncdYESNULL辦證費validityInt(10)unsigncdYESNULL有效期限表4-4-3tb_booktype(圖書類型表)主要用來保存圖書類型信息。表tb_booktype的結(jié)構(gòu)如表4-4-4所示。字段名稱數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述idInt(10)unsigncdNOYESID(自動編號)typenameVarchar(30)YESNULL類型名稱daysInt(10)unsigncdYESNULL可借天數(shù)表4-4-4tb_bookcase(書架
40、信息表)書架信息表主要用來保存書架信息。表tb_bookcase的結(jié)構(gòu)如表4-4-5所示。字段名稱數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述idInt(10)unsigncdNOYESID(自動編號)nameVarchar(30)YESNULL書架名稱表4-4-5tb_bookinfo(圖書信息表).該表用于保存圖書信息。表tb_bookinfo的結(jié)構(gòu)如表4-4-6所示。字段名稱數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述barcodevarchar(30)YESNULL條形碼booknamevarchar(70)YESNULL書名typeidint(10)unsignedYESNULL類型authorvarc
41、har(30)YESNULL作者translatorvarchar(30)YESNULL譯者ISBNvarchar(20)YESNULLpricefloat(8,2)YESNULL價格pageint(10)unsignedYESNULL頁碼bookcaseint(10)unsignedYESNULL書架intTimedateYESNULL錄入時間operatorvarchar(30)YESNULL操作員deltinyint(1)YES0是否刪除idint(11)NOYESID(自動編號)表4-4-6tb_borrow(圖書借閱信息表)用于保存圖書信息。表tb_borrow如表4-4-7所示。字
42、段名稱數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述idint(10)unsignedNOYESID(自動編號)readeridint(10)unsignedYESNULL讀者編號bookidint(10)YESNULL圖書編號borrowTimedateYESNULL借書編號backtimedateYESNULL應(yīng)還時間operatorvarchar(30)YESNULL操作員ifbacktinyint(1)YES0是否歸還表4-4-7tb_giveback(圖書歸還信息表)圖書歸還信息表主要用來保存圖書歸還信息。表tb_giveback的結(jié)構(gòu)如表4-4-8所示。字段名稱數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描
43、述idint(10)unsignedNOYESID(自動編號)readeridint(11)YESNULL讀者編號bookidint(11)YESNULL圖書編號backTimedateYESNULL歸還時間operatorvarchar(30)YESNULL操作員表4-4-8tb_publishing(信息表)信息表主要用來保存信息。表tb_publishing的結(jié)構(gòu)如表4-4-9所示。字段名稱數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述ISBNvarchar(30)YESNULLISBN號pubnamevarchar(30)YESNULL名稱表4-4-9tb_reader(讀者信息表)讀者信息表主要
44、用來保存讀者信息。表tb_reader的結(jié)構(gòu)如表4-4-10所示。字段名稱數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述idint(10)unsignedNOYESID(自動編號)namevarchar(20)YESNULLsexvarchar(4)YESNULL性別barcodevarchar(30)YESNULL條形碼vocationvarchar(50)YESNULL職業(yè)birthdaydateYESNULL出生日期paperTypevarchar(10)YESNULL有效證件paperNOvarchar(20)YESNULL證件telvarchar(20)YESNULLemailvarchar(1
45、00)YESNULL電子createDatedateYESNULL登記日期operatorvarchar(30)YESNULL操作員remarktextYESNULL備注typeidint(11)YESNULL類型表4-4-10tb_readertype(讀者類型信息表)讀者類型信息表主要用來保存讀者類型信息。表tb_readertype的結(jié)構(gòu)如表4-4-11所示。字段名稱數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述idint(10)unsignedNOYESID(自動編號)namevarchar(50)YESNULL名稱numberint(4)YESNULL可借數(shù)量表4-4-11tb_library(
46、圖書館信息表)圖書館信息表主要用來保存圖書館的基本信息。表tb_library的結(jié)構(gòu)如表4-4-12所示。字段名稱數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述idint(10)unsignedNOYESID(自動編號)librarynamevarchar(50)YESNULL館名curatorvarchar(10)YESNULL館長telvarchar(20)YESNULL聯(lián)系addressvarchar(100)YESNULLemailvarchar(100)YESNULLEmailurlvarchar(100)YESNULL網(wǎng)址creatDatedateYESNULL建館日期introducetex
47、tYESNULL簡介表4-4-12第五章 系統(tǒng)實現(xiàn)系統(tǒng)給圖書館提供了系統(tǒng)設(shè)置、讀者管理、圖書管理、圖書借還、系統(tǒng)查詢等功能。本章節(jié)詳細(xì)地介紹了每個子模塊實現(xiàn)的過程,同時也列出了部分主要的源代碼以供參考。5.1 登錄模塊實現(xiàn)過程:登錄界面,輸入用戶名和密碼,后臺Action層獲取信息,通過過service層調(diào)用Dao層中的managerDAO.java文件中的checkManager()方法進(jìn)行驗證用戶登陸。運行頁面效果如下圖5-1:圖5-1 登錄頁面登錄實現(xiàn)主要代碼:publicint checkManager(ManagerForm managerForm) int flag = 0;ChS
48、tr chStr = new ChStr();String sql = "SELECT * FROM tb_manager where name='"+ chStr.filterStr(managerForm.getName() + "'"/ 過濾字符串中的兇險字符ResultSet rs = conn.executeQuery(sql);try / 此處需要捕獲異常,當(dāng)程序出錯時,也需要將標(biāo)志變量設(shè)置為0if (rs.next() String pwd = chStr.filterStr(managerForm.getPwd(); /
49、獲取輸入的密碼并過濾輸入字符串中的危險字符if (pwd.equals(rs.getString(3) / 判斷密碼是否正確flag = 1; else flag = 0; else flag = 0; catch (SQLException ex) flag = 0; finally conn.close();/ 關(guān)閉數(shù)據(jù)庫連接return flag;5.2 管理員設(shè)置增加系統(tǒng)管理員,可以增加、修改、刪除系統(tǒng)管理員用戶。如下圖5-2所示:圖5-2 管理員設(shè)置頁面 管理員設(shè)置DAO包中manager.java文件主要實現(xiàn)代碼:publicCollection query(String queryif) ManagerForm managerForm = null;/ 聲明ManagerForm類的對象Collection managercoll = newArrayList();String sql = ""if (query
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第7課 隋唐時期的科技與文化 教案2024-2025學(xué)年七年級歷史下冊新課標(biāo)
- 關(guān)于創(chuàng)意種植產(chǎn)品的調(diào)查問卷
- 穿孔鋁板吊頂施工方案
- 橋梁基礎(chǔ)加固施工方案
- 2025年磷礦石行業(yè)發(fā)展趨勢分析:我國磷礦石開采產(chǎn)能持續(xù)增長
- 2024年三季度報湖南地區(qū)A股每股經(jīng)營性現(xiàn)金流排名前十大上市公司
- 污水處理池改造施工方案
- 山東省青島市2025屆高三上學(xué)期部分學(xué)生調(diào)研檢測(1月)數(shù)學(xué)試題(解析版)
- 烤房土建施工方案
- 水電施工方案英文縮寫
- 預(yù)防性侵安全教育課件
- 《鋼鐵是怎樣煉成的》讀書分享課件
- 頸椎損傷的固定與搬運操作流程課件
- 中國戲曲 昆曲學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 消毒隔離課件教學(xué)課件
- 中國旅游地理項目一二測試題
- 涉外法治視角下國際經(jīng)貿(mào)規(guī)則形成研究
- 低空經(jīng)濟(jì)公司的投融資方案
- 城市停車規(guī)劃規(guī)范
- 2022年集團(tuán)消防技能比賽項目、規(guī)則和評分標(biāo)準(zhǔn)
- 手機維修行業(yè)中的數(shù)字轉(zhuǎn)型
評論
0/150
提交評論