

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課 程 設(shè) 計(jì)</b></p><p> 《JSP Web應(yīng)用》</p><p> 題 目: 圖書管理系統(tǒng) </p><p> 指導(dǎo)教師: </p><p> 院 系:
2、 </p><p> 專 業(yè): 軟件工程(動漫) </p><p> 姓 名: </p><p> 學(xué) 號: </p><p> 2013年 12 月 12 日</p><p>
3、<b> 前言</b></p><p> 隨著時代的發(fā)展,在現(xiàn)代中小型圖書管理系統(tǒng)中,如何方便快捷地為用戶提供服務(wù)、提高圖書的利用率等問題變得越來越突出。借助網(wǎng)絡(luò),在圖書管理和用戶之間建立一個交互的電子平臺,將大大提高中小型圖書管理的管理水平和現(xiàn)代化程度。 圖書管理系統(tǒng)正是趨于這個目標(biāo)而設(shè)計(jì),主要實(shí)現(xiàn)了5個方面的功能:1.圖書查詢,對圖書進(jìn)行查詢,可查詢書本的當(dāng)前狀態(tài)和相關(guān)信息
4、;2.借閱管理,包括書籍借閱和書籍歸還的管理;3.圖書管理,主要實(shí)現(xiàn)書庫的管理和書籍的管理,包括書庫的建立和刪除,新書的入庫和廢書的刪除等;4.會員管理,是對會員信息和借閱進(jìn)行管理;5.系統(tǒng)管理,是對系統(tǒng)的權(quán)限管理。系統(tǒng)設(shè)計(jì)利用JSP開發(fā)工具和SQLSERVER2000數(shù)據(jù)庫來開發(fā)這個圖書管理系統(tǒng)。系統(tǒng)要解決的圖書管理所要解決的問題,可以滿足圖書管理基本要求,包括添加、修改刪除管理等功能。系統(tǒng)能根據(jù)用戶的需求,快捷方便的為讀者提供借閱服
5、務(wù)。</p><p><b> 背景介紹</b></p><p> 計(jì)算機(jī)技術(shù)的迅猛發(fā)展,特別是隨著網(wǎng)絡(luò)技術(shù)的出現(xiàn)標(biāo)志著信息時代已經(jīng)來臨。信息化浪潮、網(wǎng)絡(luò)革命在給社會帶來沖擊的同時,也使圖書館業(yè)務(wù)受到了強(qiáng)烈的沖擊,圖書館傳統(tǒng)的管理和服務(wù)方式已不能適應(yīng)讀者對日益增長的文獻(xiàn)信息的需求,建設(shè)圖書館信息網(wǎng)絡(luò)系統(tǒng),是圖書館現(xiàn)代化建設(shè)的客觀要求。建設(shè)以計(jì)算機(jī)為核心的圖書館信息
6、網(wǎng)絡(luò),實(shí)現(xiàn)圖書館管理和服務(wù)的自動化,更好地為科技工作服務(wù),是圖書館發(fā)展的必由之路。目前,國內(nèi)大部分大型的公共圖書館和高校圖書館都實(shí)現(xiàn)了網(wǎng)絡(luò)管理,中小型圖書館(包括企業(yè)圖書館),也在朝著這個方向發(fā)展。 </p><p> 現(xiàn)代企業(yè)的迅猛發(fā)展, 對圖書資料的需求量增大, 圖書資料越來越多, 傳統(tǒng)手工卡片式的圖書借閱管理模式已經(jīng)不能滿足現(xiàn)狀, 因此有必要采用先進(jìn)的計(jì)算
7、機(jī)技術(shù)對圖書資源進(jìn)行科學(xué)的管理。針對中小型圖書管理系統(tǒng)的特點(diǎn)和要求, 綜合各方面的考慮采用JSP, JAVABEAN 和JDBC 等技術(shù)開發(fā)本系統(tǒng)。系統(tǒng)為三層B/S 體系結(jié)構(gòu),Tomcat 作為Web服務(wù)器MYSQL 作為數(shù)據(jù)庫服務(wù)器使用HTML,JAVASCRIPT, JSP 進(jìn)行網(wǎng)絡(luò)應(yīng)用程序的開發(fā),利用JDBC 訪問機(jī)制對后臺數(shù)據(jù)庫進(jìn)
8、行訪問。</p><p><b> 第一章 系統(tǒng)介紹</b></p><p><b> 需求分析</b></p><p> 系統(tǒng)的主要目的是實(shí)現(xiàn)一個圖書管理系統(tǒng)。系統(tǒng)有2 類用戶分別為管理員、讀者會員。管理員經(jīng)口令認(rèn)證進(jìn)人系統(tǒng)后,管理員可完成維護(hù)系統(tǒng)的功能, 包括管理圖書和管理會員。讀者會員則完
9、成查詢圖書、修改個人資料、查詢個人借閱信息的功能, 工作完成后可以退出系統(tǒng)。 </p><p> 由于系統(tǒng)主要是為方便管理員定制開發(fā)的,因此針對圖書管理的實(shí)際工作而言,經(jīng)過了反復(fù)地論證,最終確定了圖書管理系統(tǒng)的設(shè)計(jì)方案,圖書管理系統(tǒng)的主要功能為: (1) 用戶登錄。管理員或會員根據(jù)工作證和密碼登錄系統(tǒng)進(jìn)行身份驗(yàn)證。 (2) 查詢圖書。登錄系統(tǒng)后進(jìn)行圖書
10、檢索, 并可以通過點(diǎn)擊圖書名稱查看書本詳細(xì)信息。可以查看到書本的所有信息及借閱信息。 (3) 添加圖書。只有管理員登錄成功后才能添加圖書。通過點(diǎn)擊導(dǎo)航條上的“添加圖書“超鏈接進(jìn)入添加圖書頁面,填好后點(diǎn)提交, 就進(jìn)數(shù)據(jù)庫了。 (4) 修改圖書。只有管理員登錄成功后才能修改圖書。通過點(diǎn)擊導(dǎo)航條上的“修改圖書“超鏈接進(jìn)入修改圖書頁面,修改好后點(diǎn)提交, 就進(jìn)數(shù)據(jù)庫了。
11、0;(5) 刪除圖書。只有管理員登錄成功后才能修改圖書。通過點(diǎn)擊導(dǎo)航條上的“刪除圖書“超鏈接進(jìn)入刪除圖書頁面,點(diǎn)刪除就可將書刪除。 (6) 修改和查詢個人信息。</p><p><b> 業(yè)務(wù)流程</b></p><p> 根據(jù)需求分析的得到的現(xiàn)行業(yè)務(wù)處理流程,在反復(fù)研究后,首先確定目標(biāo)系統(tǒng)的業(yè)務(wù)流程,其處理流程如圖1.2.1。
12、60;</p><p> 圖2.1 圖書管理系統(tǒng)的業(yè)務(wù)流程 </p><p> 第二章 系統(tǒng)設(shè)計(jì)</p><p><b> 模塊劃分</b></p><p> 依據(jù)需求分析階段得到的數(shù)據(jù)流圖,在保證系統(tǒng)基本功能要求的前提下,結(jié)合系統(tǒng)業(yè)務(wù)流程確定系統(tǒng)必須具備的所有功能,由此給出圖書館管理系統(tǒng)
13、的系統(tǒng)功能模塊圖如圖2.1.1所示:</p><p> 圖2.1.1 圖書管理系統(tǒng)功能模塊圖</p><p><b> 界面設(shè)計(jì)</b></p><p><b> 2.2.1用戶登錄</b></p><p> 當(dāng)系統(tǒng)登陸時,首先出現(xiàn)的是一個用戶權(quán)限登陸的界面, 權(quán)限設(shè)置主要是維護(hù)系
14、統(tǒng)的安全性和完整性。擁有管理員權(quán)限的操作員能對其他操作員進(jìn)行相應(yīng)的權(quán)限設(shè)置,沒有權(quán)限的操作員不能對相應(yīng)的窗口進(jìn)行操作。如下圖2.2.1所示:</p><p><b> 圖2.2.1</b></p><p> 這是進(jìn)入系統(tǒng)時的身份驗(yàn)證,用戶首先要從軟件開發(fā)者那里申請用戶名和密碼,才可以進(jìn)入。</p><p> 2.2.2 添加圖書
15、信息 </p><p> 身份驗(yàn)證通過以后,點(diǎn)擊可以使用系統(tǒng)的基本信息管理界面,這是管理員主要的輸入信息部分,它即可以對數(shù)據(jù)進(jìn)行輸入。填寫好各項(xiàng)信息后,單擊保存按鈕,系統(tǒng)將對這些信息進(jìn)行處理。界面見下圖2.2.2所示:</p><p><b> 圖2.2.2</b></p><p> 2.2.3圖書類別管理 </
16、p><p> 點(diǎn)擊可以使用系統(tǒng)的基本信息管理界面,這是管理員主要的輸入信息部分,它即可以對數(shù)據(jù)進(jìn)行輸入。填寫好各項(xiàng)信息后,單擊保存按鈕,系統(tǒng)將對這些信息進(jìn)行處理。界面見下圖2.2.3:</p><p><b> 圖 2.2.3</b></p><p> 2.2.4管理員設(shè)置 </p><p> 增
17、加系統(tǒng)管理員,可以增加、修改、刪除系統(tǒng)管理員用戶。如下圖2.2.4所示:</p><p><b> 圖2.2.4</b></p><p> 2.2.5 圖書借閱管理 </p><p> 模塊可以實(shí)時顯示借閱狀態(tài),借閱日期已經(jīng)產(chǎn)生的借閱費(fèi)用,并可進(jìn)行還書和修改操作,會員卡號還可鏈接到會員詳細(xì)信息頁面。如下圖2.2.5所示
18、:</p><p><b> 圖2.2.5</b></p><p> 2.2.6會員信息管理 </p><p> 直觀、形象的展示會員個人詳細(xì)資料,模擬實(shí)際應(yīng)用中會員辦卡功能,并可以注銷、修改會員卡操作。如下圖2.2.6所示:</p><p><b> 圖2.2.6</b><
19、/p><p><b> 數(shù)據(jù)庫設(shè)計(jì)</b></p><p> 數(shù)據(jù)庫設(shè)計(jì)是要在一個給定的應(yīng)用環(huán)境(DBMS)中,通過合理的邏輯設(shè)計(jì)和有效的物理設(shè)計(jì),構(gòu)造較優(yōu)的數(shù)據(jù)庫模式、子模式,建立數(shù)據(jù)庫和設(shè)計(jì)應(yīng)用程序,滿足用戶的各種信息需求。</p><p> 物理結(jié)構(gòu)設(shè)計(jì)的原則如下:(1) 盡可能的減少數(shù)據(jù)冗余和重復(fù)(2) 結(jié)構(gòu)設(shè)計(jì)與
20、操作設(shè)計(jì)相結(jié)合(3) 數(shù)據(jù)結(jié)構(gòu)具有相對的穩(wěn)定性。 </p><p> 基于以上設(shè)計(jì)原則,系統(tǒng)設(shè)計(jì)了一個數(shù)據(jù)庫,包含基本信息表(如圖書信息表、系統(tǒng)用戶表等)及幾個實(shí)體聯(lián)系建模后的表(如借閱信息表、會員信息表等)。為了加快系統(tǒng)訪問的速度把這些表放在一個數(shù)據(jù)庫中。</p><p> 2.3.1 數(shù)據(jù)庫的邏輯設(shè)計(jì) </p><p>
21、; 在需求分析階段已完成該系統(tǒng)所有的數(shù)據(jù)分析。根據(jù)該階段所建立的概念模型,已經(jīng)得出滿足系統(tǒng)設(shè)計(jì)要求的幾個關(guān)系描述,該階段的主要工作就是把前一階段的成果轉(zhuǎn)化為具體的數(shù)據(jù)庫。</p><p> 下面給出概念結(jié)構(gòu)設(shè)計(jì)得E-R圖。 </p><p> 1:管理員實(shí)體E-R圖:</p><p> 2:會員信息實(shí)體E-R圖:</p><p&
22、gt; 3:圖書信息實(shí)體E-R圖:</p><p> 4:借書信息實(shí)體E-R圖:</p><p> 5:還書信息實(shí)體E-R圖:</p><p><b> 6:總體E-R圖:</b></p><p> 2.3.2 數(shù)據(jù)庫物理設(shè)計(jì) </p><p> Admin表是用戶記錄用戶的
23、信息(包括:用戶名,密碼,創(chuàng)建時間,借閱狀態(tài),是否使用,登錄次數(shù),以及權(quán)限等)</p><p> Adminlog表用于記錄用戶登錄的詳細(xì)信息(包括:用戶名,密碼,登錄時間,登錄者的ip地址,登錄著使用的操作系統(tǒng),狀態(tài)等)</p><p> Book表用于記錄書籍的詳細(xì)信息( 包括:圖書類型,書名,作者,出版社,條形碼編號,價格,數(shù)量,讀者意見,借閱價格,添加時間等)<
24、/p><p> Booktype表用于記錄圖書的全部類型,(包括:圖書類型名稱,添加類型時間等)</p><p> Yj表用戶記錄圖書的借閱信息,(包括:圖書證號,圖書編號,借閱時間,返還時間,是否超期,是否歸還等)</p><p> Member表用于記錄會員的全部詳細(xì)信息(包括:圖書證號,姓名,性別,年齡,地址,電話,email,信譽(yù)度,加入會員的時間等)&l
25、t;/p><p> System表用戶記錄項(xiàng)目的系統(tǒng)功能</p><p><b> 程序設(shè)計(jì)</b></p><p> 2.4.1 圖書管理系統(tǒng)索引 </p><p> 圖書管理系統(tǒng)開發(fā)中存在大量的數(shù)據(jù)和信息檢索,怎樣更好的檢索數(shù)據(jù)和信息操作是保證檢索速度的提高和數(shù)據(jù)的分頁
26、顯示,主要考慮了以下幾個方面: </p><p> (1)設(shè)計(jì)邏輯結(jié)構(gòu)時充分考慮冗余量和可處理性兩方面的要求,在接受冗余量的提下,盡量減少表的連接操作。 </p><p> (2)關(guān)系的大小對查詢的影響也是很大的,因此為了提高數(shù)據(jù)庫的查詢速度,減小系的大小和數(shù)據(jù)量也是必要的。 </p><p> (3)建立合理的索引結(jié)構(gòu)。索引相當(dāng)
27、于一個映射機(jī)構(gòu),將鍵值轉(zhuǎn)換成相對應(yīng)的 記錄地址,形成索引文件。 </p><p> 索引設(shè)計(jì)是數(shù)據(jù)庫物理設(shè)計(jì)的基本問題,也是較困難的問題,建立索引可以極大地提高系統(tǒng)的查詢速度,但是同時做Insert、Update、Delete操作時會降低速度,因?yàn)樽鲞@些操作的同時需要更新索引,所以不能對數(shù)據(jù)庫中所有的表都建立索引。比如滿足下列條件之一的不易建立索引:不出現(xiàn)或很少出現(xiàn)的屬性或表、屬性分布嚴(yán)重不
28、均的屬性、經(jīng)常更新的屬性或表、過長的屬性、太小的表等。 </p><p> 滿足下列條件之一的可以考慮建立索引:主鍵和外鍵都建立索引、對于以讀為主或只讀的表,只要需要,且存儲空間允許,可以減少連接開銷、對于等值查詢(即查詢條件以等號為比較符),最好建立索引、對查詢范圍(即查詢條件>,<,≤,≥為比較符),最好建立索引、有些查詢可以由檢索直接得到結(jié)果,不必訪問數(shù)據(jù)塊。 </p
29、><p> 根據(jù)實(shí)際需要,讀者信息表,圖書信息表,圖書借還信息表,權(quán)限信息,管理員信息表等都建立索引,合理使用緩沖區(qū)。</p><p> 2.4.2 如何驗(yàn)證輸入的字符串 </p><p> 在圖書管理系統(tǒng)的開發(fā)過程中,需要對一些輸入的字符串進(jìn)行驗(yàn)證,例如金額、電話號碼、E-mail等,由于許多模塊都需要用到這些驗(yàn)證,因此可以將其寫
30、入到一個公共類中然后在其他的頁面中直接調(diào)用即可。C#中對字符串進(jìn)行驗(yàn)證時,可以使用Regex類,要使用正則表達(dá)式驗(yàn)證輸入的字符串,如驗(yàn)證輸入的字符串是否為E-mail的地址格式的實(shí)現(xiàn)方法。代碼如下: </p><p> #region 驗(yàn)證輸入為Email </p><p> /// &
31、lt;summary> </p><p> /// 驗(yàn)證輸入為Email </p><p> /// </summary> </p><p> /// <param nam
32、e="str"></param> </p><p> /// <returns></returns> </p><p> public bool validateEmail(string str)
33、; </p><p><b> { </b></p><p> return Regex.IsMatch(str, </p><p> @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"); &
34、lt;/p><p><b> } </b></p><p> #endregion </p><p> 2.4.3 自動計(jì)算圖書歸還日期 </p><p> 在圖書管理系統(tǒng)運(yùn)行中會常常遇到這樣的問題:在借閱圖書時,需要自動計(jì)算圖書的歸還日期,而這個日期又不是固定不變
35、的,它是需要根據(jù)系統(tǒng)日期和數(shù)據(jù)表中保存的各類圖書的最多借閱天數(shù)來計(jì)算的,即圖書歸還日期=“系統(tǒng)日期”+“最多借閱天數(shù)”。因此本系統(tǒng)是這樣解決問題的:首先獲取系統(tǒng)時間,然后從數(shù)據(jù)表中查詢出該類圖書最多借閱天數(shù),最后計(jì)算歸還日期。計(jì)算方法如下: </p><p> 首先取出所借圖書的最多借閱天數(shù),然后根據(jù)圖書的最多借閱天數(shù),使用TimeSpan.FromDays方法返回一個TimeSpan,最后使用當(dāng)前時
36、間與先返回的Timespan時間間隔相加。 </p><p> 自動計(jì)算圖書歸還日期的關(guān)鍵代碼如下: </p><p> int days = Convert.ToInt32(btypemanage.FindBTypeByName(btypemanage, </p><p> "tb_boo
37、ktype").Tables[0].Rows[0][2].ToString()); </p><p> TimeSpan tspan = TimeSpan.FromDays((double)days); </p><p> borrowandbackmanage.YGBackTi
38、me = borrowandbackmanage.BorrowTime + tspan; </p><p> 2.3.4 系統(tǒng)登陸驗(yàn)證碼的實(shí)現(xiàn) </p><p> 在學(xué)校圖書管理系統(tǒng)的開發(fā)過程中,怎么樣防止某些人利用某些惡意的軟件對圖書管理系統(tǒng)進(jìn)行惡意的登陸來攻擊系統(tǒng),增加圖書管理系統(tǒng)的安全性
39、是一個重要的問題。在圖書管理系統(tǒng)的登陸模塊中加入一個驗(yàn)證碼的功能,即用戶除了要輸入帳號和密碼還要輸入系統(tǒng)為用戶提供的驗(yàn)證碼。驗(yàn)證碼可以很好的解決了怎樣防止惡意用戶利用惡意軟件對系統(tǒng)頁面的瘋狂提交、以及暴力破解密碼進(jìn)行登陸的問題。因此,設(shè)置一個隨機(jī)函數(shù)在數(shù)字0~9和英文字母A~Z中隨機(jī)抽取四個,在用戶打開登陸界面的時候,系統(tǒng)通過隨機(jī)生成器隨機(jī)生成4個數(shù)字或字母或數(shù)字加字母存放在緩存內(nèi),并出現(xiàn)在界面上順序是隨機(jī)的,當(dāng)用戶登陸時輸入的驗(yàn)證碼要
40、與緩存中的進(jìn)行對比符合就進(jìn)入,不符合就不能登陸。系統(tǒng)在提供驗(yàn)證碼時候要加入一些干擾的條件的,不過這些人的肉眼是很容易分辨,但機(jī)器人程序不能分辨,很好的防止某人利用機(jī)器人程序?qū)ο到y(tǒng)的惡意操作增加了系統(tǒng)的安全性。</p><p><b> 小結(jié)</b></p><p> 經(jīng)過幾個月的設(shè)計(jì)和開發(fā),學(xué)校圖書管理系統(tǒng)基本開發(fā)完畢。其功能基本符合用戶需求。對于數(shù)據(jù)的一致性的問
41、題也通過程序進(jìn)行了有效的解決。但是該系統(tǒng)還有許多不盡如人意的地方,在今后有待進(jìn)一步改善。通過這次畢業(yè)設(shè)計(jì)真切地體會到畢業(yè)設(shè)計(jì)的目的并不止于自己單純?nèi)蝿?wù)的完成,而在于學(xué)習(xí)新的知識并掌握具體的方法,如何具體使用和具體應(yīng)用你所學(xué)所用的語言。從而獲得一種本領(lǐng):就是融會貫通各種語言?;厥渍麄€開發(fā)設(shè)計(jì)過程,我學(xué)到了很多書本上學(xué)不到的東西。</p><p><b> 參考文獻(xiàn)</b></p>
42、<p> [1]朱敏等,Jsp web 應(yīng)用教程。北京:清華大學(xué)出版社,2010.</p><p> [2]孫一林,彭波.《Java數(shù)據(jù)庫編程實(shí)例》. 清華大學(xué)出版社,2002</p><p> [3]耿祥義,張躍平.《JSP實(shí)用教程》. 清華大學(xué)出版社,2003</p><p> [4]Brown等.《JSP編程指南(第二
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- jsp圖書管理系統(tǒng)課程設(shè)計(jì)
- 圖書管理系統(tǒng)--jsp課程設(shè)計(jì)報告
- 基于jsp的圖書管理系統(tǒng)的課程設(shè)計(jì)
- 課程設(shè)計(jì)報告----基于jsp的圖書管理系統(tǒng)
- 基于jsp的圖書管理系統(tǒng)的課程設(shè)計(jì)報告
- 《圖書管理系統(tǒng)》課程設(shè)計(jì)
- 圖書管理系統(tǒng)課程設(shè)計(jì)
- 圖書管理系統(tǒng)課程設(shè)計(jì)
- 圖書管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)---圖書管理系統(tǒng)
- 課程設(shè)計(jì)---課程設(shè)計(jì)圖書管理系統(tǒng)
- c課程設(shè)計(jì)---圖書管理系統(tǒng)課程設(shè)計(jì)
- 圖書管理系統(tǒng)課程設(shè)計(jì) (2)
- java課程設(shè)計(jì)--圖書管理系統(tǒng)
- sql課程設(shè)計(jì)---圖書管理系統(tǒng)
- sql圖書管理系統(tǒng)課程設(shè)計(jì)
- vb圖書管理系統(tǒng)課程設(shè)計(jì)
- oracle課程設(shè)計(jì)--圖書管理系統(tǒng)
- 圖書管理系統(tǒng)—課程設(shè)計(jì)報告
- vf課程設(shè)計(jì)--圖書管理系統(tǒng)
評論
0/150
提交評論