圖書館管理系統(tǒng) 計(jì)算機(jī)專業(yè)畢業(yè)論文
XXX大學(xué)畢業(yè)設(shè)計(jì)(論文)XXX大學(xué)畢業(yè)設(shè)計(jì)(論文)題 目 圖書館管理系統(tǒng) 學(xué) 生 指導(dǎo)教師 專 業(yè) 班 級(jí) 系 別 計(jì)算機(jī)系 年 月 日摘要圖書館管理系統(tǒng)是一種典型的信息管理系統(tǒng),其開發(fā)主要包括后臺(tái)的數(shù)據(jù)庫(kù)的建立、維護(hù)以及前端的相應(yīng)應(yīng)用程序的開發(fā)。在圖書館管理系統(tǒng)中,對(duì)讀者來(lái)說(shuō),他們關(guān)心的問(wèn)題其實(shí)是如何方便的查詢到圖書館中的書籍以及自己正在借閱或是已經(jīng)借閱過(guò)些什么書,所借的書是否到期等,對(duì)管理員來(lái)說(shuō),他所關(guān)心的問(wèn)題是圖書館中有些什么書,它們都存放在那里,是不是可以被借閱,發(fā)放的的讀者證有那些,如何管理這些讀者證等。因此本系統(tǒng)主要實(shí)現(xiàn)了五個(gè)模塊的功能:系統(tǒng)設(shè)置、讀者管理、圖書管理、圖書借還、系統(tǒng)查詢。本文介紹了圖書館管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程,包括數(shù)據(jù)庫(kù)、應(yīng)用服務(wù)器、Web服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)。本系統(tǒng)是基于B/S結(jié)構(gòu)下開發(fā)的,采用的是WindowsXP操作系統(tǒng)用Java、JSP、Dreamweaver+Mysql Server開發(fā)。系統(tǒng)前臺(tái)開發(fā)頁(yè)面用Dreamweaver設(shè)計(jì),當(dāng)網(wǎng)頁(yè)頁(yè)面元素需要調(diào)用數(shù)據(jù)庫(kù)的數(shù)據(jù)時(shí),通過(guò)JSP服務(wù)器調(diào)用JavaBean組件提取數(shù)據(jù)庫(kù)數(shù)據(jù)返回前臺(tái)顯示。關(guān)鍵字:圖書館,數(shù)據(jù)庫(kù),B/S,JSP,JavaBeanAbstractThe administrative system of the library is a kind of typical information management system ,which mail development includ setting-up and database in backstage, and the development application program in front stage. In the administrative system of the library, to the reader how to inquiry the books in the library in convenient and what books they are inquriying or have borrowed already,and the have borrowed is expire. These issues are most cared about to them.For administrator, what issues he care about includeing what books library have, where are they deposit in, if they can be borrowed, is there any reader card have granted, how to manage these reader cards ,etc.So this system has realized the function of five pieces of module mainly: System Settings, management, library management, library circulation, the system queries.This text has introduced the design and of realize the administrative system of the library , including the design and realize of the database , the application server, , Web server and realizing. This system is developed under B/S structure, and using Java,JSP,Dreamweaver and Mysql server in windowsXP operating system. We used Dreamweaver to design the systematic front dest develops pages,and We used JSP server to callback the JavaBean package to get data in the library and return to front desk.When the page element of the webpage needs to transfer the data of the database.Key words: Library, database, B/S, JSP, JavaBean- II -目 錄摘要IABSTRACTII第1章 緒論11.1 開發(fā)背景11.2 圖書館管理系統(tǒng)研究現(xiàn)狀2第2章 系統(tǒng)分析42.1 關(guān)鍵技術(shù)42.1.1 JSP技術(shù)42.1.2 JavaBean52.1.3 JDBC52.1.4 Serevlet52.2 系統(tǒng)描述62.3 可行性研究的前提62.4 系統(tǒng)可行性分析72.4.1 經(jīng)濟(jì)可行性分析72.4.2 技術(shù)可行性分析82.4.3 社會(huì)可行性分析8第3章 需求分析93.1 功能分析93.2 功能需求10第4章 總體設(shè)計(jì)124.1 設(shè)計(jì)思想124.2 功能分配124.3 模塊設(shè)計(jì)及功能134.4 數(shù)據(jù)庫(kù)E-R圖154.5 數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)及范式分析154.6 各個(gè)數(shù)據(jù)表的結(jié)構(gòu)表18第5章 詳細(xì)設(shè)計(jì)235.1 詳細(xì)設(shè)計(jì)概述235.2 公共模塊設(shè)計(jì)235.3 主界面設(shè)計(jì)255.4 管理員模塊設(shè)計(jì)275.4.1 系統(tǒng)登陸頁(yè)面設(shè)計(jì)275.4.2 查看管理員列表頁(yè)面285.4.3 添加管理員頁(yè)面295.4.4 設(shè)置管理員權(quán)限頁(yè)面305.5 圖書檔案模塊設(shè)計(jì)335.5.1 查看圖書信息列表頁(yè)面345.5.2 添加圖書信息頁(yè)面355.5.3 修改圖書信息頁(yè)面365.6 圖書借還模塊設(shè)計(jì)415.6.1 圖書借閱頁(yè)面415.6.2 圖書續(xù)借頁(yè)面425.6.3 圖書歸還頁(yè)面頁(yè)面435.6.4 圖書借閱查詢頁(yè)面44第6章 系統(tǒng)測(cè)試506.1 測(cè)試目的506.2 測(cè)試項(xiàng)目506.3 設(shè)計(jì)測(cè)試用例51結(jié)論53致謝55參考文獻(xiàn)56第 55 頁(yè) 共 56 頁(yè)第1章 緒論1.1 開發(fā)背景隨著電子計(jì)算機(jī)和通信技術(shù)的發(fā)展,人類已經(jīng)逐漸地進(jìn)入信息化社會(huì)。信息和材料、能源一樣成為一種社會(huì)的基本生產(chǎn)資料,在人類的社會(huì)生產(chǎn)活動(dòng)中發(fā)揮著重要的作用。同時(shí)人們對(duì)信息和數(shù)據(jù)的利用與處理也已進(jìn)入自動(dòng)化、網(wǎng)絡(luò)化和社會(huì)化的階段。對(duì)于圖書館規(guī)模的不斷擴(kuò)大,圖書數(shù)量也相應(yīng)的增加,有關(guān)圖書的各種信息量也成倍增加,面對(duì)著龐大的信息量,傳統(tǒng)的人工方式管理會(huì)導(dǎo)致圖書館管理上的混亂,人力與物力過(guò)多浪費(fèi),圖書館管理費(fèi)用的增加,從而使圖書館的負(fù)擔(dān)過(guò)重,影響整個(gè)圖書館的運(yùn)作和控制管理,因此,必需制定一套合理、有效,規(guī)范和使用的圖書管理系統(tǒng),對(duì)圖書資料進(jìn)行集中統(tǒng)一的管理。信息化是企業(yè)發(fā)展的必經(jīng)之路。世界經(jīng)濟(jì)發(fā)展已進(jìn)入一個(gè)激烈競(jìng)爭(zhēng)的年代,誰(shuí)能很好地管理和利用信息,誰(shuí)就有可能占領(lǐng)市場(chǎng),獲得效益。國(guó)內(nèi)外大量事實(shí)以說(shuō)明:在目前這個(gè)激烈競(jìng)爭(zhēng)的市場(chǎng)經(jīng)濟(jì)中,誰(shuí)的信息管理現(xiàn)代化水平高,誰(shuí)重視信息資源的發(fā)開和利用,誰(shuí)就能抓住機(jī)遇,在競(jìng)爭(zhēng)中取勝。因此選擇了“圖書館管理系統(tǒng)”這樣一個(gè)較為普遍,同時(shí)又較為典型的課題。圖書管理可以說(shuō)是一項(xiàng)瑣碎、繁雜而又必須十分細(xì)致的工作,是不能允許時(shí)常發(fā)生差錯(cuò)的。幾十年前的那種手工操作已遠(yuǎn)遠(yuǎn)跟不上近代圖書管理發(fā)展的步驟,時(shí)代的進(jìn)步?jīng)Q定了圖書館的發(fā)展,而圖書館要發(fā)展必然完善的管理體所以圖書管理的自動(dòng)化完全是時(shí)代進(jìn)步的必然結(jié)果。合理的利用有助于圖書館發(fā)展的管理系統(tǒng)是信息化時(shí)代的一種優(yōu)越的體現(xiàn)。利用計(jì)算機(jī)對(duì)圖書管理不僅保證了圖書借還準(zhǔn)確度,還城北的提高了工作效率額,而且便于查詢。本系統(tǒng)是一個(gè)面向普通大學(xué)圖書館管理業(yè)務(wù),具有一定實(shí)用性的數(shù)據(jù)庫(kù)信息管理系統(tǒng)。它主要完成了圖書館日常工作的功能,包括新書入庫(kù)、圖書信息維護(hù)、讀者信息維護(hù)、借閱歸還圖書,具備較為強(qiáng)大的查詢功能,以及為了保障系統(tǒng)安全性而進(jìn)行的權(quán)限設(shè)置等。本系統(tǒng)采用當(dāng)前流行的軟件開發(fā)工具M(jìn)yEclipse+Dreamweaver和數(shù)據(jù)庫(kù)MySQL來(lái)完成整個(gè)系統(tǒng)的設(shè)計(jì)。本設(shè)計(jì)所完成的圖書館管理系統(tǒng)是一功能比較完善的數(shù)據(jù)管理軟件,具有數(shù)據(jù)操作方便高效迅速等優(yōu)點(diǎn)。1.2 圖書館管理系統(tǒng)研究現(xiàn)狀隨著社會(huì)的發(fā)展,人們對(duì)知識(shí)的需求也不斷地增長(zhǎng)。在這種形勢(shì)下,書籍就漸漸地成為人們獲取并增長(zhǎng)知識(shí)的主要途徑,而圖書館就自然而然地在人們的生活中占據(jù)了一定的位置,如何科學(xué)地管理圖書館不但關(guān)系到讀者求知的方便程度,也關(guān)系到圖書館的發(fā)展,因此,開發(fā)一套完善的圖書館管理系統(tǒng)就必不可少了。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理。根據(jù)調(diào)查得知,他們以前對(duì)信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對(duì)于圖書借閱情況(如借書天數(shù)、超過(guò)限定借書時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用對(duì)借書卡的人工檢查進(jìn)行,對(duì)借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計(jì)算、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯(cuò);由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩?lái)說(shuō),缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書館有計(jì)算機(jī),但是尚未用于信息管理,沒(méi)有發(fā)揮它的效力,資源閑置比較突出,這就是圖書館管理系統(tǒng)的開發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯(cuò)率高,出錯(cuò)后不易更改。圖書館采取手工方式對(duì)圖書借閱情況進(jìn)行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復(fù)雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是當(dāng)時(shí)對(duì)它比較清楚,時(shí)間一長(zhǎng),如再要進(jìn)行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費(fèi)時(shí)、費(fèi)力。如要對(duì)很長(zhǎng)時(shí)間以前的圖書進(jìn)行更改就更加困難了?;谶@一問(wèn)題,我認(rèn)為有必要建立一個(gè)圖書館管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢和修改圖書情況。第2章 系統(tǒng)分析2.1 關(guān)鍵技術(shù)2.1.1 JSP技術(shù)JavaServer Pages 技術(shù)是一個(gè)純Java平臺(tái)的技術(shù),它主要用來(lái)產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)內(nèi)容。在傳統(tǒng)的網(wǎng)頁(yè)HTML文件中加入Java程序片段和JSP標(biāo)記,就構(gòu)成了JSP網(wǎng)頁(yè)。Web服務(wù)器接收到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。JSP是基于Java Servlet以及整個(gè)Java體系的Web開發(fā)技術(shù),利用這一技術(shù)可以建立先進(jìn)、安全、快速和跨平臺(tái)的動(dòng)態(tài)網(wǎng)頁(yè)。JSP在多個(gè)方面加速了動(dòng)態(tài)的Web頁(yè)面的開發(fā):程序?qū)懸淮?,到處可以運(yùn)行。JSP在設(shè)計(jì)時(shí),充分考慮到應(yīng)用平臺(tái)的無(wú)關(guān)性。依賴于Java的可移植性,JSP得到目前許多流行操作平臺(tái)的支持,可在Apache、NetScape、IIS等服務(wù)器上執(zhí)行。執(zhí)行速度快。JSP頁(yè)面只需編譯一次轉(zhuǎn)化為Java字節(jié)代碼,其后一直駐留于服務(wù)器內(nèi)存中,加快了對(duì)JSP頁(yè)面的響應(yīng)速度。若不考慮JSP頁(yè)面第一次編譯所花的時(shí)間,則JSP的響應(yīng)速度要比ASP快得多。Java的優(yōu)勢(shì)。JSP技術(shù)是用Java語(yǔ)言作為腳本語(yǔ)言的??缙脚_(tái)、成熟、健壯、易擴(kuò)充的Java技術(shù)使得開發(fā)人員的工作在其他方面也變得容易和簡(jiǎn)單。Java語(yǔ)言通過(guò)提供防止內(nèi)存泄漏的方法,在內(nèi)存管理方面大顯身手。加之,JSP為應(yīng)用程序提供了更為健壯的意外事件處理機(jī)制,充分發(fā)揮了Java的優(yōu)勢(shì)。JSP標(biāo)簽可擴(kuò)充性和跨平臺(tái)的可重用性。JSP技術(shù)能夠使開發(fā)者擴(kuò)展JSP標(biāo)簽得以應(yīng)用,JSP開發(fā)者能定制標(biāo)簽庫(kù),大大減少對(duì)腳本語(yǔ)言的依賴。由于定制標(biāo)簽技術(shù),使網(wǎng)頁(yè)制作者降低了制作網(wǎng)頁(yè)和向多個(gè)網(wǎng)頁(yè)擴(kuò)充關(guān)鍵功能的復(fù)雜程度。JSP組件(企業(yè)Javabeans,JavaBeans或定制的JSP標(biāo)簽)都是跨平臺(tái)可重用的。Javabeans和企業(yè)Javabeans組件可以訪問(wèn)傳統(tǒng)的數(shù)據(jù)庫(kù),并能以分布式系統(tǒng)模式工作于UNIX和WINDOWS平臺(tái)。2.1.2 JavaBeanJSP網(wǎng)站吸引人的地方之一就是能結(jié)合JavaBean技術(shù)來(lái)擴(kuò)充網(wǎng)站中程序的功能。JavaBean 是一個(gè)可重復(fù)使用、且跨平臺(tái)的軟件組件。JSP搭配JavaBean來(lái)使用,有以下優(yōu)點(diǎn):可將HTML和Java程序分離,為了日后維護(hù)的方便,如果把所有的程序代碼(Html和Java)寫到JSP網(wǎng)頁(yè)中,則會(huì)使整個(gè)程序代碼又多又繁雜,造成日后維護(hù)上的困難。我們可以將常用到的程序?qū)懗蒍avaBean組件,JSP網(wǎng)頁(yè)只要調(diào)用JavaBean組件來(lái)執(zhí)行我們所要的功能,不用再重復(fù)寫相同的程序,這樣一來(lái),可以節(jié)省開發(fā)所需的時(shí)間。2.1.3 JDBCJDBC由一組Java語(yǔ)言編寫的類和接口組成,使用內(nèi)嵌式的SQL,主要實(shí)現(xiàn)三方面的功能:建立與數(shù)據(jù)庫(kù)的連接,執(zhí)行SQL聲明以及處理SQL執(zhí)行結(jié)果。JDBC支持基本的SQL功能,使用它可方便地與不同的關(guān)系型數(shù)據(jù)庫(kù)建立連接,進(jìn)行相關(guān)操作,并無(wú)需再為不同的DBMS分別編寫程序。2.1.4 SerevletServlet是是JAVA 2.0中新增的一個(gè)全新功能。它是與Applet相對(duì)應(yīng)的,Applet是運(yùn)行在客戶端的瀏覽器,而Servlet是運(yùn)行在服務(wù)器端的。 JAVA Servlets 是運(yùn)行在請(qǐng)求/面向請(qǐng)求服務(wù)器上的模塊。也就是說(shuō):Servlet能夠象CGI腳本一樣擴(kuò)展WEB服務(wù)器功能,但是Servlet占用很少密集資源,當(dāng)一個(gè)服務(wù)器裝載Servlet時(shí), 它運(yùn)行Servlet的 init 方法. 這個(gè)方法不能反復(fù)調(diào)用,一旦調(diào)用就是再裝載Servlet. 直到服務(wù)器調(diào)用 destroy 方法卸載 Servlet后才能再調(diào)用.每個(gè)新的CGI要求在服務(wù)器上新增一個(gè)進(jìn)程。如果多個(gè)用戶并發(fā)地訪問(wèn)該程序,這些進(jìn)程將消耗該Web服務(wù)器所有的可用資源,并且系統(tǒng)性能降低到極其低下的地步。有很多用CGI腳本編制的一些站點(diǎn)由于訪問(wèn)量劇增,性能迅速下降,這是CGI腳本一個(gè)缺點(diǎn)。 同時(shí)由于Servlet 是用java編寫的,因此是跨平臺(tái)的。2.2 系統(tǒng)描述本系統(tǒng)是基于B/S結(jié)構(gòu)下進(jìn)行MIS系統(tǒng)開發(fā)的,利用Java和JSP的特性來(lái)設(shè)計(jì)結(jié)構(gòu)合理的MVC架構(gòu)并結(jié)合Java中間件軟件開發(fā)高效的Web應(yīng)用程序。本系統(tǒng)采用了JSP Model1體系,JSP頁(yè)面獨(dú)自響應(yīng)請(qǐng)求并將處理結(jié)果返回客戶,所有的數(shù)據(jù)存取都是由JavaBean來(lái)完成。圖2-1所示:瀏覽器JSPJavaBeanJDBC關(guān)系數(shù)據(jù)庫(kù)圖2-1 JSP Model 體系結(jié)構(gòu)本系統(tǒng)實(shí)現(xiàn)后,可以更加方便快捷為讀者提供服務(wù),進(jìn)一步提高圖書的利用率。使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢和修改圖書情況。本系統(tǒng)的設(shè)計(jì)目標(biāo)是借助網(wǎng)絡(luò),為圖書館建立一個(gè)信息管理系統(tǒng),給圖書管理和讀者提供一個(gè)電子平臺(tái),將大大提高學(xué)校圖書館的管理水平和現(xiàn)代化程度。最終實(shí)現(xiàn)圖書的借閱和管理信息化。2.3 可行性研究的前提(1)要求: 功能:能夠準(zhǔn)確快速的記錄圖書的狀態(tài),以便能輕易的查出圖書是否被借、是否歸還、是否借出超期等信息;讀者和管理人員可進(jìn)行一些需要的操作。性能:穩(wěn)定快速,實(shí)時(shí)控制 輸入/輸出:條形碼英文和漢字輸入,英文和漢字輸出 安全與保密要求:不能輕易被破壞,不能讓管理人員以外的人刪改圖書信息,對(duì)斷電、死機(jī)、系統(tǒng)崩潰等問(wèn)題有有力措施以保障數(shù)據(jù)不受損失。 (2)可行性研究方法: 通過(guò)調(diào)查分析開發(fā)圖書館管理所具備的能力及實(shí)現(xiàn)的方法。確定總體結(jié)構(gòu),利用MySQL數(shù)據(jù)庫(kù)所具有的能力,以最簡(jiǎn)潔最容易的方法,使用JSP使其成為一個(gè)初級(jí)的系統(tǒng)軟件。 (3)決定可行性的主要因素: 圖書館規(guī)模、設(shè)備狀況、操作人員技術(shù)。2.4 系統(tǒng)可行性分析可行性分析是在進(jìn)行初步調(diào)查后所進(jìn)行的對(duì)系統(tǒng)開發(fā)必要性和可能性的研究,所以也稱為可行性研究。信息系統(tǒng)也應(yīng)從技術(shù)可行性,經(jīng)濟(jì)可行性和社會(huì)可行性三方面來(lái)論證。通過(guò)長(zhǎng)時(shí)間的觀察與實(shí)踐,我認(rèn)為圖書館管理系統(tǒng)的可行性分析如下:2.4.1 經(jīng)濟(jì)可行性分析作為圖書館這樣的商業(yè)性質(zhì)較小的場(chǎng)所,其經(jīng)濟(jì)成分比重相對(duì)較少,主要是支出的費(fèi)用:其中包括設(shè)備購(gòu)置費(fèi)、軟件開發(fā)費(fèi)用、管理和維護(hù)費(fèi)、人員工資和培訓(xùn)費(fèi)等。由于各個(gè)圖書館實(shí)行統(tǒng)一操作,系統(tǒng)共享,其設(shè)備購(gòu)置,人員工資,維護(hù)費(fèi)用相對(duì)較少,前期的資金投入主要集中于購(gòu)置圖書上。建立信息中心,可將來(lái)自各方面的信息集中管理,提高圖書管理的計(jì)劃性和預(yù)見(jiàn)性,快速地反饋市場(chǎng)信息。2.4.2 技術(shù)可行性分析技術(shù)上的可行性分析主要分析現(xiàn)有技術(shù)條件能否順利完成開發(fā)工作,硬件、軟件配置能否滿足開發(fā)者的需要,各類技術(shù)人員的數(shù)量,水平,來(lái)源等。圖書館管理系統(tǒng)的工作主要是在讀者和圖書館之間架起一座橋梁,能相互溝通信息和處理信息。這一特點(diǎn)非常適合計(jì)算機(jī)特點(diǎn),通過(guò)網(wǎng)絡(luò)internet技術(shù),發(fā)揮計(jì)算機(jī)的信息傳輸速度快、準(zhǔn)確度高的優(yōu)勢(shì)。計(jì)算機(jī)硬件和軟件技術(shù)的飛速發(fā)展,為系統(tǒng)的建設(shè)提供了技術(shù)條件。2.4.3 社會(huì)可行性分析社會(huì)可行性有時(shí)也稱為操作可行性,主要論證新系統(tǒng)在企業(yè)或機(jī)構(gòu)開發(fā)和運(yùn)行的可能性以及運(yùn)行后可能一起的對(duì)企業(yè)或機(jī)構(gòu)的影響,即組織內(nèi)外是否具備接受和使用新系統(tǒng)的條件。在當(dāng)前信息技術(shù)飛速發(fā)展的大環(huán)境下,計(jì)算機(jī)技術(shù)和軟件技術(shù)的更新是圖書館完全有可能也有能力采用這樣先進(jìn)的管理技術(shù)。它對(duì)圖書館帶來(lái)的影響可以看到:(a)對(duì)傳統(tǒng)管理理念的沖擊,可能引起管理層的變動(dòng)和人員的調(diào)整。(b)對(duì)圖書館工作人員的要求提高,使圖書館在一定的可能下進(jìn)行機(jī)構(gòu)精簡(jiǎn),迫使工作人員繼續(xù)學(xué)習(xí)新知識(shí),拓寬圖書館在市場(chǎng)環(huán)境下的生存空間。(c)對(duì)圖書館與讀者之間業(yè)務(wù)方式的轉(zhuǎn)變和擴(kuò)充。最后,針對(duì)用戶對(duì)圖書資源進(jìn)行有效利用和管理的功能需求,用建模技術(shù)對(duì)圖書管理資源采用面向?qū)ο蟮拿枋龇绞剑诰唧w系統(tǒng)功能實(shí)現(xiàn)之前,建立起系統(tǒng)模型是很必要的,這里采用具有可視化、能夠柔性實(shí)現(xiàn)分析、設(shè)計(jì)和開發(fā)系統(tǒng)的統(tǒng)一建模語(yǔ)言實(shí)現(xiàn)系統(tǒng)模型構(gòu)建。同時(shí),結(jié)合最流行的基于瀏覽器的數(shù)據(jù)管理模式,建議采用基于組件技術(shù)的B/S(brower/server)系統(tǒng)結(jié)構(gòu)。第3章 需求分析3.1 功能分析圖書館管理涉及圖書信息、系統(tǒng)用戶信息、讀者信息、圖書借閱等多種數(shù)據(jù)管理。從管理的角度可將圖書分為三類:圖書信息管理、系統(tǒng)用戶管理、讀者數(shù)據(jù)管理。圖書信息管理包括圖書征定、借還、查詢等操作,系統(tǒng)用戶管理包括系統(tǒng)用戶類別和用戶數(shù)據(jù)管理,讀者數(shù)據(jù)管理包括讀者類別管理和個(gè)人數(shù)據(jù)的錄入、修改和刪除。經(jīng)過(guò)實(shí)際考察與分析,圖書管理系統(tǒng)主要應(yīng)具有以下功能:圖書借閱者的需求是查詢圖書室所存的圖書、個(gè)人借閱情況及個(gè)人信息的修改;圖書館工作人員對(duì)圖書借閱者的借閱及還書要求進(jìn)行操作,同時(shí)形成借書或還書報(bào)表給借閱者查看確認(rèn);圖書館管理人員的功能最為復(fù)雜,包括對(duì)工作人員、圖書借閱者、圖書進(jìn)行管理和維護(hù),及系統(tǒng)狀態(tài)的查看、維護(hù)等。圖書借閱者可直接查看圖書館圖書情況,如果圖書借閱者根據(jù)本人借書證號(hào)和密碼登錄系統(tǒng),還可以進(jìn)行本人借書情況的查詢和維護(hù)部分個(gè)人信息。一般情況下,圖書借閱者只應(yīng)該查詢和維護(hù)本人的借書情況和個(gè)人信息,若查詢和維護(hù)其他借閱者的借書情況和個(gè)人信息,就要知道其他圖書借閱者的借書證號(hào)和密碼。這些是很難得到的,特別是密碼,所以不但滿足了圖書借閱者的要求,還保護(hù)了圖書借閱者的個(gè)人隱私。圖書館工作人員有修改圖書借閱者借書和還書記錄的權(quán)限,所以需對(duì)工作人員登陸本模塊進(jìn)行更多的考慮。在此模塊中,圖書館工作人員可以為圖書借閱者加入借書記錄或是還書記錄,并打印生成相應(yīng)的報(bào)表給用戶查看和確認(rèn)。圖書館管理人員功能的信息量大,數(shù)據(jù)安全性和保密性要求最高。本功能實(shí)現(xiàn)對(duì)圖書信息、借閱者信息、總體借閱情況信息的管理和統(tǒng)計(jì)、工作人員和管理人員信息查看及維護(hù)。圖書館管理員可以瀏覽、查詢、添加、刪除、修改、統(tǒng)計(jì)圖書的基本信息;瀏覽、查詢、統(tǒng)計(jì)、添加、刪除和修改圖書借閱者的基本信息,瀏覽、查詢、統(tǒng)計(jì)圖書館的借閱信息,但不能添加、刪除和修改借閱信息,這部分功能應(yīng)該由圖書館工作人員執(zhí)行,但是,刪除某條圖書借閱者基本信息記錄時(shí),應(yīng)實(shí)現(xiàn)對(duì)該圖書借閱者借閱記錄的級(jí)聯(lián)刪除。3.2 功能需求系統(tǒng)計(jì)劃分為系統(tǒng)設(shè)置、讀者管理、圖書管理、圖書借還以及系統(tǒng)查詢5個(gè)模塊,各模塊功能描述如下:1系統(tǒng)設(shè)置這部分的功能有:圖書館信息、管理員設(shè)置、參數(shù)設(shè)置、書架設(shè)置。這部分的功能主要用于系統(tǒng)管理,不同的操作者有不同的權(quán)限,可以執(zhí)行不同的操作。比如普通讀者的權(quán)限只能是查詢圖書及自己的借閱情況;而圖書館管理員可以對(duì)圖書信息進(jìn)行管理,如對(duì)新書入庫(kù),也可以管理用戶,如添加新用戶和刪除不用的賬號(hào)等。2讀者管理這部分的功能有:管理讀者的基本信息。這部分的功能用于管理讀者的信息,如對(duì)讀者類型的管理,如教師、學(xué)生等;圖書館管理員也可以對(duì)讀者信息進(jìn)行修改、添加等操作。3圖書管理這部分的功能:對(duì)書目分類編目,及時(shí)更新圖書庫(kù)中的圖書信息。這部分的功能用于對(duì)所購(gòu)進(jìn)的新書,按其種類進(jìn)行編目,給予圖書類型;及時(shí)更新書庫(kù)中的圖書信息,包括書名、書號(hào)、作者、出版社、價(jià)格、庫(kù)存位置這些信息,方便讀者查詢借閱。4圖書借還這部分的功能:借書管理、還書管理、續(xù)借管理。這部分的功能是當(dāng)讀者借書時(shí),系統(tǒng)根據(jù)借書證號(hào)識(shí)別讀者身份,核對(duì)讀者的借書信息,做出判斷如可不可以借、還可借幾本,成功借閱后記錄在借書信息并修改書庫(kù)中的圖書信息。當(dāng)讀者還書時(shí),系統(tǒng)根據(jù)讀者ID識(shí)別讀者身份,核對(duì)讀者的借書信息,做出判斷如有沒(méi)有超期,要不要罰款,需要罰多少等,最后還書成功,修改書庫(kù)中的圖書信息。當(dāng)讀者要續(xù)借時(shí),讀者可以再所借日期期限延長(zhǎng)借書時(shí)間。5系統(tǒng)查詢這部分的功能:查詢圖書的信息,查詢讀者的借閱情況。這部分的功能主要提供多種方式的查詢服務(wù)。讀者可以根據(jù)書名、作者或關(guān)鍵字模糊查詢圖書信息;讀者也可以根據(jù)自己的讀者ID查詢自己的借閱情況,如已借了幾本書,借書日期,還書日期,有沒(méi)有續(xù)借等。第4章 總體設(shè)計(jì)4.1 設(shè)計(jì)思想1利用軟件開發(fā)現(xiàn)有軟硬件環(huán)境,及先進(jìn)的管理系統(tǒng)開發(fā)方案,從而達(dá)到充分利用現(xiàn)在資源提高系統(tǒng)開發(fā)水平和應(yīng)用效果的目的。2系統(tǒng)應(yīng)該符合軟件工程開發(fā)的理論,開發(fā)方法等開發(fā)依據(jù)。3系統(tǒng)應(yīng)滿足圖書館管理工作需要,并達(dá)到操作過(guò)程中的直觀,方便,實(shí)用,安全,準(zhǔn)確等要求。4系統(tǒng)具備數(shù)據(jù)庫(kù)維護(hù)功能,及時(shí)根據(jù)用戶需求進(jìn)行數(shù)據(jù)庫(kù)的各種操作。5系統(tǒng)采用原型,使用模塊化程序設(shè)計(jì)方法,便于系統(tǒng)功能的各種組合和修改,以及系統(tǒng)的測(cè)試與維護(hù)。4.2 功能分配圖書館管理系統(tǒng)系統(tǒng)設(shè)置讀者管理圖書管理圖書借還系統(tǒng)查詢圖書館信息管理員設(shè)置參數(shù)設(shè)置書架設(shè)置讀者類型管理讀者檔案管理圖書類型管理圖書檔案管理圖書借閱圖書續(xù)借圖書歸還圖書檔案查詢圖書借閱查詢借閱到期提醒更改口令退出系統(tǒng)圖4-1 模塊劃分圖4.3 模塊設(shè)計(jì)及功能(1)系統(tǒng)設(shè)置管理員可以通過(guò)訪問(wèn)學(xué)校圖書館管理系統(tǒng),并對(duì)館內(nèi)信息、管理員、參數(shù)及書架進(jìn)行設(shè)置。系統(tǒng)設(shè)置圖書館信息管理員設(shè)置參數(shù)設(shè)置書架設(shè)置圖4-2 系統(tǒng)設(shè)置流程圖(2)讀者管理讀者管理主要實(shí)現(xiàn)的功能是讀者類型的管理,讀者檔案的管理。當(dāng)管理員添加讀者類型后,可以對(duì)讀者實(shí)現(xiàn)增、刪、改、查功能。讀者管理讀者類型管理讀者檔案管理圖4-3 讀者管理流程圖(3)圖書管理圖書管理主要實(shí)現(xiàn)的功能是對(duì)新購(gòu)的圖書進(jìn)行入庫(kù)和廢書記錄從庫(kù)中刪除。當(dāng)新書被放入圖書館時(shí),管理員登錄進(jìn)入系統(tǒng),把圖書的信息添加到圖書館管理系統(tǒng)中,并指定是放到哪一個(gè)書架中。這時(shí)圖書可以被讀者查詢到,并可以借閱。當(dāng)要把一本廢書刪除時(shí),圖書管理員登錄進(jìn)入系統(tǒng),查找到這一本書,并將其刪除。這時(shí),這一本圖書將不再能被查詢到。圖書管理圖書類型管理圖書檔案管理添加圖書圖書上架刪除圖書圖書下架圖4-4 圖書管理流程圖(4)圖書借還圖書借還有圖書借閱、續(xù)借及歸還功能,用讀者條形碼驗(yàn)證讀者,確認(rèn)讀者信息后可以對(duì)圖書館的圖書進(jìn)行借閱等操作。圖書借還讀者條形碼圖書借閱圖書續(xù)借圖書歸還圖4-5 圖書借還流程圖(5)系統(tǒng)查詢讀者可以通過(guò)網(wǎng)絡(luò)訪問(wèn)學(xué)校圖書館管理系統(tǒng),并對(duì)館內(nèi)的圖書進(jìn)行查詢,對(duì)插到的在館圖書可以進(jìn)行借閱,及圖書借閱到期提醒。系統(tǒng)查詢圖書檔案查詢圖書借閱查詢借閱到期提醒圖4-6 系統(tǒng)查詢流程圖4.4 數(shù)據(jù)庫(kù)E-R圖圖4-7 數(shù)據(jù)庫(kù)E-R圖4.5 數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)及范式分析信息系統(tǒng)的主要任務(wù)是通過(guò)大量的數(shù)據(jù)獲得管理所需要的信息,這就必須存儲(chǔ)和管理大量的數(shù)據(jù)。因此建立一個(gè)良好的數(shù)據(jù)組織結(jié)構(gòu)和數(shù)據(jù)庫(kù),使整個(gè)系統(tǒng)都可以迅速、方便、準(zhǔn)確地調(diào)用和管理所需的數(shù)據(jù),是衡量信息系統(tǒng)開發(fā)工作好壞的主要指標(biāo)之一。 數(shù)據(jù)庫(kù)設(shè)計(jì)主要是進(jìn)行數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì),即將數(shù)據(jù)按一定的分類、分組系統(tǒng)和邏輯層次組織起來(lái),是面向用戶的。數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)需要綜合企業(yè)各個(gè)部門的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個(gè)數(shù)據(jù)之間的關(guān)系,按照DBMS提供的功能和描述工具,設(shè)計(jì)出規(guī)模適當(dāng)、正確反映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿足多種查詢要求的數(shù)據(jù)模型。 數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟是: (1) 數(shù)據(jù)庫(kù)結(jié)構(gòu)定義:目前的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)有的是支持聯(lián)機(jī)事務(wù)處理CLTP(負(fù)責(zé)對(duì)事務(wù)數(shù)據(jù)進(jìn)行采集、處理、存儲(chǔ))的操作型DBMS,有的可支持?jǐn)?shù)據(jù)倉(cāng)庫(kù)、有聯(lián)機(jī)分析處理CLAP(指為支持決策的制定對(duì)數(shù)據(jù)的一種加工操作)功能的大型DBMS,有的數(shù)據(jù)庫(kù)是關(guān)系型的、有的可支持面向?qū)ο髷?shù)據(jù)庫(kù)。針對(duì)選擇的DBMS,進(jìn)行數(shù)據(jù)庫(kù)結(jié)構(gòu)定義。 (2) 數(shù)據(jù)表定義:數(shù)據(jù)表定義指定義數(shù)據(jù)庫(kù)中數(shù)據(jù)表的結(jié)構(gòu),數(shù)據(jù)表的邏輯結(jié)構(gòu)包括:屬性名稱、類型、表示形式、缺省值、校驗(yàn)規(guī)則、是否關(guān)鍵字、可否為空等。關(guān)系型數(shù)據(jù)庫(kù)要盡量按關(guān)系規(guī)范化要求進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì),但為使效率高,規(guī)范化程度應(yīng)根據(jù)應(yīng)用環(huán)境和條件來(lái)決定。數(shù)據(jù)表設(shè)計(jì)不僅要滿足數(shù)據(jù)存儲(chǔ)的要求,還要增加一些如反映有關(guān)信息、操作責(zé)任、中間數(shù)據(jù)的字段或臨時(shí)數(shù)據(jù)表。 (3) 存儲(chǔ)設(shè)備和存儲(chǔ)空間組織:確定數(shù)據(jù)的存放地點(diǎn)、存儲(chǔ)路徑、存儲(chǔ)設(shè)備等,備份方案,對(duì)多版本如何保證一致性和數(shù)據(jù)的完整性。 (4) 數(shù)據(jù)使用權(quán)限設(shè)置:針對(duì)用戶的不同使用要求,確定數(shù)據(jù)的用戶使用權(quán)限,確保數(shù)據(jù)安全。 (5) 數(shù)據(jù)字典設(shè)計(jì):用數(shù)據(jù)字典描述數(shù)據(jù)庫(kù)的設(shè)計(jì),便于維護(hù)和修改。為了更好地組織數(shù)據(jù)和設(shè)計(jì)出實(shí)際應(yīng)用數(shù)據(jù)庫(kù),應(yīng)該注意如下問(wèn)題: 規(guī)范化地重組數(shù)據(jù)結(jié)構(gòu):對(duì)數(shù)據(jù)進(jìn)行規(guī)范化表達(dá),這在后面將會(huì)具體討論。 關(guān)系數(shù)據(jù)結(jié)構(gòu)的建立:在進(jìn)行了數(shù)據(jù)基本結(jié)構(gòu)的規(guī)范化重組后,還必須建立整體數(shù)據(jù)的關(guān)系結(jié)構(gòu)。這一步設(shè)計(jì)完成后數(shù)據(jù)庫(kù)和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)工作基本完成,只待系統(tǒng)實(shí)現(xiàn)時(shí)將數(shù)據(jù)分析和數(shù)據(jù)字典的內(nèi)容代入到所設(shè)計(jì)的數(shù)據(jù)整體關(guān)系結(jié)構(gòu)中,一個(gè)規(guī)范化數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)就建立起來(lái)了。 建立關(guān)系數(shù)據(jù)結(jié)構(gòu)涉及三方面內(nèi)容:確定關(guān)聯(lián)的關(guān)鍵指標(biāo)項(xiàng)并建立關(guān)聯(lián)表;確定單一的父系記錄結(jié)構(gòu);建立整個(gè)數(shù)據(jù)庫(kù)的關(guān)系結(jié)構(gòu)。 (1)鏈接關(guān)系的確定 在進(jìn)行了上述數(shù)據(jù)規(guī)范化重組后,已經(jīng)可以確保每一個(gè)基本數(shù)據(jù)表(我們簡(jiǎn)稱為表)是規(guī)范的,但是這些單獨(dú)的表并不能完整地反映事物,通常需要通過(guò)指標(biāo)體系整體指標(biāo)數(shù)據(jù)才能完整全面地反映問(wèn)題。也就是說(shuō)在這些基本表的各宇段中,所存儲(chǔ)的是同一事物不同側(cè)面的屬性。那么計(jì)算機(jī)系統(tǒng)如何能知道哪些表中的哪些記錄應(yīng)與其它表中的哪些記錄相對(duì)應(yīng),它們表示的是同一個(gè)事物呢?這就需要在設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)時(shí)將這種各表之間的數(shù)據(jù)記錄關(guān)系確定下來(lái)。這種表與表之間的數(shù)據(jù)關(guān)系一般都是通過(guò)主或輔關(guān)鍵詞之間的連接來(lái)實(shí)現(xiàn)的。因?yàn)樵诿總€(gè)表中只有主關(guān)鍵詞才能唯一地標(biāo)識(shí)表中的這一個(gè)記錄值(因?yàn)楦鶕?jù)第三范式的要求,表中其它數(shù)據(jù)字段函數(shù)都依賴于主關(guān)鍵詞),所以將表通過(guò)關(guān)鍵詞連接就能夠唯一地標(biāo)識(shí)出某一事物不同屬性在不同表中的存放位置。 (2)確定單一的父子關(guān)系結(jié)構(gòu) 所謂確定單一的父系關(guān)系結(jié)構(gòu)就是要在所建立的各種表中消除多對(duì)多(以下用M:N來(lái)表示)的現(xiàn)象,即設(shè)法使得所有表中記錄之間的關(guān)系呈樹狀結(jié)構(gòu)(只能由一個(gè)主干發(fā)出若干條分支,而不能有若干條主干交錯(cuò)發(fā)出若干條分支狀況)。所謂的“父系”就是指表的上一級(jí)關(guān)系表。消除多對(duì)多關(guān)系可以借助于E-R圖的方法來(lái)解決,也可以在系統(tǒng)分析時(shí)予以注意,避免這種情況的發(fā)生。 消除這種M:N情況的辦法也很簡(jiǎn)單,只需在二表之間增加一個(gè)表,則原來(lái)M:N的關(guān)系就改成了M:1,1:N的關(guān)系了。 確定數(shù)據(jù)資源的安全保密屬性: 一般DBMS都提供給我們自己定義數(shù)據(jù)安全保密性的功能。系統(tǒng)所提供的安全保密功能一般有8個(gè)等級(jí)(0-7級(jí)),4種不同方式(只讀、只寫、刪除、修改),而且允許用戶利用這8個(gè)等級(jí)的4種方式對(duì)每一個(gè)表自由地進(jìn)行定義。 定義安全保密性的方法一般有如下幾種: a原則上所有文件都定義為4級(jí),個(gè)別優(yōu)先級(jí)特別高的辦公室(終端或微機(jī)的入網(wǎng)賬號(hào))可定義高于4級(jí)的級(jí)別,反之則定義為低于4的級(jí)別。 b統(tǒng)計(jì)文件(表)和數(shù)據(jù)錄入文件一般只對(duì)本工作站定義為只寫方式,對(duì)其它工作站則定義為只讀方式。 c財(cái)務(wù)等保密文件一般只對(duì)中工作站(如財(cái)務(wù)科等)定義為可寫、可改、可刪除方式,對(duì)其它工作站則定義為只讀方式,而且不是每個(gè)人都能讀,只有級(jí)別相同和高級(jí)別者才能讀。4.6 各個(gè)數(shù)據(jù)表的結(jié)構(gòu)表1圖書類型信息表(tb_booktype)圖書類型信息表是用來(lái)記錄一類圖書這個(gè)實(shí)體的,比如說(shuō)紅樓夢(mèng),就是小說(shuō)類型。圖書類型信息表的每一行記錄代表同一種書的各個(gè)屬性。表4-1 圖書類型信息表(tb_booktype)序號(hào)字段含義字段名類型寬度是否主碼是否非空1圖書類型信息IDIdInt10PKY2圖書類型名稱TypenameVarchar303可借天數(shù)DaysInt102出版社信息表(tb_publishing)用來(lái)記錄書籍出版社信息。表4-2 出版社信息表(tb_publishing)序號(hào)字段含義字段名類型寬度是否主碼是否非空1ISBN號(hào)ISBNVarchar202出版社名稱PubnameVarchar303書架信息表(tb_bookcase)用來(lái)記錄書架信息。表4-3 書架信息表(tb_bookcase)序號(hào)字段含義字段名類型寬度是否主碼是否非空1書架IDIdInt10PKY2書架名稱NameVarchar304管理員信息表(tb_manager)系統(tǒng)管理員信息,權(quán)限設(shè)置,管理員所擁有的管理功能。表4-4 管理員信息表(tb_manager)序號(hào)字段含義字段名類型寬度是否主碼是否非空1管理員IDIdInt10PKY2管理員名稱NameVarchar303管理員密碼PwdVarchar305圖書信息表(tb_bookinfo)圖書的基本信息,圖書名稱、作者、出版社、價(jià)格等。表4-5 圖書信息表(tb_bookinfo)序號(hào)字段含義字段名類型寬度是否主碼是否非空1圖書IDIdInt11PKY2條形碼BarcodeVarchar303圖書名稱BooknameVarchar704類別idTypeidInt105作者AuthorVarchar306譯者TranslatorVarchar307ISBN號(hào)ISBNVarchar208單價(jià)PriceFloat8,29頁(yè)碼PageInt1010書架類型BookcaseInt1011錄入時(shí)間IntimeDate12操作員OperatorVarchar3013是否刪除DelTinyint16權(quán)限信息表(tb_purview)管理員相關(guān)權(quán)限設(shè)置,如系統(tǒng)設(shè)置、讀者管理、圖書管理等。表4-6 權(quán)限信息表(tb_purview)序號(hào)字段含義字段名類型寬度是否主碼是否非空1權(quán)限IDIdInt11PKY2系統(tǒng)設(shè)置SyssetTinyint13讀者設(shè)置ReadersetTinyint14圖書檔案設(shè)置BooksetTinyint15圖書借還BorrowbackTinyint16系統(tǒng)查詢SysqueryTinyint17借閱信息表(tb_borrow)讀者借閱圖書信息,包含借閱的圖書名稱,借閱時(shí)間等。表4-7 借閱信息表(tb_borrow)序號(hào)字段含義字段名類型寬度是否主碼是否非空1借閱IDIdInt10PKY2讀者IDReaderidInt103圖書IDBookidInt104借閱時(shí)間BorrowtimeDate5歸還時(shí)間BacktimeDate6操作員OperatorVarchar307是否歸還IfbackTinyint18借還信息表(tb_giveback)圖書借還信息,是否歸還等。表4-8 借還信息表(tb_giveback)序號(hào)字段含義字段名類型寬度是否主碼是否非空1借還IDIdInt10PKY2讀者IDReaderidInt113圖書IDBookidInt114歸還時(shí)間BacktimeDate5操作員OperatorVarchar309讀者類型信息表(tb_readertype)讀者所屬類型,學(xué)生、教師等。表4-9 讀者類型信息表(tb_readertype)序號(hào)字段含義字段名類型寬度是否主碼是否非空1讀者類型IDIdInt10PKY2類型名稱NameVarchar503可借數(shù)量NumberInt410系統(tǒng)參數(shù)信息表(tb_parameter)讀者證費(fèi)用及有效時(shí)間。表4-10 系統(tǒng)參數(shù)信息表(tb_parameter)序號(hào)字段含義字段名類型寬度是否主碼是否非空1系統(tǒng)參數(shù)IDIdInt10PKY2辦證費(fèi)CostInt103有效期限ValidityInt1011讀者信息表(tb_reader)讀者在這里其實(shí)就被定義為本圖書館的借閱證持有者,每一個(gè)持證者在本表中都表示為一行記錄。包含了讀者姓名、性別、職業(yè)等基本信息。表4-11 讀者信息表(tb_reader)序號(hào)字段含義字段名類型寬度是否主碼是否非空1讀者IDIdInt10PKY2讀者名稱NameVarchar203性別SexVarchar44條形碼BarcodeVarchar305職業(yè)VocationVarchar506出生日期BirthdayDate7有效證件PapertypeVarchar108證件號(hào)碼paperNOVarchar209聯(lián)系電話TelVarchar2010電子郵箱信息EmailVarchar10011建檔時(shí)間CreatedateDate12操作員OperatorVarchar3013備注RemarkText14類型TypeidInt1112圖書館信息表(tb_library)圖書館建館信息,館長(zhǎng)、聯(lián)系電話等。表4-12 圖書館信息表(tb_library)序號(hào)字段含義字段名類型寬度是否主碼是否非空1圖書館IDIdInt10PKY2圖書館名LibrarynameVarchar503館長(zhǎng)CuratorVarchar104聯(lián)系電話TelVarchar205地址AddressVarchar1006郵箱地址EmailVarchar1007網(wǎng)站urlVarchar1008建館時(shí)間CreatedateDate9介紹IntoduceText第5章 詳細(xì)設(shè)計(jì)5.1 詳細(xì)設(shè)計(jì)概述圖書館管理系統(tǒng)詳細(xì)設(shè)計(jì)是設(shè)計(jì)的第二階段,這個(gè)階段的主要任務(wù)是在圖書館管理系統(tǒng)概要設(shè)計(jì)基礎(chǔ)上,對(duì)概要設(shè)計(jì)中產(chǎn)生的功能模塊進(jìn)行過(guò)程描述,設(shè)計(jì)功能模塊的內(nèi)部細(xì)節(jié),包括算法和詳細(xì)數(shù)據(jù)結(jié)構(gòu),為編寫源代碼提供必要的說(shuō)明。概要設(shè)計(jì)解決了軟件系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)的問(wèn)題,包括整個(gè)軟件系統(tǒng)的結(jié)構(gòu)、模塊劃分、模塊功能和模塊間的聯(lián)系等。詳細(xì)設(shè)計(jì)則要解決如何實(shí)現(xiàn)各個(gè)模塊的內(nèi)部功能,即模塊設(shè)計(jì),具體地說(shuō),模塊設(shè)計(jì)就是要為已經(jīng)產(chǎn)生的圖書館管理系統(tǒng)各子系統(tǒng)設(shè)計(jì)詳細(xì)的算法。但這并不等同于系統(tǒng)實(shí)現(xiàn)階段用具體的語(yǔ)言編碼,它只是對(duì)實(shí)現(xiàn)細(xì)節(jié)做精確地描述,這樣編碼階段就可以將詳細(xì)設(shè)計(jì)中對(duì)功能實(shí)現(xiàn)的描述,直接翻譯、轉(zhuǎn)化為用某種程序設(shè)計(jì)語(yǔ)言書寫的程序。5.2 公共模塊設(shè)計(jì)在開發(fā)過(guò)程中經(jīng)常會(huì)用到一些公共模塊。圖書館管理系統(tǒng)中涉及到的公共模塊包括數(shù)據(jù)庫(kù)連接及操作的類、字符串處理的類和Struts配置等。1數(shù)據(jù)庫(kù)連接及操作的類此類部分代碼如下:package com.core;import java.io.InputStream;import java.sql.*;import java.util.Properties;public class ConnDB public Connection conn = null; public Statement stmt = null; public ResultSet rs = null; private static String propFileName = "/com/connDB.properties"/指定資源文件保存的位置 private static Properties prop = new Properties(); private static String dbClassName ="com.mysql.jdbc.Driver" private static String dbUrl ="jdbc:mysql:/127.0.0.1:3306/db_librarySys?user=root&password=111&useUnicode=true" public ConnDB() try InputStream in=getClass().getResourceAsStream(propFileName); prop.load(in);/通過(guò)輸入流對(duì)象加載Properties文件 dbClassName = prop.getProperty("DB_CLASS_NAME");/獲取數(shù)據(jù)庫(kù)驅(qū)動(dòng) dbUrl = prop.getProperty("DB_URL", "jdbc:mysql:/127.0.0.1:3306/db_librarySys?user=root&password=111&useUnicode=true"); 省略2數(shù)據(jù)庫(kù)連接資源文件#DB_CLASS_NAME(驅(qū)動(dòng)的類的類名)DB_CLASS_NAME=com.mysql.jdbc.Driver#DB_URL(要連接數(shù)據(jù)庫(kù)的地址)DB_URL=jdbc:mysql:/127.0.0.1:3306/db_librarySys?user=root&password=111t&useUnicode=true3字符串處理類部分代碼如下:package com.core;public class ChStr public static String toChinese(String strvalue) try if (strvalue = null) /當(dāng)變量strvalue為null時(shí)strvalue=""/將變量strvalue賦值為空 else strvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK");/將字符串轉(zhuǎn)換為GBK編碼strvalue = strvalue.trim();/去除字符串的首尾空格 catch (Exception e) strvalue="" /將變量strvalue賦值為空return strvalue; /返回轉(zhuǎn)換后的輸入變量strvalue省略5.3 主界面設(shè)計(jì)本系統(tǒng)采用框架布局,每次用戶對(duì)頁(yè)面發(fā)出請(qǐng)求時(shí),只加載相應(yīng)頁(yè)面,其他頁(yè)面保持不變。信息欄導(dǎo)航欄排行榜版權(quán)信息圖5-1 主頁(yè)框架示意圖圖5-2 圖書館管理系統(tǒng)主頁(yè)界面圖表5-1 導(dǎo)航欄功能表:一級(jí)菜單二級(jí)菜單系統(tǒng)設(shè)置圖書館信息 管理員設(shè)置 參數(shù)設(shè)置 書架設(shè)置讀者管理讀者類型管理 讀者檔案管理圖書管理圖書類型設(shè)置 圖書檔案管理圖書借還圖書借閱 圖書續(xù)借 圖書歸還系統(tǒng)查詢圖書檔案查詢 圖書借閱查詢 借閱到期提醒5.4 管理員模塊設(shè)計(jì)管理員模塊主要包括管理員登陸、查看管理員列表、添加管理員信息、管理員權(quán)限設(shè)置、管理員刪除和更改口令等6個(gè)功能。管理員模塊的框架如圖所示:是否開始管理員登陸是否通過(guò)驗(yàn)證管理員列表添加管理員權(quán)限設(shè)置刪除管理員更改口令圖5-3 管理員模塊框架圖5.4.1 系統(tǒng)登陸頁(yè)面設(shè)計(jì)系統(tǒng)登錄時(shí)進(jìn)入圖書館管理系統(tǒng)的入口。在運(yùn)行本系統(tǒng)后,首先進(jìn)入的是系統(tǒng)登錄頁(yè)面,在該頁(yè)面中,系統(tǒng)管理員可以通過(guò)輸入正確的管理員名稱和密碼登錄到系統(tǒng),當(dāng)用戶沒(méi)有輸入管理員名稱或密碼是,系統(tǒng)會(huì)通過(guò)JavaScript進(jìn)行判斷,并給予提示信息。系統(tǒng)登錄頁(yè)面如圖所示:圖5-4 系統(tǒng)登錄頁(yè)面實(shí)現(xiàn)目標(biāo):在管理員進(jìn)行登錄的時(shí)候,管理員需要填寫名稱、密碼信息。這些信息將與管理員信息表中的管理員信息進(jìn)行比較,當(dāng)管理員的要登錄信息與管理員信息表中的信息一致時(shí),管理員可以通過(guò)確定跳轉(zhuǎn)到下一頁(yè),當(dāng)信息不一致的時(shí)候,不能通過(guò)確定并返回到登陸頁(yè)面,重新填寫管理員要登錄信息,這樣確保只有添加過(guò)的管理員可以順利登陸系統(tǒng)功能界面。點(diǎn)擊“重置”按鈕管理員所填寫的內(nèi)容將被全部清空,管理員可以進(jìn)行重新填寫;按照相應(yīng)提示要求填寫完要登錄的信息后點(diǎn)擊“確定”按鈕系統(tǒng)將把管理員信息送到后臺(tái)進(jìn)入處理。5.4.2 查看管理員列表頁(yè)面查看管理員列表頁(yè)面,將以表格的形式顯示全部管理員及其權(quán)限信息,并提供添加管理員信息、刪除管理員信息和設(shè)置管理員權(quán)限的超鏈接。查看管理員列表頁(yè)面如圖所示:圖5-5 查看管理員列表實(shí)現(xiàn)目標(biāo):在管理員登入系統(tǒng)后,可以通過(guò)查看管理員列表查看自己的管理權(quán)限以及其他管理員的權(quán)限,擁有相應(yīng)管理權(quán)限的管理員可以對(duì)系統(tǒng)進(jìn)行所在權(quán)限內(nèi)的系統(tǒng)操作。5.4.3 添加管理員頁(yè)面添加管理員頁(yè)面主要用于添加管理員信息,在輸入管理員名稱和管理員密碼保存后。添加管理員頁(yè)面如圖所示:圖5-6 添加管理員頁(yè)面實(shí)現(xiàn)目標(biāo):在頁(yè)面里輸入管理員名稱、密碼和確認(rèn)密碼后,點(diǎn)擊“保存”按鈕系統(tǒng)將把管理員信息添加到數(shù)據(jù)庫(kù)中的管理員信息表。5.4.4 設(shè)置管理員權(quán)限頁(yè)面設(shè)置管理員權(quán)限頁(yè)面主要設(shè)置指定管理員的權(quán)限信息。