




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、圖書(shū)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【摘要】圖書(shū)館借閱信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?,但一直以?lái)人們使用傳統(tǒng)人工的方式管理圖書(shū)、期刊、試卷合訂本等查詢信息。這種查詢管理方式存在著許多缺點(diǎn), 如: 效率低、保密性差, 另外時(shí)間一長(zhǎng), 將產(chǎn)生大量的文件和數(shù)據(jù), 這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。系統(tǒng)運(yùn)行結(jié)果證明,本文所設(shè)計(jì)的圖書(shū)管理系統(tǒng)可以滿足讀者、管理員雙方面的需要。實(shí)現(xiàn)了數(shù)據(jù)庫(kù)表的瀏覽,記錄的添加、刪除和修改,實(shí)現(xiàn)了多種條件查詢,實(shí)現(xiàn)了讀者鎖定功能等。設(shè)計(jì)充分利用 J2EE、SQL 2000 數(shù)據(jù)庫(kù)技術(shù)的強(qiáng)大力量,提高了編程效率和可靠性。【關(guān)鍵詞】圖書(shū)管理;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ù)庫(kù)設(shè)計(jì)103.2.1 數(shù)據(jù)庫(kù)系統(tǒng)概述103.2.2 圖書(shū)信息表結(jié)構(gòu)設(shè)計(jì)123.2.3 讀者信息表結(jié)構(gòu)設(shè)計(jì)133.2.4 讀者信息表結(jié)構(gòu)設(shè)計(jì)133.2.5 借書(shū)還書(shū)信息表結(jié)構(gòu)設(shè)計(jì)13第四章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)144.1數(shù)據(jù)庫(kù)連接模塊144.1.1數(shù)據(jù)庫(kù)連接模塊概述144.1.2 數(shù)據(jù)庫(kù)連接模塊實(shí)現(xiàn)154.2 系統(tǒng)登錄模塊154.2.1系統(tǒng)登錄模塊概述154.2.2系統(tǒng)登錄模塊實(shí)現(xiàn)164.3 借書(shū)登記界面模塊174.3.1 借書(shū)登記界面模塊概述174.3.2 借書(shū)登記界面模塊實(shí)現(xiàn)184.4 還書(shū)登記界面模塊194.4.1 還書(shū)登記界面模塊概述194.4.2 還書(shū)登記界面模塊實(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)測(cè)試245.1 軟件測(cè)試方法與步驟245.2 測(cè)試環(huán)境245.3 功能測(cè)試255.4 集成測(cè)試265.5 評(píng)價(jià)27結(jié)束語(yǔ)27參考文獻(xiàn)28致謝29引言當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代。在各行各業(yè)中離不開(kāi)信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的
8、優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開(kāi)發(fā)密切相關(guān),系統(tǒng)的開(kāi)發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好圖書(shū)館信息而設(shè)計(jì)的。圖書(shū)館作為一種信息資源的集散地,圖書(shū)和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書(shū)館都是初步開(kāi)始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理。根據(jù)調(diào)查得知,他們以前對(duì)信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對(duì)于圖書(shū)借閱情況(如借書(shū)天數(shù)、超過(guò)限定借書(shū)時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用對(duì)借書(shū)卡的人工檢查進(jìn)行,對(duì)借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計(jì)算、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯(cuò);由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩?lái)說(shuō),缺乏系統(tǒng),規(guī)
9、范的信息管理手段。盡管有的圖書(shū)館有計(jì)算機(jī),但是尚未用于信息管理,沒(méi)有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開(kāi)發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯(cuò)率高,出錯(cuò)后不易更改。圖書(shū)館采取手工方式對(duì)圖書(shū)借閱情況進(jìn)行人工管理,由于信息比較多,圖書(shū)借閱信息的管理工作混亂而又復(fù)雜;一般借閱情況是記錄在借書(shū)證上,圖書(shū)的數(shù)目和內(nèi)容記錄在文件中,圖書(shū)館的工作人員和管理員也只是當(dāng)時(shí)對(duì)它比較清楚,時(shí)間一長(zhǎng),如再要進(jìn)行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費(fèi)時(shí)、費(fèi)力。如要對(duì)很長(zhǎng)時(shí)間以前的圖書(shū)進(jìn)行更改就更加困難了?;谶@此問(wèn)題,我認(rèn)為有必要建立一個(gè)圖書(shū)管理系統(tǒng),使圖書(shū)管理工作規(guī)范化,系統(tǒng)化,程
10、序化,避免圖書(shū)管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢和修改圖書(shū)情況。第一章 概要1.1 研究背景及意義1.1.1 研究背景當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代。在各行各業(yè)中離不開(kāi)信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的原因。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了安全性。尤其對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開(kāi)發(fā)密切相關(guān),系統(tǒng)的開(kāi)發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好圖書(shū)信息而設(shè)計(jì)的。本圖書(shū)管理系統(tǒng)是針對(duì)學(xué)校的圖書(shū)館日常操作業(yè)務(wù)而開(kāi)發(fā)的管理軟件。根據(jù)
11、管理員、讀者借閱的需求,實(shí)現(xiàn)圖書(shū)、讀者之間的有序化、信息化管理。本系統(tǒng)主要由這幾個(gè)模塊組成:日常借閱管理、讀者管理、圖書(shū)管理、系統(tǒng)設(shè)置等。圖書(shū)管理系統(tǒng)通過(guò)錄入圖書(shū)的詳細(xì)資料,建立讀者檔案、系統(tǒng)用戶資料,設(shè)置各類參數(shù)(如:超期期限、人員類別、圖書(shū)類別等),找出圖書(shū)與讀者之間的對(duì)應(yīng)關(guān)系,實(shí)現(xiàn)日常的借閱操作。基于這些得到的基礎(chǔ)數(shù)據(jù),系統(tǒng)自行生成相應(yīng)的統(tǒng)計(jì)數(shù)據(jù)供管理員查詢、分析。另外,管理員還可以對(duì)這些基本信息進(jìn)行定期的數(shù)據(jù)更新和數(shù)據(jù)庫(kù)維護(hù);為讀者借閱時(shí)提供圖書(shū)是否在館,以及自己借書(shū)、還書(shū)等情況的查詢功能,圖書(shū)管理系統(tǒng)力求給圖書(shū)管理員提供操作簡(jiǎn)單、方便快捷的途徑去管理這些龐大,繁瑣的信息和圖書(shū)。1.1
12、.2 研究意義圖書(shū)館作為一種信息資源的集散地,圖書(shū)和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書(shū)館都是初步開(kāi)始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理。根據(jù)調(diào)查得知,他們以前對(duì)信息管理的主要方式是基于文本,表格等紙介質(zhì)的手工處理,對(duì)于圖書(shū)借閱情況(如借書(shū)天數(shù),超過(guò)限定借書(shū)時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用對(duì)借書(shū)卡的人工檢查進(jìn)行,對(duì)借閱者的借閱權(quán)限,以及借閱天數(shù)等用人工計(jì)算,手抄進(jìn)行。數(shù)據(jù)處理工作量大,容易出錯(cuò)。由于數(shù)據(jù)繁多。容易丟失,且不易查找??偟膩?lái)說(shuō)。缺乏系統(tǒng)規(guī)范的信息管理手段。盡管有的圖書(shū)館有計(jì)算機(jī),但是尚未用于信息管理,沒(méi)有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系
13、統(tǒng)的開(kāi)發(fā)的潛在應(yīng)用環(huán)境?;谶@個(gè)問(wèn)題,本人認(rèn)為有必要建立一個(gè)圖書(shū)管理系統(tǒng),使圖書(shū)管理工作規(guī)范化、系統(tǒng)化、程序化,避免圖書(shū)管理的隨意性,提高信息處理的速度和準(zhǔn)確性, 能夠及時(shí)、準(zhǔn)確、有效的查詢和修改圖書(shū)情況。1.2系統(tǒng)調(diào)研與可行性分析1.2.1 現(xiàn)狀調(diào)研一直以來(lái)人們使用傳統(tǒng)的人工方式管理圖書(shū)館的日常工作,對(duì)于圖書(shū)的借書(shū)和還書(shū)過(guò)程,想必大家都已很熟悉。在計(jì)算機(jī)尚未在圖書(shū)管理系統(tǒng)廣泛使用之前,借書(shū)和還書(shū)過(guò)程主要依靠手工。手工過(guò)程的不足之處顯而易見(jiàn),首先處理借書(shū)、還書(shū)業(yè)務(wù)流程的效率很低,其次處理能力比較低,一段時(shí)間內(nèi),所能服務(wù)的讀者人數(shù)是有限的。本系統(tǒng)正是基于改變這種現(xiàn)狀的一個(gè)嘗試,用SQL 2000
14、 數(shù)據(jù)庫(kù)實(shí)現(xiàn),用JAVA語(yǔ)言開(kāi)發(fā),界面友好,操作簡(jiǎn)單,利用本系統(tǒng)來(lái)處理這些流程無(wú)疑會(huì)極大程度地提高效率和處理能力。我們將會(huì)看到排隊(duì)等候借書(shū)、還書(shū)的隊(duì)伍不再那么長(zhǎng),管理員出錯(cuò)的概率也小了,讀者可以花更多的時(shí)間在選擇書(shū)和看書(shū)上。1.2.2可行性分析本次畢業(yè)設(shè)計(jì)題目:“圖書(shū)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ”主要目的是利用數(shù)據(jù)庫(kù)軟件編制一個(gè)管理軟件,用以實(shí)現(xiàn)圖書(shū)管理員對(duì)圖書(shū)的多項(xiàng)管理。同時(shí)對(duì)整個(gè)系統(tǒng)的分析、設(shè)計(jì)過(guò)程給出一個(gè)完整論證。圖書(shū)管理系統(tǒng)是一種基于集中統(tǒng)一規(guī)劃的數(shù)據(jù)庫(kù)數(shù)據(jù)管理新模式。對(duì)圖書(shū)和讀者的管理,其實(shí)是對(duì)圖書(shū)和讀者數(shù)據(jù)的管理。本系統(tǒng)的建成無(wú)疑會(huì)為圖書(shū)管理員提供極大的幫助。本系統(tǒng)的設(shè)計(jì)主要從以下幾方面
15、做起:系統(tǒng)業(yè)務(wù)流程分析、系統(tǒng)的功能設(shè)計(jì)、系統(tǒng)的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)和系統(tǒng)輸入/輸出設(shè)計(jì)等。做這些工作需對(duì)數(shù)據(jù)庫(kù)知識(shí)有足夠認(rèn)識(shí),并深入的了解 SQL 2000的使用和管理系統(tǒng)的相關(guān)知識(shí)。在信息時(shí)代的今天,人類需要對(duì)在政治、經(jīng)濟(jì)、軍事、文化、科研、教育等領(lǐng)域產(chǎn)生的大量信息進(jìn)行管理,并對(duì)數(shù)據(jù)進(jìn)行加工處理,數(shù)據(jù)庫(kù)技術(shù)則是信息管理與數(shù)據(jù)處理的先進(jìn)技術(shù)。隨著信息量的不斷增加,作為計(jì)算機(jī)的三大主要應(yīng)用(科學(xué)計(jì)算、過(guò)程控制和數(shù)據(jù)處理)之一的數(shù)據(jù)處理,已迅速上升為計(jì)算機(jī)應(yīng)用的主要方面,數(shù)據(jù)庫(kù)技術(shù)則成為人們?nèi)粘I钪刑幚頂?shù)據(jù)不可缺少的有力工具,并且現(xiàn)代的信息管理系統(tǒng)幾乎都以數(shù)據(jù)庫(kù)技術(shù)作為核心。第二章 需求分析目前,客戶
16、機(jī)/服務(wù)器結(jié)構(gòu)(C/S)已成為組網(wǎng)的標(biāo)準(zhǔn)模型,也是管理信息系統(tǒng)采用的主流方式。這種結(jié)構(gòu)采用分布式數(shù)據(jù)庫(kù)管理系統(tǒng)為基礎(chǔ),對(duì)數(shù)據(jù)的處理分前臺(tái)和后臺(tái),客戶機(jī)完成屏幕交互和輸入、輸出等前臺(tái)任務(wù),而服務(wù)器則完成大量的數(shù)據(jù)處理及存儲(chǔ)管理等后臺(tái)任務(wù),使后臺(tái)處理的數(shù)據(jù)不需要在前后臺(tái)間頻繁傳輸。眾所周知,所有應(yīng)用軟件系統(tǒng)的開(kāi)發(fā)和設(shè)計(jì),它們的最終的目的是實(shí)現(xiàn)能夠?qū)?shù)據(jù)進(jìn)行加工和處理,也就是說(shuō)要將某些特定形式的數(shù)據(jù)加工處理轉(zhuǎn)換成為用戶所能接受的數(shù)據(jù)形式。對(duì)于計(jì)算機(jī)程序所處理的數(shù)據(jù),它的信息模塊一般包括原始數(shù)據(jù)的內(nèi)容、數(shù)據(jù)的流向和數(shù)據(jù)結(jié)構(gòu)。通常所說(shuō)的數(shù)據(jù)的內(nèi)容就是數(shù)據(jù)項(xiàng)。通常所說(shuō)的數(shù)據(jù)流指的是數(shù)據(jù)經(jīng)過(guò)一個(gè)應(yīng)用程序系統(tǒng)
17、的時(shí)候它的變化方式。錄入的原始數(shù)據(jù)首先要轉(zhuǎn)換成系統(tǒng)的中間數(shù)據(jù),最后再轉(zhuǎn)換成輸出數(shù)據(jù),并且在這個(gè)過(guò)程中允許從已經(jīng)存儲(chǔ)在系統(tǒng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)中引進(jìn)附加數(shù)據(jù)。對(duì)數(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ù)流程圖書(shū)管理系統(tǒng)業(yè)務(wù)流程主要為系統(tǒng)管理流程、圖書(shū)業(yè)務(wù)流程和讀者業(yè)務(wù)流程。(1)系統(tǒng)管理員輸入用戶名和密碼后登錄系統(tǒng),出現(xiàn)系統(tǒng)主界面,菜單欄出現(xiàn)6個(gè)子菜單包括了系統(tǒng)的所有功能。選擇了系統(tǒng)管理菜單后,管理員可以對(duì)管理員用戶信息進(jìn)行添加、刪除和修改密碼管理操作。(2)選擇了圖書(shū)管理子菜
18、單后,管理員可以進(jìn)行對(duì)圖書(shū)信息管理的各種操作。例如,圖書(shū)館添置新的圖書(shū)后,可以進(jìn)行新書(shū)入庫(kù)。讀者借書(shū)時(shí)管理員進(jìn)行借書(shū)操作。讀者還書(shū)時(shí)管理員進(jìn)行還書(shū)操作。讀者續(xù)借時(shí)管理員進(jìn)行續(xù)借操作。當(dāng)圖書(shū)信息需要修改或刪除時(shí)管理員進(jìn)行圖書(shū)信息修改或刪除操作。(3)選擇了讀者管理子菜單后,管理員可以進(jìn)行對(duì)讀者信息管理的各種操作。例如,有了新的讀者后,管理員可以進(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)圖書(shū)管理的自動(dòng)化和規(guī)范化。(1)能夠?qū)D書(shū)進(jìn)行注冊(cè)登記,添置新圖書(shū)時(shí)錄入基本
19、信息,方便管理人員上架和讀者查詢。(2)對(duì)讀者進(jìn)行登記,錄入新讀者的注冊(cè)信息,并自動(dòng)賦予新讀者一個(gè)唯一的讀者編號(hào)。(3)簡(jiǎn)潔方便的圖書(shū)查詢方法,比如:按圖書(shū)編號(hào)、書(shū)名、類別、作者和出版社等單獨(dú)對(duì)需要的圖書(shū)信息進(jìn)行查詢。(4)管理員對(duì)讀者的借閱信息進(jìn)行查詢管理,簡(jiǎn)潔的處理借出、還入圖書(shū)和續(xù)借等操作。 (5)簡(jiǎn)潔方便的圖書(shū)管理功能,方便管理員對(duì)圖書(shū)的信息修改等操作。(6)系統(tǒng)具有友好的用戶操作界面,交互接口。流程準(zhǔn)確、可靠,符合現(xiàn)行管理的基本模型和工作習(xí)慣。2.2 系統(tǒng)需求分析2.2.1 功能需求圖書(shū)借閱管理系統(tǒng)的主要任務(wù)是實(shí)現(xiàn)讀者迅速檢索查詢。方便借閱歸還圖書(shū),圖書(shū)管理員高效的完成系統(tǒng)的各項(xiàng)基本
20、操作,系統(tǒng)管理員是管理用戶設(shè)置權(quán)限等操作,從可以看出圖書(shū)管理系統(tǒng)要完成以下功能:(1)查詢功能:對(duì)于需要查詢的數(shù)據(jù)可以通過(guò)三種方式查找,按照?qǐng)D書(shū)相應(yīng)的屬性查詢,按照讀者相應(yīng)屬性查詢,書(shū)目和讀者相關(guān)匹配查詢。(2)插入功能:可以對(duì)需要添加到圖書(shū)管理系統(tǒng)中新的信息進(jìn)行添加,增加一個(gè)圖書(shū)記錄,增加一個(gè)讀者。(3)修改功能:對(duì)圖書(shū)管理系統(tǒng)中的信息可以進(jìn)行變更,修改某一已存在的記錄內(nèi)容。(4)刪除功能:對(duì)系統(tǒng)中錯(cuò)誤或無(wú)效的信息進(jìn)行刪除,刪除后臺(tái)數(shù)據(jù)庫(kù)中的記錄。(5)瀏覽功能:對(duì)系統(tǒng)中已有的信息進(jìn)行查看,管理員可以瀏覽所有的圖書(shū)信息和讀者信息。系統(tǒng)管理用例如圖2.1所示:圖2.1 系統(tǒng)功能用例圖其中,“查
21、詢功能”用例描述如表2.1所示:表2.1查詢功能用例描述用例編號(hào)UC001用例名稱查詢功能用例概述管理員可以根據(jù)圖書(shū)編號(hào)和讀者號(hào)分別查詢圖書(shū)信息和讀者信息讀者可以對(duì)需要的圖書(shū)進(jìn)行查詢。范圍登錄系統(tǒng)的管理員主參與者管理員次要參與者讀者前置條件管理員登陸成功進(jìn)入查詢界面后置條件讀者提供圖書(shū)編號(hào)或讀者號(hào)成功保證提供信息正確基本事件流步驟活動(dòng)1進(jìn)入讀者查詢界面2進(jìn)入圖書(shū)查詢界面規(guī)則與約束管理員登錄本系統(tǒng),讀者提供查詢信息 “插入功能”用例描述如表2.2所示:表2.2 插入功能用例描述用例編號(hào)UC002用例名稱插入功能用例概述管理員可以增加新的圖書(shū)和讀者信息。范圍登錄系統(tǒng)的管理員主參與者管理員次要參與者
22、讀者前置條件管理員登陸成功進(jìn)入新書(shū)入庫(kù)界面和添加讀者界面后置條件新讀者個(gè)人信息和新圖書(shū)信息成功保證提供信息正確基本事件流步驟活動(dòng)1添加新書(shū)的信息2添加新讀者的信息規(guī)則與約束管理員登錄本系統(tǒng),新讀者提供信息 “修改功能”用例描述如表2.3所示:表2.3 修改功能用例描述用例編號(hào)UC003用例名稱修改功能用例概述管理員可以修改已有的圖書(shū)和讀者信息。范圍登錄系統(tǒng)的管理員主參與者管理員次要參與者讀者前置條件管理員登陸成功進(jìn)入修改圖書(shū)界面和修改讀者界面后置條件讀者修改的個(gè)人信息和圖書(shū)修改信息成功保證提供信息正確基本事件流步驟活動(dòng)1添加修改圖書(shū)的信息2添加修改讀者的信息規(guī)則與約束管理員登錄本系統(tǒng),讀者提供
23、正確修改信息 “刪除功能”用例描述如表2.4所示:表2.4 刪除功能用例描述用例編號(hào)UC004用例名稱刪除功能用例概述管理員可以刪除圖書(shū)和讀者信息。范圍登錄系統(tǒng)的管理員主參與者管理員次要參與者讀者前置條件管理員登陸成功進(jìn)入刪除圖書(shū)界面和刪除讀者界面后置條件需要?jiǎng)h除的讀者信息和圖書(shū)信息成功保證提供信息正確基本事件流步驟活動(dòng)1刪除圖書(shū)信息2刪除讀者信息規(guī)則與約束管理員登錄本系統(tǒng),刪除信息正確 2.2.2 性能需求為了保證系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行,圖書(shū)管理系統(tǒng)應(yīng)該滿足以下的性能需求:1.系統(tǒng)處理的準(zhǔn)確性和及時(shí)性:系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)過(guò)程中,要充
24、分考慮系統(tǒng)當(dāng)前和將來(lái)可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠滿足學(xué)校對(duì)信息處理的需求。2.系統(tǒng)的開(kāi)放性和系統(tǒng)的可擴(kuò)充性:圖書(shū)管理系統(tǒng)在開(kāi)發(fā)過(guò)程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如用戶查詢的需求也會(huì)不斷的更新和完善。3.系統(tǒng)的易用性和易維護(hù)性:圖書(shū)管理系統(tǒng)是直接面對(duì)使用人員的,而使用人員往往對(duì)計(jì)算機(jī)并不是非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。4.系統(tǒng)的標(biāo)準(zhǔn)性:系統(tǒng)在設(shè)計(jì)開(kāi)發(fā)使用過(guò)程中都要涉及到很多計(jì)算機(jī)硬件、軟件。所有這些都要符合主流國(guó)際、國(guó)家和行業(yè)標(biāo)準(zhǔn)。5.系統(tǒng)的響應(yīng)速度:圖書(shū)管理系統(tǒng)系統(tǒng)在日常處理中的響應(yīng)速度為秒級(jí),達(dá)到實(shí)時(shí)要求,以及時(shí)反饋信息。一般操作的
25、響應(yīng)時(shí)間應(yīng)在1-2秒內(nèi)。2.2.3 運(yùn)行需求1.用戶界面該系統(tǒng)采用窗體和對(duì)話框的可視化用戶交互方式使用方便。2.硬件接口:支持各種 x86 系列 PC 機(jī)。3.軟件接口:運(yùn)行于 Windows95/98 及更高版本具有 WIN32 API 的操作系統(tǒng)之上。4.故障處理:正常使用時(shí)不應(yīng)出錯(cuò),對(duì)于用戶的輸入錯(cuò)誤應(yīng)給出適當(dāng)?shù)母恼崾?。若運(yùn)行時(shí)遇到不可恢復(fù)的系統(tǒng)錯(cuò)誤,也必須保證數(shù)據(jù)庫(kù)完好無(wú)損。第三章 總體設(shè)計(jì)該系統(tǒng)在Windows98/2000/XP環(huán)境下,主要采用Jbuilder2006開(kāi)發(fā)工具,SQL2000數(shù)據(jù)庫(kù)來(lái)設(shè)計(jì),開(kāi)發(fā)過(guò)程與成果應(yīng)符合GB/T 11457-1995軟件工程術(shù)語(yǔ),GB/T 8
26、567-1988計(jì)算機(jī)軟件產(chǎn)品開(kāi)發(fā)文件編制指南等。3.1 功能設(shè)計(jì)3.1.1 功能模塊設(shè)計(jì)根據(jù)系統(tǒng)的功能需求分析,可以將本系統(tǒng)的主要功能劃分為4個(gè)功能模塊,分別為系統(tǒng)管理、信息管理、讀者設(shè)置、圖書(shū)管理。1.系統(tǒng)管理模塊:系統(tǒng)管理模塊可劃分為修改刪除管理員、修改密碼和退出三個(gè)子模塊。修改刪除管理員包括對(duì)系統(tǒng)管理員的基本信息添加、修改和刪除等操作;修改密碼主要是對(duì)已有的管理員信息的密碼進(jìn)行修改;退出是對(duì)整個(gè)系統(tǒng)進(jìn)行退出關(guān)閉操作。2.信息管理模塊:信息管理模塊可以劃分為讀者檢索、圖書(shū)檢索和已借圖書(shū)三個(gè)子模塊。讀者檢索包含對(duì)已有的讀者信息根據(jù)約束條件進(jìn)行按編號(hào)、姓名和電話三種檢索方式;圖書(shū)檢索包含對(duì)已
27、有的圖書(shū)信息進(jìn)行根據(jù)約束條件按編號(hào)、書(shū)名、類別、作者、價(jià)格和出版社六種檢索方式;已借圖書(shū)主要是對(duì)現(xiàn)有的借出的全部圖書(shū)信息進(jìn)行查看。3.讀者設(shè)置模塊:讀者設(shè)置模塊可以劃分為添加讀者和讀者管理兩個(gè)子模塊。添加讀者主要是對(duì)新的讀者信息進(jìn)行添加入庫(kù)并自動(dòng)賦予一個(gè)讀者編號(hào);讀者管理是對(duì)已有的讀者信息進(jìn)行查看、修改和刪除操作。4.讀書(shū)管理模塊:圖書(shū)管理模塊可以劃分為新書(shū)入庫(kù)、借書(shū)、還書(shū)、續(xù)借和圖書(shū)管理五個(gè)子模塊。新書(shū)入庫(kù)是對(duì)新的圖書(shū)進(jìn)行信息的添加入庫(kù);借書(shū)是管理員對(duì)讀者要借的圖書(shū)進(jìn)行借書(shū)信息的添加入庫(kù);還書(shū)是管理員對(duì)讀者要還的圖書(shū)進(jìn)行還書(shū)信息的添加入庫(kù);續(xù)借是管理員對(duì)讀者要續(xù)借圖書(shū)進(jìn)行續(xù)借信息的添加入庫(kù);
28、圖書(shū)管理是管理員對(duì)已有的圖書(shū)的信息進(jìn)行查看、修改和刪除的管理操作。3.1.2 功能模塊總體結(jié)構(gòu)圖繪制系統(tǒng)結(jié)構(gòu)圖的過(guò)程,實(shí)際上就是對(duì)系統(tǒng)功能模塊進(jìn)行分解設(shè)計(jì)的過(guò)程,即合理地將數(shù)據(jù)流程圖轉(zhuǎn)變?yōu)樗枰南到y(tǒng)結(jié)構(gòu)圖。系統(tǒng)結(jié)構(gòu)圖將會(huì)使讀者和用戶能直觀的了解系統(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ù)庫(kù)設(shè)計(jì)3.2.1 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)是整個(gè)系統(tǒng)的基石,數(shù)據(jù)庫(kù)的設(shè)計(jì)優(yōu)劣直接影響到整個(gè)系統(tǒng)的設(shè)計(jì)成敗,本節(jié)對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)進(jìn)行專門闡述。數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的最新技術(shù)。十多年來(lái)數(shù)據(jù)庫(kù)管理系統(tǒng)已從專用的應(yīng)用程序發(fā)展成為
29、通用的系統(tǒng)軟件。由于數(shù)據(jù)庫(kù)具有數(shù)據(jù)結(jié)構(gòu)化,最低冗余度,較高的程序與數(shù)據(jù)獨(dú)立性,易于擴(kuò)充,易于編制應(yīng)用程序等優(yōu)點(diǎn),較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫(kù)設(shè)計(jì)之上的。因此不僅大型計(jì)算機(jī)及中小型計(jì)算機(jī),甚至微型機(jī)都配有數(shù)據(jù)庫(kù)管理系統(tǒng)。數(shù)據(jù)庫(kù)系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序?yàn)橹行霓D(zhuǎn)向圍繞共享的數(shù)據(jù)庫(kù)為中心的新階段。這樣既便于數(shù)據(jù)的集中管理,又有利于應(yīng)用程序的研制和維護(hù),提高了數(shù)據(jù)的利用性和相容性,提高了決策的可靠性。目前,數(shù)據(jù)庫(kù)已經(jīng)成為現(xiàn)代信息系統(tǒng)不可分割的重要組成部分。數(shù)據(jù)庫(kù)技術(shù)也是計(jì)算機(jī)領(lǐng)域中發(fā)展最快的技術(shù)之一。數(shù)據(jù)庫(kù)設(shè)計(jì)是把現(xiàn)實(shí)世界的實(shí)體模型與需求轉(zhuǎn)換成數(shù)據(jù)庫(kù)的模型的過(guò)程,它是建立數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的
30、核心問(wèn)題。數(shù)據(jù)庫(kù)及其應(yīng)用的性能都建立在良好的數(shù)據(jù)庫(kù)設(shè)計(jì)的基礎(chǔ)之上,數(shù)據(jù)庫(kù)的數(shù)據(jù)是一切操作的基礎(chǔ),如果數(shù)據(jù)庫(kù)設(shè)計(jì)不好,那么其它一切用于提高數(shù)據(jù)庫(kù)性能的方法都是有限的。數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵是如何使設(shè)計(jì)的數(shù)據(jù)庫(kù)能合理地存儲(chǔ)用戶的數(shù)據(jù),方便用戶進(jìn)行數(shù)據(jù)處理。設(shè)計(jì)數(shù)據(jù)庫(kù)必須遵循一定的規(guī)則,在關(guān)系型數(shù)據(jù)庫(kù)中,這種規(guī)則就是范式,范式是符合某一種級(jí)別的關(guān)系模式的集合。一般人們?cè)O(shè)計(jì)數(shù)據(jù)庫(kù)遵循第三范式。即:數(shù)據(jù)庫(kù)表中不包含已在其他表中包含的非主關(guān)鍵字信息。采用范式減少了數(shù)據(jù)冗余,節(jié)約了存儲(chǔ)空間,同時(shí)加快了增、刪、改的速度。整個(gè)系統(tǒng)所包括的信息有圖書(shū)信息、讀者信息、管理員信息、借書(shū)還書(shū)信息??蓪⑦@些信息抽象為下列系統(tǒng)所
31、需要的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):(1)管理員信息(用戶名,密碼) (2)借書(shū)還書(shū)信息(圖書(shū)號(hào),讀者號(hào),價(jià)格,借書(shū)時(shí)間,借書(shū)期限,還書(shū)狀態(tài)是否續(xù)借) (3)、圖書(shū)信息(圖書(shū)號(hào),圖書(shū)名稱,簡(jiǎn)介,類別,出版社,庫(kù)存量,作者,入庫(kù)時(shí)間)(4)、讀者信息(讀者號(hào),姓名,性別,電話,地址,余額,注冊(cè)時(shí)間,狀態(tài))在本系統(tǒng)的實(shí)體中,“管理員”與“圖書(shū)”和“讀者”間的對(duì)應(yīng)關(guān)系為一對(duì)多;“圖書(shū)”與“讀者”之間的對(duì)應(yīng)關(guān)系為多對(duì)多。實(shí)體之間的對(duì)應(yīng)及從屬關(guān)系如圖3.2所示:圖3.2 實(shí)體關(guān)系E-R圖3.2.2 圖書(shū)信息表結(jié)構(gòu)設(shè)計(jì)圖書(shū)信息表主要用于存儲(chǔ)圖書(shū)館中所藏圖書(shū)的相關(guān)信息,其中的相關(guān)信息是在新書(shū)入庫(kù)時(shí)由操作員進(jìn)行添加完善,
32、此表主要用于讀者和圖書(shū)管理員對(duì)館中圖書(shū)的查詢,系統(tǒng)用戶根據(jù)圖書(shū)的某個(gè)屬性進(jìn)行查詢,便可得知圖書(shū)的其他相關(guān)信息。具體結(jié)果如下表3.1所示:表3.1 圖書(shū)信息表:Books字段數(shù)據(jù)類型備注BidInt圖書(shū)號(hào)BnameVarchar書(shū)名BpreviewVarchar簡(jiǎn)介BsortVarchar類別BpublisherVarchar出版社BsumInt庫(kù)存量BauthorVarchar作者BregtimeDatetime入庫(kù)時(shí)間3.2.3 讀者信息表結(jié)構(gòu)設(shè)計(jì)讀者信息表的設(shè)計(jì)是為了圖書(shū)館管理員對(duì)讀者進(jìn)行管理,其中讀者編號(hào)是唯一的,是讀者在借閱圖書(shū)時(shí)需要輸入對(duì)讀者身份進(jìn)行識(shí)別的信息,讀者電話地址等信息是為
33、了與讀者進(jìn)行聯(lián)系,讀者余額信息決定了讀者一次性可借閱的圖書(shū)的數(shù)量,注冊(cè)時(shí)間可用于查詢計(jì)算讀者身份有效的期限,狀態(tài)決定了讀者當(dāng)前是否有已借的超期圖書(shū)而再借新書(shū)。具體結(jié)構(gòu)設(shè)計(jì)如下表3.2所示:表3.2 讀者信息表:Users字段數(shù)據(jù)類型備注UidInt讀者號(hào)UnameVarchar姓名UsexChar性別UphoneVarchar電話UaddressVarchar地址UyueMoney余額表3.3 讀者信息表:Users(續(xù))UregtimeDatetime注冊(cè)日期UstateChar狀態(tài)3.2.4 讀者信息表結(jié)構(gòu)設(shè)計(jì)該表的設(shè)計(jì)用于記錄圖書(shū)管理系統(tǒng)用戶的信息,方便對(duì)用戶的管理,表中包括用戶名和用戶
34、的登錄密碼。具體結(jié)構(gòu)設(shè)計(jì)如下表3.3所示:表3.3 管理員表:Admin字段數(shù)據(jù)類型備注AnameVarchar用戶名ApwdVarchar密碼3.2.5 借書(shū)還書(shū)信息表結(jié)構(gòu)設(shè)計(jì)該表的設(shè)計(jì)是用于對(duì)讀者借閱圖書(shū)信息進(jìn)行管理,表中圖書(shū)號(hào)屬性是對(duì)借閱圖書(shū)的唯一性識(shí)別標(biāo)識(shí),讀者號(hào)記錄借閱的相應(yīng)讀者,借書(shū)時(shí)間記錄了相應(yīng)的借書(shū)日期,借書(shū)期限可以判斷是否超時(shí), 還書(shū)狀態(tài)可查詢當(dāng)前讀書(shū)是否被歸還, 價(jià)格是圖書(shū)丟失后賠償?shù)囊罁?jù),是否續(xù)借表示圖書(shū)續(xù)借的狀態(tài)。具體結(jié)構(gòu)設(shè)計(jì)如下表3.4所示:表3.4 借書(shū)還書(shū)表表:Outbooks字段數(shù)據(jù)類型備注ObidInt圖書(shū)號(hào)OuidInt讀者號(hào)ObpriceMoney價(jià)格Ob
35、otimeDatetime借書(shū)時(shí)間ObrenttimeInt借書(shū)期限ObstateChar還書(shū)狀態(tài)ObkeepChar是否續(xù)借第四章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn)主要涉及到本管理系統(tǒng)用戶界面的規(guī)劃制作以及功能代碼的添加和編寫(xiě)。在實(shí)現(xiàn)時(shí)需要綜合考慮用戶界面的適應(yīng)性、界面結(jié)構(gòu)的合理性、關(guān)鍵代碼的高效性及健壯性、系統(tǒng)數(shù)據(jù)及訪問(wèn)控制的安全性和系統(tǒng)所占存儲(chǔ)容量等問(wèn)題。盡量使整個(gè)系統(tǒng)的綜合性能達(dá)到最優(yōu)12。本系統(tǒng)是在WindowsXP環(huán)境下,使用Jbuilder2006開(kāi)發(fā)完成,這是一個(gè)基于對(duì)話框的程序項(xiàng)目,整個(gè)用戶界面由若干個(gè)不同類型的對(duì)話框組成。在系統(tǒng)開(kāi)發(fā)過(guò)程中力爭(zhēng)只使用Jbuilder的常用組件,同時(shí)參考
36、了一些講開(kāi)發(fā)技巧的書(shū)籍,以便更加靈活的應(yīng)用各控件。本系統(tǒng)的實(shí)現(xiàn)主要分以下的幾個(gè)模塊。4.1數(shù)據(jù)庫(kù)連接模塊4.1.1數(shù)據(jù)庫(kù)連接模塊概述數(shù)據(jù)庫(kù)連接模塊是本系統(tǒng)實(shí)現(xiàn)中的關(guān)鍵環(huán)節(jié),是把后臺(tái)已創(chuàng)建完成的數(shù)據(jù)庫(kù)與前臺(tái)用戶程序界面相聯(lián)合從而協(xié)調(diào)工作的過(guò)程,本系統(tǒng)使用的是JDBC技術(shù)實(shí)現(xiàn)功能。JDBC為數(shù)據(jù)庫(kù)開(kāi)發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開(kāi)發(fā)人員能夠用純 Java API 編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序。在Java語(yǔ)言中,訪問(wèn)數(shù)據(jù)庫(kù)的基本步驟是:首先裝載驅(qū)動(dòng)程序,然后建立連接,第三步是訪問(wèn)數(shù)據(jù)庫(kù),即執(zhí)行SQL指令,第四步處理結(jié)果集,最后關(guān)閉結(jié)果集、斷開(kāi)連接13。4.1.2 數(shù)據(jù)庫(kù)
37、連接模塊實(shí)現(xiàn)為了體現(xiàn)JAVA的面向?qū)ο筇攸c(diǎn),本系統(tǒng)中將數(shù)據(jù)庫(kù)的所有操作都封裝成了一個(gè)類“DBC”,這用封裝提高了數(shù)據(jù)庫(kù)操作的獨(dú)立性,也提供了調(diào)用數(shù)據(jù)庫(kù)的便捷性。在此類中主要用到了三個(gè)數(shù)據(jù)庫(kù)功能函數(shù),它們?cè)陬愔械脑图肮δ苋缦拢簆ublic void getConnection() public boolean executeUpdate(String sql)public ResultSet executeQuery(String sql)1.函數(shù)getConnection此函數(shù)用于初始化數(shù)據(jù)庫(kù)連接,在執(zhí)行其他數(shù)據(jù)庫(kù)操作之前,這是必須首先被執(zhí)行的函數(shù)。在函數(shù)中首先調(diào)用DriverManager
38、類來(lái)負(fù)責(zé)加載、注冊(cè)JDBC驅(qū)動(dòng)程序,管理應(yīng)用程序和已注冊(cè)的驅(qū)動(dòng)程序的連接。加載和注冊(cè)驅(qū)動(dòng)程序用Class類的forName方法完成。創(chuàng)建一個(gè)connection連接到數(shù)據(jù)源中的數(shù)據(jù)庫(kù)db,連接失敗則彈出一個(gè)異常對(duì)話框14。 2.函數(shù)executeQuery此函數(shù)用于執(zhí)行由參數(shù)傳入的SQL語(yǔ)句。在執(zhí)行查詢前將結(jié)果集對(duì)象是為NULL,隨后根據(jù)傳入SQL語(yǔ)句將執(zhí)行后的結(jié)果放入結(jié)果集對(duì)象中。如果執(zhí)行失敗則彈出異常對(duì)話框。 3.函數(shù)executeUpdate此函數(shù)用于對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新,設(shè)置一個(gè)整型變量i用于對(duì)更新成功與否來(lái)進(jìn)行判斷。首先建立對(duì)數(shù)據(jù)庫(kù)的連接,成功之后進(jìn)行數(shù)據(jù)的更新,更新后斷開(kāi)數(shù)據(jù)庫(kù)連接。如
39、果出現(xiàn)異常將會(huì)彈出異常對(duì)話框。4.2 系統(tǒng)登錄模塊4.2.1系統(tǒng)登錄模塊概述該模塊主要用于首次運(yùn)行系統(tǒng)的用戶名和密碼的輸入鑒定,當(dāng)用戶的用戶名和密碼輸入正確就將進(jìn)入到系統(tǒng)的主界面,否則,會(huì)提示錯(cuò)誤并返回到登錄界面。該模塊的主要流程如下:1.要求管理員輸入用戶名及密碼。2.建立與數(shù)據(jù)庫(kù)的連接,檢驗(yàn)。3.顯示主對(duì)話框(即主界面),進(jìn)入主流程。系統(tǒng)登錄模塊的運(yùn)行過(guò)程可以用程序流程圖來(lái)展現(xiàn),登錄系統(tǒng)流程圖如4.1所示:圖4.1 登錄系統(tǒng)流程圖4.2.2系統(tǒng)登錄模塊實(shí)現(xiàn)為了完成登錄系統(tǒng)模塊的功能,需要對(duì)數(shù)據(jù)庫(kù)中的“管理員”數(shù)據(jù)表進(jìn)行訪問(wèn)。同樣為了體現(xiàn)Java的面向?qū)ο筇匦院拖到y(tǒng)數(shù)據(jù)庫(kù)安全性,在實(shí)現(xiàn)時(shí)把管
40、理員的數(shù)據(jù)成員和數(shù)據(jù)管理封裝成一個(gè)類“Login”。在用戶登錄時(shí),需要通過(guò)調(diào)用登錄界面上控件的事件代碼取得相應(yīng)的用戶密碼,以便進(jìn)行比對(duì)驗(yàn)證。在該類中通過(guò)對(duì)”登錄”按鈕控件的事件調(diào)用來(lái)執(zhí)行對(duì)登錄的用戶名和密碼的驗(yàn)證功能。首先對(duì)輸入框進(jìn)行判斷如果為空,則彈出異常對(duì)話框并提示為空,不為空則連接數(shù)據(jù)庫(kù)對(duì)輸入的數(shù)據(jù)進(jìn)行比對(duì),如果比對(duì)成功則進(jìn)入主界面,否則彈出異常對(duì)話框提示錯(cuò)誤并清空輸入返回登錄界面直到輸入比對(duì)正確。在該類中通過(guò)對(duì)”退出”按鈕控件的事件調(diào)用來(lái)執(zhí)行對(duì)整個(gè)系統(tǒng)的退出操作。(1)用戶名輸入文本框:此控件用戶接受用戶鍵盤輸入的用戶名數(shù)據(jù),并可以通過(guò)getText()方法傳遞給name變量用于調(diào)用事
41、件時(shí)進(jìn)行比對(duì)。(2)密碼輸入文本框:此控件用戶接受用戶鍵盤輸入的密碼數(shù)據(jù)用“*”字符進(jìn)行替換,并可以通過(guò)getText()方法傳遞給pwd變量用于調(diào)用事件時(shí)進(jìn)行比對(duì)。(3)登錄按鈕:此控件用戶接受用戶的鼠標(biāo)事件,當(dāng)用戶對(duì)該控件進(jìn)行左擊時(shí)調(diào)用btnLogin_actionPerformed(ActionEvent e)事件。首先,調(diào)用用戶名和密碼文本框的getText()方法獲得用戶輸入的用戶名和密碼。當(dāng)發(fā)現(xiàn)其中一項(xiàng)為空時(shí),彈出提示對(duì)話框并將用戶名和密碼文本框重新置空。不為空則將獲得的用戶名和密碼數(shù)據(jù)賦給變量name和pdw,之后通過(guò)結(jié)果集方法dbc.executeQuery(SELECT *
42、FROM Admin)查詢管理員數(shù)據(jù)表,并對(duì)其中數(shù)據(jù)項(xiàng)進(jìn)行一一比對(duì)。當(dāng)發(fā)現(xiàn)兩項(xiàng)數(shù)據(jù)全部比對(duì)成功后,調(diào)用方法進(jìn)入主界面。否則,彈出提示用戶名或密碼錯(cuò)誤的提示框。登錄界面如圖4.2所示:圖4.2 登錄系統(tǒng)界面圖(4)ctionPerformed(ActionEvent e)事件通過(guò)System.exit(0)方法退出系統(tǒng)。4.3 借書(shū)登記界面模塊4.3.1 借書(shū)登記界面模塊概述該模塊主要功能用于已有圖書(shū)的借閱,根據(jù)查驗(yàn)輸入的讀者號(hào)和圖書(shū)編號(hào),檢查輸入信息的正確性,如果正確則獲取該讀者以及圖書(shū)的相關(guān)信息,并可繼續(xù)進(jìn)行相應(yīng)的借書(shū)操作,借書(shū)成功將會(huì)彈出相應(yīng)的提示。該模塊主要流程如下:(1)要求管理員輸入
43、書(shū)編號(hào),讀者號(hào)。(2)檢驗(yàn)書(shū)編號(hào)和讀者號(hào)是否存在。(3)確認(rèn)存在后提交借書(shū)請(qǐng)求,更新信息,把借書(shū)信息寫(xiě)入數(shù)據(jù)庫(kù),顯示借書(shū)操作結(jié)果。(4)如為退出操作,結(jié)束借書(shū)流程。借書(shū)登記界面模塊流程圖如4.3所示:圖4.3 借書(shū)登記界面模塊流程圖4.3.2 借書(shū)登記界面模塊實(shí)現(xiàn)該模塊實(shí)現(xiàn)圖書(shū)的借閱功能,讀者向圖書(shū)管理員提供自己的編號(hào)會(huì)顯示出讀者當(dāng)前的借閱情況,再提供要借閱的圖書(shū)編號(hào)和借閱的期限,圖書(shū)管理員將信息記錄在系統(tǒng)中,借閱成功。首先,進(jìn)入界面后在根據(jù)約束條件輸入框中分別輸入對(duì)應(yīng)的信息,先對(duì)輸入數(shù)據(jù)的類型進(jìn)行判斷,如果不為數(shù)字型則會(huì)彈出異常。然后在數(shù)據(jù)庫(kù)中對(duì)讀者號(hào)和書(shū)編號(hào)進(jìn)行比對(duì)來(lái)驗(yàn)證是否已在數(shù)據(jù)庫(kù)中存
44、在,如果該書(shū)的庫(kù)存量不為零,則可以借閱并將該書(shū)的庫(kù)存量減一,全部驗(yàn)證成功后會(huì)對(duì)“借書(shū)還書(shū)”數(shù)據(jù)表進(jìn)行更新,否則會(huì)彈出異常信息提示錯(cuò)誤。(1)圖書(shū)編號(hào)文本框:此控件用戶接受用戶鍵盤輸入的圖書(shū)編號(hào)數(shù)據(jù),并可以通過(guò)getText()方法傳遞給book變量用于調(diào)用事件時(shí)進(jìn)行比對(duì)。(2)讀者編號(hào)文本框:此控件用戶接受用戶鍵盤輸入的讀者編號(hào)數(shù)據(jù),并可以通過(guò)getText()方法傳遞給uyue變量用于調(diào)用事件時(shí)進(jìn)行比對(duì)。(3)借書(shū)期限文本框:此控件用戶接受用戶鍵盤輸入的讀者借書(shū)時(shí)間數(shù)據(jù),并可以通過(guò)getText()方法傳遞給time變量用于調(diào)用事件時(shí)進(jìn)行比對(duì)。(4)確定按鈕:此控件用戶接受用戶的鼠標(biāo)事件,當(dāng)
45、用戶對(duì)該控件進(jìn)行左擊時(shí)調(diào)用btnSure_actionPerformed(ActionEvent e)事件。首先,調(diào)用圖書(shū)編號(hào)、讀者編號(hào)和借書(shū)期限文本框的getText()方法獲得用戶輸入的圖書(shū)編號(hào)、讀者編號(hào)和借書(shū)時(shí)間。當(dāng)發(fā)現(xiàn)其中一項(xiàng)為空時(shí),彈出提示對(duì)話框并將所有文本框重新置空。不為空則將獲得的圖書(shū)編號(hào)、讀者編號(hào)和借書(shū)時(shí)間數(shù)據(jù)賦給變量,之后通過(guò)結(jié)果集方法dbc.executeQuery(SELECT * FROM Books)查詢圖書(shū)數(shù)據(jù)表,并對(duì)其中數(shù)據(jù)項(xiàng)進(jìn)行一一的比對(duì)數(shù)據(jù)值。當(dāng)發(fā)現(xiàn)三項(xiàng)的數(shù)據(jù)全部符合約束條件的要求后,調(diào)用dbc.executeUpdate(INSERT OutBooks)方法
46、將其添加到借書(shū)還書(shū)表。否則,彈出提示借書(shū)失敗提示框。(5)取消按鈕:此控件用于實(shí)現(xiàn)借書(shū)登記界面窗體的關(guān)閉,當(dāng)用戶單擊調(diào)用this.setVisible(false)方法將界面設(shè)置為隱藏。4.4 還書(shū)登記界面模塊4.4.1 還書(shū)登記界面模塊概述該模塊主要功能用于讀者對(duì)借出圖書(shū)的歸還,根據(jù)查驗(yàn)輸入的讀者號(hào)和圖書(shū)編號(hào),檢查輸入信息的正確性,如果正確則獲取該讀者以及圖書(shū)的相關(guān)信息,并可繼續(xù)進(jìn)行相應(yīng)的還書(shū)操作,還書(shū)成功將會(huì)彈出相應(yīng)的提示。該模塊主要流程如下:(1)要求管理員輸入書(shū)編號(hào),讀者號(hào)。(2)檢驗(yàn)借書(shū)信息是否存在。(3)確認(rèn)存在后提交還書(shū)請(qǐng)求,更新信息,把還書(shū)信息寫(xiě)入數(shù)據(jù)庫(kù)。(4)如為退出操作,結(jié)
47、束還書(shū)流程。還書(shū)登記界面模塊流程圖如4.4所示:圖4.4 還書(shū)登記界面模塊流程圖4.4.2 還書(shū)登記界面模塊實(shí)現(xiàn)該模塊實(shí)現(xiàn)系統(tǒng)的圖書(shū)歸還功能,讀者向圖書(shū)管理員提供自己的編號(hào),再提供要?dú)w還的圖書(shū)編號(hào),圖書(shū)管理員將信息記錄在系統(tǒng)中,歸還成功。將還書(shū)模塊封裝為一個(gè)“Return”類,在“確定”按鈕的事件中來(lái)實(shí)現(xiàn)模塊的主要功能。首先,進(jìn)入界面后在根據(jù)約束條件輸入框中分別輸入對(duì)應(yīng)的信息,先對(duì)輸入數(shù)據(jù)的類型進(jìn)行判斷,如果不為數(shù)字型則會(huì)彈出異常。然后在數(shù)據(jù)庫(kù)中對(duì)讀者號(hào)和書(shū)編號(hào)進(jìn)行比對(duì)來(lái)驗(yàn)證是否已在“借書(shū)還書(shū)”數(shù)據(jù)表中存在,全部驗(yàn)證成功后會(huì)對(duì)“借書(shū)還書(shū)”數(shù)據(jù)表進(jìn)行更新,并將該書(shū)的庫(kù)存量加一,否則會(huì)彈出異常信息
48、提示錯(cuò)誤。(1)圖書(shū)編號(hào)文本框:此控件用戶接受用戶鍵盤輸入的圖書(shū)編號(hào)數(shù)據(jù),并可以通過(guò)getText()方法傳遞給book變量用于調(diào)用事件時(shí)進(jìn)行比對(duì)。(2)讀者編號(hào)文本框:此控件用戶接受用戶鍵盤輸入的讀者編號(hào)數(shù)據(jù),并可以通過(guò)getText()方法傳遞給uyue變量用于調(diào)用事件時(shí)進(jìn)行比對(duì)。(3)提交按鈕:此控件用戶接受用戶的鼠標(biāo)事件,當(dāng)用戶對(duì)該控件進(jìn)行左擊時(shí)調(diào)用btnSubmit_actionPerformed(ActionEvent e)事件。首先,調(diào)用圖書(shū)編號(hào)和讀者編號(hào)文本框的getText()方法獲得用戶輸入的圖書(shū)編號(hào)和讀者編號(hào)。當(dāng)發(fā)現(xiàn)其中一項(xiàng)為空時(shí),彈出提示對(duì)話框并將所有文本框重新置空。不
49、為空則將獲得的圖書(shū)編號(hào)和讀者編號(hào)數(shù)據(jù)賦給變量book和uyue,之后通過(guò)結(jié)果集方法dbc.executeQuery查詢圖書(shū)數(shù)據(jù)表和讀者數(shù)據(jù)表,并對(duì)其中數(shù)據(jù)項(xiàng)進(jìn)行一一比對(duì)。當(dāng)發(fā)現(xiàn)兩項(xiàng)數(shù)據(jù)全部符合約束條件后,調(diào)用dbc.executeUpdate方法更新到借書(shū)還書(shū)表。否則,彈出提示還書(shū)失敗提示框。(4)取消按鈕:此控件用于實(shí)現(xiàn)還書(shū)登記界面窗體的關(guān)閉,當(dāng)用戶單擊調(diào)用this.setVisible(false)方法將界面設(shè)置為隱藏。4.5 續(xù)借登記界面模塊4.5.1 續(xù)借登記界面模塊概述該模塊主要功能用于讀者對(duì)借出圖書(shū)的續(xù)借,根據(jù)查驗(yàn)輸入的讀者號(hào)和圖書(shū)編號(hào),檢查輸入信息的正確性,如果正確則獲取該讀者以
50、及圖書(shū)的相關(guān)信息,并可繼續(xù)進(jìn)行相應(yīng)的續(xù)借操作,續(xù)借成功將會(huì)彈出相應(yīng)的提示。該模塊主要流程如下:(1)要求管理員輸入書(shū)編號(hào),讀者號(hào)。(2)檢驗(yàn)借書(shū)信息是否存在。(3)確認(rèn)存在后提交續(xù)借請(qǐng)求,更新信息,把續(xù)借信息寫(xiě)入數(shù)據(jù)庫(kù),顯示續(xù)借操作結(jié)果。(4)如為退出操作,結(jié)束續(xù)借流程。借書(shū)登記界面模塊流程圖4.5所示:圖4.5 續(xù)借登記界面模塊流程圖4.5.2 續(xù)借登記界面模塊實(shí)現(xiàn)該模塊實(shí)現(xiàn)系統(tǒng)的圖書(shū)續(xù)借功能,讀者向圖書(shū)管理員提供自己的編號(hào),再提供要續(xù)借的圖書(shū)編號(hào)和續(xù)借的時(shí)間,圖書(shū)管理員將信息記錄在系統(tǒng)中,續(xù)借成功。將續(xù)借模塊封裝為一個(gè)“Keep”類,在“提交”按鈕的事件中來(lái)實(shí)現(xiàn)模塊的主要功能。首先,進(jìn)入界
51、面后在根據(jù)約束條件輸入框中分別輸入對(duì)應(yīng)的信息,先對(duì)輸入數(shù)據(jù)的類型進(jìn)行判斷,如果不為數(shù)字型則會(huì)彈出異常。然后在數(shù)據(jù)庫(kù)中對(duì)讀者號(hào)和書(shū)編號(hào)進(jìn)行比對(duì)來(lái)驗(yàn)證是否已在“借書(shū)還書(shū)”數(shù)據(jù)表中存在,然后驗(yàn)證圖書(shū)狀態(tài)是否能續(xù)借并檢驗(yàn)該書(shū)是否歸還,全部驗(yàn)證成功后會(huì)對(duì)“借書(shū)還書(shū)”數(shù)據(jù)表進(jìn)行更新,否則會(huì)彈出異常信息提示錯(cuò)誤。(1)圖書(shū)編號(hào)文本框:此控件用戶接受用戶鍵盤輸入的圖書(shū)編號(hào)數(shù)據(jù),并可以通過(guò)getText()方法傳遞給book變量用于調(diào)用事件時(shí)進(jìn)行比對(duì)。(2)讀者編號(hào)文本框:此控件用戶接受用戶鍵盤輸入的讀者編號(hào)數(shù)據(jù),并可以通過(guò)getText()方法傳遞給uyue變量用于調(diào)用事件時(shí)進(jìn)行比對(duì)。(3)借書(shū)期限文本框:此
52、控件用戶接受用戶鍵盤輸入的讀者借書(shū)時(shí)間數(shù)據(jù),并可以通過(guò)getText()方法傳遞給time變量用于調(diào)用事件時(shí)進(jìn)行比對(duì)。(4)確定按鈕:此控件用戶接受用戶的鼠標(biāo)事件,當(dāng)用戶對(duì)該控件進(jìn)行左擊時(shí)調(diào)用btnSubmit_actionPerformed(ActionEvent e)事件。首先,調(diào)用圖書(shū)編號(hào)、讀者編號(hào)和借書(shū)期限文本框的getText()方法獲得用戶輸入的圖書(shū)編號(hào)、讀者編號(hào)和借書(shū)時(shí)間。當(dāng)發(fā)現(xiàn)其中一項(xiàng)為空時(shí),彈出提示對(duì)話框并將所有文本框重新置空。不為空則將獲得的圖書(shū)編號(hào)、讀者編號(hào)和借書(shū)時(shí)間數(shù)據(jù)賦給變量,之后通過(guò)結(jié)果集方法dbc.executeQuery(SELECT * FROM Books)
53、查詢圖書(shū)數(shù)據(jù)表并結(jié)果集方法,并對(duì)其中數(shù)據(jù)項(xiàng)進(jìn)行一一比對(duì)。當(dāng)發(fā)現(xiàn)三項(xiàng)的數(shù)據(jù)全部符合約束條件后,調(diào)用dbc.executeUpdate(INSERT OutBooks)方法將其更新到借書(shū)還書(shū)表。否則,彈出提示續(xù)書(shū)失敗提示框。(5)取消按鈕:此控件用于實(shí)現(xiàn)續(xù)借登記界面窗體的關(guān)閉,當(dāng)用戶單擊調(diào)用this.setVisible(false)方法將界面設(shè)置為隱藏。4.6 讀者設(shè)置模塊4.6.1 讀者設(shè)置模塊概述該模塊用于對(duì)讀者的各種信息的管理操作,主要包括“添加讀者”、“修改讀者” 、“刪除讀者”和“讀者檢索”四個(gè)主要功能。這些功能處理的信息使一個(gè)讀者存在的根本依據(jù),讀者對(duì)圖書(shū)的借閱的各種操作也是基于這些
54、信息。在使用本系統(tǒng)之前,管理員應(yīng)在本模塊對(duì)讀者的信息進(jìn)行預(yù)先添加入庫(kù)。該模塊主要流程如下:(1)通過(guò)菜單進(jìn)入讀者設(shè)置界面。(2)在讀者信息表中選中目標(biāo)信息。(3)選中信息后,通過(guò)界面中的“添加讀者”、“修改讀者” 、“刪除讀者”和“讀者檢索”四個(gè)主要功能的按鈕進(jìn)行選擇操作。(4)如為關(guān)閉操作,結(jié)束退回主界面。4.6.2 讀者設(shè)置模塊實(shí)現(xiàn)系統(tǒng)在此模塊中用到了對(duì)數(shù)據(jù)庫(kù)的存取操作,在讀者管理的窗體控件上添加一個(gè)JdbTable控件用于從數(shù)據(jù)庫(kù)中讀取出已有的全部讀者信息,管理員可以在JdbTable控件中對(duì)顯示的讀者信息用鼠標(biāo)進(jìn)行選擇。當(dāng)管理員選定某一讀者后,該讀者的信息將出現(xiàn)陰影,表明該讀者已被選定
55、,然后在窗體上分別點(diǎn)擊“添加讀者” 、“修改讀者” 、“刪除讀者”和“檢索讀者”四個(gè)主要功能按鈕將會(huì)對(duì)選定的讀者信息進(jìn)行相應(yīng)的操作。1.“添加讀者”按鈕用于實(shí)現(xiàn)對(duì)新讀者的信息進(jìn)行添加入庫(kù)。當(dāng)管理員點(diǎn)擊該按鈕后將會(huì)調(diào)用添加新讀者功能窗體,在該窗體中可以根據(jù)約束條件對(duì)新讀者的“姓名” 、“性別” 、“地址”和“聯(lián)系電話”等信息進(jìn)行添加入讀者數(shù)據(jù)表,添加的新讀者將自動(dòng)得到一個(gè)唯一的讀者編號(hào)。首先,調(diào)用所有文本框的getText()方法獲得用戶輸入的數(shù)據(jù)。當(dāng)發(fā)現(xiàn)其中一項(xiàng)為空時(shí),彈出提示對(duì)話框并將所有文本框重新置空。不為空則將獲得的數(shù)據(jù)進(jìn)行判斷查看是否符合約束條件,如果不符合則彈出提示。當(dāng)發(fā)現(xiàn)所有數(shù)據(jù)全部符合約束條件后,調(diào)用dbc.executeUpdate方法將其更新到讀者信息表。否則,彈出提示添加失敗提示框。2.“修改讀者”按鈕用于對(duì)在JdbTable中選定的讀者的信息進(jìn)行修改操作。當(dāng)管理員在選定修改的讀者信息后點(diǎn)擊“修改讀者”按鈕將會(huì)調(diào)用讀者信息修改窗體,在該窗體中管理員可以根據(jù)約束條件對(duì)讀者信息進(jìn)行更新修改操作。讀者信息的修改
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- DB31/T 329.9-2018重點(diǎn)單位重要部位安全技術(shù)防范系統(tǒng)要求第9部分:零售商業(yè)
- DB31/T 1365-2022工業(yè)互聯(lián)網(wǎng)應(yīng)用效益評(píng)估要求
- DB31/T 1315-2021車載毫米波雷達(dá)探測(cè)性能測(cè)試方法
- DB31/T 1287-2021實(shí)驗(yàn)東方田鼠病原學(xué)等級(jí)及監(jiān)測(cè)
- 逐步提升Web考試應(yīng)試技巧
- 2024年汽車車速傳感器項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 計(jì)算機(jī)四級(jí)信息安全真題
- 2024年高性能單鏡頭反光照相機(jī)資金申請(qǐng)報(bào)告代可行性研究報(bào)告
- 攀枝花鹽邊縣2025年八年級(jí)《語(yǔ)文》上學(xué)期期末試題與參考答案
- 腦機(jī)接口技術(shù)在軍事訓(xùn)練中的臨床試驗(yàn)協(xié)議
- 心理健康教育特色學(xué)校建設(shè)路徑
- 2025年全國(guó)保密教育線上培訓(xùn)考試試題庫(kù)【完整版】附帶答案詳解
- (二模)2025年5月濟(jì)南市高三高考針對(duì)性訓(xùn)練英語(yǔ)試卷(含答案解析)
- 修腳師勞動(dòng)合同(新標(biāo)準(zhǔn)版)6篇
- TCHSA-012-2023-兒童口腔疾病治療中靜脈鎮(zhèn)靜技術(shù)規(guī)范
- 三方合伙開(kāi)店協(xié)議合同
- 2025年新疆中考第一次模擬化學(xué)試題(含答案)
- 2025年危險(xiǎn)品水路運(yùn)輸從業(yè)資格考試復(fù)習(xí)題庫(kù)-上(單選題)
- 2025年-河北建筑安全員B證考試題庫(kù)附答案
- 《2024年版煤礦安全生產(chǎn)化標(biāo)準(zhǔn)化管理體系基本要求及評(píng)分方法》
- 2025-2030中國(guó)床墊行業(yè)市場(chǎng)深度調(diào)研及投資前與投資策略景研究報(bào)告
評(píng)論
0/150
提交評(píng)論