圖書管理系統(tǒng)計算機(jī)專業(yè)畢業(yè)論文

上傳人:1666****666 文檔編號:36880262 上傳時間:2021-11-01 格式:DOC 頁數(shù):30 大?。?60.02KB
收藏 版權(quán)申訴 舉報 下載
圖書管理系統(tǒng)計算機(jī)專業(yè)畢業(yè)論文_第1頁
第1頁 / 共30頁
圖書管理系統(tǒng)計算機(jī)專業(yè)畢業(yè)論文_第2頁
第2頁 / 共30頁
圖書管理系統(tǒng)計算機(jī)專業(yè)畢業(yè)論文_第3頁
第3頁 / 共30頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《圖書管理系統(tǒng)計算機(jī)專業(yè)畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《圖書管理系統(tǒng)計算機(jī)專業(yè)畢業(yè)論文(30頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 畢業(yè)設(shè)計(論文) 題 目: 圖書管理系統(tǒng) 學(xué) 院: 計算機(jī)科學(xué)與工程學(xué)院 專 業(yè): 計算機(jī)科學(xué)與技術(shù) 學(xué)生姓名: 學(xué) 號: 20091216 指導(dǎo)教師: 目 錄1 引言31.1 圖書管理的現(xiàn)狀31.2 現(xiàn)有圖書管理系統(tǒng)的概述41.3 選題的目的、意義41.4 圖書管理系統(tǒng)的可行性分析51.5 系統(tǒng)開發(fā)運行環(huán)境5第二章 本系統(tǒng)開發(fā)相關(guān)技術(shù)介紹62.1 java62.2 MySql82.3 Struts292.4Hibernate102.5C/S結(jié)構(gòu)102.6 Web服務(wù)器12第三章 系統(tǒng)總體設(shè)計分析123.1 系統(tǒng)需求分析123.2 系統(tǒng)實現(xiàn)的目標(biāo)133.3 系統(tǒng)功能模塊設(shè)計133.4 系統(tǒng)功

2、能結(jié)構(gòu)圖133.5 系統(tǒng)流程圖16第四章 數(shù)據(jù)總體結(jié)構(gòu)設(shè)計174.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計174.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計184.3 圖書管理系統(tǒng)的系統(tǒng)E-R圖204.4 數(shù)據(jù)表設(shè)計21第五章 圖書管理系統(tǒng)詳細(xì)設(shè)計235.1 系統(tǒng)流程分析235.2 主要模塊的運行235.2.1 登陸界面235.2.2 圖書信息管理模塊245.2.3 圖書借還信息模塊255.3 系統(tǒng)開發(fā)的遇到的相關(guān)問題及解決265.3.1 圖書管理系統(tǒng)索引265.3.2 如何驗證輸入的字符串265.3.3 自動計算圖書歸還日期275.3.4 系統(tǒng)登陸驗證碼的實現(xiàn)27第六章 結(jié)論306.1 主要研究內(nèi)容及成果316.2 今后進(jìn)一步研

3、究方向31參考文獻(xiàn)31學(xué)校圖書管理系統(tǒng)的開發(fā)摘 要當(dāng)今時代是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這正是計算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。由于信息技術(shù)的發(fā)展,許多行業(yè)在經(jīng)營管理過程中對計算機(jī)技術(shù)的依賴程度也不斷增強(qiáng)。在對JSP語言,SQL Server2005數(shù)據(jù)庫技術(shù)以及當(dāng)今社會的圖書管理系統(tǒng)的需求進(jìn)行了較深入的學(xué)習(xí)和調(diào)查的基礎(chǔ)上,設(shè)計出了該圖書管理系統(tǒng),該系統(tǒng)主要實現(xiàn)了圖書管理,用戶信息及管理信息的管理同時在書籍信息管理中還包括圖書的更新,書籍的過戶和監(jiān)督卡管理等

4、功能。本論文主要闡述了書籍管理系統(tǒng)的需求分析,功能模塊劃分,數(shù)據(jù)庫模式分析,并具此設(shè)計了基于c/S模式的數(shù)據(jù)庫結(jié)構(gòu)和JSP程序.關(guān)鍵詞:JSP, SQL Server2000, ODBC, JavaBean1 引言隨著計算機(jī)及網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,Internet/Intranet應(yīng)用在全球范圍內(nèi)日益普及,當(dāng)今社會正快速向信息化社會前進(jìn),信息系統(tǒng)的作用也越來越大。圖書館在正常運營中總是面對大量的讀者信息,書籍信息以及由兩者相互作用產(chǎn)生的借書信息,還書信息。因此圖書管理信息化是發(fā)展的必然趨勢。用結(jié)構(gòu)化系統(tǒng)分析與設(shè)計的方法,建立一套有效的圖書信息管理系統(tǒng),可以減輕工作,將工作科學(xué)化、規(guī)范化,提高了圖

5、書館信息管理的工作質(zhì)量因此根據(jù)圖書館目前實際的管理情況開發(fā)一套圖書管理系統(tǒng)是十分必要的。1.1 圖書管理的現(xiàn)狀一直以來人們使用傳統(tǒng)的人工方式管理圖書館的日常工作,對于圖書館的借書和還書過程,想必大家都已很熟悉。在計算機(jī)尚未在圖書管理系統(tǒng)廣泛使用之前,借書和還書過程主要依靠手工。一個最典型的手工處理還書過程就是:讀者將要借的書和借閱證交給工作人員,工作人員將每本書上附帶的描述書的信息的卡片和讀者的借閱證放在一個小格欄里,并在借閱證和每本書貼的借閱條上填寫借閱信息。這樣借書過程就完成了。還書時,讀者將要還的書交給工作人員,工作人員根據(jù)圖書信息找到相應(yīng)的書卡和借閱證,并填好相應(yīng)的還書信息,這樣還書過

6、程就完成了。隨著近年來信息技術(shù)及計算機(jī)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展, 圖書館也先從傳統(tǒng)的圖書館發(fā)展到自動化圖書館,再發(fā)展到今天的數(shù)字圖書館,這些變化使得圖書館的形象越來越現(xiàn)代化,人們查找資料也更加方便。對于一些小圖書館和一些圖書室來說,由于工作人員比較少,長期以來,作為圖書館的主要工作圖書借閱一直未能很好地開展。在平常的圖書借閱工作中, 由于大部分讀者不熟悉圖書館藏書,且對圖書排架分類的不了解,往往花費很長時間才能找到其所需的書。為提高管理效率,更好地為讀者服務(wù),利用已有的辦公局域網(wǎng)絡(luò)條件,將館藏書籍做成基于WEB的查詢系統(tǒng),實現(xiàn)圖書在一個單位的網(wǎng)絡(luò)內(nèi)甚至Internet上查詢,可使圖書查詢和借閱變得更

7、加方便快捷,從而使圖書室的工作效率得到明顯提高。傳統(tǒng)的圖書管理模式其最大的特點是手工;首先要把買來的圖書資料登記到資料本上,再給每本書分類貼上標(biāo)簽及制作和標(biāo)簽相對應(yīng)的圖書分類卡片,最后把圖書分類卡片按類別分別放置在文件柜里。對于有學(xué)生(教師)證的學(xué)生(教師)來說還要對他們資料作一定的記錄。并且在人們來借書的時候,首先持證件者要去存放圖書分類卡片的文件柜里查找想借的書是否在架,如果卡片存在,再按照圖書分類卡片在相應(yīng)的書架上找到需要的圖書,然后登記持證件者的借還書時間和在書簽條上寫下借還書記錄,之后把借書證留在那里;還書的時候,相對應(yīng)的消去出借記錄;這樣做起來比較麻煩,比較費時間。傳統(tǒng)圖書管理的特

8、點是一直以來,中小型書店、中小學(xué)的小型圖書館及各高校圖書館和資料室使用傳統(tǒng)的人工方式管理圖書檔案、會員檔案。這種管理方式存在著諸多缺點,如:手續(xù)繁瑣、工作量大、效率低下、出錯率高等,同時給對大量資料的查詢、更新及維護(hù)都帶來不少困難。1.2 現(xiàn)有圖書管理系統(tǒng)的概述在試用了一些個圖書管理系統(tǒng)和查閱了大量相關(guān)資料文獻(xiàn)的基礎(chǔ)上,發(fā)現(xiàn)那些系統(tǒng)在幾個方面已經(jīng)不符合時代的要求,由于設(shè)計人員及其所用的工具的不同,有Visual Basic6.0、Visual ForPro6.0、Power Builder等,再加上這些圖書管理系統(tǒng)設(shè)計的時間也不一樣,所用具體場合也有區(qū)別,因此在功能上除了圖書資料管理所需的基本

9、功能之外也有所不同。經(jīng)過比較總結(jié)他們都實現(xiàn)了以下圖書管理的基本功能:1、圖書檢索模塊:是圖書管理系統(tǒng)的重要模塊之一,是讀者快速查詢圖書的途徑。2、圖書管理模塊:是圖書管理員操作模塊,讀者是無權(quán)進(jìn)入的。本模塊由借出圖書登記、歸還圖書登記和續(xù)借圖書登記子模塊構(gòu)成。3、數(shù)據(jù)維護(hù)模塊:是由圖書管理員控制的模塊,它由增加、修改和刪除讀者,增加、修改刪除圖書,瀏覽修改讀者、瀏覽修改圖書等程序組成。 4、數(shù)據(jù)統(tǒng)計模塊:由讀者統(tǒng)計、圖書統(tǒng)計、借出圖書分類統(tǒng)計、到期末歸還圖書讀者統(tǒng)計幾部分組成。這些系統(tǒng)解決了以前的那種管理方式所存在著的諸如手續(xù)繁瑣、工作量大、效率低下、出錯率高等缺點,設(shè)計出的系統(tǒng)能使讀者快速檢

10、索到自己喜愛的書,圖書管理員能減輕工作量。但是鑒于開發(fā)工具和開發(fā)當(dāng)時的科技發(fā)展水平所限,再加上歷史發(fā)展到今天,人們的生活環(huán)境已經(jīng)發(fā)生了改變,大家對于圖書查詢這方面的要求也更高。比如在一個局域網(wǎng)內(nèi),大家希望能在本臺電腦上就能查找自己想要的圖書,而不用跑到圖書館或圖書室里去用那里的電腦查詢,這就需要一個網(wǎng)絡(luò)化的聯(lián)機(jī)查詢系統(tǒng)。1.3 選題的目的意義隨著社會的進(jìn)步,信息技術(shù)的廣泛應(yīng)用,數(shù)字化管理的優(yōu)勢日趨顯著。針對中小型圖書館或圖書室管理落后的情況,設(shè)計實現(xiàn)一個圖書信息管理系統(tǒng),通過與計算機(jī)的結(jié)合使用對中小型圖書館或圖書室的各種圖書信息進(jìn)行管理可以給管理員和用戶帶來以下不同的方便:檢索迅速、查找方便、

11、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高工作效率,也是圖書館等部門管理科學(xué)化、正規(guī)化的重要標(biāo)志之一。而且計算機(jī)管理的成本不斷降低。因此,開發(fā)一套這樣的中小型圖書管理軟件已經(jīng)很有必要,并且實現(xiàn)研究服務(wù)于實踐的原則。1.4 圖書管理系統(tǒng)可行性分析本次畢業(yè)設(shè)計題目:“圖書管理系統(tǒng)開發(fā)”主要目的是利用數(shù)據(jù)庫軟件編制一個管理軟件,用以實現(xiàn)圖書、讀者以及日常工作等多項管理;同時對整個系統(tǒng)的分析、設(shè)計過程給出一個完整論證。圖書管理系統(tǒng)是一種基于集中統(tǒng)一規(guī)劃的數(shù)據(jù)庫數(shù)據(jù)管理新模式。在對圖書、讀者的管理,其實是對圖書、讀者數(shù)據(jù)的管理。本系統(tǒng)的建成無疑會為管理者對圖書管理系統(tǒng)提供極大

12、的幫助。本系統(tǒng)的設(shè)計主要從以下幾方面做起:系統(tǒng)業(yè)務(wù)流程分析、系統(tǒng)的功能設(shè)計、系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計等。作這些工作需對數(shù)據(jù)庫知識有足夠認(rèn)識,并深入的了解Java的使用和管理系統(tǒng)的相關(guān)知識。在信息時代的今天,人類需要對在政治、經(jīng)濟(jì)、軍事、文化、科研、教育等領(lǐng)域產(chǎn)生的大量信息進(jìn)行管理,并對數(shù)據(jù)進(jìn)行加工處理,數(shù)據(jù)庫技術(shù)則是信息管理與數(shù)據(jù)處理的先進(jìn)技術(shù)。隨著信息量的不斷增加,作為計算機(jī)的三大主要應(yīng)用(科學(xué)計算、過程控制和數(shù)據(jù)處理)之一的數(shù)據(jù)處理,已迅速上升為計算機(jī)應(yīng)用的主要方面,數(shù)據(jù)庫技術(shù)則成為人們?nèi)粘I钪刑幚頂?shù)據(jù)不可缺少的有力工具,并且現(xiàn)代的信息管理系統(tǒng)幾乎都以數(shù)據(jù)庫技術(shù)作為核心?,F(xiàn)在大多數(shù)的圖書管理

13、方式為手工處理,重復(fù)勞動多,勞動強(qiáng)度大,而且容易出錯,新系統(tǒng)的使用能否可以很好的解決這些問題要看系統(tǒng)的可行性,可行性研究的目的是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。系統(tǒng)的可行性分析有以下幾個方面:(1)技術(shù)可行性:處理速度快、準(zhǔn)確通過權(quán)限的設(shè)置,數(shù)據(jù)的安全性好、方便查詢、借閱管理等。 (2)經(jīng)濟(jì)可行性:系統(tǒng)建設(shè)不需要很大的投入、可縮減人力投入。(3)運行上可行性:本系統(tǒng)作為一個小型的圖書館信息管理系統(tǒng),所耗費的資源非常的小。 (4)從各種社會因素可行性分析:可降低工作人員工作強(qiáng)度,提高效率,會得到學(xué)校工作人員的一致同意的。綜上所述通過可行性分析認(rèn)為新系統(tǒng)的開發(fā)方案切實可行,可進(jìn)

14、行開發(fā)。1.5 系統(tǒng)開發(fā)運行環(huán)境 系統(tǒng)開發(fā)環(huán)境:MyEclipse Java Enterprise7.0系統(tǒng)開發(fā)語言:Java運行平臺:Windows 7數(shù)據(jù)庫:sql server 2005Web服務(wù)器: Tomcat6.0第二章 本系統(tǒng)開發(fā)相關(guān)技術(shù)介紹2.1 javaJava已用動態(tài)的交互應(yīng)用軟件使Web栩栩如生。它使開發(fā)人員具有編寫一次到處運行TM”的巨大能力。而且,借助其JavaAPI及其編程語言上的Java虛擬機(jī),它已產(chǎn)生一種分布信息的嶄新模式。這種模式叫做Java企業(yè)計算,正在幫助各企業(yè)以各種不同的方法取得競爭優(yōu)勢。網(wǎng)管和控制已大大簡化。軟件分配基本上是免費的,而且立即可實現(xiàn)。電子

15、貿(mào)易已獲得。占有成本大幅度降低。信息和應(yīng)用軟件到處可存取。Java建立在簡單的前提基礎(chǔ)上,即所有微處理器都應(yīng)講同一種語言所有內(nèi)部采用芯片的產(chǎn)品都應(yīng)能一起工作,無縫而方便地共享信息。它已經(jīng)改變企業(yè)和個人同Internet大交道的方式?,F(xiàn)在,它正在對消費類產(chǎn)品產(chǎn)生明顯的影響,而且從總體上更加深刻地影響企業(yè)計算。借助Java,您可自由自在地使用您已擁有的硬件和軟件。這是因為Java是獨立于平臺的。它還可使您超越企業(yè)計算,使應(yīng)用軟件在便攜式計算機(jī)、信息亭、電視、蜂窩電話和其他大量設(shè)備上運行。全世界的公司都已發(fā)現(xiàn)Java數(shù)不勝數(shù)的用途。所有用途可從其無可比擬的能力,即提高可靠性、安全性和簡化各種不同計算

16、產(chǎn)品和環(huán)境的能力中受益非淺,而且節(jié)省的時間和費用十分可觀。Java無處不在。它已擁有幾百萬個用戶,其發(fā)展速度要快于在它以前的其他任何一種計算機(jī)產(chǎn)品。它可位于任何地方,而且能到處運行。Java正在迅速被用做傳播信息的事實上標(biāo)準(zhǔn),這是因為它既可給企業(yè),也可給最終用戶帶來似乎數(shù)不清的好處。Java的特點: 1、Java語言是簡單的。Java語言的語法與C語言和C+語言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C+ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強(qiáng)制類型轉(zhuǎn)換。特別地,Java語言不使用指針,并提供了自動的廢料收集,使得程序員不

17、必為內(nèi)存管理而擔(dān)憂。 2、Java語言是一個面向?qū)ο蟮?。Java語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機(jī)制(關(guān)鍵字為implements)。Java語言全面支持動態(tài)綁定,而C+ 語言只對虛函數(shù)使用動態(tài)綁定??傊琂ava語言是一個純的面向?qū)ο蟪绦蛟O(shè)計語言。 3、Java語言是分布式的。Java語言支持Internet應(yīng)用的開發(fā),在基本的Java應(yīng)用編程接口中有一個網(wǎng)絡(luò)應(yīng)用編程接口(java net),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL、URLConnection、Socket、 ServerSocket等。Ja

18、va的RMI(遠(yuǎn)程方法激活)機(jī)制也是開發(fā)分布式應(yīng)用的重要手段。 4、Java語言是健壯的。Java的強(qiáng)類型機(jī)制、異常處理、廢料的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。 5、Java語言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個安全機(jī)制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡(luò)下載的類具有一個安全防范機(jī)制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機(jī)制(類SecurityManager)讓Java應(yīng)用

19、設(shè)置安全哨兵。 6、Java語言是體系結(jié)構(gòu)中立的。Java程序(后綴為java的文件)在Java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件), 然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。 7、Java語言是可移植的。這種可移植性來源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實現(xiàn)的,Java的運行環(huán)境是用ANSI C實現(xiàn)的。 8、Java語言是解釋型的。如前所述,Java程序在Java平臺上被編譯為字節(jié)碼格式, 然后可以在實現(xiàn)這個Java平

20、臺的任何系統(tǒng)中運行。在運行時,Java平臺中的Java解釋器對這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運行環(huán)境中。 9、Java是高性能的。與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來越接近于C+。 10、Java語言是多線程的。在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable) 的構(gòu)造子將一個實現(xiàn)了Runnable接口的對象包裝成一個線程,其二,從Thread類派生出子類

21、并重寫run方法,使用該子類創(chuàng)建的對象即為線程。值得注意的是Thread類已經(jīng)實現(xiàn)了Runnable接口,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。 Java語言支持多個線程的同時執(zhí)行,并提供多線程之間的同步機(jī)制(關(guān)鍵字為synchronized)。 11、Java語言是動態(tài)的。Java語言的設(shè)計目標(biāo)之一是適應(yīng)于動態(tài)變化的環(huán)境。Java程序需要的類能夠動態(tài)地被載入到運行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類。這也有利于軟件的升級。另外,Java中的類有一個運行時刻的表示,能進(jìn)行運行時刻的類型檢查。 Java語言的優(yōu)良特性使得Java

22、應(yīng)用具有無比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護(hù)費用。Java對對象技術(shù)的全面支持和Java平臺內(nèi)嵌的API能縮短應(yīng)用系統(tǒng)的開發(fā)時間并降低成本。Java的編譯一次,到處可運行的特性使得它能夠提供一個隨處可用的開放結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式。特別是Java企業(yè)應(yīng)用編程接口(Java Enterprise APIs)為企業(yè)計算及電子商務(wù)應(yīng)用系統(tǒng)提供了有關(guān)技術(shù)和豐富的類庫。2.2 MySql MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。而2009年,SUN又被Oracle收購.對于Mysql的前途,沒有任何人抱

23、樂觀的態(tài)度.目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。MySQL的官方網(wǎng)站的網(wǎng)址是:MySQL最初的開發(fā)者的意圖是用mSQL和他們自己的快速低級例程(ISAM)去連接表格。不管怎樣,在經(jīng)過一些測試后,開發(fā)者得出結(jié)論:mSQL并沒有他們需要的那么快和靈活。這導(dǎo)致了一個使用幾乎和mSQL一樣的API接口的用于他們的數(shù)據(jù)庫的新的SQL接口的產(chǎn)生,這樣,這個API被設(shè)計成允許為用于mSQL而寫的第三方代碼更容易移植到MySQL。MySql 特性: 1

24、.使用C和C+編寫,并使用了多種編譯器進(jìn)行測試,保證源代碼的可移植性 2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng) 3.為多種編程語言提供了API。這些編程語言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 4.支持多線程,充分利用CPU資源 5.優(yōu)化的SQL查詢算法,有效地提高查詢速度 6.既能夠作為一個單獨的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文

25、的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名 7.提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑 8.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具 9.可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫 MySql 應(yīng)用: 與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQL Cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有

26、成本。 目前Internet上流行的網(wǎng)站構(gòu)架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作為操作系統(tǒng),Apache作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫,PHP作為服務(wù)器端腳本解釋器。由于這四個軟件都是免費或開放源碼軟件(FLOSS),因此使用這種方式不用花一分錢就可以建立起一個穩(wěn)定、免費的網(wǎng)站系統(tǒng)。2.3 Struts2 struts是開源軟件。使用Struts的目的是為了幫助我們減少在運用MVC設(shè)計模型來開發(fā)Web應(yīng)用的時間。如果我們想混合使用Servlets和JSP的優(yōu)點來建立可擴(kuò)展的應(yīng)用,struts是一個不錯的選擇。 運行流程:服務(wù)器啟動后,根據(jù)w

27、eb.xml加載ActionServlet讀取struts-config.xml文件內(nèi)容到內(nèi)存。 以登錄為例:第一次進(jìn)login.jsp會先實例化Form、把默認(rèn)值(String默認(rèn)為空字符串,整形默認(rèn)為0)賦給表單元素。 輸入用戶名密碼提交表單、提交到action屬性的login.do,通ActionServlet讀struts-config.xml文件找到 action下的path屬性找到.do,通過name屬性找form-beans中的form-bean的name屬性得到ActionForm的包名類名,先實例化form,把表單的值填充給form,調(diào)用form的validate方法驗證、A

28、ctionErrors返回null表示驗證通過,否則失敗返回input指定的頁面.驗證通過會實例化Action,執(zhí)行Action的excute方法。2.4 HibernateHibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。實際應(yīng)用:Session接口負(fù)

29、責(zé)執(zhí)行被持久化對象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句)。SessionFactory接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲源的代理,并負(fù)責(zé)創(chuàng)建Session對象。Configuration接口負(fù)責(zé)配置并啟動Hibernate,創(chuàng)建SessionFactory對象。Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作,也可以設(shè)計編寫自己的底層事務(wù)處理代碼。2.5 C/S結(jié)構(gòu) C/S 結(jié)構(gòu),即大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開

30、銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和Client/Server 應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。 C/S結(jié)構(gòu)的優(yōu)點: C/S結(jié)構(gòu)的優(yōu)點是能充分發(fā)揮客戶端的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對應(yīng)的優(yōu)點就是客戶端響應(yīng)速度快。缺點主要有以下幾個: (1)只適用于局域網(wǎng)。而隨著互聯(lián)網(wǎng)的飛速發(fā)展,移動辦公和分布式辦公越來越普及,這需

31、要我們的系統(tǒng)具有擴(kuò)展性。這種方式遠(yuǎn)程訪問需要專門的技術(shù),同時要對系統(tǒng)進(jìn)行專門的設(shè)計來處理分布式的數(shù)據(jù)。 (2)客戶端需要安裝專用的客戶端軟件。首先涉及到安裝的工作量,其次任何一臺電腦出問題,如病毒、硬件損壞,都需要進(jìn)行安裝或維護(hù)。特別是有很多分部或?qū)Yu店的情況,不是工作量的問題,而是路程的問題。還有,系統(tǒng)軟件升級時,每一臺客戶機(jī)需要重新安裝,其維護(hù)和升級成本非常高。 (3)對客戶端的操作系統(tǒng)一般也會有限制??赡苓m應(yīng)于Win98, 但不能用于win2000或Windows XP。或者不適用于微軟新的操作系統(tǒng)等等,更不用說Linux、nix等。 C/S架構(gòu)軟件的優(yōu)勢與劣勢:(1)應(yīng)用服務(wù)器運行數(shù)據(jù)

32、負(fù)荷較輕。最簡單的C/S體系結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用由兩部分組成,即客戶應(yīng)用程序和數(shù)據(jù)庫服務(wù)器程序。二者可分別稱為前臺程序與后臺程序。運行數(shù)據(jù)庫服務(wù)器程序的機(jī)器,也稱為應(yīng)用服務(wù)器。一旦服務(wù)器程序被啟動,就隨時等待響應(yīng)客戶程序發(fā)來的請求;客戶應(yīng)用程序運行在用戶自己的電腦上,對應(yīng)于數(shù)據(jù)庫服務(wù)器,可稱為客戶電腦,當(dāng)需要對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行任何操作時,客戶程序就自動地尋找服務(wù)器程序,并向其發(fā)出請求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果,應(yīng)用服務(wù)器運行數(shù)據(jù)負(fù)荷較輕。 (2)數(shù)據(jù)的儲存管理功能較為透明。在數(shù)據(jù)庫應(yīng)用中,數(shù)據(jù)的儲存管理功能,是由服務(wù)器程序和客戶應(yīng)用程序分別獨立進(jìn)行的,前臺應(yīng)用可以違反的規(guī)則,并

33、且通常把那些不同的運行數(shù)據(jù),在服務(wù)器程序中不集中實現(xiàn),例如訪問者的權(quán)限,編號可以重復(fù)、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無須過問背后的過程,就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺程序不是非?!笆菪 ?,麻煩的事情都交給了服務(wù)器和網(wǎng)絡(luò)。在C/S體系的下,數(shù)據(jù)庫不能真正成為公共、專業(yè)化的倉庫,它受到獨立的專門管理。 (3)C/S架構(gòu)的劣勢是高昂的維護(hù)成本且投資大。首先,采用C/S架構(gòu),要選擇適當(dāng)?shù)臄?shù)據(jù)庫平臺來實現(xiàn)數(shù)據(jù)庫數(shù)據(jù)的真正“統(tǒng)一”,使分布于兩地的數(shù)據(jù)同步完全交由數(shù)據(jù)庫系統(tǒng)去管理,但邏輯上兩地的操作者要直接訪問同一個數(shù)

34、據(jù)庫才能有效實現(xiàn),有這樣一些問題,如果需要建立“實時”的數(shù)據(jù)同步,就必須在兩地間建立實時的通訊連接,保持兩地的數(shù)據(jù)庫服務(wù)器在線運行,網(wǎng)絡(luò)管理工作人員既要對服務(wù)器維護(hù)管理,又要對客戶端維護(hù)和管理,這需要高昂的投資和復(fù)雜的技術(shù)支持,維護(hù)成本很高,維護(hù)任務(wù)量大。 其次,傳統(tǒng)的C/S結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,由于產(chǎn)品的更新?lián)Q代十分快,代價高和低效率已經(jīng)不適應(yīng)工作需要。在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構(gòu)更是猛烈沖擊C/S,并對其形成威脅和挑戰(zhàn)。2.6 Web服務(wù)器Tomcat是Apache 軟件基金會(Apache Software Foundation)的Ja

35、karta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因為Tomcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費,因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。目前最新版本是6.0。 Tomcat 很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個

36、感興趣的程序員都可以更改它或在其中加入新的功能。 Tomcat是一個小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對于一個初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對HTML 頁面的訪問請求。實際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨立運行的,所以當(dāng)你運行tomcat 時,它實際上作為一個與Apache 獨立的進(jìn)程單獨運行的。 這里的訣竅是,當(dāng)配置正確時,Apache 為HTML頁面服務(wù),而Tomcat 實際上運行JSP 頁面和Servlet。另外,Tomcat和IIS、A

37、pache等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認(rèn)模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。3 系統(tǒng)總體設(shè)計分析3.1 系統(tǒng)需求分析隨著互聯(lián)網(wǎng)的爆炸性發(fā)展,人們越來越習(xí)慣于利用網(wǎng)絡(luò)來實現(xiàn)所需的服務(wù),網(wǎng)絡(luò)已深深影響到人們生活的各個方面。另外,傳統(tǒng)的圖書館不能滿足一部分現(xiàn)代人的需要,而電子閱覽室,由于其不受時間與空間的限制同時又具有傳統(tǒng)圖書館的大部分功能,能夠滿足各類用戶的常規(guī)與特殊需求,而且其方便快捷,實現(xiàn)技術(shù)又比較成熟,因此受到當(dāng)代人的喜愛。該系統(tǒng)主要分為兩部分:讀者部分和

38、管理員部分。為了方便讀者查找自己感興趣的主題進(jìn)行閱讀,要將圖書按照內(nèi)容進(jìn)行分類。讀者可以按照類別進(jìn)行查找,逐級瀏覽、可以查看自己的信息。本系統(tǒng)還可對用戶的賬號和書目的閱讀權(quán)限進(jìn)行管理。管理員需要給用戶分配用戶名和密碼,及設(shè)定用戶的級別,還為用戶提供圖書的排行榜讓用戶能知道那些圖書受到大家的歡迎。3.2 系統(tǒng)實現(xiàn)的目標(biāo) 學(xué)校圖書管理系統(tǒng)的開發(fā)主要要實現(xiàn)的目標(biāo)有以下幾個方面:(1)界面設(shè)計友好、美觀。(2)數(shù)據(jù)存儲安全、可靠。(3)信息分類清晰、準(zhǔn)確。(4)強(qiáng)大的查詢功能,保證數(shù)據(jù)查詢的靈活性。(5)實現(xiàn)對圖書借閱和歸還過程的全程數(shù)據(jù)信息跟蹤。(6)提供圖書借閱排行榜,為圖書管理員提供了真實的數(shù)據(jù)

39、信息。(7)提供靈活、方便的權(quán)限設(shè)置功能,使整個系統(tǒng)的管理分工明確。(8)具有易維護(hù)性和易操作性。3.3 系統(tǒng)功能模塊設(shè)計(1)系統(tǒng)設(shè)置模塊:添加刪除管理員、設(shè)置管理員的權(quán)限、說明圖書存放書架信息添加刪除書架信息。(2)讀者管理模塊:添加刪除不同類型的讀者及注明可借圖書的數(shù)量、添加刪除讀者的檔案。(3)圖書管理模塊:添加刪除不同類型的的圖書及注明圖書可借的天數(shù)庫存數(shù)量、添加刪除圖書的檔案。(4)圖書借還模塊:可查詢讀者借閱和歸還圖書的信息及圖書的現(xiàn)有庫存量。(5) 系統(tǒng)查詢模塊:可根據(jù)不同的條件(條形碼、書名、類別、作者、書架、出版社)查詢讀者需要的圖書、讀者可根據(jù)不同的條件(圖書條形碼、圖書

40、名稱、讀者編號、讀者名字、到期時間)查詢自己借閱圖書信息。(6)排行榜模塊:可以讓讀者知道圖書借閱的排行榜及讀者借閱的排行榜。3.4 系統(tǒng)功能結(jié)構(gòu)圖 根據(jù)圖書管理系統(tǒng)的實際需求,可以將圖書管理系統(tǒng)劃分為系統(tǒng)設(shè)置、圖書管理、讀者管理、圖書借還、系統(tǒng)查詢、排行榜6個部分各個部分的具體功能的系統(tǒng)功能結(jié)構(gòu)圖如圖3-1所示。圖書管理系統(tǒng)系統(tǒng)設(shè)置 管理員設(shè)置 書架設(shè)置讀者管理排行榜圖書管理圖書借還系統(tǒng)查詢讀者類型管理圖書借閱排行榜讀者借閱排行榜圖書借閱查詢圖書檔案查詢 圖書歸還 圖書借閱圖書檔案管理圖書類型管理讀者檔案管理圖3-1 系統(tǒng)功能結(jié)構(gòu)圖(1)圖書借閱系統(tǒng)完成用戶的借書過程其數(shù)據(jù)流圖如圖3-2所示

41、。圖3-2 借閱系統(tǒng)的數(shù)據(jù)流圖(2)還書系統(tǒng)完成圖書的歸還過程其數(shù)據(jù)流圖如圖3-3所示。圖3-3 歸還系統(tǒng)的數(shù)據(jù)流圖 (3)圖書檔案管理系統(tǒng)為用戶提供圖書檔案信息其數(shù)據(jù)流圖如圖3-4所示。3-4 圖書檔案管理數(shù)據(jù)流圖(4)讀者檔案系統(tǒng)用于記錄讀者的詳細(xì)信息其數(shù)據(jù)流圖如圖3-5所示。圖3-5 讀者檔案管理數(shù)據(jù)流圖3.5 系統(tǒng)流程圖圖書管理系統(tǒng)的流程是用戶先輸入自己的帳號密碼及系統(tǒng)顯示的驗證碼進(jìn)入系統(tǒng)如有一項不符合則不能進(jìn)入系統(tǒng),成功登陸系統(tǒng)后系統(tǒng)根劇登陸的帳號信息從數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行對比判斷是讀者還是管理員,如果是讀者則能進(jìn)行信息查詢,及修改自己的相關(guān)信息,查詢到自己所需要的圖書就能通過管理員進(jìn)

42、行借閱圖書、歸還圖書也是通過管理員完成的。如果不是讀者而是管理員,那管理員可以進(jìn)行相關(guān)信息的查詢、添加刪除圖書及讀者的所有信息、設(shè)置相應(yīng)的權(quán)限、為圖書更新排行榜的信息、以及完成讀者的圖書借閱與歸還。圖書管理系統(tǒng)的系統(tǒng)流程圖如圖3-6所示。登陸系統(tǒng)是否登陸判斷身份管理員讀者圖書歸還圖書借閱信息查詢排行榜信息圖書信息讀者信息否圖3-6 圖書管理系統(tǒng)的流程圖4 數(shù)據(jù)總體結(jié)構(gòu)設(shè)計4.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計是在需求分析的基礎(chǔ)上,設(shè)計出能夠滿足用戶需求的各種實體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。這個階段不用考慮所采用的數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)類型、機(jī)器類型等問題。這階段

43、可用的工具很多。用的最多的是E-R圖(Entity-Relation,實體-關(guān)系圖),另外還有許多計算機(jī)輔助工具(Computer Aided Software Engineering, CASE)可以幫助進(jìn)行設(shè)計。本系統(tǒng)采用了E-R圖的方法進(jìn)行數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計。E-R圖是描述數(shù)據(jù)實體關(guān)系的一種直觀描述工具。這種圖中有:(1)實體:用方框表示,方框內(nèi)為實體的名稱。(2)實體的各種屬性:用橢圓表示,橢圓內(nèi)為屬性名稱。使用線段將其和響應(yīng)的實體連接起來。 (3)實體之間的聯(lián)系:用菱形表示,菱形內(nèi)為聯(lián)系的名稱。實體和實體之間的聯(lián)系較多,比較常見的聯(lián)系有l(wèi):1,l:N和M:N這三種。4.2 數(shù)據(jù)庫邏輯

44、結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)是獨立于實際數(shù)據(jù)模型的信息結(jié)構(gòu),必須將其轉(zhuǎn)化為邏輯結(jié)構(gòu)后才能進(jìn)行數(shù)據(jù)庫應(yīng)用的設(shè)計。也就是要將概念上的結(jié)構(gòu)轉(zhuǎn)化為數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型。 第一種轉(zhuǎn)化是將實體轉(zhuǎn)化為關(guān)系表。這種轉(zhuǎn)化較簡單,需要將實體的屬性定義為表的屬性即可。 第二種轉(zhuǎn)化是聯(lián)系的轉(zhuǎn)化。即將各個實體之間的聯(lián)系轉(zhuǎn)化為表格之間的關(guān)系,如外部鍵的定義。 在上面工作的基礎(chǔ)上歸納出人員管理數(shù)據(jù)庫表格的組成之間的聯(lián)系等等。該數(shù)據(jù)庫系統(tǒng)具有以下方面的特點: 結(jié)構(gòu)合理,對一個人員建立多條記錄。 所建立的數(shù)據(jù)冗余度小,獨立性強(qiáng)。 建檔、修改、查詢、統(tǒng)計快速而準(zhǔn)確。保密性好、可靠性好。 圖書管理系統(tǒng)中要有圖書,圖書是圖書管理系統(tǒng)中

45、密不可分的部分,因此要創(chuàng)建一圖書信息實體,用來保存圖書的詳細(xì)信息。圖書信息實體屬性圖如圖4-1所 圖4-1 圖書信息實體屬圖 讀者是圖書管理系統(tǒng)重要組成部分,這里創(chuàng)建了一個讀者信息實體,用來存儲讀者的詳細(xì)信息。讀者信息實體E-R圖如圖4.2所示。圖4-2 讀者信息實體屬性圖圖書的借閱和歸還是圖書管理系統(tǒng)中的一項重要的環(huán)節(jié),開發(fā)圖書管理系統(tǒng)就是為了方便讀者對圖書的借閱和歸還,因此要建立一個圖書借還實體,用來保存讀者對圖書的借閱和歸還的詳細(xì)信息。圖書的借閱和歸還實體屬性圖如圖4-3所示。圖4-3 讀者借還實體屬性圖圖書管理系統(tǒng)為了增加系統(tǒng)的安全性,管理員只有在系統(tǒng)登陸模塊驗證通過后才能進(jìn)入管理員的

46、操作界面,因此套在數(shù)據(jù)庫中創(chuàng)建一個存放登錄用戶信息的管理員實體。管理員實體屬性圖如圖4-4所示。圖4-4 管理員實體屬性圖4.3 圖書管理系統(tǒng)的系統(tǒng)E-R圖圖書管理系統(tǒng)的系統(tǒng)E-R圖如圖4-5所示。讀者圖書管理員管理管理借還還書時間借書時間刪除類型條形碼修改密碼修改名稱編號類型編號添加添加刪除圖4-5 圖書管理系統(tǒng)的系統(tǒng)E-R圖4.4 數(shù)據(jù)表設(shè)計本系統(tǒng)使用的數(shù)據(jù)庫管理系統(tǒng)為MySQL5.0。數(shù)據(jù)庫中的表有管理員信息表、圖書信息表、讀者信息表、管理員權(quán)限表、圖書借閱歸還表等。圖書管理員基本信息表tb_admin,如表4-6所示。字段名數(shù)據(jù)類型長度主鍵描述idvarchar50是管理員編號name

47、varchar50否管理員名稱pwdvarchar30否密碼 表4-6 tb_admin(管理員)表 讀者詳細(xì)信息表tb_reader,如表4-7所示。字段名數(shù)據(jù)類型長度主鍵描述idvarchar30是讀者編號namevarchar50否讀者名稱sexchar4否性別typevarchar50否讀者類型 birthday smalldatetime4否生日paperTypevarchar20否證件類型paperNumvarchar30否證件號碼telvarchar20否電話emailvarchar50否E-mailcreateDatesmalldatetime4否注冊日期opervarchar

48、30否操作員remarktext16否備注borrownumint4否 借閱次數(shù) 表4-7 tb_reader(讀者信息)表圖書詳細(xì)信息表tb_bookkifo,如表4-8所示。字段名數(shù)據(jù)類型長度主鍵描述Bookcodevarchar30是圖書條形碼booknamevarchar50否圖書名稱typevarchar50否圖書類型autorvarchar50否作者translatorvarchar50否譯者pubnamevarchar100否出版社pricemoney8否價格pageint4否頁碼bcasevarchar50否書架storagebigint8否 存儲數(shù)量inTimesmallda

49、tetime4否入館時間opervarchar30否操作員borrownumint4否被借次數(shù)表4-8 tb_bookkifo(圖書信息)表圖書借閱和歸還信息表tb_borrowandback,如表4-9所示。字段名數(shù)據(jù)類型長度主鍵描述idvarchar30是借書編號readidvarchar20否讀者編號bookcodevarchar30否圖書條形碼borrowTimesmalldatetime4否借書時間ygbackTimesmalldatetime4否應(yīng)該還書時間sjbackTimesmalldatetime4否實際還書時間borrowopervarchar30否借書操作backoper

50、varchar30否還書操作isbackbit1否 是否歸還 表4-9 tb_borrowandback(圖書借閱和歸還信息)表權(quán)限信息表tb_purview,如表4-10所示。字段名數(shù)據(jù)類型長度主鍵描述idvarchar50是用戶編號sysetbit1否系統(tǒng)設(shè)置readsetbit1否讀者管理booksetbit1否圖書管理borrowbackbit1否圖書借還syaquerybit1否系統(tǒng)查詢表4-10 tb_purview(權(quán)限信息)表5 圖書管理系統(tǒng)詳細(xì)設(shè)計5.1 系統(tǒng)流程分析根據(jù)開發(fā)圖書管理系統(tǒng)的需求分析,本系統(tǒng)設(shè)計了三種用戶,分別為系統(tǒng)管理員、教師和學(xué)生。系統(tǒng)要求有系統(tǒng)管理員用戶,

51、我們設(shè)定系統(tǒng)管理員,當(dāng)系統(tǒng)管理員使用帳戶登錄后,需要查看有關(guān)圖書的一系列的信息,管理員可以通過系統(tǒng)導(dǎo)航菜單進(jìn)入讀者管理界面、圖書管理界面、圖書借還界面、系統(tǒng)查詢界面、排行榜界面,在讀者界面中,管理員添加和修改學(xué)生或教師信息、用戶可以查看自己信息,在圖書管理界面管理員可以添加和修改圖書信息、用戶可查看圖書,在圖書借還界面完成讀者借書還書的操作,系統(tǒng)查詢界面管理員可以查看借出去的圖書信息及庫存的信息、用戶可以查找自己的所需的圖書,排行榜界面主要是可以讓用戶知道哪些圖書受到讀者的喜愛。讀者(老師和學(xué)生)使用讀者帳號登陸系統(tǒng)后,可以查詢自己所需要的圖書的信息、也可以查詢自己個人的基本信息及圖書的借還信

52、息,還能查看排行榜的信息。讀者的借書和還書過程是通過管理員完成的。5.2 主要模塊的運行5.2.1 登陸界面當(dāng)用戶輸入用戶名、密碼,系統(tǒng)自動將輸入的信息和相關(guān)數(shù)據(jù)表中的內(nèi)容進(jìn)行比較,如果該用戶輸入的內(nèi)容和數(shù)據(jù)表中的內(nèi)容相符,則通過驗證,此次登錄成功;否則登錄失敗。比較的過程是由瀏覽器將指令,數(shù)據(jù)發(fā)送到Web服務(wù)器,Web服務(wù)器通過對數(shù)據(jù)庫進(jìn)行查詢將結(jié)果返回到瀏覽器,從而端顯示成功的消息,用戶只有成功登陸系統(tǒng)后才能進(jìn)行一系列的操作,如下圖5-1所示。 5-1 圖書管理系統(tǒng)登陸界面5.2.2 圖書信息管理模塊圖書信息管理模塊主要分為查看圖書信息頁面和添加修改圖書信息頁面,用戶可以在查看圖書信息頁面

53、查看圖書的基本信息,管理員也可以看這些信息,并且可以通過單擊“添加圖書信息”這個超級鏈接或集合列表中的“詳情”超級鏈接轉(zhuǎn)到添加或刪除圖書信息界面,并在該頁中添家或修改圖書信息,如圖5-2與5-3所示。圖5-2 查看圖書信息界面5-3 添家或修改圖書信息界面圖書信息管理模塊的實現(xiàn),主要是使用了Hibernate框架操作數(shù)據(jù)庫技術(shù)。Hibernate,通過對jdbc進(jìn)行封裝,對 java類和關(guān)系數(shù)據(jù)庫進(jìn)行mapping,實現(xiàn)了對關(guān)系數(shù)據(jù)庫的面向?qū)ο蠓绞降牟僮?,改變了傳統(tǒng)的jdbc + sql操作數(shù)據(jù)的方式,從而使開發(fā)人員可以話更多精力進(jìn)行對象方面的開發(fā)。其優(yōu)點并不只是簡化了數(shù)據(jù)庫操作,更有價值的是

54、對不同的數(shù)據(jù)庫提供了統(tǒng)一操作的接口,使應(yīng)用程序的跨數(shù)據(jù)庫開發(fā)成為可能。5.2.3 圖書借還信息模塊圖書借還管理模塊主要分為圖書借閱頁面和圖書歸還頁面,用戶可以在通過這個模塊查看圖書的借閱和歸還信息。管理員可以在圖書通過這個模塊來完成讀者借和還書的操作,如圖5-4與5-5所示。圖5-4 圖書的借閱管理圖5-5 圖書歸還管理5.3 系統(tǒng)開發(fā)的遇到的相關(guān)問題及解決5.3.1 圖書管理系統(tǒng)索引 圖書管理系統(tǒng)開發(fā)中存在大量的數(shù)據(jù)和信息檢索,怎樣更好的檢索數(shù)據(jù)和信息操作是保證檢索速度的提高和數(shù)據(jù)的分頁顯示,主要考慮了以下幾個方面:(1)設(shè)計邏輯結(jié)構(gòu)時充分考慮冗余量和可處理性兩方面的要求,在接受冗余量的提下

55、,盡量減少表的連接操作。(2)關(guān)系的大小對查詢的影響也是很大的,因此為了提高數(shù)據(jù)庫的查詢速度,減小系的大小和數(shù)據(jù)量也是必要的。(3)建立合理的索引結(jié)構(gòu)。索引相當(dāng)于一個映射機(jī)構(gòu),將鍵值轉(zhuǎn)換成相對應(yīng)的記錄地址,形成索引文件。索引設(shè)計是數(shù)據(jù)庫物理設(shè)計的基本問題,也是較困難的問題,建立索引可以極大地提高系統(tǒng)的查詢速度,但是同時做Insert、Update、Delete操作時會降低速度,因為做這些操作的同時需要更新索引,所以不能對數(shù)據(jù)庫中所有的表都建立索引。比如滿足下列條件之一的不易建立索引:不出現(xiàn)或很少出現(xiàn)的屬性或表、屬性分布嚴(yán)重不均的屬性、經(jīng)常更新的屬性或表、過長的屬性、太小的表等。滿足下列條件之一

56、的可以考慮建立索引:主鍵和外鍵都建立索引、對于以讀為主或只讀的表,只要需要,且存儲空間允許,可以減少連接開銷、對于等值查詢(即查詢條件以等號為比較符),最好建立索引、對查詢范圍(即查詢條件,為比較符),最好建立索引、有些查詢可以由檢索直接得到結(jié)果,不必訪問數(shù)據(jù)塊。根據(jù)實際需要,讀者信息表,圖書信息表,圖書借還信息表,權(quán)限信息,管理員信息表等都建立索引,合理使用緩沖區(qū)。5.3.2 如何驗證輸入的字符串在圖書管理系統(tǒng)的開發(fā)過程中,需要對一些輸入的字符串進(jìn)行驗證,例如金額、電話號碼、E-mail等,由于許多模塊都需要用到這些驗證,因此可以將其寫入到一個公共JS腳本中然后在其他的頁面中直接調(diào)用即可。J

57、S中對字符串進(jìn)行驗證時,十分的方便快捷,減少服務(wù)器與客戶端交互的過程,在客戶端輕松的解決,要使用正則表達(dá)式驗證輸入的字符串,如驗證輸入的字符串是否為E-mail的地址格式的實現(xiàn)方法。代碼如下:驗證輸入為Emailif(formname.email.value!=formname.email.value.match(/w +w +.w. +$/) alert(您的電子郵件格式錯誤!); formname.email.focus(); return false; 5.3.3 自動計算圖書歸還日期在圖書管理系統(tǒng)運行中會常常遇到這樣的問題:在借閱圖書時,需要自動計算圖書的歸還日期,而這個日期又不是固定

58、不變的,它是需要根據(jù)系統(tǒng)日期和數(shù)據(jù)表中保存的各類圖書的最多借閱天數(shù)來計算的,即圖書歸還日期=“系統(tǒng)日期”+“最多借閱天數(shù)”。因此本系統(tǒng)是這樣解決問題的:首先獲取系統(tǒng)時間,然后從數(shù)據(jù)表中查詢出該類圖書最多借閱天數(shù),最后計算歸還日期。計算方法如下:首先取出所借圖書的最多借閱天數(shù),然后根據(jù)圖書的最多借閱天數(shù),使用getMaxDay()方法返回一個int值,最后使用當(dāng)前時間與先返回的Timespan時間間隔相加。自動計算圖書歸還日期的關(guān)鍵代碼如下:/獲得當(dāng)前日期SimpleDateFormat time=new SimpleDateFormat(yyyy-MM-dd);Calendar c = Cal

59、endar.getInstance();/獲得最多借閱天數(shù)int days = getMaxDay();/增加圖書借閱天數(shù)c.add(Calendar.DAY_OF_MONTH, days);/獲得圖書歸還日期String borrowandbackmanage = time.format(c.getTime();5.3.4 系統(tǒng)登陸驗證碼的實現(xiàn)在學(xué)校圖書管理系統(tǒng)的開發(fā)過程中,怎么樣防止某些人利用某些惡意的軟件對圖書管理系統(tǒng)進(jìn)行惡意的登陸來攻擊系統(tǒng),增加圖書管理系統(tǒng)的安全性是一個重要的問題。在圖書管理系統(tǒng)的登陸模塊中加入一個驗證碼的功能,即用戶除了要輸入帳號和密碼還要輸入系統(tǒng)為用戶提供的驗證碼

60、。驗證碼可以很好的解決了怎樣防止惡意用戶利用惡意軟件對系統(tǒng)頁面的瘋狂提交、以及暴力破解密碼進(jìn)行登陸的問題。因此,設(shè)置一個隨機(jī)函數(shù)在數(shù)字09和英文字母AZ中隨機(jī)抽取四個,在用戶打開登陸界面的時候,系統(tǒng)通過隨機(jī)生成器隨機(jī)生成4個數(shù)字或字母或數(shù)字加字母存放在緩存內(nèi),并出現(xiàn)在界面上順序是隨機(jī)的,當(dāng)用戶登陸時輸入的驗證碼要與緩存中的進(jìn)行對比符合就進(jìn)入,不符合就不能登陸。系統(tǒng)在提供驗證碼時候要加入一些干擾的條件的,不過這些人的肉眼是很容易分辨,但機(jī)器人程序不能分辨,很好的防止某人利用機(jī)器人程序?qū)ο到y(tǒng)的惡意操作增加了系統(tǒng)的安全性。驗證碼實現(xiàn)的關(guān)鍵代碼如下: img src=image.jsp border=1 align=absmidd

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!