圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【摘要】圖書館借閱信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄危恢币詠砣藗兪褂脗鹘y(tǒng)人工的方式管理圖書、期刊、試卷合訂本等查詢信息。這種查詢管理方式存在著許多缺點(diǎn), 如: 效率低、保密性差, 另外時(shí)間一長, 將產(chǎn)生大量的文件和數(shù)據(jù), 這對于查找、更新和維護(hù)都帶來了不少的困難。系統(tǒng)運(yùn)行結(jié)果證明,本文所設(shè)計(jì)的圖書管理系統(tǒng)可以滿足讀者、管理員雙方面的需要。實(shí)現(xiàn)了數(shù)據(jù)庫表的瀏覽,記錄的添加、刪除和修改,實(shí)現(xiàn)了多種條件查詢,實(shí)現(xiàn)了讀者鎖定功能等。設(shè)計(jì)充分利用 J2EE、SQL 2000 數(shù)據(jù)庫技術(shù)的強(qiáng)大力量,提高了編程效率和可靠性。【關(guān)鍵詞】圖書管理;MIS;J2E

2、EThe Design and Implementation of Library Management System Based on J2EE【Abstract】Library management system should provide enough information and method which can help to search quickly. But people always manage books and periodicals through traditional artificial way. Such information query way ha

3、s many shortcomings, such as low efficiency, bad secrecy. Whats more, longer time will produce massive documents and data which brings a lot of difficulties for search, renewal and maintenance. Result which system runs show that the design of management system in this paper will meet the need of mem

4、bers and administrators. It realizes browse of database table , adding, deleting and amending records, achieving various inquiries under differentcondition and function lock about readers. It takes full advantage of powerful force of J2EE, SQL 2000 database technology to improve the efficiency and r

5、eliability of programming in this design.【Keywords】 library management MIS J2EE目 錄引言1第一章 概要11.1 研究背景及意義11.1.1 研究背景11.1.2 研究意義21.2系統(tǒng)調(diào)研與可行性分析21.2.1 現(xiàn)狀調(diào)研31.2.2可行性分析3第二章 需求分析32.1 業(yè)務(wù)流程與設(shè)計(jì)目標(biāo)42.1.1 業(yè)務(wù)流程42.1.2 設(shè)計(jì)目標(biāo)42.2 系統(tǒng)需求分析52.2.1 功能需求52.2.2 性能需求82.2.3 運(yùn)行需求8第三章 總體設(shè)計(jì)93.1 功能設(shè)計(jì)93.1.1 功能模塊設(shè)計(jì)93.1.2 功能模塊總體結(jié)構(gòu)圖103

6、.2 數(shù)據(jù)庫設(shè)計(jì)103.2.1 數(shù)據(jù)庫系統(tǒng)概述103.2.2 圖書信息表結(jié)構(gòu)設(shè)計(jì)123.2.3 讀者信息表結(jié)構(gòu)設(shè)計(jì)133.2.4 讀者信息表結(jié)構(gòu)設(shè)計(jì)133.2.5 借書還書信息表結(jié)構(gòu)設(shè)計(jì)13第四章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)144.1數(shù)據(jù)庫連接模塊144.1.1數(shù)據(jù)庫連接模塊概述144.1.2 數(shù)據(jù)庫連接模塊實(shí)現(xiàn)154.2 系統(tǒng)登錄模塊154.2.1系統(tǒng)登錄模塊概述154.2.2系統(tǒng)登錄模塊實(shí)現(xiàn)164.3 借書登記界面模塊174.3.1 借書登記界面模塊概述174.3.2 借書登記界面模塊實(shí)現(xiàn)184.4 還書登記界面模塊194.4.1 還書登記界面模塊概述194.4.2 還書登記界面模塊實(shí)現(xiàn)204.5 續(xù)

7、借登記界面模塊204.5.1 續(xù)借登記界面模塊概述204.5.2 續(xù)借登記界面模塊實(shí)現(xiàn)214.6 讀者設(shè)置模塊224.6.1 讀者設(shè)置模塊概述224.6.2 讀者設(shè)置模塊實(shí)現(xiàn)22第五章 系統(tǒng)測試245.1 軟件測試方法與步驟245.2 測試環(huán)境245.3 功能測試255.4 集成測試265.5 評價(jià)27結(jié)束語27參考文獻(xiàn)28致謝29引言當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代。在各行各業(yè)中離不開信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的

8、優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好圖書館信息而設(shè)計(jì)的。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理。根據(jù)調(diào)查得知,他們以前對信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對于圖書借閱情況(如借書天數(shù)、超過限定借書時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用對借書卡的人工檢查進(jìn)行,對借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計(jì)算、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯(cuò);由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)

9、范的信息管理手段。盡管有的圖書館有計(jì)算機(jī),但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯(cuò)率高,出錯(cuò)后不易更改。圖書館采取手工方式對圖書借閱情況進(jìn)行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復(fù)雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是當(dāng)時(shí)對它比較清楚,時(shí)間一長,如再要進(jìn)行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費(fèi)時(shí)、費(fèi)力。如要對很長時(shí)間以前的圖書進(jìn)行更改就更加困難了?;谶@此問題,我認(rèn)為有必要建立一個(gè)圖書管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程

10、序化,避免圖書管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢和修改圖書情況。第一章 概要1.1 研究背景及意義1.1.1 研究背景當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代。在各行各業(yè)中離不開信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的原因。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了安全性。尤其對于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好圖書信息而設(shè)計(jì)的。本圖書管理系統(tǒng)是針對學(xué)校的圖書館日常操作業(yè)務(wù)而開發(fā)的管理軟件。根據(jù)

11、管理員、讀者借閱的需求,實(shí)現(xiàn)圖書、讀者之間的有序化、信息化管理。本系統(tǒng)主要由這幾個(gè)模塊組成:日常借閱管理、讀者管理、圖書管理、系統(tǒng)設(shè)置等。圖書管理系統(tǒng)通過錄入圖書的詳細(xì)資料,建立讀者檔案、系統(tǒng)用戶資料,設(shè)置各類參數(shù)(如:超期期限、人員類別、圖書類別等),找出圖書與讀者之間的對應(yīng)關(guān)系,實(shí)現(xiàn)日常的借閱操作?;谶@些得到的基礎(chǔ)數(shù)據(jù),系統(tǒng)自行生成相應(yīng)的統(tǒng)計(jì)數(shù)據(jù)供管理員查詢、分析。另外,管理員還可以對這些基本信息進(jìn)行定期的數(shù)據(jù)更新和數(shù)據(jù)庫維護(hù);為讀者借閱時(shí)提供圖書是否在館,以及自己借書、還書等情況的查詢功能,圖書管理系統(tǒng)力求給圖書管理員提供操作簡單、方便快捷的途徑去管理這些龐大,繁瑣的信息和圖書。1.1

12、.2 研究意義圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理。根據(jù)調(diào)查得知,他們以前對信息管理的主要方式是基于文本,表格等紙介質(zhì)的手工處理,對于圖書借閱情況(如借書天數(shù),超過限定借書時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用對借書卡的人工檢查進(jìn)行,對借閱者的借閱權(quán)限,以及借閱天數(shù)等用人工計(jì)算,手抄進(jìn)行。數(shù)據(jù)處理工作量大,容易出錯(cuò)。由于數(shù)據(jù)繁多。容易丟失,且不易查找??偟膩碚f。缺乏系統(tǒng)規(guī)范的信息管理手段。盡管有的圖書館有計(jì)算機(jī),但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系

13、統(tǒng)的開發(fā)的潛在應(yīng)用環(huán)境。基于這個(gè)問題,本人認(rèn)為有必要建立一個(gè)圖書管理系統(tǒng),使圖書管理工作規(guī)范化、系統(tǒng)化、程序化,避免圖書管理的隨意性,提高信息處理的速度和準(zhǔn)確性, 能夠及時(shí)、準(zhǔn)確、有效的查詢和修改圖書情況。1.2系統(tǒng)調(diào)研與可行性分析1.2.1 現(xiàn)狀調(diào)研一直以來人們使用傳統(tǒng)的人工方式管理圖書館的日常工作,對于圖書的借書和還書過程,想必大家都已很熟悉。在計(jì)算機(jī)尚未在圖書管理系統(tǒng)廣泛使用之前,借書和還書過程主要依靠手工。手工過程的不足之處顯而易見,首先處理借書、還書業(yè)務(wù)流程的效率很低,其次處理能力比較低,一段時(shí)間內(nèi),所能服務(wù)的讀者人數(shù)是有限的。本系統(tǒng)正是基于改變這種現(xiàn)狀的一個(gè)嘗試,用SQL 2000

14、 數(shù)據(jù)庫實(shí)現(xiàn),用JAVA語言開發(fā),界面友好,操作簡單,利用本系統(tǒng)來處理這些流程無疑會極大程度地提高效率和處理能力。我們將會看到排隊(duì)等候借書、還書的隊(duì)伍不再那么長,管理員出錯(cuò)的概率也小了,讀者可以花更多的時(shí)間在選擇書和看書上。1.2.2可行性分析本次畢業(yè)設(shè)計(jì)題目:“圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ”主要目的是利用數(shù)據(jù)庫軟件編制一個(gè)管理軟件,用以實(shí)現(xiàn)圖書管理員對圖書的多項(xiàng)管理。同時(shí)對整個(gè)系統(tǒng)的分析、設(shè)計(jì)過程給出一個(gè)完整論證。圖書管理系統(tǒng)是一種基于集中統(tǒng)一規(guī)劃的數(shù)據(jù)庫數(shù)據(jù)管理新模式。對圖書和讀者的管理,其實(shí)是對圖書和讀者數(shù)據(jù)的管理。本系統(tǒng)的建成無疑會為圖書管理員提供極大的幫助。本系統(tǒng)的設(shè)計(jì)主要從以下幾方面

15、做起:系統(tǒng)業(yè)務(wù)流程分析、系統(tǒng)的功能設(shè)計(jì)、系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)和系統(tǒng)輸入/輸出設(shè)計(jì)等。做這些工作需對數(shù)據(jù)庫知識有足夠認(rèn)識,并深入的了解 SQL 2000的使用和管理系統(tǒng)的相關(guān)知識。在信息時(shí)代的今天,人類需要對在政治、經(jīng)濟(jì)、軍事、文化、科研、教育等領(lǐng)域產(chǎn)生的大量信息進(jìn)行管理,并對數(shù)據(jù)進(jìn)行加工處理,數(shù)據(jù)庫技術(shù)則是信息管理與數(shù)據(jù)處理的先進(jìn)技術(shù)。隨著信息量的不斷增加,作為計(jì)算機(jī)的三大主要應(yīng)用(科學(xué)計(jì)算、過程控制和數(shù)據(jù)處理)之一的數(shù)據(jù)處理,已迅速上升為計(jì)算機(jī)應(yīng)用的主要方面,數(shù)據(jù)庫技術(shù)則成為人們?nèi)粘I钪刑幚頂?shù)據(jù)不可缺少的有力工具,并且現(xiàn)代的信息管理系統(tǒng)幾乎都以數(shù)據(jù)庫技術(shù)作為核心。第二章 需求分析目前,客戶

16、機(jī)/服務(wù)器結(jié)構(gòu)(C/S)已成為組網(wǎng)的標(biāo)準(zhǔn)模型,也是管理信息系統(tǒng)采用的主流方式。這種結(jié)構(gòu)采用分布式數(shù)據(jù)庫管理系統(tǒng)為基礎(chǔ),對數(shù)據(jù)的處理分前臺和后臺,客戶機(jī)完成屏幕交互和輸入、輸出等前臺任務(wù),而服務(wù)器則完成大量的數(shù)據(jù)處理及存儲管理等后臺任務(wù),使后臺處理的數(shù)據(jù)不需要在前后臺間頻繁傳輸。眾所周知,所有應(yīng)用軟件系統(tǒng)的開發(fā)和設(shè)計(jì),它們的最終的目的是實(shí)現(xiàn)能夠?qū)?shù)據(jù)進(jìn)行加工和處理,也就是說要將某些特定形式的數(shù)據(jù)加工處理轉(zhuǎn)換成為用戶所能接受的數(shù)據(jù)形式。對于計(jì)算機(jī)程序所處理的數(shù)據(jù),它的信息模塊一般包括原始數(shù)據(jù)的內(nèi)容、數(shù)據(jù)的流向和數(shù)據(jù)結(jié)構(gòu)。通常所說的數(shù)據(jù)的內(nèi)容就是數(shù)據(jù)項(xiàng)。通常所說的數(shù)據(jù)流指的是數(shù)據(jù)經(jīng)過一個(gè)應(yīng)用程序系統(tǒng)

17、的時(shí)候它的變化方式。錄入的原始數(shù)據(jù)首先要轉(zhuǎn)換成系統(tǒng)的中間數(shù)據(jù),最后再轉(zhuǎn)換成輸出數(shù)據(jù),并且在這個(gè)過程中允許從已經(jīng)存儲在系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)中引進(jìn)附加數(shù)據(jù)。對數(shù)據(jù)進(jìn)行加工、處理和轉(zhuǎn)換應(yīng)該是應(yīng)用程序中需要具備的功能或者是子功能,數(shù)據(jù)轉(zhuǎn)換功能之間的數(shù)據(jù)傳遞,確定了各個(gè)功能模塊之間的接口。2.1 業(yè)務(wù)流程與設(shè)計(jì)目標(biāo)2.1.1 業(yè)務(wù)流程圖書管理系統(tǒng)業(yè)務(wù)流程主要為系統(tǒng)管理流程、圖書業(yè)務(wù)流程和讀者業(yè)務(wù)流程。(1)系統(tǒng)管理員輸入用戶名和密碼后登錄系統(tǒng),出現(xiàn)系統(tǒng)主界面,菜單欄出現(xiàn)6個(gè)子菜單包括了系統(tǒng)的所有功能。選擇了系統(tǒng)管理菜單后,管理員可以對管理員用戶信息進(jìn)行添加、刪除和修改密碼管理操作。(2)選擇了圖書管理子菜

18、單后,管理員可以進(jìn)行對圖書信息管理的各種操作。例如,圖書館添置新的圖書后,可以進(jìn)行新書入庫。讀者借書時(shí)管理員進(jìn)行借書操作。讀者還書時(shí)管理員進(jìn)行還書操作。讀者續(xù)借時(shí)管理員進(jìn)行續(xù)借操作。當(dāng)圖書信息需要修改或刪除時(shí)管理員進(jìn)行圖書信息修改或刪除操作。(3)選擇了讀者管理子菜單后,管理員可以進(jìn)行對讀者信息管理的各種操作。例如,有了新的讀者后,管理員可以進(jìn)行添加新讀者操作。當(dāng)讀者信息需要修改時(shí),管理員可以進(jìn)行修改讀者信息操作。當(dāng)讀者信息需要?jiǎng)h除時(shí),管理員可以進(jìn)行刪除讀者信息操作。2.1.2 設(shè)計(jì)目標(biāo)系統(tǒng)的最終目標(biāo)是輔助工作人員實(shí)現(xiàn)圖書管理的自動化和規(guī)范化。(1)能夠?qū)D書進(jìn)行注冊登記,添置新圖書時(shí)錄入基本

19、信息,方便管理人員上架和讀者查詢。(2)對讀者進(jìn)行登記,錄入新讀者的注冊信息,并自動賦予新讀者一個(gè)唯一的讀者編號。(3)簡潔方便的圖書查詢方法,比如:按圖書編號、書名、類別、作者和出版社等單獨(dú)對需要的圖書信息進(jìn)行查詢。(4)管理員對讀者的借閱信息進(jìn)行查詢管理,簡潔的處理借出、還入圖書和續(xù)借等操作。 (5)簡潔方便的圖書管理功能,方便管理員對圖書的信息修改等操作。(6)系統(tǒng)具有友好的用戶操作界面,交互接口。流程準(zhǔn)確、可靠,符合現(xiàn)行管理的基本模型和工作習(xí)慣。2.2 系統(tǒng)需求分析2.2.1 功能需求圖書借閱管理系統(tǒng)的主要任務(wù)是實(shí)現(xiàn)讀者迅速檢索查詢。方便借閱歸還圖書,圖書管理員高效的完成系統(tǒng)的各項(xiàng)基本

20、操作,系統(tǒng)管理員是管理用戶設(shè)置權(quán)限等操作,從可以看出圖書管理系統(tǒng)要完成以下功能:(1)查詢功能:對于需要查詢的數(shù)據(jù)可以通過三種方式查找,按照圖書相應(yīng)的屬性查詢,按照讀者相應(yīng)屬性查詢,書目和讀者相關(guān)匹配查詢。(2)插入功能:可以對需要添加到圖書管理系統(tǒng)中新的信息進(jìn)行添加,增加一個(gè)圖書記錄,增加一個(gè)讀者。(3)修改功能:對圖書管理系統(tǒng)中的信息可以進(jìn)行變更,修改某一已存在的記錄內(nèi)容。(4)刪除功能:對系統(tǒng)中錯(cuò)誤或無效的信息進(jìn)行刪除,刪除后臺數(shù)據(jù)庫中的記錄。(5)瀏覽功能:對系統(tǒng)中已有的信息進(jìn)行查看,管理員可以瀏覽所有的圖書信息和讀者信息。系統(tǒng)管理用例如圖2.1所示:圖2.1 系統(tǒng)功能用例圖其中,“查

21、詢功能”用例描述如表2.1所示:表2.1查詢功能用例描述用例編號UC001用例名稱查詢功能用例概述管理員可以根據(jù)圖書編號和讀者號分別查詢圖書信息和讀者信息讀者可以對需要的圖書進(jìn)行查詢。范圍登錄系統(tǒng)的管理員主參與者管理員次要參與者讀者前置條件管理員登陸成功進(jìn)入查詢界面后置條件讀者提供圖書編號或讀者號成功保證提供信息正確基本事件流步驟活動1進(jìn)入讀者查詢界面2進(jìn)入圖書查詢界面規(guī)則與約束管理員登錄本系統(tǒng),讀者提供查詢信息 “插入功能”用例描述如表2.2所示:表2.2 插入功能用例描述用例編號UC002用例名稱插入功能用例概述管理員可以增加新的圖書和讀者信息。范圍登錄系統(tǒng)的管理員主參與者管理員次要參與者

22、讀者前置條件管理員登陸成功進(jìn)入新書入庫界面和添加讀者界面后置條件新讀者個(gè)人信息和新圖書信息成功保證提供信息正確基本事件流步驟活動1添加新書的信息2添加新讀者的信息規(guī)則與約束管理員登錄本系統(tǒng),新讀者提供信息 “修改功能”用例描述如表2.3所示:表2.3 修改功能用例描述用例編號UC003用例名稱修改功能用例概述管理員可以修改已有的圖書和讀者信息。范圍登錄系統(tǒng)的管理員主參與者管理員次要參與者讀者前置條件管理員登陸成功進(jìn)入修改圖書界面和修改讀者界面后置條件讀者修改的個(gè)人信息和圖書修改信息成功保證提供信息正確基本事件流步驟活動1添加修改圖書的信息2添加修改讀者的信息規(guī)則與約束管理員登錄本系統(tǒng),讀者提供

23、正確修改信息 “刪除功能”用例描述如表2.4所示:表2.4 刪除功能用例描述用例編號UC004用例名稱刪除功能用例概述管理員可以刪除圖書和讀者信息。范圍登錄系統(tǒng)的管理員主參與者管理員次要參與者讀者前置條件管理員登陸成功進(jìn)入刪除圖書界面和刪除讀者界面后置條件需要?jiǎng)h除的讀者信息和圖書信息成功保證提供信息正確基本事件流步驟活動1刪除圖書信息2刪除讀者信息規(guī)則與約束管理員登錄本系統(tǒng),刪除信息正確 2.2.2 性能需求為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運(yùn)行,圖書管理系統(tǒng)應(yīng)該滿足以下的性能需求:1.系統(tǒng)處理的準(zhǔn)確性和及時(shí)性:系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開發(fā)過程中,要充

24、分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠滿足學(xué)校對信息處理的需求。2.系統(tǒng)的開放性和系統(tǒng)的可擴(kuò)充性:圖書管理系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如用戶查詢的需求也會不斷的更新和完善。3.系統(tǒng)的易用性和易維護(hù)性:圖書管理系統(tǒng)是直接面對使用人員的,而使用人員往往對計(jì)算機(jī)并不是非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。4.系統(tǒng)的標(biāo)準(zhǔn)性:系統(tǒng)在設(shè)計(jì)開發(fā)使用過程中都要涉及到很多計(jì)算機(jī)硬件、軟件。所有這些都要符合主流國際、國家和行業(yè)標(biāo)準(zhǔn)。5.系統(tǒng)的響應(yīng)速度:圖書管理系統(tǒng)系統(tǒng)在日常處理中的響應(yīng)速度為秒級,達(dá)到實(shí)時(shí)要求,以及時(shí)反饋信息。一般操作的

25、響應(yīng)時(shí)間應(yīng)在1-2秒內(nèi)。2.2.3 運(yùn)行需求1.用戶界面該系統(tǒng)采用窗體和對話框的可視化用戶交互方式使用方便。2.硬件接口:支持各種 x86 系列 PC 機(jī)。3.軟件接口:運(yùn)行于 Windows95/98 及更高版本具有 WIN32 API 的操作系統(tǒng)之上。4.故障處理:正常使用時(shí)不應(yīng)出錯(cuò),對于用戶的輸入錯(cuò)誤應(yīng)給出適當(dāng)?shù)母恼崾?。若運(yùn)行時(shí)遇到不可恢復(fù)的系統(tǒng)錯(cuò)誤,也必須保證數(shù)據(jù)庫完好無損。第三章 總體設(shè)計(jì)該系統(tǒng)在Windows98/2000/XP環(huán)境下,主要采用Jbuilder2006開發(fā)工具,SQL2000數(shù)據(jù)庫來設(shè)計(jì),開發(fā)過程與成果應(yīng)符合GB/T 11457-1995軟件工程術(shù)語,GB/T 8

26、567-1988計(jì)算機(jī)軟件產(chǎn)品開發(fā)文件編制指南等。3.1 功能設(shè)計(jì)3.1.1 功能模塊設(shè)計(jì)根據(jù)系統(tǒng)的功能需求分析,可以將本系統(tǒng)的主要功能劃分為4個(gè)功能模塊,分別為系統(tǒng)管理、信息管理、讀者設(shè)置、圖書管理。1.系統(tǒng)管理模塊:系統(tǒng)管理模塊可劃分為修改刪除管理員、修改密碼和退出三個(gè)子模塊。修改刪除管理員包括對系統(tǒng)管理員的基本信息添加、修改和刪除等操作;修改密碼主要是對已有的管理員信息的密碼進(jìn)行修改;退出是對整個(gè)系統(tǒng)進(jìn)行退出關(guān)閉操作。2.信息管理模塊:信息管理模塊可以劃分為讀者檢索、圖書檢索和已借圖書三個(gè)子模塊。讀者檢索包含對已有的讀者信息根據(jù)約束條件進(jìn)行按編號、姓名和電話三種檢索方式;圖書檢索包含對已

27、有的圖書信息進(jìn)行根據(jù)約束條件按編號、書名、類別、作者、價(jià)格和出版社六種檢索方式;已借圖書主要是對現(xiàn)有的借出的全部圖書信息進(jìn)行查看。3.讀者設(shè)置模塊:讀者設(shè)置模塊可以劃分為添加讀者和讀者管理兩個(gè)子模塊。添加讀者主要是對新的讀者信息進(jìn)行添加入庫并自動賦予一個(gè)讀者編號;讀者管理是對已有的讀者信息進(jìn)行查看、修改和刪除操作。4.讀書管理模塊:圖書管理模塊可以劃分為新書入庫、借書、還書、續(xù)借和圖書管理五個(gè)子模塊。新書入庫是對新的圖書進(jìn)行信息的添加入庫;借書是管理員對讀者要借的圖書進(jìn)行借書信息的添加入庫;還書是管理員對讀者要還的圖書進(jìn)行還書信息的添加入庫;續(xù)借是管理員對讀者要續(xù)借圖書進(jìn)行續(xù)借信息的添加入庫;

28、圖書管理是管理員對已有的圖書的信息進(jìn)行查看、修改和刪除的管理操作。3.1.2 功能模塊總體結(jié)構(gòu)圖繪制系統(tǒng)結(jié)構(gòu)圖的過程,實(shí)際上就是對系統(tǒng)功能模塊進(jìn)行分解設(shè)計(jì)的過程,即合理地將數(shù)據(jù)流程圖轉(zhuǎn)變?yōu)樗枰南到y(tǒng)結(jié)構(gòu)圖。系統(tǒng)結(jié)構(gòu)圖將會使讀者和用戶能直觀的了解系統(tǒng)的結(jié)構(gòu)模式,理解系統(tǒng)的各個(gè)功能的結(jié)構(gòu),能很好地方便用戶使用和理解整個(gè)系統(tǒng)。本系統(tǒng)的結(jié)構(gòu)圖如圖3.1所示:圖3.1 系統(tǒng)總體結(jié)構(gòu)圖3.2 數(shù)據(jù)庫設(shè)計(jì)3.2.1 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫是整個(gè)系統(tǒng)的基石,數(shù)據(jù)庫的設(shè)計(jì)優(yōu)劣直接影響到整個(gè)系統(tǒng)的設(shè)計(jì)成敗,本節(jié)對數(shù)據(jù)庫的設(shè)計(jì)進(jìn)行專門闡述。數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù)。十多年來數(shù)據(jù)庫管理系統(tǒng)已從專用的應(yīng)用程序發(fā)展成為

29、通用的系統(tǒng)軟件。由于數(shù)據(jù)庫具有數(shù)據(jù)結(jié)構(gòu)化,最低冗余度,較高的程序與數(shù)據(jù)獨(dú)立性,易于擴(kuò)充,易于編制應(yīng)用程序等優(yōu)點(diǎn),較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫設(shè)計(jì)之上的。因此不僅大型計(jì)算機(jī)及中小型計(jì)算機(jī),甚至微型機(jī)都配有數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序?yàn)橹行霓D(zhuǎn)向圍繞共享的數(shù)據(jù)庫為中心的新階段。這樣既便于數(shù)據(jù)的集中管理,又有利于應(yīng)用程序的研制和維護(hù),提高了數(shù)據(jù)的利用性和相容性,提高了決策的可靠性。目前,數(shù)據(jù)庫已經(jīng)成為現(xiàn)代信息系統(tǒng)不可分割的重要組成部分。數(shù)據(jù)庫技術(shù)也是計(jì)算機(jī)領(lǐng)域中發(fā)展最快的技術(shù)之一。數(shù)據(jù)庫設(shè)計(jì)是把現(xiàn)實(shí)世界的實(shí)體模型與需求轉(zhuǎn)換成數(shù)據(jù)庫的模型的過程,它是建立數(shù)據(jù)庫應(yīng)用系統(tǒng)的

30、核心問題。數(shù)據(jù)庫及其應(yīng)用的性能都建立在良好的數(shù)據(jù)庫設(shè)計(jì)的基礎(chǔ)之上,數(shù)據(jù)庫的數(shù)據(jù)是一切操作的基礎(chǔ),如果數(shù)據(jù)庫設(shè)計(jì)不好,那么其它一切用于提高數(shù)據(jù)庫性能的方法都是有限的。數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵是如何使設(shè)計(jì)的數(shù)據(jù)庫能合理地存儲用戶的數(shù)據(jù),方便用戶進(jìn)行數(shù)據(jù)處理。設(shè)計(jì)數(shù)據(jù)庫必須遵循一定的規(guī)則,在關(guān)系型數(shù)據(jù)庫中,這種規(guī)則就是范式,范式是符合某一種級別的關(guān)系模式的集合。一般人們設(shè)計(jì)數(shù)據(jù)庫遵循第三范式。即:數(shù)據(jù)庫表中不包含已在其他表中包含的非主關(guān)鍵字信息。采用范式減少了數(shù)據(jù)冗余,節(jié)約了存儲空間,同時(shí)加快了增、刪、改的速度。整個(gè)系統(tǒng)所包括的信息有圖書信息、讀者信息、管理員信息、借書還書信息??蓪⑦@些信息抽象為下列系統(tǒng)所

31、需要的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):(1)管理員信息(用戶名,密碼) (2)借書還書信息(圖書號,讀者號,價(jià)格,借書時(shí)間,借書期限,還書狀態(tài)是否續(xù)借) (3)、圖書信息(圖書號,圖書名稱,簡介,類別,出版社,庫存量,作者,入庫時(shí)間)(4)、讀者信息(讀者號,姓名,性別,電話,地址,余額,注冊時(shí)間,狀態(tài))在本系統(tǒng)的實(shí)體中,“管理員”與“圖書”和“讀者”間的對應(yīng)關(guān)系為一對多;“圖書”與“讀者”之間的對應(yīng)關(guān)系為多對多。實(shí)體之間的對應(yīng)及從屬關(guān)系如圖3.2所示:圖3.2 實(shí)體關(guān)系E-R圖3.2.2 圖書信息表結(jié)構(gòu)設(shè)計(jì)圖書信息表主要用于存儲圖書館中所藏圖書的相關(guān)信息,其中的相關(guān)信息是在新書入庫時(shí)由操作員進(jìn)行添加完善,

32、此表主要用于讀者和圖書管理員對館中圖書的查詢,系統(tǒng)用戶根據(jù)圖書的某個(gè)屬性進(jìn)行查詢,便可得知圖書的其他相關(guān)信息。具體結(jié)果如下表3.1所示:表3.1 圖書信息表:Books字段數(shù)據(jù)類型備注BidInt圖書號BnameVarchar書名BpreviewVarchar簡介BsortVarchar類別BpublisherVarchar出版社BsumInt庫存量BauthorVarchar作者BregtimeDatetime入庫時(shí)間3.2.3 讀者信息表結(jié)構(gòu)設(shè)計(jì)讀者信息表的設(shè)計(jì)是為了圖書館管理員對讀者進(jìn)行管理,其中讀者編號是唯一的,是讀者在借閱圖書時(shí)需要輸入對讀者身份進(jìn)行識別的信息,讀者電話地址等信息是為

33、了與讀者進(jìn)行聯(lián)系,讀者余額信息決定了讀者一次性可借閱的圖書的數(shù)量,注冊時(shí)間可用于查詢計(jì)算讀者身份有效的期限,狀態(tài)決定了讀者當(dāng)前是否有已借的超期圖書而再借新書。具體結(jié)構(gòu)設(shè)計(jì)如下表3.2所示:表3.2 讀者信息表:Users字段數(shù)據(jù)類型備注UidInt讀者號UnameVarchar姓名UsexChar性別UphoneVarchar電話UaddressVarchar地址UyueMoney余額表3.3 讀者信息表:Users(續(xù))UregtimeDatetime注冊日期UstateChar狀態(tài)3.2.4 讀者信息表結(jié)構(gòu)設(shè)計(jì)該表的設(shè)計(jì)用于記錄圖書管理系統(tǒng)用戶的信息,方便對用戶的管理,表中包括用戶名和用戶

34、的登錄密碼。具體結(jié)構(gòu)設(shè)計(jì)如下表3.3所示:表3.3 管理員表:Admin字段數(shù)據(jù)類型備注AnameVarchar用戶名ApwdVarchar密碼3.2.5 借書還書信息表結(jié)構(gòu)設(shè)計(jì)該表的設(shè)計(jì)是用于對讀者借閱圖書信息進(jìn)行管理,表中圖書號屬性是對借閱圖書的唯一性識別標(biāo)識,讀者號記錄借閱的相應(yīng)讀者,借書時(shí)間記錄了相應(yīng)的借書日期,借書期限可以判斷是否超時(shí), 還書狀態(tài)可查詢當(dāng)前讀書是否被歸還, 價(jià)格是圖書丟失后賠償?shù)囊罁?jù),是否續(xù)借表示圖書續(xù)借的狀態(tài)。具體結(jié)構(gòu)設(shè)計(jì)如下表3.4所示:表3.4 借書還書表表:Outbooks字段數(shù)據(jù)類型備注ObidInt圖書號OuidInt讀者號ObpriceMoney價(jià)格Ob

35、otimeDatetime借書時(shí)間ObrenttimeInt借書期限ObstateChar還書狀態(tài)ObkeepChar是否續(xù)借第四章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn)主要涉及到本管理系統(tǒng)用戶界面的規(guī)劃制作以及功能代碼的添加和編寫。在實(shí)現(xiàn)時(shí)需要綜合考慮用戶界面的適應(yīng)性、界面結(jié)構(gòu)的合理性、關(guān)鍵代碼的高效性及健壯性、系統(tǒng)數(shù)據(jù)及訪問控制的安全性和系統(tǒng)所占存儲容量等問題。盡量使整個(gè)系統(tǒng)的綜合性能達(dá)到最優(yōu)12。本系統(tǒng)是在WindowsXP環(huán)境下,使用Jbuilder2006開發(fā)完成,這是一個(gè)基于對話框的程序項(xiàng)目,整個(gè)用戶界面由若干個(gè)不同類型的對話框組成。在系統(tǒng)開發(fā)過程中力爭只使用Jbuilder的常用組件,同時(shí)參考

36、了一些講開發(fā)技巧的書籍,以便更加靈活的應(yīng)用各控件。本系統(tǒng)的實(shí)現(xiàn)主要分以下的幾個(gè)模塊。4.1數(shù)據(jù)庫連接模塊4.1.1數(shù)據(jù)庫連接模塊概述數(shù)據(jù)庫連接模塊是本系統(tǒng)實(shí)現(xiàn)中的關(guān)鍵環(huán)節(jié),是把后臺已創(chuàng)建完成的數(shù)據(jù)庫與前臺用戶程序界面相聯(lián)合從而協(xié)調(diào)工作的過程,本系統(tǒng)使用的是JDBC技術(shù)實(shí)現(xiàn)功能。JDBC為數(shù)據(jù)庫開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫應(yīng)用程序。在Java語言中,訪問數(shù)據(jù)庫的基本步驟是:首先裝載驅(qū)動程序,然后建立連接,第三步是訪問數(shù)據(jù)庫,即執(zhí)行SQL指令,第四步處理結(jié)果集,最后關(guān)閉結(jié)果集、斷開連接13。4.1.2 數(shù)據(jù)庫

37、連接模塊實(shí)現(xiàn)為了體現(xiàn)JAVA的面向?qū)ο筇攸c(diǎn),本系統(tǒng)中將數(shù)據(jù)庫的所有操作都封裝成了一個(gè)類“DBC”,這用封裝提高了數(shù)據(jù)庫操作的獨(dú)立性,也提供了調(diào)用數(shù)據(jù)庫的便捷性。在此類中主要用到了三個(gè)數(shù)據(jù)庫功能函數(shù),它們在類中的原型及功能如下:public void getConnection() public boolean executeUpdate(String sql)public ResultSet executeQuery(String sql)1.函數(shù)getConnection此函數(shù)用于初始化數(shù)據(jù)庫連接,在執(zhí)行其他數(shù)據(jù)庫操作之前,這是必須首先被執(zhí)行的函數(shù)。在函數(shù)中首先調(diào)用DriverManager

38、類來負(fù)責(zé)加載、注冊JDBC驅(qū)動程序,管理應(yīng)用程序和已注冊的驅(qū)動程序的連接。加載和注冊驅(qū)動程序用Class類的forName方法完成。創(chuàng)建一個(gè)connection連接到數(shù)據(jù)源中的數(shù)據(jù)庫db,連接失敗則彈出一個(gè)異常對話框14。 2.函數(shù)executeQuery此函數(shù)用于執(zhí)行由參數(shù)傳入的SQL語句。在執(zhí)行查詢前將結(jié)果集對象是為NULL,隨后根據(jù)傳入SQL語句將執(zhí)行后的結(jié)果放入結(jié)果集對象中。如果執(zhí)行失敗則彈出異常對話框。 3.函數(shù)executeUpdate此函數(shù)用于對數(shù)據(jù)庫進(jìn)行更新,設(shè)置一個(gè)整型變量i用于對更新成功與否來進(jìn)行判斷。首先建立對數(shù)據(jù)庫的連接,成功之后進(jìn)行數(shù)據(jù)的更新,更新后斷開數(shù)據(jù)庫連接。如

39、果出現(xiàn)異常將會彈出異常對話框。4.2 系統(tǒng)登錄模塊4.2.1系統(tǒng)登錄模塊概述該模塊主要用于首次運(yùn)行系統(tǒng)的用戶名和密碼的輸入鑒定,當(dāng)用戶的用戶名和密碼輸入正確就將進(jìn)入到系統(tǒng)的主界面,否則,會提示錯(cuò)誤并返回到登錄界面。該模塊的主要流程如下:1.要求管理員輸入用戶名及密碼。2.建立與數(shù)據(jù)庫的連接,檢驗(yàn)。3.顯示主對話框(即主界面),進(jìn)入主流程。系統(tǒng)登錄模塊的運(yùn)行過程可以用程序流程圖來展現(xiàn),登錄系統(tǒng)流程圖如4.1所示:圖4.1 登錄系統(tǒng)流程圖4.2.2系統(tǒng)登錄模塊實(shí)現(xiàn)為了完成登錄系統(tǒng)模塊的功能,需要對數(shù)據(jù)庫中的“管理員”數(shù)據(jù)表進(jìn)行訪問。同樣為了體現(xiàn)Java的面向?qū)ο筇匦院拖到y(tǒng)數(shù)據(jù)庫安全性,在實(shí)現(xiàn)時(shí)把管

40、理員的數(shù)據(jù)成員和數(shù)據(jù)管理封裝成一個(gè)類“Login”。在用戶登錄時(shí),需要通過調(diào)用登錄界面上控件的事件代碼取得相應(yīng)的用戶密碼,以便進(jìn)行比對驗(yàn)證。在該類中通過對”登錄”按鈕控件的事件調(diào)用來執(zhí)行對登錄的用戶名和密碼的驗(yàn)證功能。首先對輸入框進(jìn)行判斷如果為空,則彈出異常對話框并提示為空,不為空則連接數(shù)據(jù)庫對輸入的數(shù)據(jù)進(jìn)行比對,如果比對成功則進(jìn)入主界面,否則彈出異常對話框提示錯(cuò)誤并清空輸入返回登錄界面直到輸入比對正確。在該類中通過對”退出”按鈕控件的事件調(diào)用來執(zhí)行對整個(gè)系統(tǒng)的退出操作。(1)用戶名輸入文本框:此控件用戶接受用戶鍵盤輸入的用戶名數(shù)據(jù),并可以通過getText()方法傳遞給name變量用于調(diào)用事

41、件時(shí)進(jìn)行比對。(2)密碼輸入文本框:此控件用戶接受用戶鍵盤輸入的密碼數(shù)據(jù)用“*”字符進(jìn)行替換,并可以通過getText()方法傳遞給pwd變量用于調(diào)用事件時(shí)進(jìn)行比對。(3)登錄按鈕:此控件用戶接受用戶的鼠標(biāo)事件,當(dāng)用戶對該控件進(jìn)行左擊時(shí)調(diào)用btnLogin_actionPerformed(ActionEvent e)事件。首先,調(diào)用用戶名和密碼文本框的getText()方法獲得用戶輸入的用戶名和密碼。當(dāng)發(fā)現(xiàn)其中一項(xiàng)為空時(shí),彈出提示對話框并將用戶名和密碼文本框重新置空。不為空則將獲得的用戶名和密碼數(shù)據(jù)賦給變量name和pdw,之后通過結(jié)果集方法dbc.executeQuery(SELECT *

42、FROM Admin)查詢管理員數(shù)據(jù)表,并對其中數(shù)據(jù)項(xiàng)進(jìn)行一一比對。當(dāng)發(fā)現(xiàn)兩項(xiàng)數(shù)據(jù)全部比對成功后,調(diào)用方法進(jìn)入主界面。否則,彈出提示用戶名或密碼錯(cuò)誤的提示框。登錄界面如圖4.2所示:圖4.2 登錄系統(tǒng)界面圖(4)ctionPerformed(ActionEvent e)事件通過System.exit(0)方法退出系統(tǒng)。4.3 借書登記界面模塊4.3.1 借書登記界面模塊概述該模塊主要功能用于已有圖書的借閱,根據(jù)查驗(yàn)輸入的讀者號和圖書編號,檢查輸入信息的正確性,如果正確則獲取該讀者以及圖書的相關(guān)信息,并可繼續(xù)進(jìn)行相應(yīng)的借書操作,借書成功將會彈出相應(yīng)的提示。該模塊主要流程如下:(1)要求管理員輸入

43、書編號,讀者號。(2)檢驗(yàn)書編號和讀者號是否存在。(3)確認(rèn)存在后提交借書請求,更新信息,把借書信息寫入數(shù)據(jù)庫,顯示借書操作結(jié)果。(4)如為退出操作,結(jié)束借書流程。借書登記界面模塊流程圖如4.3所示:圖4.3 借書登記界面模塊流程圖4.3.2 借書登記界面模塊實(shí)現(xiàn)該模塊實(shí)現(xiàn)圖書的借閱功能,讀者向圖書管理員提供自己的編號會顯示出讀者當(dāng)前的借閱情況,再提供要借閱的圖書編號和借閱的期限,圖書管理員將信息記錄在系統(tǒng)中,借閱成功。首先,進(jìn)入界面后在根據(jù)約束條件輸入框中分別輸入對應(yīng)的信息,先對輸入數(shù)據(jù)的類型進(jìn)行判斷,如果不為數(shù)字型則會彈出異常。然后在數(shù)據(jù)庫中對讀者號和書編號進(jìn)行比對來驗(yàn)證是否已在數(shù)據(jù)庫中存

44、在,如果該書的庫存量不為零,則可以借閱并將該書的庫存量減一,全部驗(yàn)證成功后會對“借書還書”數(shù)據(jù)表進(jìn)行更新,否則會彈出異常信息提示錯(cuò)誤。(1)圖書編號文本框:此控件用戶接受用戶鍵盤輸入的圖書編號數(shù)據(jù),并可以通過getText()方法傳遞給book變量用于調(diào)用事件時(shí)進(jìn)行比對。(2)讀者編號文本框:此控件用戶接受用戶鍵盤輸入的讀者編號數(shù)據(jù),并可以通過getText()方法傳遞給uyue變量用于調(diào)用事件時(shí)進(jìn)行比對。(3)借書期限文本框:此控件用戶接受用戶鍵盤輸入的讀者借書時(shí)間數(shù)據(jù),并可以通過getText()方法傳遞給time變量用于調(diào)用事件時(shí)進(jìn)行比對。(4)確定按鈕:此控件用戶接受用戶的鼠標(biāo)事件,當(dāng)

45、用戶對該控件進(jìn)行左擊時(shí)調(diào)用btnSure_actionPerformed(ActionEvent e)事件。首先,調(diào)用圖書編號、讀者編號和借書期限文本框的getText()方法獲得用戶輸入的圖書編號、讀者編號和借書時(shí)間。當(dāng)發(fā)現(xiàn)其中一項(xiàng)為空時(shí),彈出提示對話框并將所有文本框重新置空。不為空則將獲得的圖書編號、讀者編號和借書時(shí)間數(shù)據(jù)賦給變量,之后通過結(jié)果集方法dbc.executeQuery(SELECT * FROM Books)查詢圖書數(shù)據(jù)表,并對其中數(shù)據(jù)項(xiàng)進(jìn)行一一的比對數(shù)據(jù)值。當(dāng)發(fā)現(xiàn)三項(xiàng)的數(shù)據(jù)全部符合約束條件的要求后,調(diào)用dbc.executeUpdate(INSERT OutBooks)方法

46、將其添加到借書還書表。否則,彈出提示借書失敗提示框。(5)取消按鈕:此控件用于實(shí)現(xiàn)借書登記界面窗體的關(guān)閉,當(dāng)用戶單擊調(diào)用this.setVisible(false)方法將界面設(shè)置為隱藏。4.4 還書登記界面模塊4.4.1 還書登記界面模塊概述該模塊主要功能用于讀者對借出圖書的歸還,根據(jù)查驗(yàn)輸入的讀者號和圖書編號,檢查輸入信息的正確性,如果正確則獲取該讀者以及圖書的相關(guān)信息,并可繼續(xù)進(jìn)行相應(yīng)的還書操作,還書成功將會彈出相應(yīng)的提示。該模塊主要流程如下:(1)要求管理員輸入書編號,讀者號。(2)檢驗(yàn)借書信息是否存在。(3)確認(rèn)存在后提交還書請求,更新信息,把還書信息寫入數(shù)據(jù)庫。(4)如為退出操作,結(jié)

47、束還書流程。還書登記界面模塊流程圖如4.4所示:圖4.4 還書登記界面模塊流程圖4.4.2 還書登記界面模塊實(shí)現(xiàn)該模塊實(shí)現(xiàn)系統(tǒng)的圖書歸還功能,讀者向圖書管理員提供自己的編號,再提供要?dú)w還的圖書編號,圖書管理員將信息記錄在系統(tǒng)中,歸還成功。將還書模塊封裝為一個(gè)“Return”類,在“確定”按鈕的事件中來實(shí)現(xiàn)模塊的主要功能。首先,進(jìn)入界面后在根據(jù)約束條件輸入框中分別輸入對應(yīng)的信息,先對輸入數(shù)據(jù)的類型進(jìn)行判斷,如果不為數(shù)字型則會彈出異常。然后在數(shù)據(jù)庫中對讀者號和書編號進(jìn)行比對來驗(yàn)證是否已在“借書還書”數(shù)據(jù)表中存在,全部驗(yàn)證成功后會對“借書還書”數(shù)據(jù)表進(jìn)行更新,并將該書的庫存量加一,否則會彈出異常信息

48、提示錯(cuò)誤。(1)圖書編號文本框:此控件用戶接受用戶鍵盤輸入的圖書編號數(shù)據(jù),并可以通過getText()方法傳遞給book變量用于調(diào)用事件時(shí)進(jìn)行比對。(2)讀者編號文本框:此控件用戶接受用戶鍵盤輸入的讀者編號數(shù)據(jù),并可以通過getText()方法傳遞給uyue變量用于調(diào)用事件時(shí)進(jìn)行比對。(3)提交按鈕:此控件用戶接受用戶的鼠標(biāo)事件,當(dāng)用戶對該控件進(jìn)行左擊時(shí)調(diào)用btnSubmit_actionPerformed(ActionEvent e)事件。首先,調(diào)用圖書編號和讀者編號文本框的getText()方法獲得用戶輸入的圖書編號和讀者編號。當(dāng)發(fā)現(xiàn)其中一項(xiàng)為空時(shí),彈出提示對話框并將所有文本框重新置空。不

49、為空則將獲得的圖書編號和讀者編號數(shù)據(jù)賦給變量book和uyue,之后通過結(jié)果集方法dbc.executeQuery查詢圖書數(shù)據(jù)表和讀者數(shù)據(jù)表,并對其中數(shù)據(jù)項(xiàng)進(jìn)行一一比對。當(dāng)發(fā)現(xiàn)兩項(xiàng)數(shù)據(jù)全部符合約束條件后,調(diào)用dbc.executeUpdate方法更新到借書還書表。否則,彈出提示還書失敗提示框。(4)取消按鈕:此控件用于實(shí)現(xiàn)還書登記界面窗體的關(guān)閉,當(dāng)用戶單擊調(diào)用this.setVisible(false)方法將界面設(shè)置為隱藏。4.5 續(xù)借登記界面模塊4.5.1 續(xù)借登記界面模塊概述該模塊主要功能用于讀者對借出圖書的續(xù)借,根據(jù)查驗(yàn)輸入的讀者號和圖書編號,檢查輸入信息的正確性,如果正確則獲取該讀者以

50、及圖書的相關(guān)信息,并可繼續(xù)進(jìn)行相應(yīng)的續(xù)借操作,續(xù)借成功將會彈出相應(yīng)的提示。該模塊主要流程如下:(1)要求管理員輸入書編號,讀者號。(2)檢驗(yàn)借書信息是否存在。(3)確認(rèn)存在后提交續(xù)借請求,更新信息,把續(xù)借信息寫入數(shù)據(jù)庫,顯示續(xù)借操作結(jié)果。(4)如為退出操作,結(jié)束續(xù)借流程。借書登記界面模塊流程圖4.5所示:圖4.5 續(xù)借登記界面模塊流程圖4.5.2 續(xù)借登記界面模塊實(shí)現(xiàn)該模塊實(shí)現(xiàn)系統(tǒng)的圖書續(xù)借功能,讀者向圖書管理員提供自己的編號,再提供要續(xù)借的圖書編號和續(xù)借的時(shí)間,圖書管理員將信息記錄在系統(tǒng)中,續(xù)借成功。將續(xù)借模塊封裝為一個(gè)“Keep”類,在“提交”按鈕的事件中來實(shí)現(xiàn)模塊的主要功能。首先,進(jìn)入界

51、面后在根據(jù)約束條件輸入框中分別輸入對應(yīng)的信息,先對輸入數(shù)據(jù)的類型進(jìn)行判斷,如果不為數(shù)字型則會彈出異常。然后在數(shù)據(jù)庫中對讀者號和書編號進(jìn)行比對來驗(yàn)證是否已在“借書還書”數(shù)據(jù)表中存在,然后驗(yàn)證圖書狀態(tài)是否能續(xù)借并檢驗(yàn)該書是否歸還,全部驗(yàn)證成功后會對“借書還書”數(shù)據(jù)表進(jìn)行更新,否則會彈出異常信息提示錯(cuò)誤。(1)圖書編號文本框:此控件用戶接受用戶鍵盤輸入的圖書編號數(shù)據(jù),并可以通過getText()方法傳遞給book變量用于調(diào)用事件時(shí)進(jìn)行比對。(2)讀者編號文本框:此控件用戶接受用戶鍵盤輸入的讀者編號數(shù)據(jù),并可以通過getText()方法傳遞給uyue變量用于調(diào)用事件時(shí)進(jìn)行比對。(3)借書期限文本框:此

52、控件用戶接受用戶鍵盤輸入的讀者借書時(shí)間數(shù)據(jù),并可以通過getText()方法傳遞給time變量用于調(diào)用事件時(shí)進(jìn)行比對。(4)確定按鈕:此控件用戶接受用戶的鼠標(biāo)事件,當(dāng)用戶對該控件進(jìn)行左擊時(shí)調(diào)用btnSubmit_actionPerformed(ActionEvent e)事件。首先,調(diào)用圖書編號、讀者編號和借書期限文本框的getText()方法獲得用戶輸入的圖書編號、讀者編號和借書時(shí)間。當(dāng)發(fā)現(xiàn)其中一項(xiàng)為空時(shí),彈出提示對話框并將所有文本框重新置空。不為空則將獲得的圖書編號、讀者編號和借書時(shí)間數(shù)據(jù)賦給變量,之后通過結(jié)果集方法dbc.executeQuery(SELECT * FROM Books)

53、查詢圖書數(shù)據(jù)表并結(jié)果集方法,并對其中數(shù)據(jù)項(xiàng)進(jìn)行一一比對。當(dāng)發(fā)現(xiàn)三項(xiàng)的數(shù)據(jù)全部符合約束條件后,調(diào)用dbc.executeUpdate(INSERT OutBooks)方法將其更新到借書還書表。否則,彈出提示續(xù)書失敗提示框。(5)取消按鈕:此控件用于實(shí)現(xiàn)續(xù)借登記界面窗體的關(guān)閉,當(dāng)用戶單擊調(diào)用this.setVisible(false)方法將界面設(shè)置為隱藏。4.6 讀者設(shè)置模塊4.6.1 讀者設(shè)置模塊概述該模塊用于對讀者的各種信息的管理操作,主要包括“添加讀者”、“修改讀者” 、“刪除讀者”和“讀者檢索”四個(gè)主要功能。這些功能處理的信息使一個(gè)讀者存在的根本依據(jù),讀者對圖書的借閱的各種操作也是基于這些

54、信息。在使用本系統(tǒng)之前,管理員應(yīng)在本模塊對讀者的信息進(jìn)行預(yù)先添加入庫。該模塊主要流程如下:(1)通過菜單進(jìn)入讀者設(shè)置界面。(2)在讀者信息表中選中目標(biāo)信息。(3)選中信息后,通過界面中的“添加讀者”、“修改讀者” 、“刪除讀者”和“讀者檢索”四個(gè)主要功能的按鈕進(jìn)行選擇操作。(4)如為關(guān)閉操作,結(jié)束退回主界面。4.6.2 讀者設(shè)置模塊實(shí)現(xiàn)系統(tǒng)在此模塊中用到了對數(shù)據(jù)庫的存取操作,在讀者管理的窗體控件上添加一個(gè)JdbTable控件用于從數(shù)據(jù)庫中讀取出已有的全部讀者信息,管理員可以在JdbTable控件中對顯示的讀者信息用鼠標(biāo)進(jìn)行選擇。當(dāng)管理員選定某一讀者后,該讀者的信息將出現(xiàn)陰影,表明該讀者已被選定

55、,然后在窗體上分別點(diǎn)擊“添加讀者” 、“修改讀者” 、“刪除讀者”和“檢索讀者”四個(gè)主要功能按鈕將會對選定的讀者信息進(jìn)行相應(yīng)的操作。1.“添加讀者”按鈕用于實(shí)現(xiàn)對新讀者的信息進(jìn)行添加入庫。當(dāng)管理員點(diǎn)擊該按鈕后將會調(diào)用添加新讀者功能窗體,在該窗體中可以根據(jù)約束條件對新讀者的“姓名” 、“性別” 、“地址”和“聯(lián)系電話”等信息進(jìn)行添加入讀者數(shù)據(jù)表,添加的新讀者將自動得到一個(gè)唯一的讀者編號。首先,調(diào)用所有文本框的getText()方法獲得用戶輸入的數(shù)據(jù)。當(dāng)發(fā)現(xiàn)其中一項(xiàng)為空時(shí),彈出提示對話框并將所有文本框重新置空。不為空則將獲得的數(shù)據(jù)進(jìn)行判斷查看是否符合約束條件,如果不符合則彈出提示。當(dāng)發(fā)現(xiàn)所有數(shù)據(jù)全部符合約束條件后,調(diào)用dbc.executeUpdate方法將其更新到讀者信息表。否則,彈出提示添加失敗提示框。2.“修改讀者”按鈕用于對在JdbTable中選定的讀者的信息進(jìn)行修改操作。當(dāng)管理員在選定修改的讀者信息后點(diǎn)擊“修改讀者”按鈕將會調(diào)用讀者信息修改窗體,在該窗體中管理員可以根據(jù)約束條件對讀者信息進(jìn)行更新修改操作。讀者信息的修改

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論