2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  圖書管理系統(tǒng)畢業(yè)論文</p><p><b>  目 錄</b></p><p><b>  摘 要III</b></p><p>  AbstractIV</p><p>  1. 緒 論1</p><p>  1.1畢業(yè)設計主要任務

2、1</p><p>  1.2目前圖書管理系統(tǒng)存在的問題1</p><p><b>  1.3課題意義1</b></p><p>  1.4論文的工作和安排2</p><p>  2.圖書借閱管理需求分析3</p><p>  2.1 可行性分析3</p><p>

3、;  2.1.1.技術可行性3</p><p>  2.1.2.經(jīng)濟可行性3</p><p>  2.2 圖書借閱管理系統(tǒng)需求概述3</p><p>  2.2.1系統(tǒng)目標3</p><p>  2.2.2用戶類和用戶特性4</p><p>  2.3 圖書借閱管理系統(tǒng)需求模型4</p>&l

4、t;p>  2.3.1功能描述4</p><p>  2.3.2圖書管理員詳細功能描述5</p><p>  2.3.3讀者詳細功能描述5</p><p>  2.3.4主要用例的用例描述6</p><p><b>  3.總體設計9</b></p><p>  3.1 數(shù)據(jù)庫設計

5、9</p><p>  3.1.1數(shù)據(jù)庫設計概述9</p><p>  3.1.2圖書信息表結構設計10</p><p>  3.1.3圖書類型信息表結構設計11</p><p>  3.1.4 讀者信息表結構設計11</p><p>  3.1.5讀者類型信息表結構設計12</p><

6、p>  3.1.6圖書借閱信息表結構設計12</p><p>  3.1.7圖書歸還信息表結構設計13</p><p>  3.1.8用戶信息表結構設計13</p><p>  3.1.9圖書館信息表結構設計14</p><p>  3.1.10辦證參數(shù)信息表結構設計14</p><p>  3.2 系

7、統(tǒng)總體結構設計15</p><p>  3.2.1圖書管理系統(tǒng)總體結構圖15</p><p>  3.2.2 系統(tǒng)管理員模塊功能15</p><p>  3.2.3 讀者管理模塊功能16</p><p>  3.2.4 圖書管理模塊功能16</p><p>  3.2.5 圖書借還模塊功能17</p&

8、gt;<p>  3.2.6 系統(tǒng)查詢模塊功能18</p><p>  4.程序設計與編碼20</p><p>  4.1開發(fā)平臺與工具20</p><p>  4.1.1 J2EE平臺20</p><p>  4.1.2 WEB服務器和數(shù)據(jù)庫20</p><p>  4.2程序設計21<

9、;/p><p>  4.2.1程序設計概述21</p><p>  4.2.2數(shù)據(jù)庫與Web服務器的連接21</p><p>  4.2.3登錄模塊程序設計23</p><p>  4.2.4系統(tǒng)管理員功能模塊的實現(xiàn)25</p><p>  4.2.5讀者管理功能模塊的實現(xiàn)26</p><p&

10、gt;  4.2.6查詢功能模塊的實現(xiàn)27</p><p>  4.2.7圖書管理功能模塊的實現(xiàn)29</p><p>  4.2.8圖書借還功能模塊的實現(xiàn)30</p><p><b>  5.軟件測試33</b></p><p>  5.1 軟件測試的方法與步驟33</p><p>  

11、5.2 測試用例設計與測試用例的運行過程及測試結果分析34</p><p>  5.2.1模塊測試34</p><p>  5.2.2集成測試35</p><p>  5.2.3 驗收測試36</p><p><b>  5.3 評價36</b></p><p><b>  6

12、.結束語37</b></p><p>  6.1 工作成果37</p><p>  6.2 改進意見37</p><p>  6.3 收獲體會37</p><p><b>  參考文獻39</b></p><p><b>  致 謝40</b>&l

13、t;/p><p><b>  摘 要</b></p><p>  隨著科學技術的進步,計算機行業(yè)的迅速發(fā)展,大大提高人們的工作效率。計算機信息處理系統(tǒng)的引進已徹底改變了許多系統(tǒng)的經(jīng)營管理 。</p><p>  圖書管理系統(tǒng)是學校管理機制中的重要組成部分,通過對圖書管理系統(tǒng)的運行管理機制進行調(diào)查研究,開發(fā)了此圖書系統(tǒng)。本系統(tǒng)中解決了學校圖書管理

14、事務中的常用基本問題以及相關統(tǒng)計工作。本系統(tǒng)中包含6個功能模塊:系統(tǒng)設置,讀者管理,圖書管理,圖書借還,系統(tǒng)查詢和更改口令。</p><p>  本系統(tǒng)使有jsp進行網(wǎng)頁界面的設計,使用MVC設計模式,采用了開源框架Struts,它采用了當今軟件設計的最新技術,具有開發(fā)效率高、設計靈活、生成的軟件界面友好美觀等特點。本系統(tǒng)中通過JDBC驅(qū)動和數(shù)據(jù)庫進行無縫連接,后端的數(shù)據(jù)庫是mysql,也是一個開源的數(shù)據(jù)庫系統(tǒng),

15、該數(shù)據(jù)庫具有較高的完整性,一致性和安全性。</p><p>  關鍵詞:圖書管理;信息管理;jsp;struts</p><p><b>  Abstract </b></p><p>  With the progress of science and technology, the astonishing rapid development

16、 of the computer industry has been improving people's working efficiency greatly.The introduction of computerized information system has sharply changed the management in many systems in many fields. </p><

17、p>  The management system of the library takes an important role in the administration of school organization. I desigen the system after the thorough investigations about the library management system’s mechanism. Th

18、is system contains with reader informantion management model, book information management model, books borrowing and returning including system information query and password setting.</p><p>  The system is

19、 contrived with Java Server Pages Techonolege as well as Struts,the software design mode of MVC with open source framework techonolege, which makes this system have the advantages of efficiently designed with beauteous a

20、nd friendly interface . This system use jdbc driver to connect the mysql database server,which is also an open source database system for its users. The batabase was desigend with highly integrity, security, and consiste

21、ncy.</p><p>  Key words: book management, management of information ,jsp,struts</p><p><b>  1. 緒 論</b></p><p>  1.1畢業(yè)設計主要任務</p><p>  1.實現(xiàn)圖書館對所藏圖書的按類別、書名等多

22、方面的查詢,最大的方便讀者和圖書館工作人員對所需圖書的查詢;</p><p>  2.建立圖書館外借讀者數(shù)據(jù)庫,方便工作人員對讀者進行有效管理;</p><p>  3.建立圖書館工作人員數(shù)據(jù)庫,限定每個工作人員對軟件操作的權限,最大限度的保護數(shù)據(jù)庫;</p><p>  4.實現(xiàn)圖書館對新書入庫,舊書注銷的簡單處理,并且建立書籍檔案,方便進貨;</p>

23、<p><b>  5.實現(xiàn)圖書館</b></p><p>  1.2目前圖書管理系統(tǒng)存在的問題</p><p>  1)檢索速度慢、效率低</p><p>  因為圖書館的藏書種類多、數(shù)量多,將藏書準確地分門別類,快速檢索,手工進行非常困難往往是終于查到了二偉的信息,館中沒有此書或已被別人借走。圖書館的規(guī)模越大,這個問題越突出。

24、</p><p>  2)借書、還書工作量大</p><p>  借書、還書頻率越大,說明圖書館的作用越大,然而隨之而來的大量的借書、還書登記、實存圖書的更新以及借出圖書超期、遺失等的處理,其工作量之大,往往是人工操作所難以勝任的。而且經(jīng)常會出現(xiàn)這樣那樣的差錯。</p><p>  3)圖書統(tǒng)計工作難、藏書更新不能及時完成。</p><p>

25、  圖書館的圖書應根據(jù)科學技術的發(fā)展和教學工作的需要及時添加和更新,然而由于藏書數(shù)量及圖書種類越來越多,加上自然損耗,人為破壞,使圖書的統(tǒng)計工作難以及時完成,藏書的更新也就很難有針對性地進行,藏書的知識結構得不到良好地控制。</p><p>  我校也是一所發(fā)展中的高校,近兒年的發(fā)展速度很快,圖書館的規(guī)模和藏書數(shù)量也不斷的擴大,為了解決海量圖書的管理問題,改變傳統(tǒng)的管理方式也是迫在眉睫了。</p>

26、<p><b>  1.3課題意義</b></p><p>  隨著計算機的廣泛應用,其逐步成為現(xiàn)代化的標志。圖書館或者一些企業(yè)內(nèi)部,甚至是書店,在正常運行過程中總是面對大量的讀者信息,書籍信息以及兩者相互作用產(chǎn)生的借書信息、還書信息。因此需要對讀者資源、書籍資源、借書信息、還書信息進行管理,及時了解各個環(huán)節(jié)中信息的變更,要對因此而產(chǎn)生的單據(jù)進行及時的處理,為了提高圖書館或者企業(yè)內(nèi)

27、部對圖書存銷的自動化的管理,能夠更快速的滿足讀者的要求,提高各種工作的效率,現(xiàn)對其設計相應的系統(tǒng),以達到上述的目的[1]。</p><p>  圖書管理系統(tǒng)的主要功能是實現(xiàn)圖書館圖書借閱和歸還的管理的自動化。圍繞這一主要功能,本系統(tǒng)涉及到以下核心功能:借閱管理,歸還管理。除了這些核心功能外,還包括一些基本和輔助功能,它們是:用戶管理、圖書館參數(shù)管理、圖書管理、統(tǒng)計查詢。</p><p> 

28、 1.4論文的工作和安排</p><p>  本次設計的目標是,開發(fā)一個圖書館借閱管理系統(tǒng)。借助該系統(tǒng),管理員通過快捷可靠的數(shù)據(jù)庫管理,方便的管理圖書館的信息資料,規(guī)范化的管理讀者用戶,設定不同用戶權限,并能通過互聯(lián)網(wǎng)向讀者提供更為方便的在線查詢服務,方便讀者的使用,最終達到提高圖書館資源利用效率的目的。</p><p>  論文設計和實現(xiàn)了圖書借閱管理系統(tǒng)系統(tǒng),可以根據(jù)用戶的不同權限,對

29、圖書館的的各種信息進行添加、刪除、修改或查詢操作。論文分為五個部分:</p><p>  第一章即本章緒論,簡述圖書館借閱管理系統(tǒng)這個課題的背景情況以及開發(fā)本系統(tǒng)的意義。</p><p>  第二章為需求分析,本章中明確了系統(tǒng)需要實現(xiàn)的功能,分析了系統(tǒng)的用例,并介紹根據(jù)系統(tǒng)的需求選擇的開發(fā)工具和技術的概況。</p><p>  第三章是總體設計,詳細描述了本系統(tǒng)中數(shù)

30、據(jù)庫的設計情況,并給出了系統(tǒng)總體界面的設計方案。 </p><p>  第四章為程序設計與編碼各主要功能模塊的實現(xiàn)方法和部分關鍵代碼,同時提供了個主要界面運行的參考圖片,以更直觀了解系統(tǒng)的實現(xiàn)情況。</p><p>  第五章是軟件測試,測試系統(tǒng)功能實現(xiàn)并對測試結果進行記錄分析</p><p>  第六章為結束語,為此次畢業(yè)設計做一個總結,總結所獲得的經(jīng)驗和體會。&

31、lt;/p><p>  2.圖書借閱管理需求分析</p><p><b>  2.1 可行性分析</b></p><p>  采用現(xiàn)代化統(tǒng)一的計算機信息網(wǎng)站系統(tǒng),能夠有效優(yōu)化圖書館管理系統(tǒng),使其高效的發(fā)揮最大作用,能夠迅捷的為讀者提供相應的服務。開發(fā)本系統(tǒng)的可行性研究如下:</p><p>  2.1.1 技術可行性<

32、/p><p>  技術上的可行性分析主要分析技術條件能否順利完成開發(fā)工作,軟、硬件能否滿足需要。本系統(tǒng)采用JSP開發(fā)出友好美觀的人機界面,便于用戶理解、操作。數(shù)據(jù)庫管理系統(tǒng)采用MySQL,它能夠處理大量數(shù)據(jù),同時保持數(shù)據(jù)的完整性、安全性。因此本系統(tǒng)的開發(fā)平臺已成熟可行。硬件方面,在科技飛速發(fā)展的今天,硬件更新速度越來越快,容量越來越大,可靠性越來越高,價格越來越便宜,因此硬件平臺也能夠滿足本系統(tǒng)所需[2]。</

33、p><p>  2.1.2.經(jīng)濟可行性</p><p>  鑒于計算機技術發(fā)展異常迅猛,在硬件軟件配置以及開發(fā)技術均以可行的情況下開發(fā)這樣一個管理系統(tǒng)成本不會很高,但其可以大大提高圖書館的工作效率,也是圖書館管理發(fā)展的必然趨勢,其必將有比較寬闊的市場,因此改性統(tǒng)在經(jīng)濟可行性上時可行的[2]。</p><p>  2.2 圖書借閱管理系統(tǒng)需求概述</p>&

34、lt;p><b>  2.2.1系統(tǒng)目標</b></p><p>  該系統(tǒng)主要建立一個基于B/S模式的圖書館借閱管理系統(tǒng),面對當起很多小型圖書管理仍是人工管理帶來的檢索速度慢,效率低,借閱歸還圖書量大,圖書統(tǒng)計工作量大,藏書不能完成及時更新的問題,該系統(tǒng)可以對跟系統(tǒng)的三個用戶類型的使用實現(xiàn):</p><p>  1.對于讀者在本系統(tǒng)的應用下可實現(xiàn)按照各種方式(

35、如:書名,編號,作者)查詢圖書館的藏書請客,方便的借閱圖書,續(xù)借圖書,歸還圖書,能夠查詢自己的借閱圖書情況。</p><p>  2.對于圖書館工作人員能夠?qū)崿F(xiàn)方便的對圖書進行查詢,方便的進行讀者借閱情況查詢,方便的進行借書還書處理等,便捷的對圖書信息進行添加、修改、刪除,分類管理等操作,對讀者信息進行相關添加,修改,分類管理等操作。</p><p>  3.對于系統(tǒng)管理員可以對圖書館信息

36、進行修改更新操作,對系統(tǒng)用戶進行添加、修改、刪除、權限設置等操作,對圖書館的辦證參數(shù)進行修改維護等操作功能。</p><p>  2.2.2用戶類和用戶特性</p><p>  圖書借閱管理系統(tǒng)是一個基于B/S模式的對圖書館進行高效率管理的應用系統(tǒng),它的用戶主要是讀者和圖書管理員,學生通過該系統(tǒng)進行圖書查詢進而對自己需要的圖書進行借閱及自己的借閱情況進行查詢,圖書管理員則通過本系統(tǒng)實現(xiàn)對圖

37、書及讀者的高效管理,除此之外,還需要一個系統(tǒng)管理員對不同的用戶進行權限的設置等操作[2]。</p><p>  三類用戶的具體描述如下表所示:</p><p>  表2.1用戶具體描述</p><p>  2.3 圖書借閱管理系統(tǒng)需求模型</p><p><b>  2.3.1功能描述</b></p>&l

38、t;p>  圖書借閱管理系統(tǒng)的主要任務是實現(xiàn)讀者迅速檢索查詢,方便借閱歸還圖書,圖書管理員高效的完成系統(tǒng)的各項基本操作,系統(tǒng)管理員是管理用戶設置權限等操作[3],從圖2.1可以看出圖書借閱管理系統(tǒng)要完成一下功能:</p><p><b>  1. 登錄。</b></p><p>  讀者、圖書管理員,系統(tǒng)管理員進入該系統(tǒng)必須登錄,身份驗證正確了才可以進入該系統(tǒng),

39、以不同身份進入該系統(tǒng)所對應的系統(tǒng)使用權限是不同的。</p><p>  2. 系統(tǒng)設置功能:</p><p>  系統(tǒng)管理員可以設置圖書館相關的參數(shù)信息。</p><p><b>  3.用戶管理功能:</b></p><p>  對系統(tǒng)用戶進行添加,修改,刪除,權限設置等操作。</p><p>

40、<b>  4.查詢功能:</b></p><p>  對圖書館的館藏圖書,借閱歷史,讀者用戶等信息進行查詢。</p><p><b>  5.其他功能</b></p><p>  系統(tǒng)管理員可以修改自己的密碼,并且擁有其他用戶所擁有的所有功能。 </p><p>  2.3.2圖書管理員詳細

41、功能描述</p><p><b>  讀者管理功能:</b></p><p>  對讀者的類型和讀者檔案進行管理,包括添加,修改,刪除讀者類型和讀者用戶的相關信息,管理不同類型讀者借閱圖書的數(shù)量。</p><p><b>  圖書管理功能:</b></p><p>  包括對圖書類型和具體圖書信息的

42、管理,可以增加,修改,刪除圖書,豐富具體圖書的信息,對不同圖書進行分類操作。</p><p><b>  圖書借閱功能:</b></p><p>  可以完成對讀者借閱,續(xù)接和還書的操作。</p><p><b>  系統(tǒng)查詢功能:</b></p><p>  查詢圖書相關資料,借閱歷史和借閱到期題

43、型.</p><p><b>  修改密碼功能:</b></p><p>  可以修改自己的登錄密碼。</p><p>  2.3.3讀者詳細功能描述</p><p>  1) 修改登陸密碼:</p><p>  修改自己的登錄密碼。</p><p><b>  

44、2) 查詢功能:</b></p><p>  對圖書館圖書信息進行查詢,對自己當前借閱書籍進行查詢,對圖書規(guī)劃到期題型進行查看。</p><p>  2.3.4主要用例的用例描述</p><p>  圖書借閱借閱管理系統(tǒng)涉及到的用例包括:圖書借閱,圖書歸還,讀書查詢,讀者信息管理,圖書信息管理,用戶管理等,現(xiàn)就系統(tǒng)的主要用例圖書借閱,圖書歸還,圖書查詢進

45、行詳細分析。</p><p>  1)用例“圖書借閱”</p><p>  2)用例“圖書歸還”</p><p>  3)用例“圖書查詢”</p><p><b>  3.總體設計</b></p><p><b>  3.1 數(shù)據(jù)庫設計</b></p><

46、p>  3.1.1數(shù)據(jù)庫設計概述</p><p>  數(shù)據(jù)庫是整個系統(tǒng)的基石,數(shù)據(jù)庫的設計優(yōu)劣直接影響到整個系統(tǒng)的設計成敗,本節(jié)對數(shù)據(jù)庫的設計進行專門闡述[5]。</p><p>  數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術。十多年來數(shù)據(jù)庫管理系統(tǒng)已從專用的應用程序發(fā)展成為通用的系統(tǒng)軟件。由于數(shù)據(jù)庫具有數(shù)據(jù)結構化,最低冗余度,較高的程序與數(shù)據(jù)獨立性,易于擴充,易于編制應用程序等優(yōu)點,較大的信息系統(tǒng)

47、都是建立在數(shù)據(jù)庫設計之上的。因此不僅大型計算機及中小型計算機,甚至微型機都配有數(shù)據(jù)庫管理系統(tǒng)[6]。</p><p>  數(shù)據(jù)庫系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序為中心轉向圍繞共享的數(shù)據(jù)庫為中心的新階段。這樣既便于數(shù)據(jù)的集中管理,又有利于應用程序的研制和維護,提高了數(shù)據(jù)的利用性和相容性,提高了決策的可靠性。目前,數(shù)據(jù)庫已經(jīng)成為現(xiàn)代信息系統(tǒng)不可分割的重要組成部分。數(shù)據(jù)庫技術也是計算機領域中發(fā)展最快的技術之一。&

48、lt;/p><p>  數(shù)據(jù)庫設計是把現(xiàn)實世界的實體模型與需求轉換成數(shù)據(jù)庫的模型的過程,它是建立數(shù)據(jù)庫應用系統(tǒng)的核心問題。數(shù)據(jù)庫及其應用的性能都建立在良好的數(shù)據(jù)庫設計的基礎之上,數(shù)據(jù)庫的數(shù)據(jù)是一切操作的基礎,如果數(shù)據(jù)庫設計不好,那么其它一切用于提高數(shù)據(jù)庫性能的方法收效都是有限的。數(shù)據(jù)庫設計的關鍵是如何使設計的數(shù)據(jù)庫能合理地存儲用戶的數(shù)據(jù),方便用戶進行數(shù)據(jù)處理[6]。</p><p>  設計數(shù)

49、據(jù)庫必須遵循一定的規(guī)則,在關系型數(shù)據(jù)庫中,這種規(guī)則就是范式,范式是符合某一種級別的關系模式的集合。一般人們設計數(shù)據(jù)庫遵循第三范式。即:數(shù)據(jù)庫表中不包含已在其他表中包含的非主關鍵字信息。采用范式減少了數(shù)據(jù)冗余,節(jié)約了存儲空間,同時加快了增、刪、改的速度[6]。</p><p>  整個系統(tǒng)所包括的信息有圖書信息、讀者信息、留言信息、圖書借閱信息、圖書歸還信息、系統(tǒng)用戶信息、讀者類型信息。可將這些信息抽象為下列系統(tǒng)所

50、需要的數(shù)據(jù)項和數(shù)據(jù)結構:</p><p>  1)圖書信息(編號,圖書名稱,圖書類型,作者,譯者,ISBN號,價格,出版社,所在書架,入庫時間,操作員)</p><p>  2)圖書類型(編號,名稱,可借閱天數(shù))</p><p>  3)讀者信息(編號,姓名,性別,條形碼,讀者類型,出生年月,有效證件,證件號碼,登記日期,電話,郵箱,操作員)</p>

51、<p>  4)讀者類型(名稱,可借閱圖書本數(shù))</p><p>  5)圖書借閱信息(圖書編號,讀者ID,借出時間,應還時間,是否歸還,操作員)</p><p>  6)圖書歸還信息(圖書編號,讀者ID,歸還時間,操作員)</p><p>  7)用戶(編號,用戶名稱,密碼)</p><p>  8)圖書館信息(編號,名稱,館長,

52、電話,地址,郵箱,創(chuàng)建日期,簡介)</p><p>  圖書館參數(shù)信息(編號,辦證費用,有效期限)</p><p>  注:帶下劃線表示主鍵</p><p>  在這里使用E-R圖描述了圖書借閱管理系統(tǒng)的數(shù)據(jù)模型。圖3.1圖書借閱管理系統(tǒng)E-R圖描述了該系統(tǒng)所涉及到的實體以及他們之間的關系。具體結構如下圖所示:</p><p><b&g

53、t;  .</b></p><p>  3.1.2數(shù)據(jù)庫設計:</p><p><b>  圖書信息表:</b></p><p><b>  圖書類別表:</b></p><p><b>  用戶信息表:</b></p><p><b&

54、gt;  讀者信息表:</b></p><p>  3.2 系統(tǒng)總體結構設計</p><p>  該系統(tǒng)在Windows98/2000/XP環(huán)境下,主要采用JSP開發(fā)工具,MySQL數(shù)據(jù)庫來設計,開發(fā)過程與成果應符合GB/T 11457-1995軟件工程術語,GB/T 8567-1988計算機軟件產(chǎn)品開發(fā)文件編制指南等[7]。</p><p>  3.2

55、.1圖書管理系統(tǒng)總體結構圖</p><p>  繪制系統(tǒng)結構圖的過程,實際上就是對系統(tǒng)功能模塊進行分解設計的過程,即合理地將數(shù)據(jù)流程圖轉變?yōu)樗枰南到y(tǒng)結構圖[8]。</p><p>  系統(tǒng)結構圖將會使讀者和用戶能直觀的了解系統(tǒng)的結構模式,理解系統(tǒng)的各個功能的結構,能很好地方便用戶使用和理解整個系統(tǒng)。</p><p>  本系統(tǒng)的結構圖如下:</p>

56、<p>  圖3.3系統(tǒng)總體結構圖</p><p>  根據(jù)需求分析的結果,按照“低耦合、高內(nèi)聚”的原則,本系統(tǒng)將劃分為以下主要功能模塊:系統(tǒng)管理員功能模塊,讀者管理功能模塊,圖書管理功能模塊,圖書借還功能模塊;系統(tǒng)查詢功能模塊[8]。</p><p>  3.2.2 系統(tǒng)管理員模塊功能</p><p>  該模塊主要包括圖書館信息設置,用戶管理,參數(shù)設

57、置,書架設置。</p><p><b>  1.圖書館信息設置</b></p><p>  該功能選項用于系統(tǒng)管理員對圖書館名稱,地址,聯(lián)系方式,簡介等信息的管理更新,以便于讀者和外界人士對圖書館的了解。該功能是對td_library表進行維護修改等操作,修改后的信息將被保存在該表中。</p><p><b>  2.用戶設置<

58、/b></p><p>  該功能子模塊主要是系統(tǒng)管理員對系統(tǒng)用戶的管理,通過此子模塊的功能實現(xiàn)可以對用戶進行添加、修改、刪除、權限設置等操作,該子模塊能將圖書館的不同工作細化到不同的相關人員,極大地提高了圖書館的工作效率。該操作是對tb_users表進行操作,在對用戶進行了相關的操作后把操作后的最新信息存放在該表中。</p><p><b>  3.圖書館參數(shù)設置<

59、/b></p><p>  通過該子模塊設置在圖書館辦理臨時讀者證的費用及證件有效期限。該操作是對于tb_parameter表進行,并把操作后的最新數(shù)據(jù)存放在該表中。</p><p>  3.2.3 讀者管理模塊功能</p><p>  該模塊主要包含讀者類型管理和讀者信息管理兩個子模塊:</p><p><b>  讀者類型

60、管理</b></p><p>  該子模塊是對圖書館系統(tǒng)用戶讀者的類型進行維護,修改等操作,在此模塊中主要設置不同類型讀者一次性可借閱的圖書的數(shù)量,該操作是對于tb_resderType表進行,并將操作結果保存在該表中。</p><p><b>  讀者信息管理</b></p><p>  該子模塊是對讀者的基本信息進行管理,可以對

61、讀者的基本信息進行添加,修改,刪除操作,這下操作均是對tb_resder表進行的,并將操作后的結果保存在該表中。</p><p>  3.2.4 圖書管理模塊功能 </p><p>  圖書管理功能模塊可分為圖書類型管理和圖書信息管理兩個子模塊,其各自的實現(xiàn)分別如下面表中所示:</p><p>  表3.11 圖書類型管理描述</p>

62、<p>  表3.12 圖書信息管理描述</p><p>  3.2.5 圖書借還模塊功能</p><p>  該功能模塊主要實現(xiàn)對讀者借閱、續(xù)接、歸還圖書的操作,其中子模塊各自的描述如下各表所列:</p><p>  表3.13 圖書借閱描述</p><p>  表3.14 圖書續(xù)借描述</p><p&g

63、t;  表3.15圖書歸還描述</p><p>  3.2.6 系統(tǒng)查詢模塊功能</p><p>  該模塊包括對圖書館藏書進行查詢,對讀者借閱情況進行查詢,以及對借閱到期和超期的讀者進行提醒的信息,其中三個子模塊的各自實習如下所示:</p><p>  表3.16 圖書查詢描述</p><p>  表3.17 圖書借閱查詢描述</p&

64、gt;<p>  表3.18 圖書借閱到期提醒描述</p><p><b>  4.程序設計與編碼</b></p><p>  4.1開發(fā)平臺與工具</p><p>  4.1.1 J2EE平臺</p><p>  J2EE ,即是Java2平臺企業(yè)版(Java 2 Platform Enterprise

65、Edition),是原Sun公司(現(xiàn)已被甲骨文公司收購)為企業(yè)級應用推出的標準平臺。它簡化了企業(yè)解決方案的開發(fā)、部署和管理相關復雜問題的體系結構,J2EE技術的基礎就是核心Java平臺或Java 2平臺的標準版,J2EE不僅鞏固了標準版中的許多優(yōu)點,例如"編寫一次、隨處運行"的特性、方便存取數(shù)據(jù)庫的JDBC API、CORBA技術以及能夠在Internet應用中保護數(shù)據(jù)的安全模式等等,同時還提供了對 EJB(Ente

66、rprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術的全面支持。其最終目的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結構。J2EE體系結構提供中間層集成框架用來滿足無需太多費用而又需要高可用性、高可靠性以及可擴展性的應用的需求。通過提供統(tǒng)一的開發(fā)平臺,J2EE降低了開發(fā)多層應用的費用和復雜性,同時提供對現(xiàn)有應用程序集成強有力支持,完全支持Enter

67、prise JavaBeans,有良好的向?qū)еС?lt;/p><p>  在開發(fā)圖書館借閱管理系統(tǒng)的過程中,應用Myeclipse6.0.1,它可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。Myeclipse是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL[10]。&l

68、t;/p><p>  4.1.2 WEB服務器和數(shù)據(jù)庫</p><p>  在系統(tǒng)的開發(fā)過程中使用的Web應用服務器是Tomcat,是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、SUN和其他一些公司及個人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat

69、 中得到體現(xiàn)。Tomcat是一個小型的輕量級應用服務器,它運行時占用的系統(tǒng)資源小、擴展性好、支持負載平衡和郵件服務等開發(fā)應用系統(tǒng)常用的功能,因此在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的時候,經(jīng)常被使用[11]。</p><p>  使用MySQL作為數(shù)據(jù)庫開發(fā)工具。MySQL是一個小型關系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。目前MySQL被廣泛地應用在Inter

70、net上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫[11]。</p><p>  為了開發(fā)的便捷快速,使用struts第三方插件。Struts是一個全新的MVC框架,實在WebWork基礎上發(fā)展起來的[12]。</p><p>  開發(fā)系統(tǒng)用的系統(tǒng)工具如表4.1所示:</p>

71、;<p>  表4.1 系統(tǒng)開發(fā)平臺和工具</p><p><b>  4.2程序設計</b></p><p>  4.2.1程序設計概述</p><p>  在設計的Web層應用了著名的MVC模式,V有JSP來實現(xiàn),為了業(yè)務邏輯和表示的分離.它是基于Web應用系統(tǒng),它的客戶端使用Broswer,然后是Web層的應用,業(yè)務邏輯層(

72、有EJB實現(xiàn)),資源管理層。客戶請求瀏覽頁面,一般Web層的View有JSP組成,并且使用了大量Taglib。把每個請求映射到某個HTMLAction類來響應它。HTML Action類是一個標準的類,執(zhí)行選擇的HTML Action。使用MVC模式減少了代碼的復制,即減少了代碼的維護,由于模型返回的格式不帶任何顯示格式,因而模型可以直接應用于接口的使用,還因為MVC模型把不同的模型和不同的視圖組合在一起完成不同的請求,因此,控制層可以

73、說包含了用戶請求權限的概念[13]。</p><p>  在設計中還因應用了Struts框架,Struts跟Tomcat、Turbine等諸多Apache項目一樣,是開源軟件,這是它的一大優(yōu)點。使開發(fā)者能更深入的了解其內(nèi)部實現(xiàn)機制[11]。 </p><p>  除此之外,Struts的優(yōu)點主要集中體現(xiàn)在Taglib和頁面導航。Taglib是Struts的標記庫,靈活動用,能大大提高開發(fā)效

74、率。頁面導航使系統(tǒng)的脈絡更加清晰。通過一個配置文件,即可把握整個系統(tǒng)各部分之間的聯(lián)系,這對于后期的維護有著莫大的好處[11]。</p><p>  4.2.2數(shù)據(jù)庫與Web服務器的連接</p><p>  數(shù)據(jù)庫連接時采用連接池技術鏈接SQL,具體代碼實現(xiàn)如下:</p><p>  package com.ljj.dao;</p><p> 

75、 import java.sql.Connection;</p><p>  import java.sql.Date;</p><p>  import java.sql.DriverManager;</p><p>  import java.sql.ResultSet;</p><p>  import java.sql.SQLExce

76、ption;</p><p>  import java.util.ArrayList;</p><p>  import java.util.List;</p><p>  import com.ljj.model.BookInfo;</p><p>  import com.ljj.model.BookType;</p>&

77、lt;p>  import com.ljj.model.Operator;</p><p>  import com.ljj.model.Reader;</p><p>  import com.ljj.model.User;</p><p>  public class Dao {</p><p>  protected static

78、 String dbClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";</p><p>  protected static String dbUrl = "jdbc:sqlserver://localhost:1433;"</p><p>  + "DatabaseNam

79、e=db_library;SelectMethod=Cursor";</p><p>  protected static String dbUser = "sa";</p><p>  protected static String dbPwd = "zhangyong";</p><p>  protected

80、static String second = null;</p><p>  private static Connection conn = null;</p><p><b>  //創(chuàng)建數(shù)據(jù)庫連接</b></p><p>  private Dao() {</p><p><b>  try {</

81、b></p><p>  if (conn == null) {</p><p>  Class.forName(dbClassName).newInstance();</p><p>  conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);</p><p>  System

82、.out.println("數(shù)據(jù)庫連接成功!");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  return;</b></p><p>  } catch (Exception ee) {

83、</p><p>  ee.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //執(zhí)行查詢</b></p><p>  private static Resu

84、ltSet executeQuery(String sql) {</p><p><b>  try {</b></p><p>  if(conn==null)</p><p>  new Dao();</p><p>  return conn.createStatement(ResultSet.TYPE_SCROL

85、L_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql);</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p>  return null;</p><p>  } finally {&

86、lt;/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //執(zhí)行更新</b></p><p>  private static int executeUpdate(String sql) {</p><p&

87、gt;<b>  try {</b></p><p>  if(conn==null)</p><p>  new Dao();</p><p>  return conn.createStatement().executeUpdate(sql);</p><p>  } catch (SQLException e) {

88、</p><p>  System.out.println(e.getMessage());</p><p>  //if(e.getMessage().equals("[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]DELETE 語句與 COLUMN REFERENCE 約束 'FK_TB_BORRO_REFE

89、RENCE_TB_BOOKI' 沖突。該沖突發(fā)生于數(shù)據(jù)庫 'db_library',表 'tb_borrow', column 'bookISBN'。"))</p><p>  return -1;</p><p>  } finally {</p><p><b>  }</

90、b></p><p><b>  }</b></p><p><b>  //關閉數(shù)據(jù)庫</b></p><p>  public static void close() {</p><p><b>  try {</b></p><p>  co

91、nn.close();</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p><b>  }finally{</b></p><p>  conn = null;</p><p><b> 

92、 }</b></p><p><b>  }</b></p><p><b>  /*</b></p><p><b>  * 管理員登錄方法</b></p><p><b>  */</b></p><p>  pu

93、blic static Operator check(String name, String password) {</p><p>  int i = 0;</p><p>  Operator operater=new Operator();</p><p>  String sql = "select * from tb_operator wher

94、e name='" + name</p><p>  + "' and password='" + password + "'and admin=1";</p><p>  ResultSet rs = Dao.executeQuery(sql);</p><p><b> 

95、 try {</b></p><p>  while (rs.next()) {</p><p>  String names = rs.getString(1);</p><p>  operater.setId(rs.getString("id"));</p><p>  operater.setName(

96、rs.getString("name"));</p><p>  operater.setGrade(rs.getString("admin"));</p><p>  operater.setPassword(rs.getString("password"));</p><p>  if (names !

97、= null) {</p><p><b>  i = 1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  } catch (Exception e) {</p><p>  e.printS

98、tackTrace();</p><p><b>  }</b></p><p>  Dao.close();</p><p>  return operater;</p><p><b>  }</b></p><p><b>  /*</b>&l

99、t;/p><p><b>  * 查詢類別方法</b></p><p><b>  */</b></p><p><b>  //查詢圖書目錄</b></p><p>  public static List selectBookCategory() {</p>&l

100、t;p>  List list=new ArrayList();</p><p>  String sql = "select * from tb_bookType";</p><p>  ResultSet rs = Dao.executeQuery(sql);</p><p><b>  try {</b><

101、;/p><p>  while (rs.next()) {</p><p>  BookType bookType=new BookType();</p><p>  bookType.setId(rs.getString("id"));</p><p>  bookType.setTypeName(rs.getString(

102、"typeName"));</p><p>  list.add(bookType);</p><p><b>  }</b></p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p>&l

103、t;b>  }</b></p><p>  Dao.close();</p><p>  return list;</p><p><b>  }</b></p><p>  public static List selectBookCategory(String bookType) {</p&g

104、t;<p>  List list=new ArrayList();</p><p>  String sql = "select days from tb_bookType where typeName='"+bookType+"'";</p><p>  ResultSet rs = Dao.executeQuer

105、y(sql);</p><p><b>  try {</b></p><p>  while (rs.next()) {</p><p>  BookType type=new BookType();</p><p>  type.setDays(rs.getString("days"));<

106、/p><p>  list.add(type);</p><p><b>  }</b></p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p>

107、<p>  Dao.close();</p><p>  return list;</p><p><b>  }</b></p><p><b>  /*</b></p><p>  * 圖書類別表相關操作</p><p><b>  * </b

108、></p><p><b>  */</b></p><p><b>  //插入圖書類型</b></p><p>  public static int InsertBookType(String bookTypeName){</p><p><b>  int i=0;</

109、b></p><p><b>  try{</b></p><p>  String sql="insert into tb_bookType(typeName) values('"+bookTypeName+"')";</p><p>  i=Dao.executeUpdate(s

110、ql);</p><p>  }catch(Exception e){</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  return i;</b></p><p><b>  }<

111、;/b></p><p><b>  //更新圖書類別</b></p><p>  public static int UpdatebookType(String id,String typeName){</p><p><b>  int i=0;</b></p><p><b>

112、  try{</b></p><p>  String sql="update tb_bookType set typeName='"+typeName+"' where id='"+id+"'";</p><p>  //System.out.println(sql);</p&g

113、t;<p>  i=Dao.executeUpdate(sql);</p><p>  }catch(Exception e){</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  Dao.close();</p><

114、p><b>  return i;</b></p><p><b>  }</b></p><p><b>  //刪除圖書類別</b></p><p>  public static int DelbookType(String id){</p><p><b&g

115、t;  int i=0;</b></p><p><b>  try{</b></p><p>  String sql="delete from tb_bookType where id='"+id+"'";</p><p>  //System.out.println(sq

116、l);</p><p>  i=Dao.executeUpdate(sql);</p><p>  }catch(Exception e){</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  Dao.close();</

117、p><p><b>  return i;</b></p><p><b>  }</b></p><p><b>  /*</b></p><p>  * 圖書信息表相關操作</p><p><b>  */</b></p>

118、;<p><b>  /*</b></p><p>  * 插入圖書信息方法</p><p><b>  */</b></p><p><b>  //插入圖書信息</b></p><p>  public static int Insertbook(String

119、 ISBN,String typeId,String bookname,String writer,String translator,String publisher,Date date,Double price){</p><p><b>  int i=0;</b></p><p><b>  try{</b></p><

120、;p>  String sql="insert into tb_bookInfo(ISBN,typeId,bookname,writer,translator,publisher,date,price) values('"+ISBN+"','"+typeId+"','"+bookname+"','"

121、;+writer+"','"+translator+"','"+publisher+"','"+date+"',"+price+")";</p><p>  //System.out.println(sql);</p><p>  i=

122、Dao.executeUpdate(sql);</p><p>  }catch(Exception e){</p><p>  System.out.println(e.getMessage());</p><p><b>  }</b></p><p>  Dao.close();</p><p&

123、gt;<b>  return i;</b></p><p><b>  }</b></p><p><b>  /*</b></p><p>  * 查詢圖書相關信息</p><p><b>  * </b></p><p>&l

124、t;b>  */</b></p><p>  public static List selectBookInfo() {</p><p>  List list=new ArrayList();</p><p>  String sql = "select * from tb_bookInfo";</p><

125、;p>  ResultSet rs = Dao.executeQuery(sql);</p><p><b>  try {</b></p><p>  while (rs.next()) {</p><p>  BookInfo bookinfo=new BookInfo();</p><p>  bookinf

126、o.setISBN(rs.getString("ISBN"));</p><p>  bookinfo.setTypeid(rs.getString("typeid"));</p><p>  bookinfo.setBookname(rs.getString("bookname"));</p><p> 

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論