圖書管理系統設計任務書_第1頁
圖書管理系統設計任務書_第2頁
圖書管理系統設計任務書_第3頁
圖書管理系統設計任務書_第4頁
圖書管理系統設計任務書_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、圖書管理系統的設計與實現摘 要本文介紹了基于JSP技術開發的圖書管理系統, 闡述了B/ S體系結構的圖書管理系統的需求分析、總體設計和開發實現, 并介紹了JSP、JDBC、JavaBeans、session、數據庫訪問、數據庫操作等主要技術及具體功能的實現。該系統利用了基于JSP 的動態Web 技術,基于B/ S 體系結構,執行效率高、操作簡單、維護輕松,較好地實現了前端應用程序的高效率查看、后臺管理的方便操作,具有很好的可維護性和可擴展性。關鍵詞: JSP 、圖書管理系統、B/S、數據庫目 錄1 引言11.1項目背景及意義11.2圖書管理系統簡介11.3本文的主要工作12 需求分析22.1

2、總體需求22.2 用戶群體描述22.3需求具體分析32.3.1系統用戶管理功能32.3.2讀者管理功能32.3.3 圖書管理功能32.3.4 系統查詢功能42.3.5 圖書借還功能42.3.6 個人信息修改功能43 概要設計53.1 系統程序流程53.2 總體功能模塊設計53.3 模塊功能概要設計53.3.1 讀者管理模塊53.3.2 圖書管理模塊53.3.3 系統查詢模塊63.3.4 圖書借還模塊64 數據庫設計74.1 數據庫的需求分析74.2 數據庫概念設計74.2.1 實體和屬性的定義74.3 數據庫的實現84.4數據庫的連接95 系統實現105.1 開發環境105.2 查詢功能的實現

3、. .11 5.2.1圖書查詢的實現. . .11 5.2.2借閱查詢的實現. . .115.3借、還書功能實現.116 測試報告126.1 測試項目126.2 測試結果12總 結18參 考 文 獻181、引言1.1項目背景及意義隨著科學技術的高速發展,我們已步入數字化、網絡化的時代。在這個高速發展的信息化時代,對于一個高效的圖書館而言,傳統的管理辦法已遠遠不能滿足要求,現代圖書館需要一個高速、快捷、方便的圖書管理辦法。因此,WEB圖書管理系統應運而生,WEB圖書管理系統的主要特點是利用了網絡,它為讀者和圖書館之間提供了一個交互的電子平臺,使得讀者通過網絡就能輕松查詢到圖書的相關信息,極大地方

4、便了讀者,也提高了圖書館的工作效率、服務質量和管理水平。1.2圖書管理系統簡介圖書管理系統的總體任務是實現圖書管理和借閱的信息化,對圖書信息和用戶(讀者,借閱者等)信息進行有效的管理。它主要用于圖書館工作人員對讀者信息和圖書信息進行管理,并提供對圖書的查尋、借閱、歸還等功能,為圖書館提供了管理工具,同時讓學生可以通過網絡實現瀏覽、查詢圖書信息等,提高了整體運作效能。1.3本文的主要工作1在實現方式上本文介紹的圖書管理系統是基于Internet/Intranet及Web技術,建立以Browser/Server為結構模式、以數據庫為后臺核心應用、以服務為目的信息平臺,對資源進行科學的加工整序和管理

5、維護,為圖書管理員和讀者提供便利和提高圖書管理效率而設計的系統。2在功能方面該系統可以實現用戶注冊、登錄,并方便有效地進行相應圖書資料的錄入、修改和刪除,能夠對圖書進行分類管理,可以根據關鍵字搜索圖書信息及借閱記錄并能執行圖書的借出和歸還等操作。2、需求分析本章主要闡述圖書管理系統的總體需求和主要功能。2.1 總體需求圖書管理系統的設計與開發應達到以下的總體目標,即主要功能:1、 系統用戶管理功能:添加、刪除用戶和權限設置,權限設置用于實現限制用戶可以使用系統的哪些功能。2、讀者管理功能。讀者基本信息的添加、修改和刪除,讀者基本信息的輸入包括讀者姓名、讀者性別、讀者條形碼、讀者類型、出生日期、

6、有效證件、證件號碼、電話、Email、備注等;3、圖書管理功能,包括圖書類型管理和圖書檔案管理。圖書類型管理可以添加、修改和刪除圖書類型及相應可借天數。圖書檔案管理可以實現圖書信息的添加、修改和刪除。圖書信息的輸入包括圖書的條形碼、圖書的名稱、圖書的類型、作者的姓名、出版社名稱、價格、頁碼、所在書架等。4、系統查詢功能,包括圖書檔案查詢和圖書借閱查詢。圖書檔案查詢。可按圖書條形碼、圖書類別、書名、作者、出版社、所在書架等檢索款目進行精確或模糊檢索。圖書借閱查詢。可以通過圖書條形碼、圖書名稱、讀者條形碼、讀者名稱快速查找目標書籍及其借閱情況。5、圖書借出和歸還功能。借書信息的輸入,包括所借圖書條

7、形碼、讀者條形碼、讀者姓名、讀者類型、證件類型、證件號碼以及讀者已借圖書的生成等。還書信息的輸入,包括所還圖書條形碼、讀者條形碼、讀者姓名、讀者類型、證件類型、證件號碼以及讀者當前所借圖書的生成等。6、個人信息修改功能:修改登錄系統的個人密碼。22 用戶群體描述基于WEB的圖書管理系統一般分為兩類使用實體:圖書館管理員和讀者1. 管理員系統的管理者。負責對圖書信息和讀者信息進行管理及系統的參數設置,并提供對圖書的查尋、借出、歸還等功能。2. 讀者網站的用戶。注冊后可以通過網絡實現瀏覽、查詢圖書信息及借閱情況等。23需求具體分析2.3.1系統用戶管理功能1. 功能定義可以添加、刪除用戶和進行權限

8、設置,權限設置用于限制用戶可以使用系統的哪些功能。2. 前置條件1) 用戶檔案必須在系統數據庫里生成。2) 用戶信息修改完成后更新數據庫。2.3.2讀者管理功能1. 功能定義可以實現讀者基本信息的添加、修改和刪除,讀者基本信息包括讀者姓名、讀者性別、讀者條形碼、讀者類型、出生日期、有效證件、證件號碼、電話、Email、備注等;2.3.3圖書管理功能1. 功能定義可以實現圖書類型管理和圖書檔案管理。圖書類型管理可以添加、修改和刪除圖書類型并設置其相應可借天數。圖書檔案管理可以實現圖書信息的添加、修改和刪除。圖書信息的輸入包括圖書的條形碼、圖書的名稱、圖書的類型、作者的姓名、出版社名稱、價格、頁碼

9、、所在書架等。2.3.4系統查詢功能1.功能定義可以實現圖書檔案查詢和圖書借閱查詢。圖書檔案查詢。可按圖書條形碼、圖書類別、書名、作者、出版社、所在書架等檢索款目進行精確或模糊檢索。圖書借閱查詢。可以通過圖書條形碼、圖書名稱、讀者條形碼、讀者名稱快速查找目標書籍及其借閱情況。2. 前置條件1) 圖書檔案信息必須在系統數據庫里生成。2.3.5圖書借還功能1.功能定義可以實現圖書的借閱和歸還功能。借書信息的輸入,包括所借圖書條形碼、讀者條形碼、讀者姓名、讀者類型、證件類型、證件號碼以及讀者已借圖書的生成等。還書信息的輸入,包括所還圖書條形碼、讀者條形碼、讀者姓名、讀者類型、證件類型、證件號碼以及讀

10、者當前所借圖書的生成等。2.3.6個人信息修改功能1.功能定義用于實現個人信息的修改,主要是修改登錄系統的個人密碼。3、概要設計3.1系統程序流程圖書管理系統在整體結構上,主要包括前端應用程序的前臺查看模塊以及數據庫建立和維護的后臺管理模塊。前臺查看模塊主要是面向圖書借閱者, 后臺管理則面向管理員, 其總體處理流程圖如圖3.1 所示。圖3.1 系統程序流程圖3.2總體功能模塊設計整個系統分為四個功能模塊:讀者信息管理模塊,圖書信息管理模塊,系統查詢模塊和圖書借還模塊。結構如圖3.2所示。圖書管理系統讀者檔案管理圖書檔案管理系統查詢讀者修改讀者刪除圖書添加圖書修改分類管理圖書查詢借閱查詢圖書借還

11、圖書歸還圖書借閱讀者添加圖書刪除按條形碼按圖書類別按書名按作者按出版社按所在書架分類修改分類刪除按圖書條形碼按圖書名稱按讀者條形碼按讀者名稱分類添加圖3.2 系統功能模塊圖3.3模塊功能概要設計3.3.1讀者管理模塊該模塊用于實現讀者基本信息的添加、修改和刪除,讀者基本信息的輸入包括讀者姓名、讀者性別、讀者條形碼、讀者類型、出生日期、有效證件、證件號碼、電話、Email、備注等;3.3.2圖書管理模塊該模塊用于實現圖書類型管理和圖書檔案管理。圖書類型管理用于添加、修改和刪除圖書類型并設置其相應可借天數。圖書檔案管理用于實現圖書信息的添加、修改和刪除。圖書信息的輸入包括圖書的條形碼、圖書的名稱、

12、圖書的類型、作者的姓名、出版社名稱、價格、頁碼、所在書架等。3.3.3系統查詢模塊該模塊用于實現圖書檔案查詢和圖書借閱查詢。圖書檔案查詢。可按圖書條形碼、圖書類別、書名、作者、出版社、所在書架等檢索款目進行精確或模糊檢索。圖書借閱查詢。可以通過圖書條形碼、圖書名稱、讀者條形碼、讀者名稱快速查找目標書籍及其借閱情況。3.3.4圖書借還模塊該模塊用于實現圖書的借閱和歸還功能。借書信息的輸入,包括所借圖書條形碼、讀者條形碼、讀者姓名、讀者類型、證件類型、證件號碼以及讀者已借圖書的生成等。還書信息的輸入,包括所還圖書條形碼、讀者條形碼、讀者姓名、讀者類型、證件類型、證件號碼以及讀者當前所借圖書的生成等

13、。4、數據庫設計4.1 數據庫的需求分析圖書管理系統必須滿足來自兩方面的需求,這兩方面分別是管理員和讀者。管理員可以對讀者信息和圖書信息進行管理,并提供對圖書的查尋、借閱、歸還等功能。普通讀者可以通過網絡實現瀏覽、查詢圖書信息和借閱情況、修改個人信息等。在設計數據庫時,為了方便數據的提取,減少數據庫負擔;除了明細表以外應建立統計表,在統計表中同一信息只保存一次,隨信息的修改,數據庫應隨時更新。為了方便存取,建立多張數據統計表,將不同主題的信息放在不同的數據表中。4.2 數據庫概念設計在概念設計階段中,我們從頁面顯示數據的不同看待數據及處理要求,產生一個反映各個主題的概念模式,然后再把概念模式轉

14、換成邏輯模式。將概念設計從設計過程中獨立開來,使各階段的任務相對單一化,設計復雜程度大大降低,不受特定的限制。4.2.1實體和屬性的定義用戶權限(權限編號,權限名稱)讀者(讀者姓名、讀者性別、讀者條形碼、讀者類型、出生日期、有效證件、證件號碼、電話、Email、備注等)圖書分類(圖書類型名稱、可借天數)圖書(圖書條形碼、圖書名稱、圖書類型、作者姓名、出版社名稱、價格、頁碼、所在書架等)圖書借閱(圖書條形碼、圖書名稱、讀者條形碼、讀者姓名、讀者類型、證件類型、證件號碼,開始借閱日期,結束借閱日期等)4.3 數據庫的實現MySQL是一個快速的、多線程、多用戶和健壯的SQL數據庫服務器。MySQL服

15、務器支持關鍵任務、重負載生產系統的使用,也可以將它嵌入到一個大配置(mass-deployed)的軟件中去。MySQL是一個關系數據庫管理系統,關系數據庫把數據存放在分立的表格中,這比把所有數據存放在一個大倉庫中要好得多,這樣做將增加你的速度和靈活性。MySQL是開源的開源意味著任何人都可以使用和修改該軟件,任何人都可以從Internet上下載和使用MySQL而不需要支付任何費用。MySQL數據庫服務器是一個客戶/服務器系統,它由多線程SQL服務器組成,支持不同的后端、多個不同的客戶程序和庫、管理工具和廣泛的應用程序接口(APIs)。各數據表的物理實現如下:bookinfo表圖書表bookty

16、pe表圖書類型表borrow表圖書借閱表giveback表圖書歸還表manager表管理員表reader表讀者4.4 數據庫的連接對數據庫的訪問和操作都采用數據庫的接口技術來處理, 本系統主要是使用了JDBC, 即Java Databse Connetctivity( Java數據庫連接) 接口技術來訪問數據庫。JDBC 是一種可用于執行SQL 語句的Java API。它由一些Java 語言編寫的類和界面組成。JDBC 為數據庫應用前臺工作提供了一種標準的程序設計接口,使開發人員只可以用純Java 語言編寫完整的數據庫應用程序。它是一個比較獨特的動態連接結構, 它使得系統模塊化。使用JDBC來

17、完成對數據庫的訪問主要包括以下幾個組件: Java 的應用程序、JDBC 驅動管理程序、驅動器和數據源。由于數據庫連接與數據操作的重用機率比較高, 如果每個頁面都編寫一段數據庫連接的代碼, 將是比較煩的工作, 所以本圖書管理系統使用JSP 的Bean 組件進行數據庫連接。JavaBeans 是基于Java 的組件模型, 由屬性、方法和事件組成。它是一種Java 的類, 通過封裝成為具有某種功能或者處理某個業務的對象, 因此也可以通過嵌在JSP 頁面內的Java 代碼訪問Bean 及其方法。Bean的含義其實就是可重復利用的組件。在本系統中, 主要是使用了Bean 來實現設計平臺中的事件操作處理

18、, 即反復進行操作的數據庫連接。數據庫連接Bean 包括實現功能的主要語句為:import java.sql.*; / / 導入JDBC 標準類庫String strDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver" / / JDBC驅動程序Class.forName(strDBDriver); / / 注冊數據庫驅動程序String strDBUrl="jdbc:odbc:library"/ / library 是數據庫的名稱Connection conn=DriverManager.getConnection(strD

19、BUrl)/ / 建立數據庫連接Statement stmt=conn.createStatement(); / / 建立執行數據庫操作的stmt 對象5、系統實現5.1 開發環境1. JCreatorJCreator可無限撤銷、代碼縮進、自動類庫方法提示、按所選智能定位查閱JavaAPI文檔等功能;采用仿VS2005界面設計,體驗感覺更快更好更易用。2. JSPJSP具有更新快,易于升級,易于部署,維護和修改的優點。我們使用JSP技術來完成Web查詢子系統的開發。使用Eclipse3.2作為開發環境3.TomcatTomcat是一個JSP/Servlet容器,它是在Sun公司的JSWDK基礎

20、上發展起來的一個JSP和Servlet規范的標準實現,使用Tomcat可以體驗JSP和Servlet的最新規范。Tomcat具有開源免費,小巧靈活等有點,適合中小型的應用。4. MySQLMySQL速度快,開源免費,支持多種操作系統,適合一般中小應用。在后臺程序中我們使用MySQL自帶的C API的方式對其進行操作,在Web查詢模塊中我們使用JDBC接口。5.2 查詢功能的實現本系統的查詢主要包括了圖書查詢和用戶查詢, 其主要是根據用戶為查看或收集特定范圍內的圖書信息或讀者信息而進行的操作, 服務器根據其查詢條件響應執行, 再把結果返回給用戶。5.2.1 圖書查詢的實現圖書查詢功能主要是根據圖

21、書信息中的書條形碼、圖書類別、書名、作者、出版社、所在書架等檢索款目進行單條件查詢,有前方一致和任意匹配兩種查詢方式。圖書查詢是圖書借閱者和資料室管理員共同的功能需求, 圖書借閱者是通過圖書查詢功能檢索圖書以確定資料室是否存在此書, 此書在館否, 此書可借否等信息, 以方便進行借閱。借閱者通過圖書查詢能查看到圖書的詳細信息、館藏信息, 其中館藏信息僅限于借閱狀態、書刊狀態、預約狀態。而資料室管理員查詢的結果則相對需求比較多, 如借閱信息、預約信息, 主要是為了方便管理員查詢此書的去向有利于管理工作。同時, 兩者查詢的條件也不盡相同, 因為管理員的查詢需求要涉及到入庫時間、價格、借閱狀態等條件,

22、 以便于對書刊的管理。所以在這里就涉及到對用戶權限檢查的問題, 以確認有不同需求或不同操作權限的管理員和借閱者。判斷用戶權限, 就根據在數據庫設計設定的用戶角色來差別。在這里應用到了JSP 的內部session 對象。session 對象是JSP 頁面用來在用戶之間分別保存用戶信息, 不同用戶的session 對象一般是不同的。用戶登錄網站后,系統為其生成一個獨一無二的session 對象來記錄該用戶的個人信息。一旦用戶退出網站, 那么該session 會自動被注銷。如此一來就可以根據用戶不同的角色權限, 動態生成不同的查詢條件, 顯示不同的查詢結果。5.2.2 借閱查詢的實現借閱查詢是為了便

23、于管理員和讀者查詢圖書借閱情況的。其查詢條件是根據圖書條形碼、圖書名稱、讀者條形碼、讀者名稱來對借閱情況查詢, 可以是精確搜索,也可以是模糊搜索。借閱查詢主要涉及到兩種情況: 一類是根據圖書條形碼、圖書名稱來查詢某圖書當前是否被借閱、歸還情況等信息;二類是根據讀者條形碼、讀者名稱來查詢這一類用戶借閱情況。6、測試報告6.1 測試項目1、用戶管理:進行用戶的添加、修改、刪除和權限設置,查看功能是否能實現。2、讀者管理:進行讀者信息的添加、修改、刪除,查看功能是否能實現。3、圖書館理:圖書類型管理和圖書檔案管理。圖書類型管理包括圖書類型的添加、修改、刪除以及可借天數的設置。圖書檔案管理包括圖書基本

24、信息的添加、修改和刪除。測試各項功能檢查是否能實現。4、圖書借還:進行圖書的借閱和歸還操作,查看功能是否能實現。5、系統查詢:查詢圖書信息和圖書借閱情況,檢查功能是否能實現。6、更改密碼:更改個人登錄系統的密碼,測試該功能是否能實現。數據準備(數據操作(dao)對象和Javabean) 1.bookcaseform(書架設置javabean)1: package com.actionForm;2: import org.apache.struts.action.ActionForm;3: public class BookCaseForm extends ActionForm 4: priva

25、te Integer id;5: private String name;6: /構造方法7: public BookCaseForm()8: ./get.set方法2.bookform(圖書設置javabean)1: package com.actionForm;2: import org.apache.struts.action.ActionForm;3: public class BookForm extends ActionForm 4: private String author;5: private String barcode;6: private String bookName

26、;7: private String bookcaseName;8: private int bookcaseid;9: private int days;10: private int del;11: private Integer id;12: private String inTime;13: private String isbn;14: private String operator;15: private int page;16: private Float price;17: private String publishing;18: private String transla

27、tor;19: private int typeId;20: private String typeName;21: public BookForm()22: ./get.set方法6.2 測試結果1、登錄頁面實現代碼: 主界面主要是運用的表格操作,在表格中插入圖片以及文本域,按鈕進行驗證。9: <% page contentType="text/html; charset=gb2312" language="java"%>10: <html>11: <meta http-equiv="Content-Type&q

28、uot; content="text/html; charset=gb2312">12: <head><title>圖書館管理系統</title>13: <link href="CSS/style.css" rel="stylesheet">/導入樣式表14: <script language="javascript"> /6-15行:驗證管理員和密碼15: function check(form)16: if (.value=&q

29、uot;")17: alert("請輸入管理員名稱!");.focus();return false;18: 19: if (form.pwd.value="")20: alert("請輸入密碼!");form.pwd.focus();return false;21: 22: 23: </script>24: </head>25: <body">26: <table width="778" border="0" al

30、ign="center" cellpadding="0" cellspacing="0" bgcolor="#F9D16B" class="tableBorder">27: <tr><td>28: <table width="760" border="0" align="center" cellpadding="0" cellspacing="0">29:

31、 <tr><td height="142" valign="top">&nbsp;</td></tr>30: </table></td></tr>31: <td>32: <table width="100%" border="0" cellspacing="0" cellpadding="0">33: <tr><td valign="

32、top"><table width="100%" height="525" border="0" align="center" cellpadding="0" cellspacing="0">34: <tr><td height="523" align="center" valign="top"><table width="100%" he

33、ight="271" border="0" cellpadding="0" cellspacing="0">35: <tr><td height="271" align="right" valign="top" class="word_orange"><table width="100%" height="255" border="0" ce

34、llpadding="0" cellspacing="0" background="Images/login.jpg">36: <tr><td height="57">&nbsp;</td></tr>37: <tr><td height="179" valign="top"><table width="100%" height="63" bord

35、er="0" cellpadding="0" cellspacing="0">38: <tr><td width="2%">&nbsp;</td>39: <td width="97%" align="center" valign="top">40: <form name="form1" method="post" action="manag

36、er.do?action=login">41: <table width="100%" border="0" cellpadding="0" cellspacing="0" bordercolorlight="#FFFFFF" bordercolordark="#D2E3E6">42: <tr><td height="57">&nbsp;</td>43: <td height=&

37、quot;57" colspan="2" align="center">&nbsp;</td>44: <td>&nbsp;</td></tr> 45: <tr><td width="50%" height="37">&nbsp;</td>46: <td width="14%">管理員名稱:</td>47: <td width="30%

38、">48: <input name="name" type="text" class="logininput" id="name" size="20"> </td>49: <td width="10%">&nbsp;</td></tr><tr>50: <td height="37">&nbsp;</td>51: <td>

39、;管理員密碼:</td>52: <td><input name="pwd" type="password" class="logininput" id="pwd" size="20"></td>53: <td>&nbsp;</td></tr>54: <tr>55: <td height="30">&nbsp;</td>56: <td c

40、olspan="2" align="center"><input name="Submit" type="submit" class="btn_grey" value="確定" onClick="return check(form1)">57: &nbsp;58: <input name="Submit3" type="reset" class="btn_grey"

41、 value="重置">&nbsp;59: <input name="Submit2" type="button" class="btn_grey" value="關閉" onClick="window.close();"></td>/關閉按鈕,調用window關閉事件60: <td>&nbsp;</td></tr></table> </form></td>61: <td width="1%">&nbsp;</td></tr></table></td></tr>62: <tr><td height="19">&nb

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論