java程序設(shè)計(jì)的圖書館管理系統(tǒng)_第1頁
java程序設(shè)計(jì)的圖書館管理系統(tǒng)_第2頁
java程序設(shè)計(jì)的圖書館管理系統(tǒng)_第3頁
java程序設(shè)計(jì)的圖書館管理系統(tǒng)_第4頁
java程序設(shè)計(jì)的圖書館管理系統(tǒng)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘 要隨著科學(xué)技術(shù)的進(jìn)步,計(jì)算機(jī)行業(yè)的迅速發(fā)展,大大提高人們的工作效率。計(jì)算機(jī)信息處理系統(tǒng)的引進(jìn)已徹底改變了許多系統(tǒng)的經(jīng)營(yíng)管理。圖書管理系統(tǒng)是學(xué)校管理機(jī)制中的重要組成部分,通過對(duì)圖書管理系統(tǒng)的運(yùn)行管理機(jī)制進(jìn)行調(diào)查研究,開發(fā)了此圖書系統(tǒng)。本系統(tǒng)中解決了學(xué)校圖書管理事務(wù)中的常用基本問題以及相關(guān)統(tǒng)計(jì)工作。我們本次的Java課程設(shè)計(jì)的最終目標(biāo)是實(shí)現(xiàn)一個(gè)圖書館管理系統(tǒng),使其具有一般圖書管理系統(tǒng)所具有的功能,可以實(shí)現(xiàn)管理員日志、管理員添加、管理員退出、讀者添加、讀者修改、讀者查詢、讀者刪除、新書入庫、書籍查詢、書籍借閱與歸還等功能。因?yàn)镴ava是一門很優(yōu)秀的編程語言,具有面向?qū)ο?、與平臺(tái)無關(guān)、安全、穩(wěn)定和

2、多線程等特點(diǎn),所以用Java編程為我們本次程序的編寫提供了方便。在設(shè)計(jì)中我們主要進(jìn)行了數(shù)據(jù)庫及類的設(shè)計(jì),把整系統(tǒng)分成了15個(gè)類和5個(gè)表。通過應(yīng)用awt、swing、sql、util等包,合理的添加了按鈕、菜單、文本框、文本區(qū)、表格等組件類,還包含窗口、面板等容器類,經(jīng)過設(shè)計(jì)者合理的布局,完成了窗體的設(shè)計(jì),并通過建立JDBC-ODBC橋接器連接到Access數(shù)據(jù)庫后,向數(shù)據(jù)庫發(fā)送SQL語句實(shí)現(xiàn)程序與數(shù)據(jù)庫中表間的消息通信,從而實(shí)現(xiàn)了相應(yīng)的圖書館管理系統(tǒng)的功能。本文主要分為前言、系統(tǒng)功能介紹、數(shù)據(jù)庫需求分析、系統(tǒng)功能實(shí)現(xiàn)、結(jié)束語、參考文獻(xiàn)7大塊。在緒論中介紹了本次課設(shè)選題的緣由及思想。系統(tǒng)功能介紹

3、中詳細(xì)介紹了本圖書管理系統(tǒng)的整體思想及其具體功能。在數(shù)據(jù)庫需求分析中詳細(xì)說明了數(shù)據(jù)庫的需求分析、概念設(shè)計(jì)及表的設(shè)計(jì)。在系統(tǒng)功能實(shí)現(xiàn)中主要通過抓圖來體現(xiàn)設(shè)計(jì)的結(jié)果??傊?,我們的整體設(shè)計(jì)思想均在報(bào)告中體現(xiàn)。關(guān)鍵詞: 圖書館管理系統(tǒng);數(shù)據(jù)庫的需求分析;概念設(shè)計(jì) 目 錄摘 要I1.前言11.1作業(yè)背景11.2選題說明11.2.1基本思路11.2.2 作業(yè)目標(biāo)21.3工作業(yè)績(jī)21.3.1個(gè)人主要工作2 1.3.2主要收獲2 1.3.3自我評(píng)定3 1.3.4小組成員及分工情況32.系統(tǒng)功能分析42.1 系統(tǒng)功能總框圖42.2 模塊功能介紹42.2.1管理員模塊功能介紹42.2.2讀者管理模塊功能介紹. 5

4、2.2.3書籍管理模塊功能介紹.6書籍借閱與歸還功能介紹.63.系統(tǒng)需求分析.83.1業(yè)務(wù)規(guī)劃分析.83.2業(yè)務(wù)需求分析.83.3功能需求分析.94.數(shù)據(jù)庫設(shè)計(jì).114.1數(shù)據(jù)庫概要說明.114.2數(shù)據(jù)庫總結(jié)構(gòu)設(shè)計(jì).114.3數(shù)據(jù)庫需求分析.124.4數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì).124.5數(shù)據(jù)庫表的設(shè)計(jì).145. 系統(tǒng)功能實(shí)現(xiàn)165.1 管理員模塊功能實(shí)現(xiàn)165.1.1 管理員登陸165.1.2管理員添加功能實(shí)現(xiàn)185.1.3 管理員切換215.2 讀者管理模塊功能實(shí)現(xiàn)215.2.1 讀者添加215.2.2 讀者修改235.2.3 讀者查詢255.2.4 讀者刪除275.3圖書管理模塊功能實(shí)現(xiàn).285

5、.3.1圖示瀏覽.285.3.2圖書查詢.315.3.3圖書刪除.33結(jié)束語36參考文獻(xiàn)371. 前言1.1作業(yè)背景本文根據(jù)java面向?qū)ο蟪绦蛟O(shè)計(jì)課程要求而做。本管理系統(tǒng)采用JAVA語言編寫,軟件以Windows操作系統(tǒng)為環(huán)境,數(shù)據(jù)庫使用SQL Server2005,開發(fā)工具使用eclipse。我為組員分配任務(wù),根據(jù)合理的安排,按照系統(tǒng)開發(fā)的流程及方法,踏實(shí)地開展課程設(shè)計(jì)活動(dòng)。課程設(shè)計(jì)活動(dòng)中,撰寫相關(guān)技術(shù)文檔。最后提交詳細(xì)的課程設(shè)計(jì)報(bào)告。開發(fā)出可上機(jī)運(yùn)行的管理信息系統(tǒng),通過上機(jī)檢查。1.2選題說明隨著計(jì)算機(jī)的廣泛應(yīng)用,其逐步成為現(xiàn)代化的標(biāo)志。圖書館或者一些企業(yè)內(nèi)部,甚至是書店,在正常運(yùn)行過程

6、中總是面對(duì)大量的讀者信息,書籍信息以及兩者相互作用產(chǎn)生的借書信息、還書信息。因此需要對(duì)讀者資源、書籍資源、借書信息、還書信息進(jìn)行管理,及時(shí)了解各個(gè)環(huán)節(jié)中信息的變更,要對(duì)因此而產(chǎn)生的單據(jù)進(jìn)行及時(shí)的處理,為了提高圖書館或者企業(yè)內(nèi)部對(duì)圖書存銷的自動(dòng)化的管理,能夠更快速的滿足讀者的要求,提高各種工作的效率,現(xiàn)對(duì)其設(shè)計(jì)相應(yīng)的系統(tǒng),以達(dá)到上述的目的1。圖書管理系統(tǒng)的主要功能是實(shí)現(xiàn)圖書館圖書借閱和歸還的管理的自動(dòng)化。圍繞這一主要功能,本系統(tǒng)涉及到以下核心功能:借閱管理,歸還管理。除了這些核心功能外,還包括一些基本和輔助功能,它們是:用戶管理、圖書館參數(shù)管理、圖書管理、統(tǒng)計(jì)查詢。1.2.1基本思路 本次設(shè)計(jì)的

7、目標(biāo)是,開發(fā)一個(gè)圖書館借閱管理系統(tǒng)。借助該系統(tǒng),管理員通過快捷可靠的數(shù)據(jù)庫管理,方便的管理圖書館的信息資料,規(guī)范化的管理讀者用戶,設(shè)定不同用戶權(quán)限,并能通過互聯(lián)網(wǎng)向讀者提供更為方便的在線查詢服務(wù),方便讀者的使用,最終達(dá)到提高圖書館資源利用效率的目的。論文設(shè)計(jì)和實(shí)現(xiàn)了圖書借閱管理系統(tǒng)系統(tǒng),可以根據(jù)用戶的不同權(quán)限,對(duì)圖書館的的各種信息進(jìn)行添加、刪除、修改或查詢操作。論文分為五個(gè)部分: 第一章即前言,簡(jiǎn)述圖書館借閱管理系統(tǒng)這個(gè)課題的背景情況以及開發(fā)本系統(tǒng)的意義。 第二章為系統(tǒng)功能分析,本章詳細(xì)介紹了本圖書管理系統(tǒng)的整體思想及其具體功能,這部分歸組員負(fù)責(zé)。第三章是數(shù)據(jù)庫需求分析,其中詳細(xì)說明了數(shù)據(jù)庫的

8、需求分析、概念設(shè)計(jì)及表的設(shè)計(jì),這部分由我負(fù)責(zé)。第四章為系統(tǒng)功能實(shí)現(xiàn),其中主要通過抓圖來體現(xiàn)設(shè)計(jì)的結(jié)果,這部分我們共同承擔(dān),每人做其中的一部分。第5章 為結(jié)束語,為此次課程設(shè)計(jì)做一個(gè)總結(jié),總結(jié)所獲得的經(jīng)驗(yàn)和體會(huì)。1.2.2 作業(yè)目標(biāo)通過對(duì)圖書管理信息系統(tǒng)的設(shè)計(jì)與開發(fā),熟練使用所學(xué)的結(jié)構(gòu)化分析以及設(shè)計(jì)方法描述系統(tǒng),分析系統(tǒng),設(shè)計(jì)系統(tǒng)。掌握業(yè)務(wù)流程圖,數(shù)據(jù)流程圖等工具。學(xué)會(huì)使用模塊設(shè)計(jì)方法,數(shù)據(jù)庫設(shè)計(jì)方法,代碼設(shè)計(jì)方法,輸入輸出設(shè)計(jì)方法等設(shè)計(jì)物理系統(tǒng)。1.3 工作業(yè)績(jī)1.3.1 個(gè)人主要工作在這次課設(shè)中我做系統(tǒng)整體的規(guī)劃和設(shè)計(jì),對(duì)系統(tǒng)的業(yè)務(wù)進(jìn)行分析,得出數(shù)據(jù)庫需求分析和E-R圖,最后和小組成員一起參

9、與系統(tǒng)的實(shí)施。主要收獲通過小組成員的通力合作完成了系統(tǒng)規(guī)劃,系統(tǒng)的分析,系統(tǒng)的設(shè)計(jì),系統(tǒng)的實(shí)施及最后的運(yùn)行與維護(hù)。在整個(gè)過程中小組成員通過合理的分配,把各自的強(qiáng)項(xiàng)分配到各個(gè)部分,最終完成了此管理系統(tǒng)。在完成規(guī)劃部分時(shí),資料來源于網(wǎng)絡(luò)、書本以及每個(gè)組員的討論。我們不但成功的連接了數(shù)據(jù)庫,也成功實(shí)現(xiàn)了很多功能:在管理員方面實(shí)現(xiàn)了管理員登陸、管理日志、管理員添加、管理員切換四個(gè)功能,在讀者管理方面實(shí)現(xiàn)了讀者添加、讀者修改、讀者查詢、讀者刪除四個(gè)功能,在書籍管理方面實(shí)現(xiàn)了新書入庫、書籍查詢兩個(gè)功能,在書籍借閱與歸還方面實(shí)現(xiàn)了借閱書籍、歸還書籍兩個(gè)功能,在借閱超時(shí)方面也成功實(shí)現(xiàn)了此功能。在眾多功能中剛開

10、始時(shí)借閱書籍方面出了問題,但最后在全組人認(rèn)真思考、仔細(xì)研究下終于改正了錯(cuò)誤,使此功能終于可以正常使用了。1.3.3 自我評(píng)定 優(yōu) 良 中 及格 不及格1.3. 4 小組成員任務(wù)分工情況本組為本次課程設(shè)計(jì)第五組,組長(zhǎng)為:賈琳,小組所有成員分工如下:小組成員分工表學(xué)號(hào)姓名任務(wù)備注1104060126賈琳系統(tǒng)實(shí)施組長(zhǎng)1104060229李范系統(tǒng)分析組員1104060221安寧系統(tǒng)維護(hù)組員1104060232湯長(zhǎng)江排版組員1104060233王佳新系統(tǒng)實(shí)施組員2. 系統(tǒng)功能分析圖書館管理系統(tǒng)管理員讀者管理書籍管理書籍借閱歸還管理員管理日志管理員添加管理員切換讀者添加讀者信息修改讀者刪除新書入庫書籍查詢

11、借閱書籍歸還書籍借閱超時(shí)讀者信息查詢2.1系統(tǒng)功能總框圖 圖書館管理系統(tǒng)功能總框圖,如圖2-1所示圖2-1 系統(tǒng)功能框架圖2.2 模塊功能介紹2.2.1 管理員模塊功能介紹(1.) 管理員登陸此模塊主要是利用MenuBar添加菜單條,利用Menu和MenuItem添加菜單和菜單的各個(gè)參數(shù),通過事件ActionEvent 可以實(shí)現(xiàn)進(jìn)入各個(gè)模塊如管理日志、管理員添加、管理員切換、讀者添加、讀者修改、讀者查詢、讀者刪除、新書入庫、書籍查詢、借閱書籍、歸還書籍、借閱超時(shí)及退出的功能。(2.) 管理日志此模塊可以清楚的顯示出書籍借閱與歸還的信息,包括書號(hào)、書名、圖書證號(hào)、借/還、操作日期、已付款額。讀者

12、可以通過此模塊實(shí)現(xiàn)的功能清楚的了解圖書被借閱和歸還的詳細(xì)信息,從而給讀者帶來了很多方便。(3.) 管理員添加功能介紹此模塊功能是增加新管理員的登陸帳戶。在圖書館管理系統(tǒng)中必須有每一個(gè)管理者的帳戶讓其可以正常進(jìn)行新圖書證的辦理、借閱書籍和歸還書籍等系統(tǒng)管理。所以在管理員功能模塊中增加了管理員添加這個(gè)功能。(4.) 管理員切換此模塊的主要功能是進(jìn)行管理員之間的切換,即單擊管理員菜單下的管理員切換,就會(huì)退出當(dāng)前管理員界面,從而出現(xiàn)管理員切換窗口,而另一管理員就可以在管理員切換窗口中的用戶名和密碼兩欄中通過輸入自己的用戶名和密碼直接進(jìn)入該系統(tǒng)。2.2.2 讀者管理模塊功能介紹(1.)讀者添加此模塊主要

13、的實(shí)現(xiàn)功能是添加新的讀者信息,即當(dāng)有新的讀者要看查看本圖書館中的書藉,可以通過此功能實(shí)現(xiàn),當(dāng)數(shù)據(jù)庫中存在其新信息,即成為本圖書館的新一位讀者。其中信息分別包括圖書證號(hào)、學(xué)生姓名、性別、系別、班級(jí),同時(shí)可有三項(xiàng)功能在此處實(shí)現(xiàn),即添加、重置以及返回。(2.)讀者修改此模塊主要的實(shí)現(xiàn)功能對(duì)有信息更新的讀者進(jìn)行即時(shí)修改,以隨時(shí)更新讀者在數(shù)據(jù)庫中的信息。本模塊通過圖書證號(hào)確定讀者,可對(duì)讀者信息的新圖書證號(hào)、學(xué)短姓名、性別、系別、班級(jí)。此處可分別實(shí)現(xiàn)對(duì)該功能的修改、重置、返回。(3.)讀者查詢此模塊主要可對(duì)所要了解的讀者信息。即把讀者的信息從數(shù)據(jù)庫調(diào)出來,顯示在該窗口中的文字區(qū)域。查詢方式分別有按圖書證查

14、詢、按姓名查詢、按班級(jí)查詢、按年級(jí)查詢,并可通過辦理入相應(yīng)的關(guān)鍵字,更加縮小查詢范圍。此處可實(shí)現(xiàn)查詢和返回功能。(4.)讀者刪除此模塊可以刪除一些不再使用本系統(tǒng)的讀者資料,從而達(dá)到對(duì)數(shù)據(jù)庫中的清理,即清除一些不必要資料,此處有四種刪除途徑,分別為按圖書證號(hào)刪除、按姓名刪除、按班級(jí)刪除、安年級(jí)刪除,并可通過所輸入的關(guān)鍵字盡快找到所要?jiǎng)h除的資料。此處可分別實(shí)現(xiàn)對(duì)該功能的修改、重置、返回。2.2.3書籍管理模塊功能介紹(1.)新書入庫功能介紹此模塊主要的實(shí)現(xiàn)功能是將新來的圖書輸入到圖書館管理系統(tǒng)的書庫當(dāng)中,其中主要按如下信息往書庫中輸入,這部分的操作主要是便于書庫合理的管理,有利于讀者能夠?qū)π聲幸?/p>

15、個(gè)更詳細(xì)的了解。其中包括如下信息:新書書號(hào)、新書名稱、新書出版日期、新書出版社、入庫數(shù)量、編寫作者、新書單價(jià)。(2.)書籍查詢功能介紹在圖書館管理系統(tǒng)中書籍查詢是最基本的功能,讀者可以根據(jù)自己的需求來查詢想要借閱的書籍。本系統(tǒng)是用Java應(yīng)用程序和Access數(shù)據(jù)庫一起開發(fā)的其中利用Java來編程實(shí)現(xiàn)功能的代碼和布置運(yùn)行界面。界面是由檢索項(xiàng)、檢索詞和顯示文本區(qū)三個(gè)部分組成的用戶根據(jù)自己的需要在檢索項(xiàng)中選擇自己所要按什么字段進(jìn)行查詢,其中書籍查詢功能的檢索項(xiàng)中可以按書號(hào)查詢、按書名查詢、按作者名查詢、按出版社查詢、按入庫時(shí)間查詢等基礎(chǔ)查詢。選擇檢索項(xiàng)后用戶只要在檢索詞中添寫自己所要查詢的內(nèi)容并確

16、定鍵確認(rèn)后用戶要查詢的內(nèi)容就可以在顯示文本區(qū)中顯示出來。用戶可以根據(jù)顯示的信息得知自己所要借閱書籍的情況。2.2.4 書籍借閱與歸還功能介紹(1.)借閱書籍功能介紹此模塊主要實(shí)現(xiàn)讀者可憑有效的圖書證號(hào),借閱圖書館內(nèi)未借出的圖書。輸入圖書證號(hào)后,可顯示了該圖書證持有者的全部信息(包括借書證號(hào)、姓名、性別、所在班級(jí)、所屬系部、當(dāng)前可借閱圖書個(gè)數(shù)),供讀者確認(rèn)信息。通過輸入有效的圖書編號(hào),查詢?cè)搱D書的全部信息(包括書號(hào)、書名、作者、出版社、是否借出、價(jià)格)。借閱成功后,將該圖書證號(hào)、書號(hào)、借閱日期、應(yīng)還日期信息插入到數(shù)據(jù)庫的表中進(jìn)行記錄。(2.)歸還書籍功能介紹此模塊主要實(shí)現(xiàn)讀者憑所要?dú)w還圖書的圖書

17、證號(hào)歸還圖書。輸入所要?dú)w還的圖書編號(hào)后,可顯示了該圖書證持有者的全部信息(包括借書證號(hào)、姓名、性別、所在班級(jí)、所屬系部、當(dāng)前可借閱圖書個(gè)數(shù)),供讀者確認(rèn)信息。還書成功后,從數(shù)據(jù)庫中刪除該書的借出記錄,并修改數(shù)據(jù)庫中的相應(yīng)信息。3. 系統(tǒng)需求分析3.1業(yè)務(wù)規(guī)則分析通過對(duì)圖書館管理的進(jìn)一步了解,又結(jié)合圖書館網(wǎng)絡(luò)管理系統(tǒng)向讀者提供圖書、用戶對(duì)圖書的查詢、借閱等相關(guān)聯(lián)系,制作出以下的業(yè)務(wù)規(guī)則分析:u 一個(gè)圖書館可以又多個(gè)圖書室組成,每個(gè)圖書室都有其各自的編號(hào)以及所處的樓層。u 一個(gè)圖書室又有幾類不同的圖書類型組成,比如歷史地理類、文學(xué)考古類等。u 每類圖書又會(huì)放在圖書室不同的指定的書架上,并且每個(gè)書架

18、都有各自獨(dú)自的標(biāo)號(hào)。u 而同一類的圖書需要知道借閱信息、館藏?cái)?shù)量、還書期限等。u 學(xué)生是由學(xué)號(hào)為唯一標(biāo)號(hào),需要存儲(chǔ)學(xué)生姓名、借閱信息、歷史借閱記錄等。3.2業(yè)務(wù)需求分析業(yè)務(wù)需求及處理流程共同構(gòu)成系統(tǒng)的邏輯模型,一個(gè)系統(tǒng)如果沒有了業(yè)務(wù)需求及處理流程,那么這個(gè)系統(tǒng)就會(huì)顯得特別沒有代表性。只有業(yè)務(wù)需求及處理流程的精確定義放在一起,才能共同構(gòu)成系統(tǒng)的規(guī)格說明。而系統(tǒng)開發(fā)時(shí),常用卡片的形式書寫保存描述一個(gè)數(shù)據(jù)元素。下面給出本系統(tǒng)的主要數(shù)據(jù)元素的數(shù)據(jù)字典卡片:名字:讀者信息查詢報(bào)表別名:讀者信息表描述:讀者基本情況查詢結(jié)果的信息表定義:讀者信息查詢報(bào)表讀者編號(hào)讀者姓名性別類別單位住址電話登記日期已借書數(shù)量

19、位置:輸出到打印機(jī)圖3-1 讀者信息表名字:圖書信息查詢報(bào)表別名:圖書信息表描述:各種書籍查詢基本信息表定義:圖書信息查詢報(bào)表圖書編號(hào)書名類別作者出版社出版日期登記日期是否被借出位置:輸出到打印機(jī)圖3-2 圖書信息表3.3功能需求分析圖書管理部分:包括圖書信息管理和類別管理,其功能是實(shí)現(xiàn)對(duì)各部分?jǐn)?shù)據(jù)內(nèi)容進(jìn)行添加、修改、查詢等操作。各管理部分的明細(xì)如下:(1)借書管理:包括添加借書信息和查詢借書信息2部分功能。其中,借閱信息包括借閱編號(hào)、讀者編號(hào)、讀者姓名、圖書編號(hào)、圖書名稱、出借日期和還書日期。1)圖書信息管理:包括圖書信息的添加、圖書信息的修改、圖書信息的查詢和圖書的信息刪除4部分。其中,圖

20、書信息包括圖書編號(hào)、書名、圖書類別、作者、出版社、出版日期、登記日期以及是否已被借出。2)圖書類別管理:包括圖書類別的添加、圖書類別的修改、圖書類別的刪除3部分功能。其中,圖書類別包括類別名稱和類別編號(hào)兩部分。借閱管理部分:包括借書管理和還書管理,其功能是實(shí)現(xiàn)對(duì)各部分?jǐn)?shù)據(jù)內(nèi)容的添加和查詢等操作。各管理部分的明細(xì)如下:(2)還書管理:實(shí)現(xiàn)添加還書信息功能。其中,還書信息與借閱信息部分明細(xì)相同。1)讀者信息管理:包括讀者信的添加、讀者信息的修改、讀者信息的查詢和讀者信息的刪除4部分功能。其中,讀者信息包括讀者姓名、讀者編號(hào)、性別、讀者類別、工作單位、家庭住址、電話號(hào)碼、登記日期和已借書數(shù)量。2)讀

21、者類別管理:包括讀者類別的添加、讀者類別的修改、讀者類別的刪除3部分功能。其中,讀者類別包括各種類名稱、借書期限和有效期限4部分。系統(tǒng)管理部分:包括修改系統(tǒng)用戶密碼、增加新用戶和退出系統(tǒng)三項(xiàng)功能。系統(tǒng)初始設(shè)置一個(gè)超級(jí)用戶名和密碼,操作人員可以利用這個(gè)超級(jí)用戶名和密碼登錄,之后,可以設(shè)置其他的超級(jí)用戶名稱,也可以設(shè)置權(quán)限用戶,同時(shí)也設(shè)置了這個(gè)用戶可以使用的權(quán)限。 4.數(shù)據(jù)庫設(shè)計(jì)4.1數(shù)據(jù)庫概要說明SQL Server 2005 具有很強(qiáng)的完整性與課伸縮性,具有較低的價(jià)格與較高的性能。數(shù)據(jù)庫的樹形結(jié)構(gòu)圖如圖所示:在此圖書館管理系統(tǒng)中,使用到了一個(gè)重要的連接,即與數(shù)據(jù)庫Accesss相連。數(shù)據(jù)庫中存

22、有圖書館中所信息,包括讀者信息、管理員資料、借閱與退還記錄。所有與管理有關(guān)的數(shù)據(jù)皆在其中,是保證系統(tǒng)能夠正常實(shí)現(xiàn)各種功能的一架橋。4.2 數(shù)據(jù)庫總結(jié)構(gòu)圖設(shè)計(jì)圖書館管理系統(tǒng)E-R圖,如圖2-1。mn讀者圖書管理員性別系別班級(jí)姓名圖書證號(hào)書號(hào)書名作者出版社會(huì)化密碼用戶名管理管理mnm借閱1入庫時(shí)間是否借出價(jià)格圖4-1 圖書館管理系統(tǒng)E-R圖4.3數(shù)據(jù)庫需求分析 管理員表:記錄了用戶名和密碼。管理日志表:記錄了書號(hào)、書名、圖書證號(hào)、借/還、操作日期、已付款額。圖書表:記錄了書號(hào)、書名、作者、出版社、入庫時(shí)間、是否借出、價(jià)格。借閱表:記錄了圖書證號(hào)、書號(hào)、借閱日期、應(yīng)還日期。讀者表:記錄了圖書證號(hào)、姓

23、名、性別、系別、班級(jí)。4.4概念結(jié)構(gòu)設(shè)計(jì)1.管理員信息屬性包括:賬號(hào)、密碼。管理員信息賬號(hào)密碼圖4-2管理員信息E-R圖管理日志包括書號(hào)、書名、圖書證號(hào)、借/還、操作日期、已付款額。管理日志書名借/還書號(hào)圖書證號(hào)操作日期已付款額圖4-3管理日志E-R圖圖書表包括書號(hào)、書名、作者、出版社、入庫時(shí)間、是否借出、價(jià)格圖書表書號(hào)書名作者入庫時(shí)間是否借出價(jià)格出版社圖4-4圖書表E-R圖借閱表包括圖書證號(hào)、書號(hào)、借閱日期、應(yīng)還日期。借閱表書號(hào)借閱日期容應(yīng)還日期間圖書證號(hào)圖4-5借閱信息E-R圖讀者表包括圖書證號(hào)、姓名、性別、系別、班級(jí)。讀者表姓名性別年齡系別圖書證號(hào)圖4-6讀者表E-R圖4.5 數(shù)據(jù)庫表的

24、設(shè)計(jì)管理員表表中記錄了可以使管理員進(jìn)入該系統(tǒng)的用戶名及密碼,如表4-1所示。表4-1 管理員信息表字段名稱數(shù)據(jù)類型長(zhǎng) 度備 注用戶名文 本10密 碼文 本15管理日志表表中記錄借還書日志,用于存下所有對(duì)圖書操作的記錄,以便以后可以翻閱和查找,如表4-2所示。表4-2 管理日志表字段名稱數(shù)據(jù)類型長(zhǎng) 度備 注書號(hào)文 本10書名文 本15作者文 本15出版社文 本15入庫時(shí)間DATE15已付款額文 本10圖書表表中記錄了庫內(nèi)所有圖書的所有資料,如表4-3。表4-3 圖書表字段名稱數(shù)據(jù)類型長(zhǎng) 度備 注書號(hào)文 本10書名文 本15作者文 本15出版社文 本15入庫時(shí)間DATE15是否借出文 本10價(jià)格文

25、 本10讀者表表中記錄庫中所有讀者的相關(guān)信息,如表4-4所示表4-4 讀者表字段名稱數(shù)據(jù)類型長(zhǎng) 度備 注圖書證號(hào)文 本10姓名文 本15性別文 本15系別文 本15班級(jí)文 本15借閱表表內(nèi)記錄了此時(shí)圖書的借閱情況,如表4-5所示。表4-5 借閱表字段名稱數(shù)據(jù)類型長(zhǎng) 度備 注圖書證號(hào)文 本10書號(hào)文 本15借閱日期DATE15應(yīng)還日期DATE155.系統(tǒng)功能實(shí)現(xiàn)5.1 管理員模塊功能實(shí)現(xiàn)5.1.1 管理員登陸此模塊是整個(gè)系統(tǒng)最主要的部分,管理員可以通過此模塊實(shí)現(xiàn)進(jìn)入其余各個(gè)模塊如管理日志、管理員添加、管理員切換、讀者添加、讀者修改、讀者查詢、讀者刪除、新書入庫、書籍查詢、借閱書籍、歸還書籍、借閱

26、超時(shí)及退出的功能。圖書管理系統(tǒng)管理員界面如圖5-1所示。圖5-1 圖書管理系統(tǒng)管理員主要程序代碼如下:public void actionPerformed(ActionEvent e) if(e.getSource()=itemAdmiqh)this.dispose();In winin=new In("系統(tǒng)登陸");if(e.getSource()=itemtc)System.exit(0);if(e.getSource()=itemAdmixj)CreatAdmi creatAdmi=new CreatAdmi("管理員添加");if(e.getS

27、ource()=itemAdmirz)WinTable wintable=new WinTable("管理日志");if(e.getSource()=itemBookrk)AddInfy addInfy=new AddInfy();if(e.getSource()=itemPersonlr)Winpersonadd winperson=new Winpersonadd("讀者添加");if(e.getSource()=itemPersoncx)Winpersonsearch winperson=new Winpersonsearch("讀者信息

28、查詢");if(e.getSource()=itemPersonxg)Winpersonmodify winperson=new Winpersonmodify("讀者信息修改");if(e.getSource()=itemPersonsc)Winpersondelete winperson=new Winpersondelete("讀者刪除");if(e.getSource()=itemBookcx)Windowjj ok=new Windowjj();if(e.getSource()=itemchaoshi)day win=new day(

29、); if(e.getSource()=itemBorrowjs)Borrowbook win=new Borrowbook(); if(e.getSource()=itemBorrowhs)Returnbook win=new Returnbook(); 5.1.2 管理員添加功能實(shí)現(xiàn)功能介紹:該程序主要實(shí)現(xiàn)管理員的添加,以便于讓實(shí)行對(duì)圖書管理員的管理。按照標(biāo)簽提示輸入信息,然后點(diǎn)擊確定按鈕。首先判斷管理員名文本框中輸入的文本信息是否符合大于3個(gè)字符并小于10個(gè)字符的規(guī)則,如果不符合規(guī)則,則提示錯(cuò)誤,如果符合規(guī)則,再到Admi表中進(jìn)行查詢,如果相同則用提示框提示錯(cuò)誤。若無相同則可注冊(cè)。但還需

30、要保證前后兩次的密碼相同,才能成功注冊(cè),管理員登陸窗口如圖5-2所示。圖5-2管理員添加成功界面 主要程序代碼如下: public void actionPerformed(ActionEvent c)String b=textUser.getText();String d=textPassword1.getText();String g=textPassword2.getText();if(c.getSource()=buttonqk)textUser.setText(null);textPassword1.setText(null);textPassword2.setText(null);

31、if(c.getSource()=buttonEnter|c.getSource()=textPassword2)if(b.length()<3|b.length()>10)JOptionPane.showMessageDialog(null,"用戶名應(yīng)在310個(gè)字符之間");textUser.setText(null);elsetry Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundException e)System.out.println("&q

32、uot;+e);try con=DriverManager.getConnection("jdbc:odbc:sun","123","123");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM Admi WHERE 用戶名="+"'"+b+"'");f(rs.next()String user=rs.getString(1);if(b.equals(user)JOptionPane.sh

33、owMessageDialog(null,"此管理員已被注冊(cè)","警",JOptionPane.WARNING_MESSAGE); elseif(d.equals(g) sql.executeUpdate("INSERTINTOAdmi VALUES"+"("+"'"+b+"'"+","+"'"+d+"'"+")"); this.dispose();JOptionP

34、ane.showMessageDialog(null,"管理員注冊(cè)成功");else JOptionPane.showMessageDialog(null,"兩次輸入密碼不一致","警",JOptionPane.ERROR_MESSAGE); con.close(); catch(SQLException e)System.out.println(""+e);5.1.3管理員切換此模塊功能是退出當(dāng)前管理員界面,進(jìn)入管理員切換窗口,另一用戶可以通過輸入自己的用戶名和密碼直接進(jìn)入該系統(tǒng)。但此用戶名和密碼都必須與已經(jīng)連接

35、好的數(shù)據(jù)庫中表Admi中的用戶名和密碼相吻合。管理員切換界面如圖5-3所示。 圖5-3 管理員切換主要程序代碼如下: public void windowClosing(Wpublic void windowClosing(WindowEvent e)e.getWindow().dispose();5.2 讀者管理模塊功能實(shí)現(xiàn)5.2.1 讀者添加功能介紹:添加新的讀者,使其能夠進(jìn)入圖書系統(tǒng)閱覽圖書,讀者添加如圖5-4所示。 圖5-4 讀者添加主要程序代碼如下: public void actionPerformed(ActionEvent e)if(e.getSource()=button1)

36、 / 添加String ch=text1.getText();if(ch.length()!=5)JOptionPane.showMessageDialog(null,"請(qǐng)輸入5位圖書證號(hào)!"); text1.setText(null);else/連接數(shù)據(jù)庫String number,name,sex,dept,classes,record,insertStr;number=text1.getText();name=text2.getText();if(box1.getState()=true)sex=box1.getLabel();elsesex=box2.getLabe

37、l();dept=text3.getText();classes=text4.getText();rs=sql.executeQuery("SELECT * FROM person WHERE 圖書證號(hào)="+"'"+number+"'");if(rs.next()JOptionPane.showMessageDialog(null,"此圖書證號(hào)已存在","警告",JOptionPane.WARNING_MESSAGE);text1.setText(null);record=&qu

38、ot;("+"'"+number+"'"+","+"'"+name+"'"+","+"'"+sex+"'"+","+"'"+dept+"'"+","+"'"+classes+"'"+")"insertStr=&

39、quot;INSERT INTO person VALUES"+record;sql.executeUpdate(insertStr); JOptionPane.showMessageDialog(null,"添加成功!");con.close();5.2.2 讀者修改功能介紹:對(duì)讀者需要修改的資料進(jìn)行重定義,讀者信息修改如圖5-5所示。圖5-5 讀者信息修改主要程序代碼如下:public void actionPerformed(ActionEvent e) if(e.getSource()=button1) /修改String ch=text1.getText

40、();if(ch.length()!=5)JOptionPane.showMessageDialog(null,"請(qǐng)輸入5位圖書證號(hào)!");text1.setText(null);elsetry/連接數(shù)據(jù)庫String number,name,sex,dept,classes,newnum,record,updateStr; newnum=text5.getText(); number=text1.getText(); name=text2.getText();if(box1.getState()=true) sex=box1.getLabel(); elsesex=box

41、2.getLabel();dept=text3.getText();classes=text4.getText();sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM person where 圖書證號(hào)="+"'"+newnum+"'");if(rs.next()rs1=sql.executeQuery("SELECT * FROM person where 圖書證號(hào)="+"'"+number+&quo

42、t;'");if(rs1.next()JOptionPane.showMessageDialog(null,"此圖書證號(hào)已存在","警告",JOptionPane.WARNING_MESSAGE);text1.setText(null);elseupdateStr="UPDATE person SET 圖書證號(hào)="+"'"+number+"'"+","+"姓名 ="+"'"+name+"

43、;'"+","+"性別="+"'"+sex+"'"+","+"系別="+"'"+dept+"'"+","+"班級(jí)="+"'"+classes+"'"+"WHERE 圖書證號(hào)="+"'"+newnum+"'"sql.ex

44、ecuteUpdate(updateStr);JOptionPane.showMessageDialog(null,"修改成功!");elseJOptionPane.showMessageDialog(null,"查無此人!");/連接數(shù)據(jù)庫con.close();5.2.3 讀者查詢功能介紹:可以對(duì)數(shù)據(jù)庫中已有的讀者信息進(jìn)行查詢。讀者查詢?nèi)鐖D5-6。圖5-6讀者信息查詢 主要程序代碼如下:public void actionPerformed(ActionEvent e) if(e.getSource()=button1 | e.getSource()

45、=text) / 查詢area.setText(null);if(str="按圖書證號(hào)查詢" | str=null) && text.getText()!=null)boolean flag=true,f=true;String num=text.getText(); /連接數(shù)據(jù)庫rs=sql.executeQuery("SELECT * FROM person where 圖書證號(hào)="+"'"+num+"'"); while(rs.next()f=false;String numb

46、er=rs.getString("圖書證號(hào)");String name=rs.getString("姓名");String sex=rs.getString("性別");String dept=rs.getString("系別");String classes=rs.getString("班級(jí)");if(flag)area.append("圖書證號(hào)為"+num+"的學(xué)生信息如下:");flag=false;area.append("n姓名:&qu

47、ot;+name+" 性別:"+sex+" 系別:"+dept+" 班級(jí):"+classes+"n");if(f)area.append("查無此人!");catch(SQLException c)System.out.println(c);5.2.4 讀者刪除功能介紹:刪除數(shù)據(jù)庫中已有信息。讀者刪除如圖5-7所示。圖5-7 讀者刪除主要程序代碼如下:if(e.getSource()=button1) / 刪除area.setText(null);if(str="按圖書證號(hào)刪除&quo

48、t; | str=null) && text.getText()!=null) String num=text.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundException c)System.out.println(""+c);/連接數(shù)據(jù)庫rs=sql.executeQuery("SELECT * FROM person where 圖書證號(hào)="+"'"+num+"&#

49、39;");if(rs.next()area.append("該信息已刪除!");String delStr="DELETE FROM person WHERE 圖書證號(hào)="+"'"+num+"'"sql.executeQuery(delStr);con.close();catch(SQLException c)System.out.println(c);5.3 圖書管理模塊功能實(shí)現(xiàn)5.3 .1圖書預(yù)覽:功能介紹:瀏覽數(shù)據(jù)庫里現(xiàn)有的書并呈現(xiàn)給讀者。圖書瀏覽如圖5-8圖5-8圖書瀏覽主要程序

50、代碼如下: import java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.Container;import java.util.*;import java.sql.*;class BookBrower implements ActionListener JFrame f;Container cp;JPanel jpS,jpanelWest;JButton jbt1,jbt2;/按鈕,查詢、取消、修改JLabel label,L;/標(biāo)簽 /定義文本框JTable table;/用來接收數(shù)據(jù)庫中返回的信

51、息 Object columnName="圖書名","圖書號(hào)","單價(jià)","作者","出版社","入庫時(shí)間" Object ar =new Object806;String sno;String count="xx" BookBrower() f=new JFrame();cp=f.getContentPane(); / 初始化面板、按鈕、標(biāo)簽、文本框jpS=new JPanel(); jpanelWest=new JPanel();/-jbt1=new JButton("確定"); jbt2=new JButton("返回");/-label=new JLabel("<html><font color=#CC00FF size='4'>圖書概覽</font>",SwingConstants.CENTER);label.setForeground(Color.blue);L=new JLabel("

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論