版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于JSP的高校圖書管理系統(tǒng)的開發(fā)與設(shè)計(jì)</p><p><b> 摘 要</b></p><p> 圖書管理系統(tǒng)是基于JSP的Web應(yīng)用程序,并以互聯(lián)網(wǎng)為傳播媒介來實(shí)現(xiàn)圖書管理的一個(gè)管理平臺(tái)。系統(tǒng)采用管理員制管理,同時(shí)普通用戶只能進(jìn)行部分的查詢功能。系統(tǒng)功能模塊主要有:圖書管理、用戶管理、借閱管理和個(gè)人管理。</p><
2、p> 本文主要論述了其開發(fā)與設(shè)計(jì)的基本過程,在開發(fā)設(shè)計(jì)過程中主要運(yùn)用了JSP、Javascript、Microsoft SQL Server2005數(shù)據(jù)庫等相關(guān)技術(shù),根據(jù)面向?qū)ο箝_發(fā)原理,采用基于B/S的體系結(jié)構(gòu)來開發(fā)系統(tǒng)。圖書管理系統(tǒng)使學(xué)校的圖書管理變的更加方便,同時(shí)使管理人員從繁重的業(yè)務(wù)核算工作中解脫了出來,大大減輕了管理人員的工作負(fù)擔(dān),同時(shí)系統(tǒng)快捷的信息存儲(chǔ)與查詢功能很大地提高了管理人員的工作效率,節(jié)約了寶貴的時(shí)間。<
3、;/p><p> 關(guān)鍵詞:圖書管理,Microsoft SQL Server2005數(shù)據(jù)庫,JSP,B/S</p><p> BASED ON JSP OF COLLEGE LIBRARY MANAGEMENT SYSTEM DEVELOPMENT AND DESIGN</p><p><b> ABSTRACT</b></p>
4、<p> Books management system is based on JSP Web applications, and with the Internet as a medium to realize a management platform books management. System adopts the administrator system management,and ordinary us
5、ers can only carry on the part of the search function, system function mainly has four modules: library management, user management, lending management and personal management. This paper mainly discusses the development
6、 and design basic process, in the development of design process mainly u</p><p> KEY WORDS: Books management, Microsoft SQL Server database,JSP,B/S</p><p><b> 目 錄</b></p>&l
7、t;p><b> 前 言1</b></p><p> 第1章 系統(tǒng)概論2</p><p> 1.1 開發(fā)背景及意義2</p><p> 1.2 課題任務(wù)要求2</p><p> 第2章 系統(tǒng)需求分析4</p><p> 2.1 可行性分析4</p>&l
8、t;p> 2.2 功能需求4</p><p> 2.3 系統(tǒng)UML建模分析5</p><p> 2.3.1 系統(tǒng)用例建模5</p><p> 2.3.2 系統(tǒng)對(duì)象類建模6</p><p> 2.3.3 部分用例活動(dòng)圖描述8</p><p> 2.4 系統(tǒng)開發(fā)環(huán)境及工具9</p>
9、<p> 2.4.1 開發(fā)/運(yùn)行環(huán)境9</p><p> 2.4.2 開發(fā)工具的選取9</p><p> 第3章 系統(tǒng)的設(shè)計(jì)11</p><p> 3.1 系統(tǒng)數(shù)據(jù)流程描述11</p><p> 3.2 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)12</p><p> 3.3 功能模塊設(shè)計(jì)13</p&
10、gt;<p> 3.3.1 圖書管理功能設(shè)計(jì)13</p><p> 3.3.2 用戶管理功能設(shè)計(jì)14</p><p> 3.3.3 借閱管理功能設(shè)計(jì)14</p><p> 3.3.4 個(gè)人管理功能設(shè)計(jì)15</p><p> 3.4 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)15</p><p> 3.4.1 數(shù)
11、據(jù)庫設(shè)計(jì)概述15</p><p> 3.4.2 概念結(jié)構(gòu)設(shè)計(jì)15</p><p> 3.4.3 設(shè)計(jì)數(shù)據(jù)完整性16</p><p> 3.4.4 邏輯結(jié)構(gòu)設(shè)計(jì)17</p><p> 3.4.5 觸發(fā)器設(shè)計(jì)18</p><p> 第4章 系統(tǒng)實(shí)現(xiàn)20</p><p> 4.
12、1 連接數(shù)據(jù)庫的實(shí)現(xiàn)20</p><p> 4.2 登錄界面的實(shí)現(xiàn)20</p><p> 4.3 主界面的實(shí)現(xiàn)21</p><p> 4.4 圖書管理模塊的實(shí)現(xiàn)23</p><p> 4.5 用戶管理模塊的實(shí)現(xiàn)27</p><p> 4.6 借閱管理模塊的實(shí)現(xiàn)28</p><p
13、> 第5章 系統(tǒng)運(yùn)行與測試31</p><p> 5.1 測試敘述31</p><p> 5.2 系統(tǒng)部分單元測試實(shí)例31</p><p> 5.2.1 登錄界面的測試31</p><p> 5.2.2 圖書管理模塊的測試31</p><p> 5.2.3 用戶管理模塊的測試32</
14、p><p> 5.2.4 借閱管理模塊的測試33</p><p> 5.2.5 個(gè)人管理模塊的測試33</p><p> 5.3 測試結(jié)果33</p><p><b> 結(jié) 論34</b></p><p><b> 謝 辭35</b></p>&
15、lt;p><b> 參考文獻(xiàn)36</b></p><p><b> 前 言</b></p><p> 在信息化時(shí)代的今天,大量的信息伴隨著每天的生活,這就需要我們很好的去管理這些信息,使這些信息規(guī)范化,有條理。在圖書館管理方面每天就有大量的信息要處理,在人數(shù)不多的情況下要處理好這些信息,一套好的管理軟件是必要的。在現(xiàn)實(shí)中很多地方的圖
16、書館積累了數(shù)萬冊(cè)圖書,但由于還沒有形成可綜合利用的數(shù)據(jù)庫,也沒有一套計(jì)算機(jī)管理系統(tǒng),致使圖書的檢索、查閱都很不方便,而圖書管理系統(tǒng)則解決了這些問題,它幫助工作人員對(duì)圖書進(jìn)行規(guī)范化管理,解決了繁瑣信息的管理難問題。</p><p> 開發(fā)系統(tǒng)的目的是針對(duì)目前普遍的圖書管理系統(tǒng)存在的功能不全,操作復(fù)雜等一系列問題,而開發(fā)一個(gè)具有個(gè)性化的圖書管理系統(tǒng),在圖書館內(nèi)部建成可靠、方便,并且功能齊全的系統(tǒng),從而在圖書館對(duì)新舊
17、書的反應(yīng)、對(duì)書籍借閱的管理能力、對(duì)讀者和圖書館工作人員的管理能力、對(duì)圖書館管理人員軟件操作的適應(yīng)時(shí)間和操作感覺這些方面都將大大提高。</p><p> 圖書管理系統(tǒng)主要有四大模塊的管理工作,分別是圖書管理、用戶管理、借閱管理和個(gè)人管理,所以圖書管理系統(tǒng)的以四大模塊為核心,各個(gè)模塊逐步完善的方式進(jìn)行開發(fā)。借書與還書是圖書管理系統(tǒng)最基礎(chǔ)的功能,圖書管理系統(tǒng)在完成這些功能時(shí)避免了可能出現(xiàn)的錯(cuò)誤漏洞,這是其一大優(yōu)點(diǎn)。&
18、lt;/p><p><b> 第1章 系統(tǒng)概論</b></p><p> 1.1 開發(fā)背景及意義</p><p> 圖書館的職能就是收藏并且傳播先進(jìn)文化。即通過各類文獻(xiàn)、資料、圖書的收藏和知識(shí)、信息的傳播,在素質(zhì)教育和教育現(xiàn)代化、信息化中發(fā)揮著重要作用?!皶侨祟愡M(jìn)步的階梯”。圖書館是一個(gè)很重要的、層次很高的服務(wù)機(jī)構(gòu)。圖書館的好壞優(yōu)劣,是一
19、個(gè)校園文化進(jìn)步與否的縮影。由于人們求學(xué)、求知的渴望越來越強(qiáng)烈,因此圖書館在現(xiàn)實(shí)學(xué)習(xí)生活中發(fā)揮的作用就越來越大了。 在這個(gè)信息爆炸的時(shí)代,課堂書本上的知識(shí)遠(yuǎn)遠(yuǎn)不能夠滿足現(xiàn)代學(xué)生的求知需求,素質(zhì)教育講究的是因材施教,在傳統(tǒng)教育的基礎(chǔ)上,學(xué)校應(yīng)該創(chuàng)造一個(gè)良好的自學(xué)平臺(tái),讓學(xué)生根據(jù)自己的愛好,可以隨時(shí)獲取自己所需要的知識(shí),作為教育一線的學(xué)校,應(yīng)該首當(dāng)其沖提供這個(gè)平臺(tái),而圖書館是這個(gè)平臺(tái)中至關(guān)重要的基礎(chǔ)設(shè)施。圖書館在正常運(yùn)行過程中總是面對(duì)大量的讀
20、者信息,書籍信息以及兩者相互作用產(chǎn)生的借書信息、還書信息。因此需要對(duì)讀者資源、書籍資源、借書信息、還書信息進(jìn)行管理,及時(shí)了解各個(gè)環(huán)節(jié)中信息的變更,要對(duì)因此而產(chǎn)生的單據(jù)進(jìn)行及時(shí)的處理,為了提高圖書館對(duì)圖書存銷的自動(dòng)化的管理,能夠更快速的滿足讀者的要求,提高各種工作的效率,一個(gè)好的圖書管理系統(tǒng)是必須的。</p><p> 1.2 課題任務(wù)要求</p><p> 本課題的主要任務(wù)是設(shè)計(jì)與開發(fā)
21、一個(gè)基于JSP的高校圖書管理系統(tǒng),使之能夠?yàn)閳D書館的管理工作帶來方便。相關(guān)要求如下:</p><p> 1. 符合圖書管理規(guī)定,滿足圖書管理系統(tǒng)需要,界面美觀,操作方便。</p><p> 2. 相關(guān)數(shù)據(jù)庫(表結(jié)構(gòu))的設(shè)計(jì),滿足3NF,具有數(shù)據(jù)庫維護(hù)功能。</p><p> 3. 系統(tǒng)應(yīng)具備一定的安全性。</p><p> 4. 采用
22、模塊化程序設(shè)計(jì)方案,完成系統(tǒng)的總體規(guī)劃、分析、設(shè)計(jì)、實(shí)施、運(yùn)行與維護(hù),并進(jìn)行系統(tǒng)的開發(fā)總結(jié)。 </p><p> 5. 完成系統(tǒng)的集成測試和調(diào)試,運(yùn)行正常,能在指定的服務(wù)器上演示,提交原程序,并按要求完成畢業(yè)設(shè)計(jì)說明書的撰寫。</p><p> 第2章 系統(tǒng)需求分析</p><p><b> 2.1 可行性分析</b></p>
23、<p> 可行性分析也稱可行性研究,是決策部門在采取一項(xiàng)重大改革或行動(dòng)之前,對(duì)該項(xiàng)目的必要性和可能性進(jìn)行分析與論證的活動(dòng)。</p><p><b> 1. 技術(shù)可行性</b></p><p> 圖書管理系統(tǒng)是采用B/S(瀏覽求/服務(wù)器)的體系結(jié)構(gòu)。即通過www瀏覽器向數(shù)據(jù)庫服務(wù)器發(fā)布標(biāo)準(zhǔn)SQL命令和接收數(shù)據(jù)庫服務(wù)器的運(yùn)算結(jié)果,數(shù)據(jù)庫服務(wù)器則負(fù)責(zé)數(shù)據(jù)
24、查詢、更改、統(tǒng)計(jì)等運(yùn)算,并將運(yùn)算結(jié)果返回瀏覽器。這一運(yùn)算模式的好處是數(shù)據(jù)運(yùn)算集中在服務(wù)器端進(jìn)行,在網(wǎng)絡(luò)上傳輸?shù)闹皇菣z索式與運(yùn)算結(jié)果。</p><p> 安全性。采用進(jìn)入功能的口令權(quán)限檢查,對(duì)應(yīng)不同的用戶擁有不同的操作權(quán)限,這些口令有可以方便地進(jìn)行修改。</p><p> 易用性。通過專門的查詢?cè)O(shè)計(jì),可進(jìn)行高效率的檢索查詢。系統(tǒng)不僅可以對(duì)單條記錄進(jìn)行查詢,還可查詢符合相關(guān)條件的多條記錄。
25、</p><p><b> 2. 經(jīng)濟(jì)可行性</b></p><p> 新系統(tǒng)利用現(xiàn)有的校園網(wǎng)資源,節(jié)省了購買設(shè)備的費(fèi)用;新系統(tǒng)自行設(shè)計(jì)自行開發(fā),具有很高的性價(jià)比;新系統(tǒng)投入使用后,可節(jié)省人力,減輕勞動(dòng)強(qiáng)度,從而降低了成本,節(jié)省開支。</p><p><b> 2.2 功能需求</b></p><
26、p> 在該系統(tǒng)中,主要涉及到兩種用戶登錄該系統(tǒng),普通用戶和管理員。對(duì)于這兩種用戶來說,功能上的需求如下:</p><p> 普通用戶通過身份驗(yàn)證后進(jìn)入到系統(tǒng)主界面,進(jìn)入主界面后,普通用戶只能進(jìn)行個(gè)人管理模塊的操作,無法使用其他模塊的功能。個(gè)人管理模塊要有查看個(gè)人借閱信息、搜索書籍、修改密碼、注銷的功能。</p><p> 管理員通過身份驗(yàn)證后進(jìn)入到系統(tǒng)主界面,管理員具有系統(tǒng)全部
27、功能權(quán)限,首先能夠進(jìn)行個(gè)人管理模塊的操作,其次還能夠?qū)D書管理模塊、用戶管理模塊和借閱管理模塊進(jìn)行操作。各模塊應(yīng)具有如下功能</p><p><b> 1. 圖書管理模塊</b></p><p> 圖書管理模塊應(yīng)具有注冊(cè)圖書信息、修改圖書信息、刪除圖書信息、搜索圖書信息的功能。</p><p><b> 2. 用戶管理模塊<
28、;/b></p><p> 用戶管理模塊應(yīng)具有注冊(cè)用戶信息、修改用戶信息、繳納罰金、刪除用戶信息、搜索用戶信息的功能。</p><p><b> 3. 借閱管理模塊</b></p><p> 借閱管理模塊應(yīng)具有借書、還書、搜索借書情況的功能。</p><p> 2.3 系統(tǒng)UML建模分析</p>
29、<p> 2.3.1 系統(tǒng)用例建模</p><p> 通過對(duì)圖書管理系統(tǒng)的分析,確定系統(tǒng)有兩個(gè)參與者,分別為圖書管理員和借閱者。</p><p> 圖書管理員有圖書管理、用戶管理、借閱管理、個(gè)人管理的功能,其各功能模塊包含的具體功能如圖2-1所示。</p><p> 圖2-1 圖書管理系統(tǒng)的用例圖</p><p> 圖
30、書管理功能用來完成對(duì)圖書的管理工作。圖書管理包括注冊(cè)圖書、刪除圖書、修改圖書信息、搜書四個(gè)功能。注冊(cè)圖書功能用來完成對(duì)新書的入庫工作;刪除圖書功能用來完成對(duì)于一些舊書、丟失書籍的出庫工作;修改圖書信息功能用來更改圖書信息;搜書功能用來對(duì)圖書進(jìn)行搜索操作。</p><p> 用戶管理功能用來完成對(duì)用戶的管理工作。用戶管理包括注冊(cè)用戶、刪除用戶修改用戶信息、繳納罰金、搜索用戶五個(gè)功能。注冊(cè)用戶功能用來添加新的借閱者
31、;刪除用戶用來把刪除已有的借閱者;修改用戶信息功能用來更改已有用戶信息;繳納罰金功能對(duì)于上次圖書超期的用戶,只有繳納罰金后才可繼續(xù)借書,否則無法再借;搜索用戶功能用來搜索用戶的個(gè)人資料。</p><p> 借閱管理功能用來完成基本的借書還書工作。借閱管理包括借書、還書、搜索借閱者信息三個(gè)功能。借書功能用來完成借閱者的借書工作;還書功能用來完成借閱者的還書工作;搜索借閱者信息功能用來對(duì)借閱者的借書情況盡心搜索。&
32、lt;/p><p> 個(gè)人管理功能是借閱者唯一可以使用的一個(gè)功能模塊,主要供圖書管理員或者是借閱者完成一些個(gè)人管理操作。個(gè)人管理包括查看我的借閱情況、搜書、修改密碼、注銷四個(gè)功能。查看我的借閱情況主要是供借閱者瀏覽一下自己借閱的書籍的信息;搜書與圖書管理中的搜書功能相同;修改密碼功能用來完成用戶登錄系統(tǒng)后對(duì)自己密碼的修改工作;注銷功能則是用戶退出系統(tǒng)。</p><p> 2.3.2 系統(tǒng)對(duì)
33、象類建模</p><p> 類與對(duì)象建模用于描述一個(gè)系統(tǒng)的靜態(tài)結(jié)構(gòu)。本系統(tǒng)類有兩種類型:一種是實(shí)體類,一種是操作類。</p><p> 1. 操作類關(guān)系圖,如圖2-2所示。</p><p> 圖2-2 操作類關(guān)系圖</p><p> 系統(tǒng)有四個(gè)操作類,分別是基礎(chǔ)操作類(BaseDao)、圖書操作類(BaseDao)、用戶操作類(Use
34、rDao)、借閱操作類(UserBookDao),最后三個(gè)類均繼承于基礎(chǔ)操作類。BaseDao有三個(gè)功能函數(shù),功能分別是與數(shù)據(jù)庫建立連接、關(guān)閉與數(shù)據(jù)庫的連接、執(zhí)行SQL語句,而圖書操作、用戶操作、借閱操作都用到了這些功能,使用繼承為程序減少了大量重復(fù)代碼。</p><p> 2. 圖書借還管理類,如圖2-3所示。</p><p> 圖2-3 圖書借還管理類圖</p>&l
35、t;p> 借還書時(shí)由借閱管理器完成,借閱管理器提取借閱者和書的某些屬性構(gòu)造一組對(duì)象并通過自身方法對(duì)其進(jìn)行存儲(chǔ)和管理,從而達(dá)到圖書借閱與歸還的目的。</p><p> 2.3.3 部分用例活動(dòng)圖描述</p><p> 1. 借書功能活動(dòng)圖,如圖2-4所示。</p><p> 圖2-4 借書功能活動(dòng)圖</p><p> 借書時(shí)要輸
36、入借書證號(hào)和圖書編號(hào),然后進(jìn)行信息完整性驗(yàn)證,通過驗(yàn)證之后,查詢數(shù)據(jù)庫判斷是否有此用戶以及有沒有罰金,如果沒有此用戶則顯示沒有此用戶信息,如果有此用戶但是有罰金則顯示您有罰金沒交的信息,在通過了這兩項(xiàng)檢查之后,再查詢數(shù)據(jù)庫中圖書,判斷是否有此本書,如果沒有這本書,則顯示沒有此本書的信息,在有這本書的情況下再查詢數(shù)據(jù)庫中借閱信息,檢查此人是否達(dá)到最大借閱數(shù)量,如果此人達(dá)到了最大借閱數(shù)量,則顯示您以達(dá)到最大借閱量的信息,如果沒有達(dá)到,則增加
37、數(shù)據(jù)庫中借閱信息,然后檢查數(shù)據(jù)庫修改是否成功,如果成功,則顯示借閱成功的信息,如果失敗,則顯示借閱失敗的信息。</p><p> 2. 還書功能活動(dòng)圖,如圖2-5所示。</p><p> 圖2-5 還書功能活動(dòng)圖</p><p> 還書時(shí)要輸入圖書編號(hào),下步進(jìn)行信息完整性驗(yàn)證,通過之后查詢數(shù)據(jù)庫中借閱信息,如果沒有查到與此圖書編號(hào)有關(guān)信息,則顯示沒有此條信息,
38、否則進(jìn)入還書界面,點(diǎn)擊還書按鈕后數(shù)據(jù)庫圖與此圖書編號(hào)有關(guān)信息,如果刪除成功則顯示還書成功信息,否則顯示還書失敗的信息。</p><p> 2.4 系統(tǒng)開發(fā)環(huán)境及工具</p><p> 2.4.1 開發(fā)/運(yùn)行環(huán)境</p><p><b> 硬件平臺(tái)</b></p><p><b> 硬盤:5G以上;<
39、;/b></p><p> 內(nèi)存:256M以上;</p><p> CPU:PIII500以上;</p><p> 操作系統(tǒng):Windows XP;</p><p> 數(shù)據(jù)庫:Microsoft SQL Server2005;</p><p> 開發(fā)工具:MyEclipse 6.5;</p>
40、<p> 2.4.2 開發(fā)工具的選取</p><p><b> 1. JSP技術(shù)</b></p><p> JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。</p><p> 用JSP開發(fā)的Web應(yīng)用是跨平臺(tái)的,能在多鐘操作系統(tǒng)上運(yùn)行。&
41、lt;/p><p> JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)器端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),是基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。</p><p> 2. 系統(tǒng)數(shù)據(jù)庫的選擇</p><p
42、> SQL Server是Microsoft公司開發(fā)的一個(gè)典型的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。它功能強(qiáng)大、操作簡便、安全可靠,因而得到廣泛應(yīng)用。SQL Server2005基于SQL Server2000的強(qiáng)大功能,是繼SQL Server2000之后推出的最新</p><p><b> 版本 。</b></p><p><b> 第3章 系統(tǒng)的設(shè)計(jì)&l
43、t;/b></p><p> 3.1 系統(tǒng)數(shù)據(jù)流程描述</p><p> 1. 頂層數(shù)據(jù)流圖,如圖3-1所示。</p><p> 圖3-1 圖書管理系統(tǒng)頂層數(shù)據(jù)流圖</p><p> 系統(tǒng)中用戶有兩種,分別是圖書管理員和普通用戶(借閱者),不同用戶登錄系統(tǒng)后有不同的權(quán)限。圖書管理員有圖書管理、用戶管理、借閱管理、個(gè)人管理的功能,
44、這也就是系統(tǒng)管理的全部功能,圖書管理員登錄系統(tǒng)后會(huì)進(jìn)入系統(tǒng)管理模塊,通過系統(tǒng)管理模塊里的功能完成借閱管理工作;普通用戶只有個(gè)人管理功能,普通用戶登錄系統(tǒng)后進(jìn)入個(gè)人管理模塊,來實(shí)現(xiàn)個(gè)人的管理操作。</p><p> 2. 系統(tǒng)管理模塊數(shù)據(jù)流圖,如圖3-2所示。</p><p> 圖3-2 圖書管理員模塊數(shù)據(jù)流圖</p><p> 由圖3-2看到,圖書管理員模塊有
45、四大功能。P1.1圖書管理功能,通過此功能,圖書管理員完成了對(duì)圖書的添加、修改、刪除、搜索工作;P1.2用戶管理功能,通過此功能,圖書管理員完成了對(duì)用戶的添加、修改、刪除、搜索以及繳納罰金工作;P1.3借閱管理功能,通過此功能,圖書管理員完成了借閱者的借書、還書以及借閱者借書信息搜索的工作;P1.4個(gè)人管理功能,通過此功能,圖書管理員可以查看自己的借書信息以及進(jìn)行密碼修改的工作。</p><p> 3. 個(gè)人管
46、理模塊數(shù)據(jù)流圖,如圖3-3所示。</p><p> 圖3-3 個(gè)人管理模塊數(shù)據(jù)流圖</p><p> 個(gè)人管理模塊只有個(gè)人管理功能。普通用戶登錄系統(tǒng)后,通過P2.1個(gè)人管理功能普通用戶可以查看自己的借書情況,修改密碼、搜書的工作。</p><p> 3.2 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)</p><p> 該系統(tǒng)在總體結(jié)構(gòu)上是趨于B/S結(jié)構(gòu),各類資
47、源在服務(wù)器一端,采取中心數(shù)據(jù)庫Microsoft SQL Server2005統(tǒng)一存放和組織,用戶在客戶機(jī)一端,無須任何配置工作,只須使用瀏覽器向Web服務(wù)器代理提出請(qǐng)求,服務(wù)代理通過中間組件與數(shù)據(jù)庫鏈接,把請(qǐng)求服務(wù)的內(nèi)容以Web頁面形式通過瀏覽器反饋給用戶。</p><p> 該系統(tǒng)分為圖書管理員的系統(tǒng)管理模式與普通用戶的個(gè)人管理模式,該系統(tǒng)的功能有四大塊:圖書管理、用戶管理、節(jié)約管理、個(gè)人管理。系統(tǒng)管理模式
48、有全部功能的使用權(quán)限,個(gè)人管理模式只有使用個(gè)人管理功能的權(quán)限。其系統(tǒng)結(jié)構(gòu)如圖3-4所示。</p><p> 圖3-4 圖書管理系統(tǒng)結(jié)構(gòu)圖</p><p> 3.3 功能模塊設(shè)計(jì)</p><p> 3.3.1 圖書管理功能設(shè)計(jì)</p><p> 該項(xiàng)功能具體有添加圖書、修改圖書、刪除圖書、搜索圖書的功能。</p><
49、p> 1. 添加圖書:輸入圖書的完整信息,不能有空項(xiàng),點(diǎn)擊添加通過完整性驗(yàn)證后,修改數(shù)據(jù)庫信息,完成添加。</p><p> 2. 修改圖書:修改圖書是依據(jù)已經(jīng)存在圖書的圖書編號(hào)對(duì)數(shù)據(jù)庫進(jìn)行修改的,所以修改時(shí)不能對(duì)圖書編號(hào)進(jìn)行修改,其他信息均可修改,點(diǎn)擊修改,通過完整性驗(yàn)證后,修改數(shù)據(jù)庫信息,完整修改。</p><p> 3. 刪除圖書:刪除圖書前,先對(duì)要?jiǎng)h除的圖書進(jìn)行搜索,如
50、果沒有搜索到信息,則顯示沒有此信息,如果搜索到信息,則顯示出來,圖書管理員查看圖書信息無誤后,點(diǎn)擊刪除按鈕,完成刪除。</p><p> 4. 搜索圖書:搜索圖書有三種搜索方式,分別是按圖書編號(hào)搜索,按書名搜索,全部顯示三種方式,輸入與搜索類別相應(yīng)的搜索信息,然后點(diǎn)擊搜索按鈕搜索出所需信息并在屏幕上顯示。當(dāng)搜索方式為全部顯示時(shí),不需輸入信息,直接點(diǎn)擊搜索按鈕,就可搜索出全部信息。</p><
51、p> 3.3.2 用戶管理功能設(shè)計(jì)</p><p> 該項(xiàng)功能具體有添加用戶、修改用戶、刪除用戶、搜索用戶、繳納罰金的功能。</p><p> 1. 添加用戶:輸入用戶的完整信息,不能有空項(xiàng),點(diǎn)擊添加通過完整性驗(yàn)證后,修改數(shù)據(jù)庫信息,完成添加。</p><p> 2. 修改用戶:修改用戶也是依據(jù)已經(jīng)存在的用戶的id號(hào)對(duì)數(shù)據(jù)庫進(jìn)行修改的,所以修改時(shí)不能對(duì)
52、id號(hào)進(jìn)行修改,其他信息均可修改,點(diǎn)擊修改,通過完整性驗(yàn)證后,修改數(shù)據(jù)庫信息,完整修改。</p><p> 3. 刪除用戶:刪除用戶前,先對(duì)要?jiǎng)h除的用戶進(jìn)行搜索,如果沒有搜索到信息,則顯示沒有此信息,如果搜索到信息,則顯示出來,圖書管理員確認(rèn)用戶信息無誤后,點(diǎn)擊刪除按鈕,完成刪除。</p><p> 4. 搜索用戶:搜索用戶有三種搜索方式,分別是按帳號(hào)搜索,按姓名搜索,全部顯示三種方式
53、,輸入與搜索類別相應(yīng)的搜索信息,然后點(diǎn)擊搜索按鈕搜索出所需信息并在屏幕上顯示。當(dāng)搜索方式為全部顯示時(shí),不需輸入信息,直接點(diǎn)擊搜索按鈕,就可搜索出全部信息。</p><p> 3.3.3 借閱管理功能設(shè)計(jì)</p><p> 該項(xiàng)功能具體有添加借閱(借書)、刪除借閱(還書)、搜索借閱信息的功能。</p><p> 1. 添加借閱:這是一個(gè)借書功能。借書時(shí)輸入借書者
54、的借書證號(hào)(id號(hào))和要借圖書的圖書編號(hào),點(diǎn)擊添加按鈕后系統(tǒng)連接數(shù)據(jù)庫檢查借書證號(hào)和圖書編號(hào)的準(zhǔn)確性,通過驗(yàn)證后在檢查此人是否有罰金以及是否達(dá)到最大借閱量5本,如果在某項(xiàng)檢查中沒有通過信息驗(yàn)證,則顯示出相應(yīng)的信息給用戶,如果通過了所有的驗(yàn)證,則修改數(shù)據(jù)庫中借閱信息,完成添加借閱。</p><p> 2. 刪除借閱:還書時(shí)只需輸入要換圖書的圖書編號(hào),然后在借閱信息中搜索與此圖書編號(hào)有關(guān)信息,并顯示出來,確認(rèn)無誤后
55、,點(diǎn)擊刪除,完成還書。</p><p> 3. 搜索借閱信息:搜索借閱信息有三種搜索方式,分別是按圖書編號(hào)搜索,按用戶帳號(hào)(id號(hào))搜索,全部顯示三種方式,輸入與搜索類別相應(yīng)的搜索信息,然后點(diǎn)擊搜索按鈕搜索出所需信息并在屏幕上顯示。當(dāng)搜索方式為全部顯示時(shí),不需輸入信息,直接點(diǎn)擊搜索按鈕,就可搜索出全部信息。</p><p> 3.3.4 個(gè)人管理功能設(shè)計(jì)</p><
56、p> 該項(xiàng)功能具體有我的借閱信息、搜索圖書、修改密碼、注銷的功能。</p><p> 1. 我的借閱信息:主要是查看一下自己所借的書籍信息。</p><p> 2. 搜索圖書功能上面已經(jīng)描述過,這里不再描述。</p><p> 3. 修改密碼:登錄系統(tǒng)后,直接輸入新密碼兩次,通過完整性驗(yàn)證后,完成修改。</p><p> 4.
57、 注銷:用戶退出系統(tǒng)。</p><p> 3.4 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)</p><p> 3.4.1 數(shù)據(jù)庫設(shè)計(jì)概述</p><p> 數(shù)據(jù)庫設(shè)計(jì)是把現(xiàn)實(shí)世界的實(shí)體模型轉(zhuǎn)換成數(shù)據(jù)庫模型的過程,它是建立數(shù)據(jù)庫應(yīng)用系統(tǒng)的核心問題。數(shù)據(jù)庫及其應(yīng)用的性能都建立在良好的數(shù)據(jù)庫設(shè)計(jì)的基礎(chǔ)之上,數(shù)據(jù)庫的數(shù)據(jù)是一切操作的基礎(chǔ),如果數(shù)據(jù)庫設(shè)計(jì)不好,那么其它一切用于提高數(shù)據(jù)庫性能的方法
58、都是無效的。數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵是如何使設(shè)計(jì)的數(shù)據(jù)庫能合理地存儲(chǔ)用戶的數(shù)據(jù),方便用戶進(jìn)行數(shù)據(jù)處理。</p><p> 3.4.2 概念結(jié)構(gòu)設(shè)計(jì)</p><p> 概念結(jié)構(gòu)設(shè)計(jì)是數(shù)據(jù)庫設(shè)計(jì)的核心。概念模型(E-R模型)的組成元素有:實(shí)體、屬性、聯(lián)系,E-R模型用E-R圖表示。實(shí)體是用戶工作環(huán)境中所涉及的事務(wù),屬性是對(duì)實(shí)體特征的描述。</p><p> 設(shè)計(jì)數(shù)據(jù)庫必須
59、遵循一定的規(guī)則,在關(guān)系型數(shù)據(jù)庫中,這種規(guī)則就是范式,范式是符合某一種級(jí)別的關(guān)系模式的集合。一般我們?cè)O(shè)計(jì)數(shù)據(jù)庫遵循第三范式。即數(shù)據(jù)庫表中不包含已在其他表中包含的非主關(guān)鍵字信息。采用范式減少了數(shù)據(jù)冗余,節(jié)約了存儲(chǔ)空間,同時(shí)加快了增、刪、改的速度。</p><p> 該系統(tǒng)的E-R圖3-5所示。</p><p> 圖3-5 圖書管理系統(tǒng)E-R圖</p><p> 3
60、.4.3 設(shè)計(jì)數(shù)據(jù)完整性</p><p> 1. 實(shí)體完整性設(shè)計(jì)</p><p> 為保證實(shí)體完整性,為每個(gè)關(guān)系指定主鍵。</p><p> 圖書(圖書編號(hào),書名,作者,出版社)的主鍵為“圖書編號(hào)”。</p><p> 用戶(帳號(hào),密碼,賬戶類型,姓名,性別,罰金)的主鍵為“帳號(hào)”。</p><p> 借閱(
61、圖書編號(hào),用戶帳號(hào),借書日期,還書日期)的主鍵為“圖書編號(hào)”。</p><p> 主鍵值不能為空,這就保證了關(guān)系中每一個(gè)元組都是可識(shí)別的。一個(gè)元組對(duì)應(yīng)一個(gè)實(shí)體,因此保證了每個(gè)實(shí)體都區(qū)別于其他實(shí)體,是可識(shí)別、可區(qū)分的。</p><p><b> 2. 域完整性設(shè)計(jì)</b></p><p> 根據(jù)圖書管理實(shí)際應(yīng)用,為每個(gè)關(guān)系的每個(gè)屬性設(shè)計(jì)數(shù)據(jù)
62、類型、格式和有效的數(shù)據(jù)范圍,具體設(shè)計(jì)在表3-6至表3-8中列出。</p><p> 域完整性保證了每個(gè)屬性具有正確的數(shù)據(jù)類型、格式和有效的數(shù)據(jù)范圍</p><p> 3. 參照完整性設(shè)計(jì)</p><p> 為保證數(shù)據(jù)的一致性,做如下設(shè)計(jì):</p><p> “借閱”關(guān)系中的屬性“圖書編號(hào)”的值參照“圖書”關(guān)系中的主鍵“圖書編號(hào)”的值;
63、</p><p> “借閱”關(guān)系中的屬性“用戶帳號(hào)”的值參照“用戶”關(guān)系中的主鍵“帳號(hào)”的值;</p><p> 3.4.4 邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 通過以上設(shè)計(jì)得到一組關(guān)系模式:</p><p> 圖書(圖書編號(hào),書名,作者,出版社)</p><p> 用戶(帳號(hào),密碼,賬戶類型,姓名,性別,罰金)
64、</p><p> 借閱(圖書編號(hào),用戶帳號(hào),借書日期,還書日期)</p><p> 這組關(guān)系模式的集合即為圖書管理數(shù)據(jù)庫模式。每個(gè)關(guān)系模式就是圖書管理數(shù)據(jù)庫中的一個(gè)表,每個(gè)屬性就是表中的一個(gè)字段。</p><p> 圖書管理數(shù)據(jù)庫的邏輯結(jié)構(gòu)如表3-1至表3-3所示。</p><p> 1. 圖書信息表(T_book)</p&g
65、t;<p> 表3-1 T_book表</p><p> 2. 用戶信息表(T_user)</p><p> 表3-2 T_user表</p><p> 3. 借閱信息表(user_book)</p><p> 表3-3 user_book表</p><p> 3.4.5 觸發(fā)器設(shè)計(jì)</
66、p><p> 在還書時(shí),對(duì)超期的用戶要計(jì)算罰金,并將罰金的數(shù)額寫入T_user表相應(yīng)的money列進(jìn)行存儲(chǔ),如果要通過數(shù)據(jù)庫實(shí)現(xiàn)這個(gè)功能,就要用到數(shù)據(jù)庫中的觸發(fā)器。</p><p> 建立觸發(fā)器“還書” :</p><p> create trigger 還書 </p><p> on user_book</p><
67、p> after delete</p><p><b> as</b></p><p><b> begin</b></p><p> set nocount on</p><p><b> begin</b></p><p> dec
68、lare @i nchar(20)</p><p> declare @m nchar(20)</p><p> declare @d int</p><p> declare @s datetime</p><p> select @i=deleted.id,@s=deleted.fintime from deleted</p
69、><p> set @d=datediff(day,@s,getdate())</p><p><b> if @d>0</b></p><p><b> begin</b></p><p> select @m=money from T_user where id=@i</p>
70、;<p> set @m=cast(@m as real)+0.1*@d</p><p> update T_user set money=cast(@m as nchar(20)) where id=@i</p><p><b> end</b></p><p><b> end</b></p
71、><p><b> end</b></p><p> “還書”觸發(fā)器的作用:在還書時(shí),也就是刪除user_book表中的一條記錄時(shí),此觸發(fā)器會(huì)自動(dòng)執(zhí)行,通過此觸發(fā)器,系統(tǒng)會(huì)由刪除記錄的begtime屬性和fintime屬性計(jì)算出超期罰金,并通過刪除記錄的id屬性在T_user表中找到相應(yīng)的用戶,將計(jì)算出的罰金寫入該用戶的money屬性中。</p><
72、;p><b> 第4章 系統(tǒng)實(shí)現(xiàn)</b></p><p> 4.1 連接數(shù)據(jù)庫的實(shí)現(xiàn)</p><p> 本系統(tǒng)采用的是Microsoft SQL Server2005數(shù)據(jù)庫,在操作的時(shí)候,無論是圖書管理員還是借閱者,都涉及到了與數(shù)據(jù)庫的連接。連接數(shù)據(jù)庫的方法被封裝在BaseDao類中,具體步驟如下。</p><p> 1. 定義數(shù)
73、據(jù)庫和數(shù)據(jù)庫的驅(qū)動(dòng)程序,定義數(shù)據(jù)庫登錄驗(yàn)證賬號(hào)和密碼,以本系統(tǒng)的數(shù)據(jù)庫為例;</p><p> private final String DRIVER_CLASS=”com.microsoft.sqlserver.jdbc.S</p><p> QLServerDriver”;</p><p> private final String DBURL="
74、;jdbc:sqlserver://localhost:1433;DatabaseN</p><p> ame=Book_DB";</p><p> private final String DBUER="sa";</p><p> private final String DBPASS="";</p&g
75、t;<p> 2. 通過BaseDao類中g(shù)etConnection()方法連接數(shù)據(jù)庫;</p><p> 3. 定義查詢語句,并執(zhí)行命令;</p><p> 4. 通過BaseDao類中closeAll()方法關(guān)閉數(shù)據(jù)庫連接;</p><p> 4.2 登錄界面的實(shí)現(xiàn)</p><p> 該界面包含賬號(hào)和密碼,只要通過
76、驗(yàn)證即可進(jìn)入main.jsp頁面。其實(shí)現(xiàn)方法用到了連接數(shù)據(jù)庫,只要用戶輸入的信息與數(shù)據(jù)庫表T_user中的相關(guān)信息對(duì)應(yīng)即可通過驗(yàn)證。同時(shí),在登錄按鈕中,通過語句session.setAttribute("user",user)將登錄人在T_user表中的個(gè)人信息存放在session中,其界面如圖4-1所示。</p><p><b> 圖4-1 登錄界面</b></
77、p><p> 4.3 主界面的實(shí)現(xiàn)</p><p> 加載界面時(shí),要確定登錄用戶的帳戶類型,如果是圖書管理員有系統(tǒng)管理的全部權(quán)限,如果是普通用戶,只有個(gè)人管理的權(quán)限,也就是將鼠標(biāo)放上下拉菜單,只有個(gè)人管理項(xiàng)彈出下拉菜單,其他三項(xiàng)均不彈出菜單。下面說下它的實(shí)現(xiàn)方法。</p><p> 在加載頁面時(shí),通過語句User user=(User)session.getAtt
78、ribute("user");</p><p> type=user.getType().trim();讀出存于session中的登錄用戶的帳戶類型,帳戶類型的值為’0’或’1’,’0’帶表管理員,’1’代表普通用戶。將鼠標(biāo)放到菜單上彈出下拉菜單,移開鼠標(biāo)下拉菜單收回,這需要兩個(gè)function函數(shù)來實(shí)現(xiàn),函數(shù)代碼如下:</p><p> <script la
79、nguage="javascript"></p><p> function show(id){</p><p> var type=document.myform.type.value;</p><p> if(type=="0")</p><p><b> {</b&g
80、t;</p><p> document.getElementById(id).style.display='block';</p><p><b> }</b></p><p> if(type=="1" && id=="nav_4"){</p>&l
81、t;p> document.getElementById(id).style.display='block';}</p><p><b> }</b></p><p><b> </script></b></p><p> function show()是彈出下拉菜單的函數(shù),if(
82、type=="0"){document.getElementById(id).style.display='block';}就是判定用戶類型確定用戶權(quán)限的語句,if(type==”0”)帶表如果登錄用戶是圖書管理員,就執(zhí)行下面的彈出下拉菜單語句。if(type=="1" && id=="nav_4"){document.getElementByI
83、d(id).style.display='block';},代表如果登錄用戶是普通用戶,并且鼠標(biāo)放在了第四個(gè)菜單項(xiàng)(個(gè)人管理項(xiàng))則彈出下拉菜單,其他菜單不彈出。運(yùn)行界面如圖4-2所示。</p><p> 圖4-2 系統(tǒng)主界面</p><p> 在主界面中,有四個(gè)圖片按鈕,分別連接到其他頁面,只有圖書管理員才有使用權(quán)限,普通用戶不能使用。實(shí)現(xiàn)方法如下。</p>
84、<p> 頁面加載時(shí),先定義四個(gè)變量,作為四個(gè)按鈕的鏈接地址。</p><p> String a="userbook_jia.jsp";String b="user_gengshan.jsp";</p><p> String c="userbook_shan.jsp";String d="user
85、book_sousuo.jsp";</p><p> 如果登錄的用戶是圖書管理員,這四個(gè)變量的值不變,點(diǎn)擊時(shí)就會(huì)連接到相應(yīng)的網(wǎng)頁。如果登錄的用戶是普通用戶,只需改變這四個(gè)變量的值普通用戶就無法連接到相應(yīng)的網(wǎng)頁了。具體語句如下:</p><p><b> <%</b></p><p> if (type.equals(&qu
86、ot;1")){</p><p><b> a="#";</b></p><p><b> b="#";</b></p><p><b> c="#";</b></p><p><b> d
87、="#";</b></p><p><b> }</b></p><p><b> %></b></p><p> 這樣如果是普通用戶的話,在點(diǎn)擊按鈕是就無法連接到相應(yīng)網(wǎng)頁。</p><p> 4.4 圖書管理模塊的實(shí)現(xiàn)</p><p
88、> 圖書管理模塊功能如圖4-3所示。</p><p> 圖4-3 圖書管理模塊</p><p> 1. 點(diǎn)擊注冊(cè)圖書,系統(tǒng)進(jìn)入到book_zhuce.jsp頁面,界面如圖4-4所示。</p><p> 圖4-4注冊(cè)圖書界面</p><p> 點(diǎn)擊提交按鈕時(shí),對(duì)文本框中信息進(jìn)行完整性驗(yàn)證,通過驗(yàn)證后,用到了數(shù)據(jù)庫連接方法,增加數(shù)
89、據(jù)庫中T_book表的信息。提交完成后通過語句<%</p><p> out.print("<script>alert('注冊(cè)成功');location.href='../book_zhuce.jsp';</s</p><p><b> cript>");</b></p>
90、<p> %>返回到注冊(cè)界面。</p><p> 完整性驗(yàn)證驗(yàn)證是通過check()函數(shù)實(shí)現(xiàn)的,通過語句if(document.myform.book_id.value=="")來判斷文本框中信息是否為空,如果為空在通過語句alert("請(qǐng)輸入圖書編號(hào)!");return false輸出提示內(nèi)容并返回值false,如果通過了驗(yàn)證,則此函數(shù)返回值tru
91、e,然后跳轉(zhuǎn)到相應(yīng)網(wǎng)頁。</p><p> 2. 點(diǎn)擊更刪圖書,系統(tǒng)進(jìn)入到book_gengshan.jsp頁面,界面如圖4-5所示。</p><p> 圖4-5更刪圖書界面</p><p> 界面下方為圖書列表,用到了連接數(shù)據(jù)庫的方法,從數(shù)據(jù)庫中讀出表T_book的所有信息并在下方的表格中顯示出來,表格是手工編寫,輸出一個(gè)表格及信息之后在輸出下一個(gè)表格及信息
92、,直到輸出全部信息,界面上有上一頁與下一頁兩個(gè)超鏈接,實(shí)現(xiàn)方法如下:</p><p> 點(diǎn)擊下一頁超鏈接,執(zhí)行語句out.print("<a href='book_sousuo.jsp?page</p><p> num="+(currentPage+1)+"'>"); 來傳遞一個(gè)參數(shù)pagenum的值,然后頁面再次加
93、載到此頁時(shí),改變控制顯示頁數(shù)的變量currentPage的值,實(shí)現(xiàn)語句為String str=request.getParameter("pagenum");currentPage=Integer.parseInt(str);從而使currentPage的值增加1,顯示下張頁面。</p><p> 文本框中輸入要操作的圖書編號(hào)后,點(diǎn)擊確定按鈕,連接數(shù)據(jù)庫搜到該書信息后頁面跳轉(zhuǎn)到book_ge
94、ngshan1.jsp,此頁界面如圖4-6所示。</p><p> 圖4-6更刪圖書操作界面</p><p> 在加載頁面時(shí),接收book_gengshan.jsp界面?zhèn)鱽淼乃阉鹘Y(jié)果并在文本框中顯示,此界面對(duì)圖書操作的功能按鈕有修改、刪除兩個(gè),修改時(shí)直接在文本框中修改內(nèi)容,由于連接修改數(shù)據(jù)庫時(shí)是依據(jù)圖書編號(hào)對(duì)T_book表中的信息進(jìn)行修改的,所以圖書編號(hào)不能進(jìn)行修改。點(diǎn)擊修改按鈕,跳到
95、功能頁面check_book_xiugai.jsp,進(jìn)行修改操作;點(diǎn)擊刪除按鈕,跳到功能頁面check_book_shanchu.jsp,進(jìn)行刪除操作。點(diǎn)擊返回按鈕,跳到book_gengshan.jsp,返回到上一界面。具體實(shí)現(xiàn)方法如下:</p><p> 首先分別為三個(gè)按鈕定義三個(gè)函數(shù)xiugai_click()、shanchu_click()、fanhui_click(),用來跳轉(zhuǎn)到不同的功能頁面,執(zhí)行不
96、同的操作,然后再為按鈕添加onclick屬性,例如修改按鈕<input type="submit" name="xiugai" value="修改" onclick= "xiugai_click('Progress/check_book_xiugai.jsp?boo</p><p> k_id=<%=ubook_id%&g
97、t;')">,這樣在點(diǎn)擊修改按鈕時(shí)就會(huì)執(zhí)行xiugai_click()函數(shù),進(jìn)入修改功能頁,完成修改操作。</p><p> 3. 點(diǎn)擊搜索圖書,系統(tǒng)進(jìn)入到book_sousuo.jsp網(wǎng)頁,搜索圖書界面如圖4-7所示。</p><p> 圖4-7搜索圖書界面</p><p> 搜索圖書有三種搜索方式,分別是按圖書編號(hào)、書名、全部顯示搜
98、索,在文本框中輸入相應(yīng)的信息,點(diǎn)擊搜索按鈕,便可搜索到相應(yīng)信息。下拉列表框中有三個(gè)值,分別為全部顯示、圖書編號(hào)、書名,通過選定它的值來供用戶選擇搜索方式。</p><p> 首先介紹下按圖書編號(hào)搜索的實(shí)現(xiàn)方法。在下列表框中選擇圖書編號(hào),并在文本框中填入要搜索的圖書編號(hào),然后連接數(shù)據(jù)庫,搜索T_book表中與此圖書編號(hào)有關(guān)的信息,然后跳轉(zhuǎn)到book_sousuoid.jsp頁面,在加載該頁面時(shí)顯示搜索到的圖書信息
99、。界面如圖4-8所示。</p><p> 圖4-8按圖書編號(hào)搜索圖書界面</p><p> 下面再介紹下按書名搜索的實(shí)現(xiàn)方法。在下列表框中選擇書名,并在文本框中填入要搜索的書的名子,然后連接數(shù)據(jù)庫,搜索T_book表中與此書名有關(guān)的信息,然后跳轉(zhuǎn)到book_sousuoname.jsp頁面,在加載該頁面時(shí)顯示搜索到的圖書信息。界面如圖4-9所示。</p><p>
100、; 圖4-9按書名搜索圖書界面</p><p> 4.5 用戶管理模塊的實(shí)現(xiàn)</p><p> 用戶管理模塊有一個(gè)新的繳納罰金功能,這里主要介紹下繳納罰金的實(shí)現(xiàn)方法。繳納罰金界面如圖4-10所示。</p><p> 圖4-10繳納罰金界面</p><p> 點(diǎn)擊繳費(fèi),通過語句User user=userdao.findById(id
101、);將該用戶信息存于user對(duì)象中,然后在通過語句user.setMoney("0");修改user對(duì)象中罰金的的值為0,在通過語句userdao.updateById(user)將修改后的信息寫入數(shù)據(jù)庫,完成繳費(fèi)工作。</p><p> 4.6 借閱管理模塊的實(shí)現(xiàn)</p><p> 借閱管理模塊功能如圖4-11所示。</p><p> 圖
102、4-11 借閱管理模塊</p><p> 1. 點(diǎn)擊借閱圖書,系統(tǒng)進(jìn)入到userbook_jia.jsp頁面,界面如圖4-12所示。</p><p> 圖4-12 借書界面</p><p> 加載頁面時(shí),借書日期與還書日期自動(dòng)加載,借書日期為當(dāng)前日期,還書日期為當(dāng)前日期再加一個(gè)月,實(shí)現(xiàn)代碼如下:</p><p> <% cal=
103、Calendar.getInstance();</p><p> ddate=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(cal.getTime());</p><p> cal.add(Calendar.MONTH,1);</p><p> sdate=newSimpleDateFor
104、mat("yyyy-MM-ddHH:mm:ss").format(cal.getTime());</p><p><b> %></b></p><p> ddate就是當(dāng)前日期,sdate為還書日期。借閱時(shí)要輸入圖書編號(hào)及用戶賬號(hào),驗(yàn)證過圖書編號(hào)及用戶賬號(hào)的準(zhǔn)確性之后,增加數(shù)據(jù)庫中user_book表的信息,完成借閱。</p>
105、;<p> 2. 點(diǎn)擊歸還圖書,系統(tǒng)進(jìn)入到userbook_shanchu.jsp頁面,界面如圖4-13所示。</p><p> 圖4-13還書搜索界面</p><p> 界面下方為借閱列表,用到了連接數(shù)據(jù)庫的方法,從數(shù)據(jù)庫中讀出表user_book的所有信息并在下方的表格中顯示出來,表格是手工編寫,輸出一個(gè)表格及信息之后在輸出下一個(gè)表格及信息,直到輸出全部信息,界面上
106、有上一頁與下一頁兩個(gè)超鏈接,實(shí)現(xiàn)方法如下:</p><p> 點(diǎn)擊下一頁超鏈接,執(zhí)行語句out.print("<a href='userbook_shan.jsp?</p><p> pagenum="+(currentPage+1)+"'>"); 來傳遞一個(gè)參數(shù)pagenum的值,然后頁面再次加載到此頁時(shí),改變控制顯
107、示頁數(shù)的變量currentPage的值,實(shí)現(xiàn)語句為String str=request.getParameter("pagenum");currentPage=Integer.parseI</p><p> nt(str);從而使currentPage的值增加1,顯示下張頁面。</p><p> 點(diǎn)擊搜索按鈕,連接數(shù)據(jù)庫搜到該借閱信息后頁面跳轉(zhuǎn)到userbook_s
108、han1.jsp,此頁界面如圖4-14所示。</p><p> 圖4-14歸還圖書界面</p><p> 在加載頁面時(shí),接收userbook_shan.jsp界面?zhèn)鱽淼乃阉鹘Y(jié)果并在文本框中顯示,點(diǎn)擊還書按鈕,跳到功能頁面check_userbook_shan1.jsp,進(jìn)行還書操作;點(diǎn)擊返回按鈕,跳到userbook_shan.jsp,返回到上一界面。具體實(shí)現(xiàn)方法如下:</p&g
109、t;<p> 首先定義個(gè)函數(shù)function Go(),用來跳轉(zhuǎn)到不同的功能頁面,執(zhí)行不同的操作,然后再為按鈕添加onclick屬性,例如還書按鈕<input type="submit" name="shanchu" value="還書" onclick="Go('Progress/check_userbook_shan1</p&g
110、t;<p> .jsp')">,這樣在點(diǎn)擊還書按鈕時(shí)就會(huì)執(zhí)行Go()函數(shù),進(jìn)入還書功能頁,完成還書操作。</p><p> 第5章 系統(tǒng)運(yùn)行與測試</p><p><b> 5.1 測試敘述 </b></p><p> 依據(jù)用戶需求,設(shè)計(jì)測試用例,對(duì)軟件進(jìn)行系統(tǒng)級(jí)測試。</p><
111、;p> 測試的重點(diǎn)是對(duì)各項(xiàng)功能的正常運(yùn)轉(zhuǎn)進(jìn)行全面測試。</p><p> 測試的目標(biāo)是確保所開發(fā)軟件的功能符合用戶的要求。</p><p> 5.2 系統(tǒng)部分單元測試實(shí)例</p><p><b> 測試方法:</b></p><p> 利用有效的和無效的數(shù)據(jù)來執(zhí)行各個(gè)用例、用例流或功能,以核實(shí)以下內(nèi)容:&
112、lt;/p><p> 1. 在使用有效數(shù)據(jù)時(shí)得到預(yù)期的結(jié)果</p><p> 2. 在使用無效數(shù)據(jù)時(shí)顯示相應(yīng)的錯(cuò)誤消息或警告消息</p><p> 3. 各業(yè)務(wù)規(guī)則都得到了有效的應(yīng)用</p><p> 5.2.1 登錄界面的測試</p><p> 表5-1 登錄界面的測試</p><p>
113、 5.2.2 圖書管理模塊的測試</p><p> 表5-2 圖書管理模塊的測試</p><p> 5.2.3 用戶管理模塊的測試</p><p> 表5-3 用戶管理模塊的測試</p><p> 5.2.4 借閱管理模塊的測試</p><p> 表5-4 借閱管理模塊的測試</p><
114、p> 5.2.5 個(gè)人管理模塊的測試</p><p> 表5-5 個(gè)人管理模塊的測試</p><p><b> 5.3 測試結(jié)果</b></p><p> 通過對(duì)該系統(tǒng)各功能模塊的測試,得出以下結(jié)論:此系統(tǒng)的功能基本滿足用戶需求,性能基本達(dá)到需求,具有可用性和友好性。</p><p> 但是測試用例有一定
115、的局限性,測試環(huán)境和實(shí)際運(yùn)行環(huán)境也存在著一定的差異,所以不能完全地、準(zhǔn)確地測試出系統(tǒng)存在的問題,還需要在后期的維護(hù)過程中,對(duì)系統(tǒng)暴露出來的問題進(jìn)行糾正和更新。</p><p><b> 結(jié) 論</b></p><p> 經(jīng)過幾個(gè)月的努力,高校圖書管理系統(tǒng)的開發(fā)與設(shè)計(jì)基本完工,功能基本符合需求,能夠完成圖書信息管理、用戶信息管理、借閱信息管理等方面的操作。</
116、p><p> 幾個(gè)月的畢業(yè)設(shè)計(jì),提高了我的實(shí)際操作能力,從以前的理論上升到實(shí)踐,從感性認(rèn)識(shí)上升到理性認(rèn)識(shí),做到的學(xué)有所用,認(rèn)識(shí)到了知識(shí)的重要性;同時(shí)懂得了先要發(fā)現(xiàn)問題、分析問題、解決問題。在設(shè)計(jì)過程中也遇到了很多困難,但在老師和同學(xué)的幫助下也都解決了。由于整個(gè)系統(tǒng)完全都是由個(gè)人設(shè)計(jì)的,有關(guān)JSP許多細(xì)節(jié)問題都要靠自己去摸索,加之水平有限,并沒有完全理解JSP的強(qiáng)大功能,另外因?yàn)闀r(shí)間短,設(shè)計(jì)未能做的完美,應(yīng)該說這是一
117、大遺憾,但我相信這對(duì)以后會(huì)有別開生會(huì)的體驗(yàn)。</p><p><b> 謝 辭</b></p><p> 本次畢業(yè)設(shè)計(jì)中,在老師的指導(dǎo)下我學(xué)會(huì)了很多新東西,老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都使我受益匪淺,在系統(tǒng)開發(fā)設(shè)計(jì)過程中xx老師給了我很多的見解,幫我介紹了很多與設(shè)計(jì)有關(guān)的書籍,使得系統(tǒng)最終開發(fā)完成。感謝xx老師,這篇論文的每個(gè)實(shí)驗(yàn)細(xì)節(jié)和每
118、個(gè)數(shù)據(jù)都離不開您的細(xì)心指導(dǎo)。</p><p> 在論文即將完成之際,我的心無法平靜,從開始進(jìn)入課題到論文的順利完成,有多少可敬的師長、同學(xué)、朋友給了我無言的幫助,在這里請(qǐng)接受我誠摯的謝意。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 吳建,張旭東. JSP網(wǎng)絡(luò)開發(fā)入門與實(shí)踐[M]. 北京:人民郵電出版社. 200
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)論文---高校圖書管理系統(tǒng)的設(shè)計(jì)與開發(fā)
- jsp學(xué)校圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 圖書管理系統(tǒng)設(shè)計(jì)與開發(fā)【畢業(yè)設(shè)計(jì)】
- 基于jsp的圖書管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 學(xué)校圖書管理系統(tǒng)的開發(fā)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---學(xué)校圖書管理系統(tǒng)的開發(fā)
- 基于JSP的高校圖書管理系統(tǒng)開發(fā)和實(shí)現(xiàn).pdf
- 畢業(yè)設(shè)計(jì)----圖書管理系統(tǒng)的設(shè)計(jì)
- 基于jsp的圖書管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)---基于uml的圖書管理系統(tǒng)
- 基于jsp的圖書管理系統(tǒng)的課程設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì) 基于android圖書管理系統(tǒng)開發(fā)(最終)
- 畢業(yè)設(shè)計(jì)---圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)--- 圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于jsp的圖書管理系統(tǒng)畢業(yè)論文
- 基于jsp的圖書管理系統(tǒng)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)----圖書管理系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì) 圖書管理系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于java的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論