版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)(論文)</b></p><p><b> 圖書(shū)館借閱管理系統(tǒng)</b></p><p> 學(xué)院(系): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 專(zhuān)業(yè)班級(jí): </p><p> 學(xué)生姓名:
2、 </p><p> 指導(dǎo)教師: </p><p> 畢業(yè)設(shè)計(jì)(論文)開(kāi)題報(bào)告</p><p><b> 目 錄</b></p><p><b> 摘 要III</b></p><p> AbstractIV<
3、/p><p> 1. 緒 論1</p><p> 1.1畢業(yè)設(shè)計(jì)主要任務(wù)1</p><p> 1.2目前圖書(shū)管理系統(tǒng)存在的問(wèn)題1</p><p><b> 1.3課題意義1</b></p><p> 1.4論文的工作和安排2</p><p> 2.圖書(shū)
4、借閱管理需求分析3</p><p> 2.1 可行性分析3</p><p> 2.1.1.技術(shù)可行性3</p><p> 2.1.2.經(jīng)濟(jì)可行性3</p><p> 2.2 圖書(shū)借閱管理系統(tǒng)需求概述3</p><p> 2.2.1系統(tǒng)目標(biāo)3</p><p> 2.2.2用
5、戶(hù)類(lèi)和用戶(hù)特性4</p><p> 2.3 圖書(shū)借閱管理系統(tǒng)需求模型4</p><p> 2.3.1功能描述4</p><p> 2.3.2圖書(shū)管理員詳細(xì)功能描述5</p><p> 2.3.3讀者詳細(xì)功能描述5</p><p> 2.3.4主要用例的用例描述6</p><p&
6、gt;<b> 3.總體設(shè)計(jì)9</b></p><p> 3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)9</p><p> 3.1.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述9</p><p> 3.1.2圖書(shū)信息表結(jié)構(gòu)設(shè)計(jì)10</p><p> 3.1.3圖書(shū)類(lèi)型信息表結(jié)構(gòu)設(shè)計(jì)11</p><p> 3.1.4 讀者信息表結(jié)
7、構(gòu)設(shè)計(jì)11</p><p> 3.1.5讀者類(lèi)型信息表結(jié)構(gòu)設(shè)計(jì)12</p><p> 3.1.6圖書(shū)借閱信息表結(jié)構(gòu)設(shè)計(jì)12</p><p> 3.1.7圖書(shū)歸還信息表結(jié)構(gòu)設(shè)計(jì)13</p><p> 3.1.8用戶(hù)信息表結(jié)構(gòu)設(shè)計(jì)13</p><p> 3.1.9圖書(shū)館信息表結(jié)構(gòu)設(shè)計(jì)14</p&
8、gt;<p> 3.1.10辦證參數(shù)信息表結(jié)構(gòu)設(shè)計(jì)14</p><p> 3.2 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)15</p><p> 3.2.1圖書(shū)管理系統(tǒng)總體結(jié)構(gòu)圖15</p><p> 3.2.2 系統(tǒng)管理員模塊功能15</p><p> 3.2.3 讀者管理模塊功能16</p><p>
9、3.2.4 圖書(shū)管理模塊功能16</p><p> 3.2.5 圖書(shū)借還模塊功能17</p><p> 3.2.6 系統(tǒng)查詢(xún)模塊功能18</p><p> 4.程序設(shè)計(jì)與編碼20</p><p> 4.1開(kāi)發(fā)平臺(tái)與工具20</p><p> 4.1.1 J2EE平臺(tái)20</p>&l
10、t;p> 4.1.2 WEB服務(wù)器和數(shù)據(jù)庫(kù)20</p><p> 4.2程序設(shè)計(jì)21</p><p> 4.2.1程序設(shè)計(jì)概述21</p><p> 4.2.2數(shù)據(jù)庫(kù)與Web服務(wù)器的連接21</p><p> 4.2.3登錄模塊程序設(shè)計(jì)23</p><p> 4.2.4系統(tǒng)管理員功能模塊的實(shí)
11、現(xiàn)25</p><p> 4.2.5讀者管理功能模塊的實(shí)現(xiàn)26</p><p> 4.2.6查詢(xún)功能模塊的實(shí)現(xiàn)27</p><p> 4.2.7圖書(shū)管理功能模塊的實(shí)現(xiàn)29</p><p> 4.2.8圖書(shū)借還功能模塊的實(shí)現(xiàn)30</p><p><b> 5.軟件測(cè)試33</b>
12、;</p><p> 5.1 軟件測(cè)試的方法與步驟33</p><p> 5.2 測(cè)試用例設(shè)計(jì)與測(cè)試用例的運(yùn)行過(guò)程及測(cè)試結(jié)果分析34</p><p> 5.2.1模塊測(cè)試34</p><p> 5.2.2集成測(cè)試35</p><p> 5.2.3 驗(yàn)收測(cè)試36</p><p>
13、;<b> 5.3 評(píng)價(jià)36</b></p><p><b> 6.結(jié)束語(yǔ)37</b></p><p> 6.1 工作成果37</p><p> 6.2 改進(jìn)意見(jiàn)37</p><p> 6.3 收獲體會(huì)37</p><p><b> 參考文獻(xiàn)
14、39</b></p><p><b> 致 謝40</b></p><p><b> 摘 要</b></p><p> 隨著科學(xué)技術(shù)的進(jìn)步,計(jì)算機(jī)行業(yè)的迅速發(fā)展,大大提高人們的工作效率。計(jì)算機(jī)信息處理系統(tǒng)的引進(jìn)已徹底改變了許多系統(tǒng)的經(jīng)營(yíng)管理 。</p><p> 圖書(shū)管
15、理系統(tǒng)是學(xué)校管理機(jī)制中的重要組成部分,通過(guò)對(duì)圖書(shū)管理系統(tǒng)的運(yùn)行管理機(jī)制進(jìn)行調(diào)查研究,開(kāi)發(fā)了此圖書(shū)系統(tǒng)。本系統(tǒng)中解決了學(xué)校圖書(shū)管理事務(wù)中的常用基本問(wèn)題以及相關(guān)統(tǒng)計(jì)工作。本系統(tǒng)中包含6個(gè)功能模塊:系統(tǒng)設(shè)置,讀者管理,圖書(shū)管理,圖書(shū)借還,系統(tǒng)查詢(xún)和更改口令。</p><p> 本系統(tǒng)使有jsp進(jìn)行網(wǎng)頁(yè)界面的設(shè)計(jì),使用MVC設(shè)計(jì)模式,采用了開(kāi)源框架Struts,它采用了當(dāng)今軟件設(shè)計(jì)的最新技術(shù),具有開(kāi)發(fā)效率高、設(shè)計(jì)靈活、
16、生成的軟件界面友好美觀等特點(diǎn)。本系統(tǒng)中通過(guò)JDBC驅(qū)動(dòng)和數(shù)據(jù)庫(kù)進(jìn)行無(wú)縫連接,后端的數(shù)據(jù)庫(kù)是mysql,也是一個(gè)開(kāi)源的數(shù)據(jù)庫(kù)系統(tǒng),該數(shù)據(jù)庫(kù)具有較高的完整性,一致性和安全性。</p><p> 關(guān)鍵詞:圖書(shū)管理;信息管理;jsp;struts</p><p><b> Abstract </b></p><p> With the progr
17、ess of science and technology, the astonishing rapid development of the computer industry has been improving people's working efficiency greatly.The introduction of computerized information system has sharply changed
18、 the management in many systems in many fields. </p><p> The management system of the library takes an important role in the administration of school organization. I desigen the system after the thorough in
19、vestigations about the library management system’s mechanism. This system contains with reader informantion management model, book information management model, books borrowing and returning including system information
20、 query and password setting.</p><p> The system is contrived with Java Server Pages Techonolege as well as Struts,the software design mode of MVC with open source framework techonolege, which makes this sys
21、tem have the advantages of efficiently designed with beauteous and 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 bat
22、abase was desigend with highly integrity, security, and consistency.</p><p> Key words: book management, management of information ,jsp,struts</p><p><b> 1. 緒 論</b></p>&l
23、t;p> 1.1畢業(yè)設(shè)計(jì)主要任務(wù)</p><p> 1.實(shí)現(xiàn)圖書(shū)館對(duì)所藏圖書(shū)的按類(lèi)別、書(shū)名等多方面的查詢(xún),最大的方便讀者和圖書(shū)館工作人員對(duì)所需圖書(shū)的查詢(xún);</p><p> 2.建立圖書(shū)館外借讀者數(shù)據(jù)庫(kù),方便工作人員對(duì)讀者進(jìn)行有效管理;</p><p> 3.建立圖書(shū)館工作人員數(shù)據(jù)庫(kù),限定每個(gè)工作人員對(duì)軟件操作的權(quán)限,最大限度的保護(hù)數(shù)據(jù)庫(kù);</p
24、><p> 4.實(shí)現(xiàn)圖書(shū)館對(duì)新書(shū)入庫(kù),舊書(shū)注銷(xiāo)的簡(jiǎn)單處理,并且建立書(shū)籍檔案,方便進(jìn)貨;</p><p><b> 5.實(shí)現(xiàn)圖書(shū)館</b></p><p> 1.2目前圖書(shū)管理系統(tǒng)存在的問(wèn)題</p><p> 1)檢索速度慢、效率低</p><p> 因?yàn)閳D書(shū)館的藏書(shū)種類(lèi)多、數(shù)量多,將藏書(shū)準(zhǔn)確
25、地分門(mén)別類(lèi),快速檢索,手工進(jìn)行非常困難往往是終于查到了二偉的信息,館中沒(méi)有此書(shū)或已被別人借走。圖書(shū)館的規(guī)模越大,這個(gè)問(wèn)題越突出。</p><p> 2)借書(shū)、還書(shū)工作量大</p><p> 借書(shū)、還書(shū)頻率越大,說(shuō)明圖書(shū)館的作用越大,然而隨之而來(lái)的大量的借書(shū)、還書(shū)登記、實(shí)存圖書(shū)的更新以及借出圖書(shū)超期、遺失等的處理,其工作量之大,往往是人工操作所難以勝任的。而且經(jīng)常會(huì)出現(xiàn)這樣那樣的差錯(cuò)。&
26、lt;/p><p> 3)圖書(shū)統(tǒng)計(jì)工作難、藏書(shū)更新不能及時(shí)完成。</p><p> 圖書(shū)館的圖書(shū)應(yīng)根據(jù)科學(xué)技術(shù)的發(fā)展和教學(xué)工作的需要及時(shí)添加和更新,然而由于藏書(shū)數(shù)量及圖書(shū)種類(lèi)越來(lái)越多,加上自然損耗,人為破壞,使圖書(shū)的統(tǒng)計(jì)工作難以及時(shí)完成,藏書(shū)的更新也就很難有針對(duì)性地進(jìn)行,藏書(shū)的知識(shí)結(jié)構(gòu)得不到良好地控制。</p><p> 我校也是一所發(fā)展中的高校,近兒年的發(fā)展速度
27、很快,圖書(shū)館的規(guī)模和藏書(shū)數(shù)量也不斷的擴(kuò)大,為了解決海量圖書(shū)的管理問(wèn)題,改變傳統(tǒng)的管理方式也是迫在眉睫了。</p><p><b> 1.3課題意義</b></p><p> 隨著計(jì)算機(jī)的廣泛應(yīng)用,其逐步成為現(xiàn)代化的標(biāo)志。圖書(shū)館或者一些企業(yè)內(nèi)部,甚至是書(shū)店,在正常運(yùn)行過(guò)程中總是面對(duì)大量的讀者信息,書(shū)籍信息以及兩者相互作用產(chǎn)生的借書(shū)信息、還書(shū)信息。因此需要對(duì)讀者資源、
28、書(shū)籍資源、借書(shū)信息、還書(shū)信息進(jìn)行管理,及時(shí)了解各個(gè)環(huán)節(jié)中信息的變更,要對(duì)因此而產(chǎn)生的單據(jù)進(jìn)行及時(shí)的處理,為了提高圖書(shū)館或者企業(yè)內(nèi)部對(duì)圖書(shū)存銷(xiāo)的自動(dòng)化的管理,能夠更快速的滿(mǎn)足讀者的要求,提高各種工作的效率,現(xiàn)對(duì)其設(shè)計(jì)相應(yīng)的系統(tǒng),以達(dá)到上述的目的[1]。</p><p> 圖書(shū)管理系統(tǒng)的主要功能是實(shí)現(xiàn)圖書(shū)館圖書(shū)借閱和歸還的管理的自動(dòng)化。圍繞這一主要功能,本系統(tǒng)涉及到以下核心功能:借閱管理,歸還管理。除了這些核心功能
29、外,還包括一些基本和輔助功能,它們是:用戶(hù)管理、圖書(shū)館參數(shù)管理、圖書(shū)管理、統(tǒng)計(jì)查詢(xún)。</p><p> 1.4論文的工作和安排</p><p> 本次設(shè)計(jì)的目標(biāo)是,開(kāi)發(fā)一個(gè)圖書(shū)館借閱管理系統(tǒng)。借助該系統(tǒng),管理員通過(guò)快捷可靠的數(shù)據(jù)庫(kù)管理,方便的管理圖書(shū)館的信息資料,規(guī)范化的管理讀者用戶(hù),設(shè)定不同用戶(hù)權(quán)限,并能通過(guò)互聯(lián)網(wǎng)向讀者提供更為方便的在線查詢(xún)服務(wù),方便讀者的使用,最終達(dá)到提高圖書(shū)館資
30、源利用效率的目的。</p><p> 論文設(shè)計(jì)和實(shí)現(xiàn)了圖書(shū)借閱管理系統(tǒng)系統(tǒng),可以根據(jù)用戶(hù)的不同權(quán)限,對(duì)圖書(shū)館的的各種信息進(jìn)行添加、刪除、修改或查詢(xún)操作。論文分為五個(gè)部分:</p><p> 第一章即本章緒論,簡(jiǎn)述圖書(shū)館借閱管理系統(tǒng)這個(gè)課題的背景情況以及開(kāi)發(fā)本系統(tǒng)的意義。</p><p> 第二章為需求分析,本章中明確了系統(tǒng)需要實(shí)現(xiàn)的功能,分析了系統(tǒng)的用例,并介
31、紹根據(jù)系統(tǒng)的需求選擇的開(kāi)發(fā)工具和技術(shù)的概況。</p><p> 第三章是總體設(shè)計(jì),詳細(xì)描述了本系統(tǒng)中數(shù)據(jù)庫(kù)的設(shè)計(jì)情況,并給出了系統(tǒng)總體界面的設(shè)計(jì)方案。 </p><p> 第四章為程序設(shè)計(jì)與編碼各主要功能模塊的實(shí)現(xiàn)方法和部分關(guān)鍵代碼,同時(shí)提供了個(gè)主要界面運(yùn)行的參考圖片,以更直觀了解系統(tǒng)的實(shí)現(xiàn)情況。</p><p> 第五章是軟件測(cè)試,測(cè)試系統(tǒng)功能實(shí)現(xiàn)并對(duì)測(cè)試結(jié)
32、果進(jìn)行記錄分析</p><p> 第六章為結(jié)束語(yǔ),為此次畢業(yè)設(shè)計(jì)做一個(gè)總結(jié),總結(jié)所獲得的經(jīng)驗(yàn)和體會(huì)。</p><p> 2.圖書(shū)借閱管理需求分析</p><p><b> 2.1 可行性分析</b></p><p> 采用現(xiàn)代化統(tǒng)一的計(jì)算機(jī)信息網(wǎng)站系統(tǒng),能夠有效優(yōu)化圖書(shū)館管理系統(tǒng),使其高效的發(fā)揮最大作用,能夠迅捷
33、的為讀者提供相應(yīng)的服務(wù)。開(kāi)發(fā)本系統(tǒng)的可行性研究如下:</p><p> 2.1.1 技術(shù)可行性</p><p> 技術(shù)上的可行性分析主要分析技術(shù)條件能否順利完成開(kāi)發(fā)工作,軟、硬件能否滿(mǎn)足需要。本系統(tǒng)采用JSP開(kāi)發(fā)出友好美觀的人機(jī)界面,便于用戶(hù)理解、操作。數(shù)據(jù)庫(kù)管理系統(tǒng)采用MySQL,它能夠處理大量數(shù)據(jù),同時(shí)保持?jǐn)?shù)據(jù)的完整性、安全性。因此本系統(tǒng)的開(kāi)發(fā)平臺(tái)已成熟可行。硬件方面,在科技飛速發(fā)
34、展的今天,硬件更新速度越來(lái)越快,容量越來(lái)越大,可靠性越來(lái)越高,價(jià)格越來(lái)越便宜,因此硬件平臺(tái)也能夠滿(mǎn)足本系統(tǒng)所需[2]。</p><p> 2.1.2.經(jīng)濟(jì)可行性</p><p> 鑒于計(jì)算機(jī)技術(shù)發(fā)展異常迅猛,在硬件軟件配置以及開(kāi)發(fā)技術(shù)均以可行的情況下開(kāi)發(fā)這樣一個(gè)管理系統(tǒng)成本不會(huì)很高,但其可以大大提高圖書(shū)館的工作效率,也是圖書(shū)館管理發(fā)展的必然趨勢(shì),其必將有比較寬闊的市場(chǎng),因此改性統(tǒng)在經(jīng)濟(jì)
35、可行性上時(shí)可行的[2]。</p><p> 2.2 圖書(shū)借閱管理系統(tǒng)需求概述</p><p><b> 2.2.1系統(tǒng)目標(biāo)</b></p><p> 該系統(tǒng)主要建立一個(gè)基于B/S模式的圖書(shū)館借閱管理系統(tǒng),面對(duì)當(dāng)起很多小型圖書(shū)管理仍是人工管理帶來(lái)的檢索速度慢,效率低,借閱歸還圖書(shū)量大,圖書(shū)統(tǒng)計(jì)工作量大,藏書(shū)不能完成及時(shí)更新的問(wèn)題,該系統(tǒng)可以
36、對(duì)跟系統(tǒng)的三個(gè)用戶(hù)類(lèi)型的使用實(shí)現(xiàn):</p><p> 1.對(duì)于讀者在本系統(tǒng)的應(yīng)用下可實(shí)現(xiàn)按照各種方式(如:書(shū)名,編號(hào),作者)查詢(xún)圖書(shū)館的藏書(shū)請(qǐng)客,方便的借閱圖書(shū),續(xù)借圖書(shū),歸還圖書(shū),能夠查詢(xún)自己的借閱圖書(shū)情況。</p><p> 2.對(duì)于圖書(shū)館工作人員能夠?qū)崿F(xiàn)方便的對(duì)圖書(shū)進(jìn)行查詢(xún),方便的進(jìn)行讀者借閱情況查詢(xún),方便的進(jìn)行借書(shū)還書(shū)處理等,便捷的對(duì)圖書(shū)信息進(jìn)行添加、修改、刪除,分類(lèi)管理等操作
37、,對(duì)讀者信息進(jìn)行相關(guān)添加,修改,分類(lèi)管理等操作。</p><p> 3.對(duì)于系統(tǒng)管理員可以對(duì)圖書(shū)館信息進(jìn)行修改更新操作,對(duì)系統(tǒng)用戶(hù)進(jìn)行添加、修改、刪除、權(quán)限設(shè)置等操作,對(duì)圖書(shū)館的辦證參數(shù)進(jìn)行修改維護(hù)等操作功能。</p><p> 2.2.2用戶(hù)類(lèi)和用戶(hù)特性</p><p> 圖書(shū)借閱管理系統(tǒng)是一個(gè)基于B/S模式的對(duì)圖書(shū)館進(jìn)行高效率管理的應(yīng)用系統(tǒng),它的用戶(hù)主要是
38、讀者和圖書(shū)管理員,學(xué)生通過(guò)該系統(tǒng)進(jìn)行圖書(shū)查詢(xún)進(jìn)而對(duì)自己需要的圖書(shū)進(jìn)行借閱及自己的借閱情況進(jìn)行查詢(xún),圖書(shū)管理員則通過(guò)本系統(tǒng)實(shí)現(xiàn)對(duì)圖書(shū)及讀者的高效管理,除此之外,還需要一個(gè)系統(tǒng)管理員對(duì)不同的用戶(hù)進(jìn)行權(quán)限的設(shè)置等操作[2]。</p><p> 三類(lèi)用戶(hù)的具體描述如下表所示:</p><p> 表2.1用戶(hù)具體描述</p><p> 2.3 圖書(shū)借閱管理系統(tǒng)需求模型&
39、lt;/p><p><b> 2.3.1功能描述</b></p><p> 圖書(shū)借閱管理系統(tǒng)的主要任務(wù)是實(shí)現(xiàn)讀者迅速檢索查詢(xún),方便借閱歸還圖書(shū),圖書(shū)管理員高效的完成系統(tǒng)的各項(xiàng)基本操作,系統(tǒng)管理員是管理用戶(hù)設(shè)置權(quán)限等操作[3],從圖2.1可以看出圖書(shū)借閱管理系統(tǒng)要完成一下功能:</p><p><b> 1. 登錄。</b>
40、;</p><p> 讀者、圖書(shū)管理員,系統(tǒng)管理員進(jìn)入該系統(tǒng)必須登錄,身份驗(yàn)證正確了才可以進(jìn)入該系統(tǒng),以不同身份進(jìn)入該系統(tǒng)所對(duì)應(yīng)的系統(tǒng)使用權(quán)限是不同的。</p><p> 2. 系統(tǒng)設(shè)置功能:</p><p> 系統(tǒng)管理員可以設(shè)置圖書(shū)館相關(guān)的參數(shù)信息。</p><p><b> 3.用戶(hù)管理功能:</b><
41、/p><p> 對(duì)系統(tǒng)用戶(hù)進(jìn)行添加,修改,刪除,權(quán)限設(shè)置等操作。</p><p><b> 4.查詢(xún)功能:</b></p><p> 對(duì)圖書(shū)館的館藏圖書(shū),借閱歷史,讀者用戶(hù)等信息進(jìn)行查詢(xún)。</p><p><b> 5.其他功能</b></p><p> 系統(tǒng)管理員可以
42、修改自己的密碼,并且擁有其他用戶(hù)所擁有的所有功能。</p><p> 下面的系統(tǒng)用例圖描述了整個(gè)系統(tǒng)用戶(hù)之間的動(dòng)作聯(lián)系,及功能模塊的概述[4]。</p><p><b> 圖2.1系統(tǒng)用例圖</b></p><p> 2.3.2圖書(shū)管理員詳細(xì)功能描述</p><p><b> 讀者管理功能:</b
43、></p><p> 對(duì)讀者的類(lèi)型和讀者檔案進(jìn)行管理,包括添加,修改,刪除讀者類(lèi)型和讀者用戶(hù)的相關(guān)信息,管理不同類(lèi)型讀者借閱圖書(shū)的數(shù)量。</p><p><b> 圖書(shū)管理功能:</b></p><p> 包括對(duì)圖書(shū)類(lèi)型和具體圖書(shū)信息的管理,可以增加,修改,刪除圖書(shū),豐富具體圖書(shū)的信息,對(duì)不同圖書(shū)進(jìn)行分類(lèi)操作。</p>
44、<p><b> 圖書(shū)借閱功能:</b></p><p> 可以完成對(duì)讀者借閱,續(xù)接和還書(shū)的操作。</p><p><b> 系統(tǒng)查詢(xún)功能:</b></p><p> 查詢(xún)圖書(shū)相關(guān)資料,借閱歷史和借閱到期題型.</p><p><b> 修改密碼功能:</b&g
45、t;</p><p> 可以修改自己的登錄密碼。</p><p> 2.3.3讀者詳細(xì)功能描述</p><p> 1) 修改登陸密碼:</p><p> 修改自己的登錄密碼。</p><p><b> 2) 查詢(xún)功能:</b></p><p> 對(duì)圖書(shū)館圖書(shū)信息
46、進(jìn)行查詢(xún),對(duì)自己當(dāng)前借閱書(shū)籍進(jìn)行查詢(xún),對(duì)圖書(shū)規(guī)劃到期題型進(jìn)行查看。</p><p> 2.3.4主要用例的用例描述</p><p> 圖書(shū)借閱借閱管理系統(tǒng)涉及到的用例包括:圖書(shū)借閱,圖書(shū)歸還,讀書(shū)查詢(xún),讀者信息管理,圖書(shū)信息管理,用戶(hù)管理等,現(xiàn)就系統(tǒng)的主要用例圖書(shū)借閱,圖書(shū)歸還,圖書(shū)查詢(xún)進(jìn)行詳細(xì)分析。</p><p> 1)用例“圖書(shū)借閱”</p>
47、<p> 2)用例“圖書(shū)歸還”</p><p> 3)用例“圖書(shū)查詢(xún)”</p><p><b> 3.總體設(shè)計(jì)</b></p><p><b> 3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 3.1.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述</p><p> 數(shù)據(jù)庫(kù)是整個(gè)系
48、統(tǒng)的基石,數(shù)據(jù)庫(kù)的設(shè)計(jì)優(yōu)劣直接影響到整個(gè)系統(tǒng)的設(shè)計(jì)成敗,本節(jié)對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)進(jìn)行專(zhuān)門(mén)闡述[5]。</p><p> 數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的最新技術(shù)。十多年來(lái)數(shù)據(jù)庫(kù)管理系統(tǒng)已從專(zhuān)用的應(yīng)用程序發(fā)展成為通用的系統(tǒng)軟件。由于數(shù)據(jù)庫(kù)具有數(shù)據(jù)結(jié)構(gòu)化,最低冗余度,較高的程序與數(shù)據(jù)獨(dú)立性,易于擴(kuò)充,易于編制應(yīng)用程序等優(yōu)點(diǎn),較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫(kù)設(shè)計(jì)之上的。因此不僅大型計(jì)算機(jī)及中小型計(jì)算機(jī),甚至微型機(jī)都配有數(shù)據(jù)庫(kù)管理系統(tǒng)[6]
49、。</p><p> 數(shù)據(jù)庫(kù)系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序?yàn)橹行霓D(zhuǎn)向圍繞共享的數(shù)據(jù)庫(kù)為中心的新階段。這樣既便于數(shù)據(jù)的集中管理,又有利于應(yīng)用程序的研制和維護(hù),提高了數(shù)據(jù)的利用性和相容性,提高了決策的可靠性。目前,數(shù)據(jù)庫(kù)已經(jīng)成為現(xiàn)代信息系統(tǒng)不可分割的重要組成部分。數(shù)據(jù)庫(kù)技術(shù)也是計(jì)算機(jī)領(lǐng)域中發(fā)展最快的技術(shù)之一。</p><p> 數(shù)據(jù)庫(kù)設(shè)計(jì)是把現(xiàn)實(shí)世界的實(shí)體模型與需求轉(zhuǎn)換成數(shù)據(jù)庫(kù)的模
50、型的過(guò)程,它是建立數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的核心問(wèn)題。數(shù)據(jù)庫(kù)及其應(yīng)用的性能都建立在良好的數(shù)據(jù)庫(kù)設(shè)計(jì)的基礎(chǔ)之上,數(shù)據(jù)庫(kù)的數(shù)據(jù)是一切操作的基礎(chǔ),如果數(shù)據(jù)庫(kù)設(shè)計(jì)不好,那么其它一切用于提高數(shù)據(jù)庫(kù)性能的方法收效都是有限的。數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵是如何使設(shè)計(jì)的數(shù)據(jù)庫(kù)能合理地存儲(chǔ)用戶(hù)的數(shù)據(jù),方便用戶(hù)進(jìn)行數(shù)據(jù)處理[6]。</p><p> 設(shè)計(jì)數(shù)據(jù)庫(kù)必須遵循一定的規(guī)則,在關(guān)系型數(shù)據(jù)庫(kù)中,這種規(guī)則就是范式,范式是符合某一種級(jí)別的關(guān)系模式的集合。
51、一般人們?cè)O(shè)計(jì)數(shù)據(jù)庫(kù)遵循第三范式。即:數(shù)據(jù)庫(kù)表中不包含已在其他表中包含的非主關(guān)鍵字信息。采用范式減少了數(shù)據(jù)冗余,節(jié)約了存儲(chǔ)空間,同時(shí)加快了增、刪、改的速度[6]。</p><p> 整個(gè)系統(tǒng)所包括的信息有圖書(shū)信息、讀者信息、留言信息、圖書(shū)借閱信息、圖書(shū)歸還信息、系統(tǒng)用戶(hù)信息、讀者類(lèi)型信息。可將這些信息抽象為下列系統(tǒng)所需要的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):</p><p> 1)圖書(shū)信息(編號(hào),圖書(shū)名稱(chēng)
52、,圖書(shū)類(lèi)型,作者,譯者,ISBN號(hào),價(jià)格,出版社,所在書(shū)架,入庫(kù)時(shí)間,操作員)</p><p> 2)圖書(shū)類(lèi)型(編號(hào),名稱(chēng),可借閱天數(shù))</p><p> 3)讀者信息(編號(hào),姓名,性別,條形碼,讀者類(lèi)型,出生年月,有效證件,證件號(hào)碼,登記日期,電話,郵箱,操作員)</p><p> 4)讀者類(lèi)型(名稱(chēng),可借閱圖書(shū)本數(shù))</p><p>
53、; 5)圖書(shū)借閱信息(圖書(shū)編號(hào),讀者ID,借出時(shí)間,應(yīng)還時(shí)間,是否歸還,操作員)</p><p> 6)圖書(shū)歸還信息(圖書(shū)編號(hào),讀者ID,歸還時(shí)間,操作員)</p><p> 7)用戶(hù)(編號(hào),用戶(hù)名稱(chēng),密碼)</p><p> 8)圖書(shū)館信息(編號(hào),名稱(chēng),館長(zhǎng),電話,地址,郵箱,創(chuàng)建日期,簡(jiǎn)介)</p><p> 圖書(shū)館參數(shù)信息(編
54、號(hào),辦證費(fèi)用,有效期限)</p><p> 注:帶下劃線表示主鍵</p><p> 在這里使用E-R圖描述了圖書(shū)借閱管理系統(tǒng)的數(shù)據(jù)模型。圖3.1圖書(shū)借閱管理系統(tǒng)E-R圖描述了該系統(tǒng)所涉及到的實(shí)體以及他們之間的關(guān)系。具體結(jié)構(gòu)如下圖所示:</p><p> 圖3.1 系統(tǒng)E-R 圖</p><p> 3.1.2圖書(shū)信息表結(jié)構(gòu)設(shè)計(jì)</
55、p><p> 圖書(shū)信息表主要用于存儲(chǔ)圖書(shū)館中所藏圖書(shū)的相關(guān)信息,其中的相關(guān)信息是在圖書(shū)入庫(kù)時(shí)由操作員進(jìn)行添加完善,此表主要用于讀者和圖書(shū)管理員對(duì)館中圖書(shū)的查詢(xún),系統(tǒng)用戶(hù)根據(jù)圖書(shū)的某個(gè)屬性進(jìn)行查詢(xún),便可得知圖書(shū)的其他相關(guān)信息,其中圖書(shū)所在書(shū)架屬性是便于讀者借閱時(shí)對(duì)圖書(shū)的尋找,圖書(shū)價(jià)格是在讀者不慎將圖書(shū)遺失時(shí)對(duì)遺失圖書(shū)進(jìn)行賠償?shù)囊罁?jù)。表的具體結(jié)果如下:</p><p> 表3.2圖書(shū)信息表tb
56、_bookinfo</p><p> 3.1.3圖書(shū)類(lèi)型信息表結(jié)構(gòu)設(shè)計(jì)</p><p> 該表的設(shè)計(jì)主要是方便對(duì)圖書(shū)的分類(lèi),和對(duì)圖書(shū)的查詢(xún),在實(shí)際應(yīng)用中圖書(shū)管理員就是根據(jù)圖書(shū)類(lèi)型的不同將之分列在不同的書(shū)架,以方便讀者的借閱尋找,其中可借閱天數(shù)項(xiàng)設(shè)置了不同類(lèi)型圖書(shū)的借閱期限,可根據(jù)圖書(shū)的具體情況進(jìn)行不同的維護(hù)管理,表的具體結(jié)構(gòu)設(shè)計(jì)如下:</p><p> 表3.
57、3圖書(shū)類(lèi)型信息表tb_booktype</p><p> 3.1.4 讀者信息表結(jié)構(gòu)設(shè)計(jì)</p><p> 讀者信息表的設(shè)計(jì)是為了圖書(shū)館管理員對(duì)讀者進(jìn)行管理,其中讀者ID,不同類(lèi)型證件的號(hào)碼都是唯一的,是讀者在借閱圖書(shū)時(shí)需要輸入對(duì)讀者身份進(jìn)行識(shí)別的信息,讀者郵件電話等信息室為了與讀者進(jìn)行聯(lián)系,讀者類(lèi)型信息決定了讀者一次性可借閱的圖書(shū)的數(shù)量,注冊(cè)時(shí)間可用于查詢(xún)計(jì)算讀者身份有效的期限,操作
58、員是為了便于對(duì)信息才操作的查詢(xún)。表的具體結(jié)構(gòu)設(shè)計(jì)如下:</p><p> 表3.4讀者信息表tb_reader</p><p> 3.1.5讀者類(lèi)型信息表結(jié)構(gòu)設(shè)計(jì)</p><p> 此表的設(shè)計(jì)是為了對(duì)不同身份的讀者進(jìn)行分類(lèi)方便讀者的管理,其中可借閱圖書(shū)數(shù)量的屬性設(shè)定,是根據(jù)讀者需求的不同對(duì)起權(quán)限進(jìn)行的設(shè)置,用于規(guī)定不同類(lèi)型讀者一次可借閱的圖書(shū)數(shù)量,表的具體結(jié)構(gòu)
59、設(shè)計(jì)如下:</p><p> 表3.5 讀者類(lèi)型信息表tb_readertype</p><p> 3.1.6圖書(shū)借閱信息表結(jié)構(gòu)設(shè)計(jì)</p><p> 該表的設(shè)計(jì)是用于對(duì)讀者借閱圖書(shū)進(jìn)行管理,表中圖書(shū)ID屬性是對(duì)借閱圖書(shū)的唯一性識(shí)別標(biāo)識(shí),讀者ID號(hào)記錄借閱的相應(yīng)讀者,結(jié)出時(shí)間記錄了相應(yīng)的歸還時(shí)間,以及歸還時(shí)是否超時(shí),操作員是對(duì)借閱進(jìn)行操作的人員的記錄方便日后的
60、查詢(xún),是否歸還標(biāo)識(shí)可查詢(xún)當(dāng)起讀書(shū)是否被歸還,表的具體結(jié)構(gòu)設(shè)計(jì)如下:</p><p> 表 3.6 圖書(shū)借閱信息表 tb_borrow</p><p> 3.1.7圖書(shū)歸還信息表結(jié)構(gòu)設(shè)計(jì)</p><p> 與圖書(shū)借閱信息表形成對(duì)照的是圖書(shū)歸還信息表,該表的設(shè)計(jì)除了像上表一樣把借閱的圖書(shū)與相應(yīng)的借閱者進(jìn)行對(duì)應(yīng)的聯(lián)系以外還記錄了讀者應(yīng)歸還圖書(shū)的時(shí)間,以此判斷讀者的
61、借閱是否超時(shí),表的具體結(jié)構(gòu)設(shè)計(jì)如下:</p><p> 表 3.7圖書(shū)歸還信息表tb_giveback</p><p> 3.1.8用戶(hù)信息表結(jié)構(gòu)設(shè)計(jì)</p><p> 該表的設(shè)計(jì)用于記錄圖書(shū)管理系統(tǒng)用戶(hù)的信息,方便對(duì)用戶(hù)的管理,表中包括用戶(hù)ID 和用戶(hù)的登錄密碼,表的具體結(jié)構(gòu)設(shè)計(jì)如下:</p><p> 表 3.8系統(tǒng)用戶(hù)信息表tb
62、_user</p><p> 3.1.9圖書(shū)館信息表結(jié)構(gòu)設(shè)計(jì)</p><p> 該表包含了圖書(shū)館的名稱(chēng),地址,聯(lián)系方式,建館時(shí)間,簡(jiǎn)介等信息,是對(duì)圖書(shū)館基本屬性信息的描述,方便外界讀者對(duì)圖書(shū)館的了解,表的具體結(jié)構(gòu)設(shè)計(jì)如下:</p><p> 表3.9圖書(shū)館信息表 tb_library </p><p> 3.1.10辦證參數(shù)信息表結(jié)構(gòu)
63、設(shè)計(jì)</p><p> 該表是為校外人員設(shè)計(jì)的,對(duì)于需要到圖書(shū)館進(jìn)行借閱的讀者可辦理臨時(shí)的借閱證用于對(duì)圖書(shū)的借閱憑證,表中包含了辦證所需費(fèi)用以及證件的有效期限,表的具體結(jié)果設(shè)計(jì)如下:</p><p> 表3.10圖書(shū)證參數(shù)信息表tb_parameter</p><p> 3.2 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)</p><p> 該系統(tǒng)在Window
64、s98/2000/XP環(huán)境下,主要采用JSP開(kāi)發(fā)工具,MySQL數(shù)據(jù)庫(kù)來(lái)設(shè)計(jì),開(kāi)發(fā)過(guò)程與成果應(yīng)符合GB/T 11457-1995軟件工程術(shù)語(yǔ),GB/T 8567-1988計(jì)算機(jī)軟件產(chǎn)品開(kāi)發(fā)文件編制指南等[7]。</p><p> 3.2.1圖書(shū)管理系統(tǒng)總體結(jié)構(gòu)圖</p><p> 繪制系統(tǒng)結(jié)構(gòu)圖的過(guò)程,實(shí)際上就是對(duì)系統(tǒng)功能模塊進(jìn)行分解設(shè)計(jì)的過(guò)程,即合理地將數(shù)據(jù)流程圖轉(zhuǎn)變?yōu)樗枰南到y(tǒng)結(jié)
65、構(gòu)圖[8]。</p><p> 系統(tǒng)結(jié)構(gòu)圖將會(huì)使讀者和用戶(hù)能直觀的了解系統(tǒng)的結(jié)構(gòu)模式,理解系統(tǒng)的各個(gè)功能的結(jié)構(gòu),能很好地方便用戶(hù)使用和理解整個(gè)系統(tǒng)。</p><p> 本系統(tǒng)的結(jié)構(gòu)圖如下:</p><p> 圖3.3系統(tǒng)總體結(jié)構(gòu)圖</p><p> 根據(jù)需求分析的結(jié)果,按照“低耦合、高內(nèi)聚”的原則,本系統(tǒng)將劃分為以下主要功能模塊:系統(tǒng)
66、管理員功能模塊,讀者管理功能模塊,圖書(shū)管理功能模塊,圖書(shū)借還功能模塊;系統(tǒng)查詢(xún)功能模塊[8]。</p><p> 3.2.2 系統(tǒng)管理員模塊功能</p><p> 該模塊主要包括圖書(shū)館信息設(shè)置,用戶(hù)管理,參數(shù)設(shè)置,書(shū)架設(shè)置。</p><p><b> 1.圖書(shū)館信息設(shè)置</b></p><p> 該功能選項(xiàng)用于系
67、統(tǒng)管理員對(duì)圖書(shū)館名稱(chēng),地址,聯(lián)系方式,簡(jiǎn)介等信息的管理更新,以便于讀者和外界人士對(duì)圖書(shū)館的了解。該功能是對(duì)td_library表進(jìn)行維護(hù)修改等操作,修改后的信息將被保存在該表中。</p><p><b> 2.用戶(hù)設(shè)置</b></p><p> 該功能子模塊主要是系統(tǒng)管理員對(duì)系統(tǒng)用戶(hù)的管理,通過(guò)此子模塊的功能實(shí)現(xiàn)可以對(duì)用戶(hù)進(jìn)行添加、修改、刪除、權(quán)限設(shè)置等操作,該子
68、模塊能將圖書(shū)館的不同工作細(xì)化到不同的相關(guān)人員,極大地提高了圖書(shū)館的工作效率。該操作是對(duì)tb_users表進(jìn)行操作,在對(duì)用戶(hù)進(jìn)行了相關(guān)的操作后把操作后的最新信息存放在該表中。</p><p><b> 3.圖書(shū)館參數(shù)設(shè)置</b></p><p> 通過(guò)該子模塊設(shè)置在圖書(shū)館辦理臨時(shí)讀者證的費(fèi)用及證件有效期限。該操作是對(duì)于tb_parameter表進(jìn)行,并把操作后的最新
69、數(shù)據(jù)存放在該表中。</p><p> 3.2.3 讀者管理模塊功能</p><p> 該模塊主要包含讀者類(lèi)型管理和讀者信息管理兩個(gè)子模塊:</p><p><b> 讀者類(lèi)型管理</b></p><p> 該子模塊是對(duì)圖書(shū)館系統(tǒng)用戶(hù)讀者的類(lèi)型進(jìn)行維護(hù),修改等操作,在此模塊中主要設(shè)置不同類(lèi)型讀者一次性可借閱的圖書(shū)的
70、數(shù)量,該操作是對(duì)于tb_resderType表進(jìn)行,并將操作結(jié)果保存在該表中。</p><p><b> 讀者信息管理</b></p><p> 該子模塊是對(duì)讀者的基本信息進(jìn)行管理,可以對(duì)讀者的基本信息進(jìn)行添加,修改,刪除操作,這下操作均是對(duì)tb_resder表進(jìn)行的,并將操作后的結(jié)果保存在該表中。</p><p> 3.2.4 圖書(shū)管理
71、模塊功能 </p><p> 圖書(shū)管理功能模塊可分為圖書(shū)類(lèi)型管理和圖書(shū)信息管理兩個(gè)子模塊,其各自的實(shí)現(xiàn)分別如下面表中所示:</p><p> 表3.11 圖書(shū)類(lèi)型管理描述</p><p> 表3.12 圖書(shū)信息管理描述</p><p> 3.2.5 圖書(shū)借還模塊功能</p><p> 該功
72、能模塊主要實(shí)現(xiàn)對(duì)讀者借閱、續(xù)接、歸還圖書(shū)的操作,其中子模塊各自的描述如下各表所列:</p><p> 表3.13 圖書(shū)借閱描述</p><p> 表3.14 圖書(shū)續(xù)借描述</p><p> 表3.15圖書(shū)歸還描述</p><p> 3.2.6 系統(tǒng)查詢(xún)模塊功能</p><p> 該模塊包括對(duì)圖書(shū)館藏書(shū)進(jìn)行查
73、詢(xún),對(duì)讀者借閱情況進(jìn)行查詢(xún),以及對(duì)借閱到期和超期的讀者進(jìn)行提醒的信息,其中三個(gè)子模塊的各自實(shí)習(xí)如下所示:</p><p> 表3.16 圖書(shū)查詢(xún)描述</p><p> 表3.17 圖書(shū)借閱查詢(xún)描述</p><p> 表3.18 圖書(shū)借閱到期提醒描述</p><p><b> 4.程序設(shè)計(jì)與編碼</b></p
74、><p> 4.1開(kāi)發(fā)平臺(tái)與工具</p><p> 4.1.1 J2EE平臺(tái)</p><p> J2EE ,即是Java2平臺(tái)企業(yè)版(Java 2 Platform Enterprise Edition),是原Sun公司(現(xiàn)已被甲骨文公司收購(gòu))為企業(yè)級(jí)應(yīng)用推出的標(biāo)準(zhǔn)平臺(tái)。它簡(jiǎn)化了企業(yè)解決方案的開(kāi)發(fā)、部署和管理相關(guān)復(fù)雜問(wèn)題的體系結(jié)構(gòu),J2EE技術(shù)的基礎(chǔ)就是核心Jav
75、a平臺(tái)或Java 2平臺(tái)的標(biāo)準(zhǔn)版,J2EE不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如"編寫(xiě)一次、隨處運(yùn)行"的特性、方便存取數(shù)據(jù)庫(kù)的JDBC API、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì) EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術(shù)的全面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開(kāi)發(fā)
76、者大幅縮短投放市場(chǎng)時(shí)間的體系結(jié)構(gòu)。J2EE體系結(jié)構(gòu)提供中間層集成框架用來(lái)滿(mǎn)足無(wú)需太多費(fèi)用而又需要高可用性、高可靠性以及可擴(kuò)展性的應(yīng)用的需求。通過(guò)提供統(tǒng)一的開(kāi)發(fā)平臺(tái),J2EE降低了開(kāi)發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持Enterprise JavaBeans,有良好的向?qū)еС?lt;/p><p> 在開(kāi)發(fā)圖書(shū)館借閱管理系統(tǒng)的過(guò)程中,應(yīng)用Myeclipse6.0.1,它可以在數(shù)據(jù)庫(kù)和
77、J2EE的開(kāi)發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。Myeclipse是功能豐富的J2EE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL[10]。</p><p> 4.1.2 WEB服務(wù)器和數(shù)據(jù)庫(kù)</p><p> 在系統(tǒng)的開(kāi)發(fā)過(guò)程中使用的Web應(yīng)用服務(wù)器是Tomcat,是
78、Apache 軟件基金會(huì)(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、SUN和其他一些公司及個(gè)人共同開(kāi)發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn)。Tomcat是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,它運(yùn)行時(shí)占用的系統(tǒng)資源小、擴(kuò)展性好、支持負(fù)載平衡和郵件服務(wù)等開(kāi)發(fā)應(yīng)用系統(tǒng)常用的功能,因此在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶(hù)不是很多
79、的時(shí)候,經(jīng)常被使用[11]。</p><p> 使用MySQL作為數(shù)據(jù)庫(kù)開(kāi)發(fā)工具。MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQL AB公司。在2008年1月16號(hào)被Sun公司收購(gòu)。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)[11]。</p
80、><p> 為了開(kāi)發(fā)的便捷快速,使用struts第三方插件。Struts是一個(gè)全新的MVC框架,實(shí)在WebWork基礎(chǔ)上發(fā)展起來(lái)的[12]。</p><p> 開(kāi)發(fā)系統(tǒng)用的系統(tǒng)工具如表4.1所示:</p><p> 表4.1 系統(tǒng)開(kāi)發(fā)平臺(tái)和工具</p><p><b> 4.2程序設(shè)計(jì)</b></p>
81、<p> 4.2.1程序設(shè)計(jì)概述</p><p> 在設(shè)計(jì)的Web層應(yīng)用了著名的MVC模式,V有JSP來(lái)實(shí)現(xiàn),為了業(yè)務(wù)邏輯和表示的分離.它是基于Web應(yīng)用系統(tǒng),它的客戶(hù)端使用Broswer,然后是Web層的應(yīng)用,業(yè)務(wù)邏輯層(有EJB實(shí)現(xiàn)),資源管理層。客戶(hù)請(qǐng)求瀏覽頁(yè)面,一般Web層的View有JSP組成,并且使用了大量Taglib。把每個(gè)請(qǐng)求映射到某個(gè)HTMLAction類(lèi)來(lái)響應(yīng)它。HTML Act
82、ion類(lèi)是一個(gè)標(biāo)準(zhǔn)的類(lèi),執(zhí)行選擇的HTML Action。使用MVC模式減少了代碼的復(fù)制,即減少了代碼的維護(hù),由于模型返回的格式不帶任何顯示格式,因而模型可以直接應(yīng)用于接口的使用,還因?yàn)镸VC模型把不同的模型和不同的視圖組合在一起完成不同的請(qǐng)求,因此,控制層可以說(shuō)包含了用戶(hù)請(qǐng)求權(quán)限的概念[13]。</p><p> 在設(shè)計(jì)中還因應(yīng)用了Struts框架,Struts跟Tomcat、Turbine等諸多Apache
83、項(xiàng)目一樣,是開(kāi)源軟件,這是它的一大優(yōu)點(diǎn)。使開(kāi)發(fā)者能更深入的了解其內(nèi)部實(shí)現(xiàn)機(jī)制[11]。 </p><p> 除此之外,Struts的優(yōu)點(diǎn)主要集中體現(xiàn)在Taglib和頁(yè)面導(dǎo)航。Taglib是Struts的標(biāo)記庫(kù),靈活動(dòng)用,能大大提高開(kāi)發(fā)效率。頁(yè)面導(dǎo)航使系統(tǒng)的脈絡(luò)更加清晰。通過(guò)一個(gè)配置文件,即可把握整個(gè)系統(tǒng)各部分之間的聯(lián)系,這對(duì)于后期的維護(hù)有著莫大的好處[11]。</p><p> 4.2
84、.2數(shù)據(jù)庫(kù)與Web服務(wù)器的連接</p><p> 數(shù)據(jù)庫(kù)連接時(shí)采用連接池技術(shù)鏈接MySQL,具體代碼實(shí)現(xiàn)如下:</p><p> public ConnDB(){</p><p><b> try {</b></p><p> InputStream in=getClass().getResourceAsStre
85、am(propFileName);</p><p> prop.load(in);//通過(guò)輸入流對(duì)象加載Properties文件</p><p> dbClassName = prop.getProperty("DB_CLASS_NAME");//獲取數(shù)據(jù)庫(kù)驅(qū)動(dòng)</p><p> dbUrl = prop.getProp
86、erty("DB_URL",</p><p> "jdbc:mysql://127.0.0.1:3306/db_librarySys?user=root&password=123&useUnicode=true");</p><p><b> }</b></p><p> catch
87、 (Exception e) {</p><p> e.printStackTrace();//輸出異常信息</p><p><b> }</b></p><p><b> }</b></p><p> public static Connection getConnection() {
88、</p><p> Connection conn = null;</p><p><b> try {</b></p><p> Class.forName(dbClassName).newInstance();</p><p> conn = DriverManager.getConnection(dbUrl
89、);</p><p><b> }</b></p><p> catch (Exception ee) {</p><p> ee.printStackTrace();</p><p><b> }</b></p><p> if (conn == null) {&
90、lt;/p><p> System.err.println(</p><p> "警告: DbConnectionManager.getConnection() 獲得數(shù)據(jù)庫(kù)鏈接失敗.\r\n\r\n鏈接類(lèi)型:" +</p><p> dbClassName + "\r\n鏈接位置:" + dbUrl);</p>
91、<p><b> }</b></p><p> return conn;</p><p><b> }</b></p><p><b> /*</b></p><p> * 功能:執(zhí)行查詢(xún)語(yǔ)句</p><p><b>
92、*/</b></p><p> public ResultSet executeQuery(String sql) {</p><p><b> try {</b></p><p> conn = getConnection();</p><p> stmt = conn.createStatemen
93、t(ResultSet.TYPE_SCROLL_INSENSITIVE,</p><p> ResultSet.CONCUR_READ_ONLY);</p><p> rs = stmt.executeQuery(sql);</p><p> } catch (SQLException ex) {</p><p> System.er
94、r.println(ex.getMessage());</p><p><b> }</b></p><p> return rs;</p><p><b> }</b></p><p><b> /*</b></p><p> * 功能:執(zhí)行
95、更新操作</p><p><b> */</b></p><p> public int executeUpdate(String sql) {</p><p> int result = 0;</p><p><b> try {</b></p><p> con
96、n = getConnection();//調(diào)用getConnection()方法構(gòu)造Connection對(duì)象的一個(gè)實(shí)例conn</p><p> stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,</p><p> ResultSet.CONCUR_READ_ONLY);</p><
97、;p> result = stmt.executeUpdate(sql);//執(zhí)行更新操作</p><p> } catch (SQLException ex) {</p><p> result = 0;</p><p><b> }</b></p><p> return result;</
98、p><p><b> }</b></p><p><b> /*</b></p><p> * 功能:關(guān)閉數(shù)據(jù)庫(kù)的連接</p><p><b> */</b></p><p> public void close() {</p>&l
99、t;p><b> try {</b></p><p> if (rs != null) {</p><p> rs.close();</p><p><b> }</b></p><p> if (stmt != null) {</p><p> stmt.
100、close();</p><p><b> }</b></p><p> if (conn != null) {</p><p> conn.close();</p><p><b> }</b></p><p> } catch (Exception e) {&l
101、t;/p><p> e.printStackTrace(System.err);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 4.2.3登錄模塊程序設(shè)計(jì)<
102、/p><p> 本模塊主要是用戶(hù)通過(guò)圖書(shū)管理系統(tǒng)的首頁(yè)登錄進(jìn)入該系統(tǒng)。用戶(hù)輸入正確的用戶(hù)名和密碼,系統(tǒng)會(huì)根據(jù)用戶(hù)的身份進(jìn)行相應(yīng)權(quán)限劃分;如果登錄信息有錯(cuò)誤,則系統(tǒng)提示登入錯(cuò)誤的信息,并且禁止系統(tǒng)用戶(hù)進(jìn)行任何操作。圖書(shū)借閱管理系統(tǒng)的登錄主頁(yè)面如圖4.1所示。</p><p> 圖4.1 圖書(shū)管理系統(tǒng)登錄首頁(yè)</p><p> 用戶(hù)在登錄頁(yè)面寫(xiě)好用戶(hù)名和密碼,選擇登錄
103、,登錄成功則跳轉(zhuǎn)到系統(tǒng)的首頁(yè),否則提示錯(cuò)誤信息[14]。在服務(wù)器端進(jìn)行用戶(hù)身份驗(yàn)證的程序流程圖如圖4.2程序流程圖所示</p><p> 圖4.2用戶(hù)登錄流程圖</p><p> 4.2.4系統(tǒng)管理員功能模塊的實(shí)現(xiàn)</p><p> 本模塊中最主要的是管理系統(tǒng)用戶(hù),設(shè)置圖書(shū)館信息等操作,其中管理系統(tǒng)用戶(hù)包括對(duì)他們進(jìn)行添加,修改,刪除及權(quán)限劃分操作。</p
104、><p> 其中系統(tǒng)管理員讀系統(tǒng)用戶(hù)進(jìn)行管理的操作頁(yè)面如下圖所示:</p><p> 圖4.3 系統(tǒng)管理員管理用戶(hù)操作界面</p><p> 其中對(duì)系統(tǒng)用戶(hù)權(quán)限的設(shè)置是該操作的重要部分也是系統(tǒng)提高效率的關(guān)鍵所在,起具體實(shí)現(xiàn)代碼為:</p><p> private ActionForward managerModify(ActionMap
105、ping mapping, ActionForm form,</p><p> HttpServletRequest request, HttpServletResponse response) {</p><p> ManagerForm managerForm = (ManagerForm) form;</p><p> managerForm.setId
106、(managerForm.getId()); //獲取并設(shè)置管理員ID號(hào)</p><p> managerForm.setName(managerForm.getName()); //獲取并設(shè)置管理員名稱(chēng)</p><p> managerForm.setPwd(managerForm.getPwd()); //獲取并設(shè)置管理員密碼</p><p>
107、 managerForm.setSysset(managerForm.getSysset());//獲取并設(shè)置系統(tǒng)設(shè)置權(quán)限</p><p> managerForm.setReaderset(managerForm.getReaderset()); //獲取并設(shè)置讀者管理權(quán)限</p><p> managerForm.setBookset(managerForm.getBookse
108、t()); //獲取并設(shè)置圖書(shū)管理權(quán)限</p><p> managerForm.setBorrowback(managerForm.getBorrowback());//獲取并設(shè)置圖書(shū)借還權(quán)限</p><p> managerForm.setSysquery(managerForm.getSysquery()); //獲取并設(shè)置系統(tǒng)查詢(xún)權(quán)限</p><p>
109、; int ret = managerDAO.update(managerForm); //調(diào)用設(shè)置管理員權(quán)限的方法</p><p> if (ret == 0) {</p><p> request.setAttribute("error", "設(shè)置管理員權(quán)限失敗!");//保存錯(cuò)誤提示信息到error參數(shù)中</p>
110、<p> return mapping.findForward("error"); //轉(zhuǎn)到錯(cuò)誤提示頁(yè)面</p><p><b> } else {</b></p><p> return mapping.findForward("managerModify");//轉(zhuǎn)到權(quán)限設(shè)置成功頁(yè)面</
111、p><p><b> }</b></p><p><b> }</b></p><p> 4.2.5讀者管理功能模塊的實(shí)現(xiàn)</p><p> 讀者管理主要實(shí)現(xiàn)對(duì)讀者的類(lèi)型管理和信息管理兩個(gè)功能子模塊,其中讀者類(lèi)型管理中需要設(shè)置不同類(lèi)型讀者一次性可借閱的圖書(shū)數(shù)量,讀者信息管理則主要管理維護(hù)讀者的基
112、本信息,其各自操作界面如下所示:</p><p> 1) 讀者類(lèi)型管理功能界面:</p><p> 圖4.4 讀者類(lèi)型管理操作界面</p><p> 2)讀者信息管理功能界面:</p><p> 圖4.5 讀者信息管理界面</p><p> 該管理功能在設(shè)置讀者信息時(shí)需要輸入讀者姓名,性別,條形碼,選擇讀者類(lèi)
113、別,有效證件,證件號(hào)碼,電話,e-mail等信息。其中的姓名,性別,條形碼,證件號(hào)碼是必填選項(xiàng)。</p><p> 4.2.6查詢(xún)功能模塊的實(shí)現(xiàn)</p><p> 查詢(xún)功能模塊包括圖書(shū)查詢(xún),讀者借閱查詢(xún)和借閱到期提醒三個(gè)子功能模塊。</p><p> 1) 圖書(shū)查詢(xún)可根據(jù)圖書(shū)的條形碼,書(shū)名,作者,出版社等不同信息進(jìn)行查詢(xún),其操作界面圖下圖所示:</p&g
114、t;<p> 圖4.6 圖書(shū)查詢(xún)操作界面</p><p> 實(shí)現(xiàn)該功能中根據(jù)讀者不同需求的按條件查詢(xún)實(shí)現(xiàn)語(yǔ)句如下:</p><p> public Collection query(String strif){</p><p> BookForm bookForm=null;</p><p> Collection b
115、ookColl=new ArrayList();</p><p> String sql="";</p><p> if(strif!="all" && strif!=null && strif!=""){</p><p> sql="select * fro
116、m (select b.*,c.name as bookcaseName,p.pubname as publishing,t.typename from tb_bookinfo b left join tb_bookcase c on b.bookcase=c.id join tb_publishing p on b.ISBN=p.ISBN join tb_booktype t on b.typeid=t.id where b.del=
117、0) as book where book."+strif+"'";</p><p><b> }else{</b></p><p> sql="select b.*,c.name as bookcaseName,p.pubname as publishing,t.typename from tb_bookinfo
118、 b left join tb_bookcase c on b.bookcase=c.id join tb_publishing p on b.ISBN=p.ISBN join tb_booktype t on b.typeid=t.id where b.del=0";</p><p><b> }</b></p><p> System.out.pri
119、ntln("圖書(shū)查詢(xún)時(shí)的SQL:"+sql);</p><p> ResultSet rs=conn.executeQuery(sql);</p><p><b> try {</b></p><p> while (rs.next()) {</p><p> bookForm=new Boo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于java的圖書(shū)館管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于java的圖書(shū)館管理系統(tǒng)
- 基于java的圖書(shū)館管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于java的圖書(shū)館管理系統(tǒng).畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于java的圖書(shū)館管理系統(tǒng)
- 優(yōu)秀畢業(yè)設(shè)計(jì)論文+源碼基于java的圖書(shū)館管理系統(tǒng)畢業(yè)設(shè)計(jì)(論文)
- 圖書(shū)館管理系統(tǒng)(java) 優(yōu)秀畢業(yè)設(shè)計(jì)論文+源碼
- 基于JAVA的圖書(shū)館管理系統(tǒng).畢業(yè)設(shè)計(jì).doc
- 基于java的圖書(shū)館管理系統(tǒng)設(shè)計(jì)(畢業(yè)論文)
- (論文)基于java的圖書(shū)館管理系統(tǒng)()論文(2013年優(yōu)秀畢業(yè)設(shè)計(jì)論文)
- 基于java的圖書(shū)館管理系統(tǒng)的設(shè)計(jì)畢業(yè)論文
- 圖書(shū)館管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 基于jsp圖書(shū)館管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 基于java的圖書(shū)館管理系統(tǒng)設(shè)計(jì)
- 基于jsp圖書(shū)館管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 基于-java的圖書(shū)館管理系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)---圖書(shū)館管理系統(tǒng)
- 圖書(shū)館管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)論文 圖書(shū)館管理系統(tǒng)設(shè)計(jì)
- 圖書(shū)館借閱管理系統(tǒng)---畢業(yè)設(shè)計(jì)論文
評(píng)論
0/150
提交評(píng)論