JAVA圖書館管理系統(tǒng)畢業(yè)論文.doc_第1頁
JAVA圖書館管理系統(tǒng)畢業(yè)論文.doc_第2頁
JAVA圖書館管理系統(tǒng)畢業(yè)論文.doc_第3頁
JAVA圖書館管理系統(tǒng)畢業(yè)論文.doc_第4頁
JAVA圖書館管理系統(tǒng)畢業(yè)論文.doc_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

目 錄 摘 要 III 1 緒 論 1 1 1 畢業(yè)設(shè)計(jì)主要任務(wù) 1 1 2 目前圖書管理系統(tǒng)存在的問題 1 1 3 課題意義 1 1 4 論文的工作和安排 2 2 圖書借閱管理需求分析 3 2 1 可行性分析 3 2 1 1 技術(shù)可行性 3 2 1 2 經(jīng)濟(jì)可行性 3 2 2 圖書借閱管理系統(tǒng)需求概述 3 2 2 1 系統(tǒng)目標(biāo) 3 2 2 2 用戶類和用戶特性 4 2 3 圖書借閱管理系統(tǒng)需求模型 4 2 3 1 功能描述 4 2 3 2 圖書管理員詳細(xì)功能描述 5 2 3 3 讀者詳細(xì)功能描述 5 2 3 4 主要用例的用例描述 6 3 總體設(shè)計(jì) 8 3 1 數(shù)據(jù)庫設(shè)計(jì) 8 3 1 1 數(shù)據(jù)庫設(shè)計(jì)概述 8 3 1 2 圖書信息表結(jié)構(gòu)設(shè)計(jì) 9 3 1 3 學(xué)生用戶信息表結(jié)構(gòu)設(shè)計(jì) 9 3 1 4 管理員信息表結(jié)構(gòu)設(shè)計(jì) 10 3 1 5 圖書狀態(tài)信息表結(jié)構(gòu)設(shè)計(jì) 10 3 1 6 圖書超期信息表結(jié)構(gòu)設(shè)計(jì) 10 3 1 7 圖書預(yù)約信息表結(jié)構(gòu)設(shè)計(jì) 11 3 1 8 圖書掛失信息表結(jié)構(gòu)設(shè)計(jì) 11 3 2 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì) 12 3 2 1 圖書管理系統(tǒng)總體結(jié)構(gòu)圖 12 3 2 2 系統(tǒng)管理員模塊功能 12 3 2 3 學(xué)生用戶管理模塊功能 13 3 2 4 圖書管理模塊功能 13 3 2 5 圖書借閱預(yù)約模塊功能 13 3 2 6 圖書歸還掛失模塊功能 14 3 2 7 圖書查詢模塊功能 15 3 2 8 繳納超期罰款模塊功能 15 4 程序設(shè)計(jì)與編碼 16 4 1 開發(fā)平臺(tái)與工具 16 4 1 1 J2SE 平臺(tái) 16 4 1 2 開發(fā)系統(tǒng)的工具 16 4 2 程序設(shè)計(jì) 16 4 2 1 程序設(shè)計(jì)概述 16 4 2 2 數(shù)據(jù)庫的連接 17 4 2 3 登錄模塊程序設(shè)計(jì) 18 4 2 4 系統(tǒng)管理員功能模塊的實(shí)現(xiàn) 19 4 2 5 學(xué)生用戶管理功能模塊的實(shí)現(xiàn) 20 4 2 6 圖書管理功能模塊的實(shí)現(xiàn) 20 4 2 7 圖書借閱預(yù)約功能模塊的實(shí)現(xiàn) 20 4 2 8 圖書歸還掛失模塊的實(shí)現(xiàn) 21 摘 要 系統(tǒng)開發(fā)的總的設(shè)計(jì)目標(biāo)是實(shí)現(xiàn)圖書借閱的系統(tǒng)化 規(guī)范化和自動(dòng)化 實(shí)現(xiàn)對(duì)圖書 資料的集中統(tǒng)一的管理 以及實(shí)現(xiàn)用戶在網(wǎng)上的對(duì)圖書的查詢與借閱 本論文主要對(duì)圖 書館管理系統(tǒng)開發(fā)的技術(shù)要求 及可行性進(jìn)行了分析 對(duì)整個(gè)系統(tǒng)及數(shù)據(jù)庫做出了需求 分析 并對(duì)數(shù)據(jù)庫的結(jié)構(gòu)及數(shù)據(jù)表的建立依據(jù)分析與設(shè)計(jì)加以概括 在論文中簡(jiǎn)單描述 了系統(tǒng)的基本功能要求 包括管理員 用戶 書籍信息的管理 圖書借閱及還入功能的 實(shí)施方法 經(jīng)過仔細(xì)分析之后 對(duì)于系統(tǒng)的功能與實(shí)現(xiàn)流程也做了詳細(xì)的概述 其中 采用結(jié)構(gòu)圖對(duì)系統(tǒng)所包含的模塊進(jìn)行了描述 對(duì)于各模塊中數(shù)據(jù)的操作 則是用數(shù)據(jù)流 程圖來表示的 最后 在系統(tǒng)實(shí)現(xiàn)的描述中加入了一些關(guān)鍵模塊的代碼及效果圖以便能 更好將整個(gè)系統(tǒng)所采用的語言及功能表達(dá)出來 設(shè)計(jì)的實(shí)現(xiàn)主要應(yīng)用了 Java 語言編寫系統(tǒng) 以 MySql 作為數(shù)據(jù)庫 本系統(tǒng)經(jīng)過了多 次測(cè)試 基本功能都已實(shí)現(xiàn) 完成了圖書借閱所需要滿足的要求 設(shè)計(jì)任務(wù)圓滿完成 關(guān)鍵詞 Java c s MySql 數(shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)查詢 1 1 緒緒 論論 1 1 畢業(yè)設(shè)計(jì)主要任務(wù) 1 實(shí)現(xiàn)圖書館對(duì)所藏圖書的按類別 書名等多方面的查詢 最大的方便讀者和圖書館 工作人員對(duì)所需圖書的查詢 2 建立圖書館外借讀者數(shù)據(jù)庫 方便工作人員對(duì)讀者進(jìn)行有效管理 3 建立圖書館工作人員數(shù)據(jù)庫 限定每個(gè)工作人員對(duì)軟件操作的權(quán)限 最大限度的保 護(hù)數(shù)據(jù)庫 4 實(shí)現(xiàn)圖書館對(duì)新書入庫 舊書注銷的簡(jiǎn)單處理 并且建立書籍檔案 方便進(jìn)貨 5 實(shí)現(xiàn)圖書館 1 2 目前圖書管理系統(tǒng)存在的問題 1 檢索速度慢 效率低 因?yàn)閳D書館的藏書種類多 數(shù)量多 將藏書準(zhǔn)確地分門別類 快速檢索 手工進(jìn)行 非常困難往往是終于查到了二偉的信息 館中沒有此書或已被別人借走 圖書館的規(guī)模 越大 這個(gè)問題越突出 2 借書 還書工作量大 借書 還書頻率越大 說明圖書館的作用越大 然而隨之而來的大量的借書 還書 登記 實(shí)存圖書的更新以及借出圖書超期 遺失等的處理 其工作量之大 往往是人工 操作所難以勝任的 而且經(jīng)常會(huì)出現(xiàn)這樣那樣的差錯(cuò) 3 圖書統(tǒng)計(jì)工作難 藏書更新不能及時(shí)完成 圖書館的圖書應(yīng)根據(jù)科學(xué)技術(shù)的發(fā)展和教學(xué)工作的需要及時(shí)添加和更新 然而由于 藏書數(shù)量及圖書種類越來越多 加上自然損耗 人為破壞 使圖書的統(tǒng)計(jì)工作難以及時(shí) 完成 藏書的更新也就很難有針對(duì)性地進(jìn)行 藏書的知識(shí)結(jié)構(gòu)得不到良好地控制 我校也是一所發(fā)展中的高校 近兒年的發(fā)展速度很快 圖書館的規(guī)模和藏書數(shù)量也 不斷的擴(kuò)大 為了解決海量圖書的管理問題 改變傳統(tǒng)的管理方式也是迫在眉睫了 1 3 課題意義 隨著計(jì)算機(jī)的廣泛應(yīng)用 其逐步成為現(xiàn)代化的標(biāo)志 圖書館或者一些企業(yè)內(nèi)部 甚 至是書店 在正常運(yùn)行過程中總是面對(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)涉及到以下核心功能 查詢圖書 借閱預(yù)約圖書 歸還掛失圖書 除了 這些核心功能外 還包括一些基本和輔助功能 它們是 學(xué)生用戶管理 圖書管理和管理 員管理 1 4 論文的工作和安排 本次設(shè)計(jì)的目標(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) 可以根據(jù)用戶的不同權(quán)限 對(duì)圖書館的的各種信 息進(jìn)行添加 刪除 修改或查詢操作 論文分為五個(gè)部分 第一章即本章緒論 簡(jiǎn)述圖書館借閱管理系統(tǒng)這個(gè)課題的背景情況以及開發(fā)本系統(tǒng) 的意義 第二章為需求分析 本章中明確了系統(tǒng)需要實(shí)現(xiàn)的功能 分析了系統(tǒng)的用例 并介 紹根據(jù)系統(tǒng)的需求選擇的開發(fā)工具和技術(shù)的概況 第三章是總體設(shè)計(jì) 詳細(xì)描述了本系統(tǒng)中數(shù)據(jù)庫的設(shè)計(jì)情況 并給出了系統(tǒng)總體界 面的設(shè)計(jì)方案 第四章為程序設(shè)計(jì)與編碼各主要功能模塊的實(shí)現(xiàn)方法和部分關(guān)鍵代碼 同時(shí)提供了 個(gè)主要界面運(yùn)行的參考圖片 以更直觀了解系統(tǒng)的實(shí)現(xiàn)情況 第五章是軟件測(cè)試 測(cè)試系統(tǒng)功能實(shí)現(xiàn)并對(duì)測(cè)試結(jié)果進(jìn)行記錄分析 第六章為結(jié)束語 為此次畢業(yè)設(shè)計(jì)做一個(gè)總結(jié) 總結(jié)所獲得的經(jīng)驗(yàn)和體會(huì) 2 圖書借閱管理需求分析 2 1 可行性分析 采用現(xiàn)代化統(tǒng)一的計(jì)算機(jī)信息系統(tǒng) 能夠有效優(yōu)化圖書館管理系統(tǒng) 使其高效的發(fā) 揮最大作用 能夠迅捷的為讀者提供相應(yīng)的服務(wù) 開發(fā)本系統(tǒng)的可行性研究如下 2 1 1 技術(shù)可行性 技術(shù)上的可行性分析主要分析技術(shù)條件能否順利完成開發(fā)工作 軟 硬件能否滿足 需要 本系統(tǒng)采用 Java 開發(fā)出友好的人機(jī)界面 便于用戶理解 操作 數(shù)據(jù)庫管理系統(tǒng) 采用 MySQL 它能夠處理大量數(shù)據(jù) 同時(shí)保持?jǐn)?shù)據(jù)的完整性 安全性 因此本系統(tǒng)的開發(fā) 平臺(tái)已成熟可行 硬件方面 在科技飛速發(fā)展的今天 硬件更新速度越來越快 容量越 來越大 可靠性越來越高 價(jià)格越來越便宜 因此硬件平臺(tái)也能夠滿足本系統(tǒng)所需 2 1 2 經(jīng)濟(jì)可行性 鑒于計(jì)算機(jī)技術(shù)發(fā)展異常迅猛 在硬件軟件配置以及開發(fā)技術(shù)均以可行的情況下開發(fā) 這樣一個(gè)管理系統(tǒng)成本不會(huì)很高 但其可以大大提高圖書館的工作效率 也是圖書館管理 發(fā)展的必然趨勢(shì) 其必將有比較寬闊的市場(chǎng) 因此改性統(tǒng)在經(jīng)濟(jì)可行性上時(shí)可行的 2 2 圖書借閱管理系統(tǒng)需求概述 2 2 1 系統(tǒng)目標(biāo) 該系統(tǒng)主要建立一個(gè)基于 C S 模式的圖書館借閱管理系統(tǒng) 面對(duì)當(dāng)起很多小型圖書管 理仍是人工管理帶來的檢索速度慢 效率低 借閱歸還圖書量大 圖書統(tǒng)計(jì)工作量大 藏書 不能完成及時(shí)更新的問題 該系統(tǒng)可以對(duì)跟系統(tǒng)的三個(gè)用戶類型的使用實(shí)現(xiàn) 1 對(duì)于讀者在本系統(tǒng)的應(yīng)用下可實(shí)現(xiàn)按照各種方式 如 書名 出版社 作者 查詢圖書 館的藏書清單 方便的借閱圖書 續(xù)借圖書 歸還圖書 能夠查詢自己的借閱圖書情況 2 對(duì)于圖書館工作人員能夠?qū)崿F(xiàn)方便的對(duì)圖書進(jìn)行查詢 方便的進(jìn)行讀者借閱情況查 詢 方便的進(jìn)行借書還書處理等 便捷的對(duì)圖書信息進(jìn)行添加 修改 刪除 分類管理等操 作 對(duì)讀者信息進(jìn)行相關(guān)添加 修改 分類管理等操作 3 對(duì)于系統(tǒng)管理員可以對(duì)圖書館信息進(jìn)行修改更新操作 對(duì)系統(tǒng)用戶進(jìn)行添加 修改 刪除 權(quán)限設(shè)置等操作 2 2 2 用戶類和用戶特性 圖書借閱管理系統(tǒng)是一個(gè)基于 C S 模式的對(duì)圖書館進(jìn)行高效率管理的應(yīng)用系統(tǒng) 它的 用戶主要是讀者和圖書管理員 學(xué)生通過該系統(tǒng)進(jìn)行圖書查詢進(jìn)而對(duì)自己需要的圖書進(jìn)行 借閱及自己的借閱情況進(jìn)行查詢 圖書管理員則通過本系統(tǒng)實(shí)現(xiàn)對(duì)圖書及讀者的高效管理 除 此之外 還需要一個(gè)系統(tǒng)管理員對(duì)不同的用戶進(jìn)行權(quán)限的設(shè)置等操作 三類用戶的具體描述如下表所示 表 2 1 用戶具體描述 用戶類描述 學(xué)生用 戶 讀者是該系統(tǒng)的重要的使用角色 他們通過該系統(tǒng)查詢自己需要 的圖書信息 并像圖書管理員提出借閱圖書的申請(qǐng)進(jìn)而借閱自己所需 的圖書 還可以通過對(duì)自己借閱情況進(jìn)行查詢 圖書管 理員 圖書管理員是該系統(tǒng)的另一個(gè)重要使用者 圖書管理員通過該系 統(tǒng)進(jìn)行圖書的增加 修改 刪除 分類管理等操作 實(shí)現(xiàn)對(duì)讀者借閱歸還 續(xù)接圖書的方便操作 實(shí)現(xiàn)對(duì)系統(tǒng)中圖書 讀者 讀者借閱情況的查詢 信息更改維護(hù)等操作 管理讀者類型 對(duì)不同類型讀者可借閱的圖書數(shù) 量進(jìn)行設(shè)置等圖書館的基本操作 系統(tǒng)員系統(tǒng)管理員主要是圖書館管理系統(tǒng)中對(duì)用戶的管理 實(shí)現(xiàn)用戶添 加修改刪除以及用戶權(quán)限設(shè)置等操作 實(shí)現(xiàn)對(duì)圖書館基本信息的修改 維護(hù)等操作 2 3 圖書借閱管理系統(tǒng)需求模型 2 3 1 功能描述 圖書借閱管理系統(tǒng)的主要任務(wù)是實(shí)現(xiàn)讀者迅速檢索查詢 方便借閱歸還圖書 圖書管理 員高效的完成系統(tǒng)的各項(xiàng)基本操作 系統(tǒng)管理員是管理用戶設(shè)置權(quán)限等操作 從圖 2 1 可 以看出圖書借閱管理系統(tǒng)要完成一下功能 1 登錄 學(xué)生用戶 圖書管理員 系統(tǒng)管理員進(jìn)入該系統(tǒng)必須登錄 身份驗(yàn)證正確了才可以進(jìn) 入該系統(tǒng) 以不同身份進(jìn)入該系統(tǒng)所對(duì)應(yīng)的系統(tǒng)使用權(quán)限是不同的 2 用戶管理功能 對(duì)系統(tǒng)用戶進(jìn)行添加 修改 刪除 權(quán)限設(shè)置等操作 3 查詢功能 對(duì)圖書館的館藏圖書 借閱歷史 讀者用戶等信息進(jìn)行查詢 4 其他功能 系統(tǒng)管理員可以修改自己的密碼 并且擁有其他用戶所擁有的所有功能 下面的系統(tǒng)用例圖描述了整個(gè)系統(tǒng)用戶之間的動(dòng)作聯(lián)系 及功能模塊的概述 學(xué)生用戶 系統(tǒng)查詢 系統(tǒng)管理員 登錄 系統(tǒng)管理 用戶管理 借閱預(yù)約管理 歸還掛失管理 借還管理 續(xù)借管理 圖書管理員 讀者信息管理 讀者管理 讀者類型管理圖書信息管理 圖書管理 圖書狀態(tài)管理 圖 2 1 系統(tǒng)用例圖 2 3 2 圖書管理員詳細(xì)功能描述 1 讀者管理功能 對(duì)讀者的類型和讀者檔案進(jìn)行管理 包括添加 修改 刪除讀者類型和讀者用戶的相關(guān)信 息 管理不同類型讀者借閱圖書的數(shù)量 2 圖書管理功能 包括對(duì)圖書類型和具體圖書信息的管理 可以增加 修改 刪除圖書 豐富具體圖書的信息 對(duì)不同圖書進(jìn)行分類操作 3 圖書借閱功能 可以完成對(duì)讀者借閱 續(xù)接和還書的操作 4 系統(tǒng)查詢功能 查詢圖書相關(guān)資料 借閱歷史和借閱到期信息 5 修改密碼功能 可以修改自己的登錄密碼 2 3 3 讀者詳細(xì)功能描述 1 修改登陸密碼 修改自己的登錄密碼 2 查詢功能 對(duì)圖書館圖書信息進(jìn)行查詢 對(duì)自己當(dāng)前借閱書籍進(jìn)行查詢 對(duì)圖書歸還到期信息進(jìn)行 查看 2 3 4 主要用例的用例描述 圖書借閱借閱管理系統(tǒng)涉及到的用例包括 圖書借閱 圖書歸還 讀書查詢 學(xué)生用戶 信息管理 圖書信息管理 用戶管理等 現(xiàn)就系統(tǒng)的主要用例圖書借閱 圖書歸還 圖書查詢 進(jìn)行詳細(xì)分析 1 用例 圖書借閱 用例名稱圖書借閱 參與者學(xué)生用戶 圖書管理員 描述讀書可以通過查詢等方式獲得自己想借閱的圖書的名稱 編號(hào) 等 其他可唯一識(shí)別的信息 向圖書管理員提出借閱請(qǐng)求 管理員在系統(tǒng)中 記錄相應(yīng)信息 將圖書交給讀者 借閱成功 前置條件1 登錄 2 進(jìn)入圖書借閱的頁面 后置條件更新圖書借閱列表 過程借閱圖書 1 讀者請(qǐng)求借閱圖書 并提供自己的編號(hào) 2 學(xué)生用戶提供想借閱的圖書的標(biāo)號(hào) 3 系統(tǒng)存儲(chǔ)學(xué)生用戶和借閱的圖書 并將之存儲(chǔ)到數(shù)據(jù)庫中 4 系統(tǒng)更新借閱表 優(yōu)先級(jí)高 2 用例 圖書歸還 用例名稱圖書歸還 參與者學(xué)生用戶 圖書管理員 描述學(xué)生用戶將自己借閱的圖書歸還圖書館 前置條件1 登錄 2 進(jìn)入圖書歸還頁面 后置條件更新圖書歸還列表 過程圖書歸還 1 讀者請(qǐng)求歸還借閱的圖書并提供自己的編號(hào) 2 系統(tǒng)顯示該讀者的借閱信息表 3 學(xué)生用戶將要?dú)w還的圖書交給管理員 4 管理員點(diǎn)擊要?dú)w還的圖書并提交 系統(tǒng)存儲(chǔ)歸還信息 并將之存儲(chǔ) 到數(shù)據(jù)庫中 5 系統(tǒng)更新圖書歸還列表 優(yōu)先級(jí)高 3 用例 圖書查詢 用例名稱圖書查詢 參與者學(xué)生用戶 圖書管理員 描述學(xué)生用戶通過圖書的名稱 出版社等信息對(duì)相應(yīng)的圖書進(jìn)行查詢 前置條件1 登錄 2 轉(zhuǎn)到圖書查詢頁面 后置條件查詢頁面顯示相應(yīng)的圖書的信息 主干過程圖書查詢 1 讀者輸入想要查詢的圖書信息 2 系統(tǒng)顯示相應(yīng)的圖書信息 3 讀者點(diǎn)擊讀書名稱 跳轉(zhuǎn)到圖書詳細(xì)信息鏈接頁面 分支過程 1輸入信息時(shí) 第 2 步后 1 系統(tǒng)顯示 請(qǐng)選擇查詢依據(jù) 2 用戶進(jìn)行相應(yīng)選擇 重新查詢 第 2 步后 1 系統(tǒng)已經(jīng)顯示了相應(yīng)圖書信息 2 讀者想查詢其他圖書 分支過程 2查詢的圖書不存在 第 2 步后 1 讀者輸入的圖書信息不能在數(shù)據(jù)庫中查詢到 2 系統(tǒng)顯示暫時(shí)無該圖書信息 優(yōu)先級(jí)高 3 總體設(shè)計(jì) 3 1 數(shù)據(jù)庫設(shè)計(jì) 3 1 1 數(shù)據(jù)庫設(shè)計(jì)概述 數(shù)據(jù)庫是整個(gè)系統(tǒng)的基石 數(shù)據(jù)庫的設(shè)計(jì)優(yōu)劣直接影響到整個(gè)系統(tǒng)的設(shè)計(jì)成敗 本節(jié) 對(duì)數(shù)據(jù)庫的設(shè)計(jì)進(jìn)行專門闡述 數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù) 十多年來數(shù)據(jù)庫管理系統(tǒng)已從專用的應(yīng)用程序發(fā)展 成為通用的系統(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)的核心問題 數(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ù)庫能合理地 存儲(chǔ)用戶的數(shù)據(jù) 方便用戶進(jìn)行數(shù)據(jù)處理 設(shè)計(jì)數(shù)據(jù)庫必須遵循一定的規(guī)則 在關(guān)系型數(shù)據(jù)庫中 這種規(guī)則就是范式 范式是 符合某一種級(jí)別的關(guān)系模式的集合 一般人們?cè)O(shè)計(jì)數(shù)據(jù)庫遵循第三范式 即 數(shù)據(jù)庫表 中不包含已在其他表中包含的非主關(guān)鍵字信息 采用范式減少了數(shù)據(jù)冗余 節(jié)約了存儲(chǔ) 空間 同時(shí)加快了增 刪 改的速度 整個(gè)系統(tǒng)所包括的信息有圖書信息 學(xué)生用戶信息 管理員信息 圖書狀態(tài)信息 圖書超期信息 圖書預(yù)約信息 圖書掛失信息 可將這些信息抽象為下列系統(tǒng)所需要的 數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu) 1 圖書信息 編號(hào) 圖書名稱 作者 出版社 入庫時(shí)間 借閱狀態(tài) 預(yù)約狀態(tài) 2 學(xué)生用戶信息 編號(hào) 姓名 性別 所在班級(jí) 所在院系 密碼 借書權(quán)限 3 管理員信息 編號(hào) 管理權(quán)限 密碼 4 圖書狀態(tài)信息 圖書編號(hào) 學(xué)生編號(hào) 借閱時(shí)間 歸還時(shí)間 是否借出 是否預(yù) 約 5 圖書超期信息 學(xué)生編號(hào) 圖書編號(hào) 圖書名稱 超期時(shí)間 6 圖書預(yù)約信息 圖書編號(hào) 學(xué)生姓名 班級(jí) 圖書名稱 學(xué)生編號(hào) 圖書作者 7 圖書掛失信息 丟失圖書編號(hào) 學(xué)生編號(hào) 圖書編號(hào) 圖書名稱 注 帶下劃線表示主鍵 3 1 2 圖書信息表結(jié)構(gòu)設(shè)計(jì) 圖書信息表主要用于存儲(chǔ)圖書館中所藏圖書的相關(guān)信息 其中的相關(guān)信息是在圖書入 庫時(shí)由圖書管理員進(jìn)行添加完善 此表主要用于讀者和圖書管理員對(duì)館中圖書的查詢 系 統(tǒng)用戶根據(jù)圖書的某個(gè)屬性進(jìn)行查詢 便可得知圖書的其他相關(guān)信息 表的具體結(jié)果如下 表 3 1 圖書信息表 book 字段名稱數(shù)據(jù)類型字段長(zhǎng)度可否為空說明 BookNOintDefaultNo Key 圖書編號(hào) BookNamevarchar50Yes 書名 Authorvarchar50Yes 作者 Publishmentvarchar50Yes 出版社 ButTimevarchar50Yes 圖書入庫時(shí)間 Borrowedvarchar50Yes 借閱狀態(tài) Orderedvarchar50Yes 預(yù)約狀態(tài) 3 1 3 學(xué)生用戶信息表結(jié)構(gòu)設(shè)計(jì) 學(xué)生用戶信息表的設(shè)計(jì)是為了圖書館管理員對(duì)學(xué)生進(jìn)行管理 其中學(xué)生 StuNO 號(hào)碼都 是唯一的 是學(xué)生在借閱圖書時(shí)需要輸入對(duì)讀者身份進(jìn)行識(shí)別的信息 讀者班級(jí) 院系等 信息是為了與讀者進(jìn)行聯(lián)系 借閱權(quán)限決定了讀者是否可借閱圖書 表的具體結(jié)構(gòu)設(shè)計(jì)如 下 表 3 2 學(xué)生用戶信息表 student 字段名稱數(shù)據(jù)類型字段長(zhǎng)度可否為空說明 StuNOintDefaultNo Key 學(xué)生編號(hào) StuNamevarchar50Yes 姓名 StuSexvarchar50Yes 性別 Classvarchar50Yes 班級(jí) Departmentvarchar50Yes 院系 Passwordvarchar20Yes 密碼 Permittedvarchar50Yes 借閱權(quán)限 3 1 4 管理員信息表結(jié)構(gòu)設(shè)計(jì) 此表的設(shè)計(jì)是為了對(duì)不同身份的管理員進(jìn)行分類 根據(jù)管理需求的不同對(duì)其權(quán)限進(jìn)行 的設(shè)置 用于規(guī)定不同類型管理員的管理權(quán)限 表的具體結(jié)構(gòu)設(shè)計(jì)如下 表 3 3 管理員信息表 manager 字段名稱數(shù)據(jù)類型字段長(zhǎng)度可否為空說明 mgNO int Default No Key 管理員編 號(hào) permittedvarchar50Yes 管理員權(quán)限 Passwordvarchar50Yes 密碼 3 1 5 圖書狀態(tài)信息表結(jié)構(gòu)設(shè)計(jì) 該表的設(shè)計(jì)是用于對(duì)學(xué)生借閱圖書進(jìn)行管理 表中圖書 BookNO 屬性是對(duì)借閱圖書的 唯一性識(shí)別標(biāo)識(shí) 學(xué)生 StuNO 號(hào)記錄借閱的相應(yīng)學(xué)生 借出時(shí)間記錄了相應(yīng)的歸還時(shí)間 Borrowed 和 Ordered 字段用來判斷圖書是否被借出和是否被預(yù)約 表的具體結(jié)構(gòu)設(shè)計(jì)如 下 表 3 4 圖書狀態(tài)信息表 record 字段名稱數(shù)據(jù)類型字段長(zhǎng)度可否為空說明 BookNOintDefaultNo Key 圖書編號(hào) StuNOintDefaultYes 學(xué)生編號(hào) BorrowTimevarchar50Yes 借閱時(shí)間 ReturnTimevarchar50Yes 應(yīng)還時(shí)間 Borrowedvarchar50Yes 是否借閱 Orderedvarchar50Yes 是否預(yù)約 3 1 6 圖書超期信息表結(jié)構(gòu)設(shè)計(jì) 該表的設(shè)計(jì)除了像上表一樣把借閱的圖書與相應(yīng)的借閱者進(jìn)行對(duì)應(yīng)的聯(lián)系以外還記 錄了讀者超期圖書的時(shí)間 以此判斷讀者應(yīng)繳納的超期罰金 表的具體結(jié)構(gòu)設(shè)計(jì)如下 表 3 5 圖書超期信息表 exceedtime 字段名稱數(shù)據(jù)類型字段長(zhǎng)度可否為空說明 StuNO intDefaultNo Key 學(xué)生編號(hào) BookNOintDefaultYes 圖書編號(hào) BookNamevarchar 50 No Key 圖書名 稱 DelayTimeintDefaultYes 超期時(shí)間 3 1 7 圖書預(yù)約信息表結(jié)構(gòu)設(shè)計(jì) 該表的設(shè)計(jì)用于記錄圖書被預(yù)約的信息 被預(yù)約的圖書不能被其他學(xué)生借閱 表的具 體結(jié)構(gòu)設(shè)計(jì)如下 表 3 6 圖書預(yù)約信息表 orderreport 字段名稱數(shù)據(jù)類型字段長(zhǎng)度可否為空說明 BookNO int Default No Key 圖書編號(hào) StuNamevarchar 50 Yes 學(xué)生姓名 Classvarchar 50 Yes 班級(jí) BookNamevarchar 50 Yes 預(yù)約書名 StuNOint Default Yes 學(xué)生編號(hào) Authorvarchar 50 Yes 圖書作者 3 1 8 圖書掛失信息表結(jié)構(gòu)設(shè)計(jì) 該表包含了丟失圖書的名稱 書號(hào) 學(xué)生編號(hào)信息 是對(duì)丟失圖書的記錄 表的具 體結(jié)構(gòu)設(shè)計(jì)如下 表 3 7 圖書掛失信息表 losebook 字段名稱數(shù)據(jù)類型字段長(zhǎng)度可否為空說明 LBNOintDefaultNo Key 掛失圖書編號(hào) StuNOintDefaultYes 學(xué)生編號(hào) BookNOintDefaultYes 圖書編號(hào) BookNamevarchar50Yes 圖書名稱 3 1 9 數(shù)據(jù)庫表間關(guān)系圖 實(shí)現(xiàn)圖書館管理系統(tǒng)需要如下幾張表 book 存儲(chǔ)圖書信息 student 存儲(chǔ)學(xué)生用戶 信息 manager 存儲(chǔ)管理員信息 record 存儲(chǔ)圖書狀態(tài)記錄信息 exceedtime 存儲(chǔ)圖書 超期信息 orderreport 存儲(chǔ)圖書預(yù)約信息 losebook 存儲(chǔ)圖書掛失信息 數(shù)據(jù)表之間 的關(guān)系圖如圖 3 8 所示 圖 3 8 表間關(guān)系圖 3 2 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì) 該系統(tǒng)在 Windows98 2000 XP 環(huán)境下 主要采用 Java 語言開發(fā) MySQL 數(shù)據(jù)庫來設(shè) 計(jì) 開發(fā)過程與成果應(yīng)符合 GB T 11457 1995 軟件工程術(shù)語 GB T 8567 1988 計(jì)算機(jī)軟 件產(chǎn)品開發(fā)文件編制指南等 3 2 1 圖書管理系統(tǒng)總體結(jié)構(gòu)圖 繪制系統(tǒng)結(jié)構(gòu)圖的過程 實(shí)際上就是對(duì)系統(tǒng)功能模塊進(jìn)行分解設(shè)計(jì)的過程 即合理 地將數(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 9 系統(tǒng)功能結(jié)構(gòu)圖 圖書館管理系統(tǒng) 學(xué)生端 預(yù)約圖書 掛失圖書 管理端 查詢圖書 查詢圖書 借閱預(yù)約圖書 歸還掛失圖書 繳納超期罰款 管理員管理 圖書管理 學(xué)生用戶管理 根據(jù)需求分析的結(jié)果 按照 低耦合 高內(nèi)聚 的原則 本系統(tǒng)將劃分為以下主要 功能模塊 管理員管理功能模塊 學(xué)生用戶管理功能模塊 圖書管理功能模塊 圖書借 閱預(yù)約功能模塊 圖書歸還掛失功能模塊 圖書查詢功能模塊 繳納超期罰款功能模塊 3 2 2 系統(tǒng)管理員模塊功能 該模塊主要包括管理管理員 查看管理員信息 1 管理管理員 該功能選項(xiàng)用于系統(tǒng)管理員對(duì)圖書管理員的信息的管理更新 以便于在人員流動(dòng)時(shí)進(jìn) 行圖書管理員用戶的添加 刪除和修改其管理權(quán)限 該功能是對(duì) manager 表進(jìn)行維護(hù)修 改等操作 修改后的信息將被保存在該表中 2 查看管理員信息 通過此子模塊的功能實(shí)現(xiàn)可以對(duì)圖書管理員用戶進(jìn)行信息的查看操作 該操作是對(duì) manager 表進(jìn)行查詢操作 3 2 3 學(xué)生用戶管理模塊功能 該模塊主要包含學(xué)生用戶信息管理的子模塊 學(xué)生用戶信息管理 該子模塊是對(duì)學(xué)生用戶的基本信息進(jìn)行管理 可以對(duì)讀者的基本信息進(jìn)行添加 修 改 刪除 查詢操作 并對(duì)其借書權(quán)限進(jìn)行修改 這些操作均是對(duì) student 表進(jìn)行的 并將操作后的結(jié)果保存在該表中 3 2 4 圖書管理模塊功能 圖書管理功能模塊的實(shí)現(xiàn)如下面表中所示 表 3 10 圖書管理描述 圖書管理 功能描述對(duì)圖書進(jìn)行基本操作和信息管理 訪問的數(shù)據(jù)庫表圖書信息表 book 圖書狀態(tài)信息表 record 進(jìn)行的操作圖書入庫 修改 刪除圖書 對(duì)圖書的編號(hào) 出版 社 書名等基本信息進(jìn)行管理 產(chǎn)生的結(jié)果 對(duì)圖書基本操作管理 對(duì)不同圖書參數(shù)進(jìn)行各自信 息的設(shè)置管理 結(jié)果存儲(chǔ)位置或輸出 結(jié)果存儲(chǔ)在圖書信息表 book 中 結(jié)果在當(dāng)前頁面 和圖書查詢頁面均可輸出 3 2 5 圖書借閱預(yù)約模塊功能 該功能模塊主要實(shí)現(xiàn)對(duì)學(xué)生用戶借閱 預(yù)約圖書的操作 其中子模塊各自的描述如下 各表所列 表 3 11 圖書借閱描述 圖書借閱管理 功能描述對(duì)讀者借閱圖書進(jìn)行基本操作和信息管理 訪問的數(shù)據(jù)庫表圖書信息表 book 學(xué)生用戶信息表 student 圖書狀態(tài)信息表 record 進(jìn)行的操作對(duì)學(xué)生用戶借閱圖書進(jìn)行管理 產(chǎn)生的結(jié)果 學(xué)生用戶借閱成功 系統(tǒng)對(duì)借閱信息進(jìn)行記錄 結(jié)果存儲(chǔ)位置或輸出 結(jié)果存儲(chǔ)在圖書狀態(tài)信息表 record 中 結(jié)果在 圖書借閱頁面輸出 表 3 12 圖書預(yù)約描述 圖書預(yù)約管理 功能描述對(duì)學(xué)生用戶預(yù)約圖書進(jìn)行操作 訪問的數(shù)據(jù)庫表圖書信息表 book 學(xué)生用戶信息表 student 圖書狀態(tài)信息表 record 圖書預(yù)約信息表 orderreport 進(jìn)行的操作學(xué)生用戶對(duì)圖書進(jìn)行預(yù)約 產(chǎn)生的結(jié)果 圖書被預(yù)定 其他用戶不可進(jìn)行此圖書的借閱 結(jié)果存儲(chǔ)位置或輸出 結(jié)果存儲(chǔ)在圖書狀態(tài)信息表 record 和 圖書預(yù)約信息表 orderreport 中 3 2 6 圖書歸還掛失模塊功能 該功能模塊主要實(shí)現(xiàn)對(duì)學(xué)生用戶歸還 掛失圖書的操作 其中子模塊各自的描述如下 各表所列 表 3 13 圖書歸還描述 圖書歸還管理 功能描述對(duì)學(xué)生用戶歸還圖書進(jìn)行基本操作和信息管理 訪問的數(shù)據(jù)庫表圖書信息表 book 圖書狀態(tài)信息表 record 進(jìn)行的操作對(duì)學(xué)生用戶歸還圖書進(jìn)行管理 產(chǎn)生的結(jié)果 學(xué)生用戶歸還成功 系統(tǒng)對(duì)歸還信息進(jìn)行記錄 結(jié)果存儲(chǔ)位置或輸出 結(jié)果存儲(chǔ)在圖書信息表 book 和圖書狀態(tài)信息 表 record 中 表 3 14 圖書掛失描述 圖書掛失管理 功能描述對(duì)學(xué)生用戶掛失圖書進(jìn)行基本操作和信息管理 訪問的數(shù)據(jù)庫表圖書信息表 book 圖書狀態(tài)信息表 record 圖書預(yù)約信息表 orderreport 圖書超期表 exceedtime 圖書掛失表 losebook 計(jì)算機(jī)范文網(wǎng) 進(jìn)行的 操作 對(duì)學(xué)生用戶歸還圖書進(jìn)行管理 產(chǎn)生的結(jié)果 學(xué)生用戶掛失成功 系統(tǒng)對(duì)掛失信息進(jìn)行記錄 結(jié)果存儲(chǔ)位置或輸出 結(jié)果存儲(chǔ)在圖書掛失表 losebook 并刪除與之 相關(guān)的表的記錄 3 2 7 圖書查詢模塊功能 該模塊包括對(duì)圖書館藏書進(jìn)行查詢 對(duì)圖書的借閱預(yù)約情況進(jìn)行查詢 其子模塊的實(shí) 現(xiàn)如下所示 表 3 15 圖書查詢描述 圖書查詢 功能描述系統(tǒng)用戶對(duì)館藏圖書信息進(jìn)行查詢操作 訪問的數(shù)據(jù)庫表圖書信息表 book 進(jìn)行的操作用戶通過圖書的作者 出版社等信息對(duì)圖書進(jìn) 行相關(guān)查詢 產(chǎn)生的結(jié)果 用戶查詢到相應(yīng)的圖書或系統(tǒng)提醒查詢的圖書 不存在 結(jié)果存儲(chǔ)位置或輸出結(jié)果在圖書查詢頁面輸出 3 2 8 繳納超期罰款模塊功能 該模塊包括對(duì)超期欠費(fèi)查詢 對(duì)超期欠費(fèi)款數(shù)進(jìn)行繳納 其兩個(gè)子模塊的實(shí)現(xiàn)如下所 示 表 3 16 超期欠費(fèi)查詢描述 超期欠費(fèi)查詢 功能描述用戶針對(duì)學(xué)生借閱圖書進(jìn)行超期欠費(fèi)查詢操作 訪問的數(shù)據(jù)庫表圖書超期信息表 exceedtime 學(xué)生用戶信息表 student 進(jìn)行的操作用戶通過學(xué)生用戶編號(hào)對(duì)學(xué)生用戶借閱圖書進(jìn) 行超期欠費(fèi)查詢 并交納欠費(fèi) 產(chǎn)生的結(jié)果 用戶查詢到相應(yīng)的學(xué)生用戶超期欠費(fèi) 學(xué)生用 戶在查詢欠費(fèi)情況下進(jìn)行交費(fèi) 結(jié)果存儲(chǔ)位置或輸出結(jié)果在超期欠費(fèi)查詢頁面輸出 4 程序設(shè)計(jì)與編碼 4 1 開發(fā)平臺(tái)與工具 4 1 1 J2SE 平臺(tái) J2SE 是 Java 2 standard edition 是 Java2 的標(biāo)準(zhǔn)版 主要用于桌面應(yīng)用軟件的編 程 Standard Edition 標(biāo)準(zhǔn)版 J2SE 包含那些構(gòu)成 Java 語言核心的類 比如 數(shù)據(jù)庫 連接 接口定義 輸入 輸出 網(wǎng)絡(luò)編程 4 1 2 開發(fā)系統(tǒng)用的工具 表 4 1 系統(tǒng)開發(fā)平臺(tái)和工具 工具名稱用途 JDK 1 6 0 MyEclipse MySQL Java 開發(fā)工具包 J2EE 集成開發(fā)環(huán)境 中小型關(guān)系數(shù)據(jù)庫管理系統(tǒng) 4 1 開發(fā)中使用的類與接口的描述 1 1 開發(fā)圖形界面所用類 開發(fā)圖形界面所用類 JFrame Swing 的三個(gè)基本構(gòu)造塊 標(biāo)簽 按鈕和文本字段 但是現(xiàn)在需要個(gè)地方安 放它們 并希望用戶知道如何處理它們 JFrame 類就是解決這個(gè)問題的 它是一個(gè)容 器 允許程序員把其他組件添加到它里面 把它們組織起來 并把它們呈現(xiàn)給用戶 JPanel JPanel 是一個(gè)容器 可以向其中添加其他的 GUI 組件 如按鈕 JButton 組件 但是 JPanel 不是頂層容器 因此在屏幕上顯示 JPanel 必須將它添加到一個(gè)頂層容器 如 JFrame 中 JSplitPane Split Pane 分割面版 一次可將兩個(gè)組件同時(shí)顯示在兩個(gè)顯示區(qū)中 若你 想要同時(shí)在多個(gè)顯示區(qū)顯示組件 你便必須同時(shí)使用多個(gè) Split Pane JLabel 用于短文本字符串或圖像或二者的顯示區(qū) JTextField 是一個(gè)輕量級(jí)組件 它允許編輯單行文本 JTextArea 是一個(gè)顯示純文本的多行區(qū)域 JPasswordField JPasswordField 是一個(gè)輕量級(jí)組件 允許編輯單行文本 其視圖指示鍵入內(nèi) 容 但不顯示原始字符 JButton push 按鈕的實(shí)現(xiàn) 通過 Action 可配置按鈕 并進(jìn)行一定程度的控制 JScrollpane 提供輕量級(jí)組件的 scrollable 視圖 JScrollPane 管理視口 可選的垂直和水平 滾動(dòng)條以及可選的行和列標(biāo)題視口 JComboBox 將按鈕或可編輯字段與下拉列表組合的組件 用戶可以從下拉列表中選擇值 下拉 列表在用戶請(qǐng)求時(shí)顯示 JRadioButton 實(shí)現(xiàn)一個(gè)單選按鈕 此按鈕項(xiàng)可被選擇或取消選擇 并可為用戶顯示其狀態(tài) ButtonGroup 此類用于為一組按鈕創(chuàng)建一個(gè)多斥 multiple exclusion 作用域 使用相同的 ButtonGroup 對(duì)象創(chuàng)建一組按鈕意味著 開啟 其中一個(gè)按鈕時(shí) 將關(guān)閉組中的其他所有按鈕 2 2 開發(fā)表格接收數(shù)據(jù)并顯示所使用的類 開發(fā)表格接收數(shù)據(jù)并顯示所使用的類 Vector 可以實(shí)現(xiàn)可增長(zhǎng)的對(duì)象數(shù)組 與數(shù)組一樣 它包含可以使用整數(shù)索引進(jìn)行訪問的組件 但是 Vector 的大小可以根據(jù)需要增大或縮小 以適應(yīng)創(chuàng)建 Vector 后進(jìn)行添加或移除項(xiàng)的操作 DefaultTableModel 這是 TableModel 的一個(gè)實(shí)現(xiàn) 它使用一個(gè) Vector 來存儲(chǔ)單元格的值對(duì) 象 該 Vector 由多個(gè) Vector 組成 JTable 用來顯示和編輯常規(guī)二維單元表 3 3 開發(fā)樹狀結(jié)構(gòu)目錄所使用的類 開發(fā)樹狀結(jié)構(gòu)目錄所使用的類 DefaultMutableTreeNode 是樹數(shù)據(jù)結(jié)構(gòu)中的通用節(jié)點(diǎn) 為檢查和修改節(jié)點(diǎn)的父節(jié)點(diǎn)和子節(jié)點(diǎn)提 供操作 也為檢查節(jié)點(diǎn)所屬的樹提供操作 DefaultTreeModelDefaultTreeModel 使用 TreeNodes 的簡(jiǎn)單樹數(shù)據(jù)模型 JTreeJTree 將分層數(shù)據(jù)集顯示為輪廓的控件 樹中特定的節(jié)點(diǎn)可以由 TreePath 封裝節(jié)點(diǎn)及其所 有祖先的對(duì)象 標(biāo)識(shí) 或由其顯示行 其中顯示區(qū)域中的每一行都顯示一個(gè)節(jié)點(diǎn) 標(biāo)識(shí) 4 4 開發(fā)數(shù)據(jù)庫連接所使用的類 開發(fā)數(shù)據(jù)庫連接所使用的類 ConnectionConnection 與特定數(shù)據(jù)庫的連接 會(huì)話 在連接上下文中執(zhí)行 SQL 語句并返回結(jié)果 Connection 對(duì)象的數(shù)據(jù)庫能夠提供描述其表 所支持的 SQL 語法 存儲(chǔ)過程 此連接功能等等的 信息 Statement Statement 對(duì)象表示基本語句 其中將單個(gè)方法應(yīng)用于某一目標(biāo)和一組參數(shù) 以返 回結(jié)果 ResultSet 表示數(shù)據(jù)庫結(jié)果集的數(shù)據(jù)表 通常通過執(zhí)行查詢數(shù)據(jù)庫的語句生成 5 5 開發(fā)對(duì)事件響應(yīng)所實(shí)現(xiàn)的接口 開發(fā)對(duì)事件響應(yīng)所實(shí)現(xiàn)的接口 ActionListenerActionListener 用于接收操作事件的偵聽器接口 對(duì)處理操作事件感興趣的類可以實(shí)現(xiàn)此接 口 而使用該類創(chuàng)建的對(duì)象可使用組件的 addActionListener 方法向該組件注冊(cè) 在發(fā)生操作事 件時(shí) 調(diào)用該對(duì)象的 actionPerformed 方法 MouseListenerMouseListener 用于接收組件上 感興趣 的鼠標(biāo)事件 按下 釋放 單擊 進(jìn)入或離開 的偵 聽器接口 然后使用組件的 addMouseListener 方法將從該類所創(chuàng)建的偵聽器對(duì)象向該組件注冊(cè) 當(dāng)按下 釋放或單擊 按下并釋放 鼠標(biāo)時(shí)會(huì)生成鼠標(biāo)事件 鼠標(biāo)光標(biāo)進(jìn)入或離開組件時(shí)也會(huì)生成鼠 標(biāo)事件 發(fā)生鼠標(biāo)事件時(shí) 將調(diào)用該偵聽器對(duì)象中的相應(yīng)方法 并將 MouseEvent 傳遞給該方法 TreeSelectionListenerTreeSelectionListener 當(dāng) TreeSelectionModel 中的選擇發(fā)生更改時(shí)收到通知的偵聽器 4 2 程序設(shè)計(jì) 4 2 1 程序設(shè)計(jì)概述 本系統(tǒng)是窗口式應(yīng)用軟件 采用 C S 模式來設(shè)計(jì) 所以各個(gè)模塊內(nèi)的每一個(gè)功能都要 用窗口來顯示 為了體現(xiàn)程序的封裝性 每個(gè)窗口用一個(gè)類來實(shí)現(xiàn) 為實(shí)現(xiàn)窗口視圖 應(yīng)用的類都有繼承窗口類對(duì)象 并實(shí)現(xiàn)事件響應(yīng)監(jiān)聽接口 以便使用時(shí)產(chǎn)生相應(yīng)功能的 事件響應(yīng) 為體現(xiàn)窗口界面風(fēng)格 在個(gè)窗口上各個(gè)控件的布局應(yīng)當(dāng)一致 用于顯示的字體設(shè)置為 同一字體 各窗口界面顏色須保持一致 以保證對(duì)用戶的友好界面 具體實(shí)現(xiàn)過程現(xiàn)舉 例如下 4 2 2 數(shù)據(jù)庫的連接與關(guān)閉 利用 JDBC 訪問數(shù)據(jù)庫包含三個(gè)步驟 1 建立與數(shù)據(jù)庫的連接 2 通過發(fā)送 SQL 語句對(duì)數(shù)據(jù)庫進(jìn)行讀寫 3 處理語句的執(zhí)行結(jié)果 特別是查詢語句的返回?cái)?shù)據(jù) 數(shù)據(jù)庫連接時(shí)采用連接池技術(shù)鏈接MySQL 具體代碼實(shí)現(xiàn)如下 public class DataBase Connection con null 聲明Connection引用 Statement stat ResultSet rs int count public static String message 聲明一個(gè)靜態(tài)成員變量 public static Login log public DataBase try 加載MySQL的驅(qū)動(dòng)類 并創(chuàng)建數(shù)據(jù)庫連接 Class forName com mysql jdbc Driver con DriverManager getConnection jdbc mysql message test root 123 stat con createStatement 創(chuàng)建Statement對(duì)象 catch Exception e 如果從Login類傳的參數(shù)不對(duì) 則提示出錯(cuò) JOptionPane showMessageDialog log 用戶IP或端口號(hào)錯(cuò)誤 信息 JOptionPane INFORMATION MESSAGE public void dbClose 聲明close方法 try con close catch Exception e e printStackTrace 4 2 3 登錄模塊程序設(shè)計(jì) 本模塊主要是用戶通過圖書管理系統(tǒng)的首頁登錄進(jìn)入該系統(tǒng) 用戶輸入正確的用戶 名和密碼 系統(tǒng)會(huì)根據(jù)用戶的身份進(jìn)行相應(yīng)權(quán)限劃分 如果登錄信息有錯(cuò)誤 則系統(tǒng)提 示登入錯(cuò)誤的信息 并且禁止系統(tǒng)用戶進(jìn)行任何操作 圖書借閱管理系統(tǒng)的登錄主頁面 如圖4 1所示 圖4 1 圖書管理系統(tǒng)登錄首頁 用戶在登錄頁面寫好用戶名和密碼 選擇登錄 登錄成功則跳轉(zhuǎn)到系統(tǒng)的首頁 否 則提示錯(cuò)誤信息 進(jìn)行用戶身份驗(yàn)證的程序流程圖如圖4 2程序流程圖所示 圖 4 2 用戶登錄流程圖 實(shí)現(xiàn)此登陸模塊的類與方法 此模塊命名為 Login 繼承了 JFrame 類 并實(shí)現(xiàn) ActionListener 接口 使用 JComponent 的子類 JPanel 作為容器 以便加入 GUI 組件 實(shí)現(xiàn) ActionListener 接口中的 actionPerformed 方法 在構(gòu)造函數(shù)中進(jìn)行了容器及相應(yīng)標(biāo)簽和按鈕等的布局 并針對(duì)相應(yīng) 的組件調(diào)用事件相應(yīng)的方法 其主要的對(duì)象及方法如下表 主要對(duì)象與方法主要對(duì)象與方法功能與作用功能與作用 jp 對(duì)象以便向該模塊中添加 GUI 組件 jlArray 對(duì)象用于顯示標(biāo)簽組 如 用戶名和密碼等標(biāo)簽 jbArray 對(duì)象創(chuàng)建的按鈕組 如 學(xué)生登錄和管理員登錄按鈕 jtxtArray 對(duì)象創(chuàng)建的文本框 用于接收鍵盤向其輸入的字符串 jpassword 對(duì)象創(chuàng)建的密碼框 用于接收鍵盤輸入的密碼并以特殊字符顯示 Login 方法此為該類的構(gòu)造函數(shù) 對(duì)組件的布局及方法的調(diào)用封裝在這里 actionPerformed ActionEvent e 方 法 實(shí)現(xiàn)事件響應(yīng)監(jiān)聽器接口中的方法 其響應(yīng)的事件源有文本框 密碼框和布局在此類中的按鈕 main 方法 程序的入口 JVM 識(shí)別此 main 方法從而編譯該程序生成 class 文件 表 4 3 Login 類主要對(duì)象與方法 4 2 4 系統(tǒng)管理員功能模塊的實(shí)現(xiàn) 本模塊中最主要的是管理系統(tǒng)用戶 設(shè)置圖書館信息等操作 其中管理系統(tǒng)用戶包括對(duì) 他們進(jìn)行添加 修改 刪除及權(quán)限劃分操作 其中系統(tǒng)管理員對(duì)系統(tǒng)用戶進(jìn)行管理的操作頁面如下圖所示 圖4 4 系統(tǒng)管理員管理用戶操作界面 其中對(duì)系統(tǒng)用戶權(quán)限的設(shè)置是該操作的重要部分也是系統(tǒng)提高效率的關(guān)鍵所在 其 主要實(shí)現(xiàn)代碼為 public void actionPerformed ActionEvent e sql select permitted from manager where mgNo mgNo db new DataBase db selectDb sql 查詢管理員權(quán)限 String string try while db rs next 取到結(jié)果集 string db rs getString 1 trim int p 0 if string equals 1 p String jtxt jtxtArray 0 getText trim if jtxt equals 當(dāng)輸入為空 提示 JOptionPane showMessageDialog this 請(qǐng)輸入管理員名 消息 JOptionPane INFORMATION MESSAGE return if p 0 判斷該管理員是普通管理員 沒有修改管理員信息的權(quán)限 jtxtArray 0 requestDefaultFocus String jtxt jtxtArray 0 getText trim catch Exception ex ex printStackTrace db dbClose 關(guān)閉數(shù)據(jù)庫鏈接 實(shí)現(xiàn)此管理員管理模塊的類與方法 此模塊命名為 Manager 繼承了 JPanel 類 并實(shí)現(xiàn) ActionListener 接口 使用 JPanel 作為容器 以便加入 GUI 組件 實(shí)現(xiàn) ActionListener 接口中的 actionPerformed 方法 在構(gòu) 造函數(shù)中進(jìn)行了容器及相應(yīng)標(biāo)簽和按鈕等的布局 并針對(duì)相應(yīng)的事件編寫了相應(yīng)的方法 如 insertManager 方法編寫了添加管理員的動(dòng)作 其結(jié)果反應(yīng)到數(shù)據(jù)庫中的 Manager 表 中 并在顯示界面的 JTable 實(shí)例的對(duì)象中反應(yīng)給用戶 其主要的對(duì)象及方法如下表 主要對(duì)象與方法主要對(duì)象與方法功能與作用功能與作用 jsp 對(duì)象 將面板分割為兩個(gè)顯示區(qū)域 上半部分為輸入?yún)^(qū) 下半部分為 向用戶顯示結(jié)果的區(qū)域 jpt 對(duì)象以便向該模塊中添加 GUI 組件 str1 對(duì)象接收文本框中的 String 字符串的數(shù)組 jtxtArray 對(duì)象創(chuàng)建的文本框 用于接收鍵盤向其輸入的字符串 jlArray 對(duì)象用于顯示標(biāo)簽組 如 管理員名和權(quán)限等標(biāo)簽 jbArray 對(duì)象創(chuàng)建的按鈕組 如 添加管理員和刪除管理員按鈕 head 對(duì)象由 Vector 實(shí)例化的對(duì)象 用于對(duì)顯示給用戶的表格創(chuàng)建表頭 data 對(duì)象由 Vector 實(shí)例化的對(duì)象 用于存儲(chǔ)表中數(shù)據(jù)的數(shù)組 dtm 對(duì)象 由 DefaultTableModel 實(shí)例化的對(duì)象 用于創(chuàng)建表格模型的對(duì) 象 jt 對(duì)象JTable 的對(duì)象 用于顯示給用戶可見的結(jié)果 jspn 對(duì)象將 JTable 封裝到滾動(dòng)表格 Manager String mgNo 方法 Manager 類的構(gòu)造函數(shù) 封裝了此模塊的界面布局 actionPerformed ActionEvent e 方 法 實(shí)現(xiàn)事件響應(yīng)監(jiān)聽器接口中的方法 其響應(yīng)的事件源有文本框 和布局在此類中的按鈕 并調(diào)用了此類中設(shè)計(jì)的方法 insertManager 方 法 此方法實(shí)現(xiàn)了對(duì)管理員進(jìn)行添加 其功能有判斷管理員名格式 是否正確的功能 執(zhí)行添加管理員的功能 對(duì)數(shù)據(jù)庫表進(jìn)行操 作的功能等 deleteManager 方 法 此方法與 insertManager 方法類似 其不同之處為此方法操 作為從數(shù)據(jù)庫表中刪除記錄 updateManager 方 法 此方法是對(duì)管理員信息進(jìn)行修改 對(duì)數(shù)據(jù)庫中表的內(nèi)容進(jìn)行了 更新 selectManager 方 法 對(duì)數(shù)據(jù)庫的內(nèi)容進(jìn)行查詢操作 將查詢的內(nèi)容顯示到 JTable 實(shí) 例化的對(duì)象中 manager1 方法 輔助上述四個(gè)方法 用于查詢管理員名文本框中輸入內(nèi)容是否 存在于 manager 表中 table 方法將查詢到的內(nèi)容顯示到 JTable 中 main 方法 程序的入口 JVM 識(shí)別此 main 方法從而編譯該程序生成 class 文件 表4 5 管理員管理模塊的類與方法表 4 2 5 學(xué)生用戶管理功能模塊的實(shí)現(xiàn) 學(xué)生用戶管理主要實(shí)現(xiàn)對(duì)學(xué)生的借閱權(quán)限管理和信息管理功能模塊 其中學(xué)生用戶 借閱權(quán)限管理中需要設(shè)置不同的參數(shù)判斷其是否有權(quán)限借閱圖書 學(xué)生用戶信息管理則 主要管理維護(hù)學(xué)生用戶的基本信息 其操作界面如下所示 圖 4 6 學(xué)生用戶管理操作界面 該管理功能在設(shè)置學(xué)生信息時(shí)需要輸入學(xué)號(hào) 姓名 性別 班級(jí) 院系 密碼信息 這些信息都 為必填選項(xiàng) 此模塊命名為 Student 繼承了 JPanel 類 并實(shí)現(xiàn) ActionListener 接口 使用 JPanel 作 為容器 以便加入 GUI 組件 實(shí)現(xiàn) ActionListener 接口中的 actionPerformed 方法 在構(gòu)造 函數(shù)中進(jìn)行了容器及相應(yīng)標(biāo)簽和按鈕等的布局 調(diào)用了事件響應(yīng)監(jiān)聽事件 并針對(duì)相應(yīng) 的事件編寫了相應(yīng)的方法 如 insertStudent 方法編寫了添加學(xué)生用戶的動(dòng)作 其結(jié)果反 應(yīng)到數(shù)據(jù)庫中的 Student 表中 并在顯示界面的 JTable 實(shí)例的對(duì)象中反應(yīng)給用戶 實(shí)現(xiàn)此學(xué)生用戶管理模塊的對(duì)象與方法 主要對(duì)象與方法主要對(duì)象與方法功能與作用功能與作用 jsp 對(duì)象 將面板分割為兩個(gè)顯示區(qū)域 上半部分為輸入?yún)^(qū) 下半部分為 向用戶顯示結(jié)果的區(qū)域 jpt 對(duì)象以便向該模塊中添加 GUI 組件 jcp 對(duì)象JComboBox 實(shí)例化的對(duì)象 用于創(chuàng)建下拉列表框 str 對(duì)象創(chuàng)建下拉列表框數(shù)據(jù)模型的字符串?dāng)?shù)組 str1 對(duì)象接收文本框中的 String 字符串的數(shù)組 jtxtArray 對(duì)象創(chuàng)建的文本框 用于接收鍵盤向其輸入的字符串 jlArray 對(duì)象用于顯示標(biāo)簽組 如 學(xué)號(hào)和學(xué)生姓名等標(biāo)簽 jbArray 對(duì)象創(chuàng)建的按鈕組 如 添加學(xué)生信息和刪除學(xué)生信息按鈕 head 對(duì)象

溫馨提示

  • 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)論