




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、本科畢業(yè)設計(論文)題 目:基于Java的圖書管理信息系統(tǒng)的設計和實現(xiàn) 院 系: 計 算 機 科 學 系 專 業(yè): 計 算 機 科 學 與 技 術 姓 名: 平 指導教師: 周 亞 鳳 航空航天大學 2012年4月10日35 / 41摘 要圖書管理信息系統(tǒng)是現(xiàn)在學校圖書館必不可少的系統(tǒng)。隨著數(shù)字化信息技術的普與,將一些先進的信息技術結合運用到圖書管的管理和服務中。促進圖書館各部門之間協(xié)調(diào)工作,提高圖書館的工作效率,清晰反映圖書的庫存與讀者的借閱情況,是本系統(tǒng)的開發(fā)目的。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的數(shù)據(jù)信息管理。現(xiàn)今,有很多的圖書館都是初步的開始使用,甚至尚
2、未使用計算機進行信息管理。根據(jù)調(diào)查得知,他們以前對信息管理的主要方式都是基于文本、表格等紙介質(zhì)的手工處理,對于圖書借閱情況的統(tǒng)計和核實等往往采用對借書卡的人工檢查進行,對借閱者的借閱權限、以與借閱天數(shù)等用人工計算、手抄進行數(shù)據(jù)處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)的信息管理手段。盡管有的圖書館有計算機,但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,所以圖書管理系統(tǒng)的開發(fā)顯得尤為重要。本系統(tǒng)使用到的開發(fā)工具是MyEclipse, 它采用了當今軟件設計的最新技術,具有開發(fā)效率高、設計靈活、生成的軟件界面友好美觀等特點。使用J2SE進行界面設計
3、,使用SQL Server 2000建立數(shù)據(jù)庫。本系統(tǒng)中解決了學校圖書管理事務中的常用基本問題以與相關統(tǒng)計工作。實現(xiàn)圖書管理員對圖書的分類、錄入和新進圖書的基本操作,對圖書借閱情況的查詢和對系統(tǒng)的維護等。本系統(tǒng)中包含6個功能模塊:管理員登錄,讀者管理,圖書管理,圖書借還,系統(tǒng)查詢和系統(tǒng)維護。關鍵詞:圖書管理系統(tǒng);信息技術; MyEclipse;J2SEAbstract The library management system is an essential system for school library today. With the popularize of the digital
4、information technology, some advanced information technology are combined with the management and service of library. To promote the work between every apartment, to improve the working efficiency and to reflect the inventory of library and the borrowing clearly are the purpose about developing such
5、 a system. As a kind of collecting and distributing center of information resources, library contains a great number of data about the large number of material of library and user borrowing. Nowadays, there are many libraries just start or even not use computers to manage information. Based on the s
6、urvey, the author gets that the main way to manage information is dealt manually with paper text and paper forms and so on. For the statistics and verification of borrowing are checked manually, as well as the borrowing privileges and days. Checking manually has many problems, not only the large wor
7、kload but also range of data which make mistakes easily, are lost easily and are difficult to find. Totally speaking, many libraries are short of systematical and normative management measure.Although some libraries has computers, they are not used for information management. There are many idle res
8、ources, so it is vital to develop the library management system. The system use MyEclipse which adopted the newest technology of software at the present. The newest one has many features included high efficient development, flxible design and beautiful software interface. The system will be designed
9、 by J2EE, and build database through SQL Server 2000.The system solves many usual basic problems in school library management services and relevant statistical work. It makes the basic operation of library classification and new entry of new books as well as query for book lending and maintenance fo
10、r system come true. The system contains six functions in module: admin login, audience management, library management, library circulation, the system queries and system maintenance.Keywords:library management system;information technology;MyEclipse;J2SE目 錄摘 要I第一章 緒論1第一節(jié) 畢業(yè)設計主要任務1第二節(jié) 課題意義1第三節(jié) 論文的工作和
11、安排1第二章 圖書管理信息系統(tǒng)需求分析3第一節(jié) 可行性分析3一、技術可行性3二、經(jīng)濟可行性3第二節(jié) 圖書管理信息系統(tǒng)需求概述3一、系統(tǒng)目標3三、用戶類型和用戶特性4第三節(jié) 圖書管理信息系統(tǒng)需求模型4一、功能描述4二、圖書管理員詳細功能描述5三、讀者詳細功能描述5四、主要用例和用例描述6第三章 總體設計9第一節(jié) 數(shù)據(jù)庫設計9一、數(shù)據(jù)庫設計概述9二、圖書信息表結構設計10三、圖書類型信息表結構設計10四、讀者信息表結構設計11五、圖書借閱信息表結構設計11六、用戶信息表結構設計12七、數(shù)據(jù)庫表間關系圖13第二節(jié)、系統(tǒng)總體結構設計13一、圖書管理系統(tǒng)總體結構圖13二、系統(tǒng)管理員模塊功能14三、讀者管
12、理模塊功能15四、圖書管理模塊功能15五、圖書借還模塊功能15六、系統(tǒng)查詢模塊功能16第四章、程序設計與編碼18第一節(jié)、開發(fā)平臺與工具18一、J2SE平臺18二、開發(fā)系統(tǒng)所有工具18三、開發(fā)中使用的類與接口的描述18第二節(jié)、程序設計19一、程序設計概述19二、數(shù)據(jù)庫的連接與關閉20三、登錄模塊程序設計21四、系統(tǒng)管理員功能模塊的實現(xiàn)23五、讀者管理功能模塊的實現(xiàn)25六、查詢功能模塊的實現(xiàn)27七、圖書管理功能模塊的實現(xiàn)27八、圖書借閱功能模塊的實現(xiàn)28第五章、軟件測試30第一節(jié)、軟件測試的方法與步驟30第二節(jié)、測試用例設計與測試用例的運行過程與測試結果分析31一、模塊測試31二、集成測試32三、
13、驗收測試33第三節(jié)、評價33致34參考文獻35第一章 緒論第一節(jié) 畢業(yè)設計主要任務1.實現(xiàn)圖書管理員對所藏圖書的按類別、書名等多方面的添加、修改等管理;2.建立圖書館外借讀者數(shù)據(jù)庫,方便工作人員對讀者進行添加、修改和刪除等管理;3.實現(xiàn)新書訂購管理,方便管理員訂購新書和驗收新書;4.實現(xiàn)借閱管理,方便管理員和讀者對圖書的查詢與歸還;5.實現(xiàn)圖書管理系統(tǒng)的系統(tǒng)維護,方便管理員更改口令和對用戶的添加、刪除和修改的管理。第二節(jié) 課題意義圖書管理信息系統(tǒng)是現(xiàn)在學校圖書館必不可少的系統(tǒng)。隨著數(shù)字化信息技術的普與,將一些先進的信息技術結合運用到圖書管的管理和服務中。促進圖書館各部門之間協(xié)調(diào)工作,提高圖書館
14、的工作效率,清晰反映圖書的庫存與讀者的借閱情況,是本系統(tǒng)的開發(fā)目的。隨著計算機的廣泛應用,其逐步成為現(xiàn)代化的標志。圖書館或者一些企業(yè)部,甚至是書店,在正常運行過程中總是面對大量的讀者信息,書籍信息以與兩者相互作用產(chǎn)生的借書信息、還書信息。因此需要對讀者資源、書籍資源、借書信息、還書信息進行管理,與時了解各個環(huán)節(jié)息的變更,要對因此而產(chǎn)生的單據(jù)進行與時的處理,為了提高圖書館或者企業(yè)部對圖書存銷的自動化的管理,能夠更快速的滿足讀者的要求,提高各種工作的效率,現(xiàn)對其設計相應的系統(tǒng),以達到上述的目的。圖書管理信息系統(tǒng)的主要功能是實現(xiàn)圖書館圖書借閱和歸還的管理的自動化。圍繞這一主要功能,本系統(tǒng)涉與到以下核
15、心功能:查詢圖書,新書訂購圖書歸還等。除了這些核心功能外,還包括一些基本和輔助功能,它們是:管理員登錄、讀者管理、圖書信息管理和借閱管理等。第三節(jié) 論文的工作和安排本次設計的目標是,促進圖書館各部門之間協(xié)調(diào)工作,提高圖書館的工作效率,清晰反映圖書的庫存與讀者的借閱情況,規(guī)化的管理讀者用戶,設定不同用戶權限,實現(xiàn)圖書管理員對圖書的查詢,添加,修改和刪除等,方便讀者的使用,最終達到提高圖書館資源利用效率。論文設計實現(xiàn)了圖書館管理信息系統(tǒng),可以根據(jù)管理員的工作安排,對圖書館的的各種信息進行添加、刪除、修改或查詢操作。論文分為五個部分:第一章即本章緒論,簡述圖書管理系統(tǒng)這個課題的背景情況以與開發(fā)本系統(tǒng)
16、的意義。第二章為需求分析,本章中明確了系統(tǒng)需要實現(xiàn)的功能,分析了系統(tǒng)的用例,并介紹根據(jù)系統(tǒng)的需求選擇的開發(fā)工具和技術的概況。第三章是總體設計,詳細描述了本系統(tǒng)中數(shù)據(jù)庫的設計情況,并給出了系統(tǒng)總體界面的設計方案。 第四章為程序設計與編碼各主要功能模塊的實現(xiàn)方法和部分關鍵代碼,同時提供了個主要界面運行的參考圖片,以更直觀了解系統(tǒng)的實現(xiàn)情況。第五章是軟件測試,測試系統(tǒng)功能實現(xiàn)并對測試結果進行記錄分析第二章 圖書管理信息系統(tǒng)需求分析第一節(jié) 可行性分析采用現(xiàn)代化統(tǒng)一的計算機信息系統(tǒng),能夠有效優(yōu)化圖書館管理系統(tǒng),使其高效的發(fā)揮最大作用,能夠迅捷的為讀者提供相應的服務。開發(fā)本系統(tǒng)的可行性研究如下:一、技術可
17、行性技術上的可行性分析主要分析技術條件能否順利完成開發(fā)工作,軟、硬件能否滿足需要。本系統(tǒng)采用Java開發(fā)出友好的人機界面,便于用戶理解、操作。使用MyEclipse作為開發(fā)工具,使用方面、規(guī)性強。數(shù)據(jù)庫管理系統(tǒng)采用SQL Server 2000,它能夠處理大量數(shù)據(jù),同時保持數(shù)據(jù)的完整性、安全性。因此本系統(tǒng)的開發(fā)平臺已成熟可行。硬件方面,在科技飛速發(fā)展的今天,硬件更新速度越來越快,容量越來越大,可靠性越來越高,價格越來越便宜,因此硬件平臺也能夠滿足本系統(tǒng)所需。二、經(jīng)濟可行性鑒于計算機技術發(fā)展異常迅猛,在硬件軟件配置以與開發(fā)技術均以可行的情況下開發(fā)這樣一個管理系統(tǒng)成本不會很高,但其可以大大提高圖書
18、館的工作效率,也是圖書館管理發(fā)展的必然趨勢,其必將有比較寬闊的市場,因此該系統(tǒng)在經(jīng)濟可行性上是可行的。第二節(jié) 圖書管理信息系統(tǒng)需求概述一、系統(tǒng)目標該系統(tǒng)主要建立一個基于C/S模式的圖書館借閱管理系統(tǒng),面對當起很多小型圖書管理仍是人工管理帶來的檢索速度慢,效率低,借閱歸還圖書量大,圖書統(tǒng)計工作量大,藏書不能完成與時更新的問題,該系統(tǒng)可以對跟系統(tǒng)的三個用戶類型的使用實現(xiàn):1.對于管理員在本系統(tǒng)的應用下可實現(xiàn)按照各種方式(如:書名,作者)查詢圖書館的藏書清單,添加圖書和對讀者歸還圖書,借閱圖書情況查詢等;2.對于圖書館工作人員能夠便捷的對圖書信息進行添加、修改、刪除,分類管理等操作,對讀者信息進行相
19、關添加,修改,分類管理等操作;3.對于系統(tǒng)管理員可以對圖書館信息進行修改更新操作,對系統(tǒng)用戶進行添加、修改、刪除、權限設置等操作。三、用戶類型和用戶特性圖書借閱管理系統(tǒng)是一個基于C/S模式的對圖書館進行高效率管理的應用系統(tǒng),它的用戶主要是讀者和圖書管理員,讀者通過該系統(tǒng)進行圖書查詢進而對自己需要的圖書進行借閱與自己的借閱情況進行查詢,圖書管理員則通過本系統(tǒng)實現(xiàn)對圖書與讀者的高效管理,除此之外,還需要一個系統(tǒng)管理員對不同的用戶進行權限的設置等操作。三類用戶的具體描述如下表所示:表2.1 用戶類描述圖書管理員圖書管理員是該系統(tǒng)的另一個重要使用者,圖書管理員通過該系統(tǒng)進行圖書的增加,修改,刪除,分類
20、管理等操作,實現(xiàn)對讀者借閱歸還續(xù)接圖書的方便操作,實現(xiàn)對系統(tǒng)中圖書,讀者,讀者借閱情況的查詢,信息更改維護等操作,管理讀者類型,對不同類型讀者可借閱的圖書數(shù)量進行設置等圖書館的基本操作。系統(tǒng)員系統(tǒng)管理員主要是圖書館管理系統(tǒng)中對用戶的管理,實現(xiàn)用戶添加修改刪除以與用戶權限設置等操作,實現(xiàn)對圖書館基本信息的修改維護等操作。第三節(jié) 圖書管理信息系統(tǒng)需求模型一、功能描述通過圖書管理員對圖書的基本管理,如:查詢、錄入、讀者管理等,實現(xiàn)系統(tǒng)的基本功能:1. 管理員登錄:管理員輸入用戶名與密碼,單擊“登錄”按鈕,進入圖書館管理界面;2. 讀者管理:通過“基礎數(shù)據(jù)維護”菜單下的“讀者信息管理”,對讀者信息進行
21、添加、修改、刪除等操作;3. 圖書信息管理:通過“基礎數(shù)據(jù)維護”菜單下的“圖書類別管理”,對圖書類別信息進行添加、修改、添加、查詢等操作;4. 新書管理:通過“新書訂購管理”,對訂購新書信息進行添加、驗收等操作;5. 借閱管理:通過“借閱管理”,對圖書借閱信息進行添加,圖書歸還信息進行添加,圖書信息進行查詢等操作;6. 系統(tǒng)維護:通過“系統(tǒng)維護”,對當前管理員的密碼進行修改,對用戶信息進行添加,對用戶信息進行修改與刪除等操作;7. 退出系統(tǒng):通過“基礎數(shù)據(jù)維護”菜單下的“退出系統(tǒng)”命令,退出當前操作系統(tǒng)。下面的系統(tǒng)用例圖描述了整個系統(tǒng)用戶之間的動作聯(lián)系,與功能模塊的概述。圖2.1二、圖書管理員
22、詳細功能描述管理員輸入用戶名與密碼,單擊“登錄”按鈕,進入圖書館管理界面;1.讀者管理功能:對讀者的類型和讀者檔案進行管理,包括添加,修改,刪除讀者類型和讀者用戶的相關信息,管理不同類型讀者借閱圖書的數(shù)量。2.圖書管理功能:包括對圖書類型和具體圖書信息的管理,可以增加,修改,刪除圖書,豐富具體圖書的信息,對不同圖書進行分類操作。3.圖書借閱功能:可以完成對讀者查詢、借閱和還書的操作。4.新書管理功能:新書訂購和驗收新書等操作。5.系統(tǒng)維護功能:可以修改自己的登錄密碼,添加用戶和對用戶進行修改和刪除的操作。三、讀者詳細功能描述通過“基礎數(shù)據(jù)維護”菜單下的“讀者信息管理”,對讀者信息進行添加、修改
23、、刪除等操作;1.讀者信息添加:添加讀者信息。2.讀者信息修改與刪除:對讀者信息修改和刪除,查看讀者信息情況等。四、主要用例和用例描述圖書管理系統(tǒng)涉與到的用例包括:圖書借閱,圖書歸還,讀書查詢,讀者信息管理,圖書信息管理,用戶管理等,現(xiàn)就系統(tǒng)的主要用例圖書借閱,圖書歸還,圖書查詢進行詳細分析。1. 用例“圖書借閱”表2.2用例名稱圖書借閱參與者圖書管理員,系統(tǒng)管理員描述圖書管理員可以通過查詢等方式獲得讀者想借閱的圖書的名稱,編號,等其他可唯一識別的信息,向讀者提供借閱請求,管理員在系統(tǒng)中記錄相應信息,將圖書交給讀者,借閱成功。前置條件1.登錄;2.進入圖書借閱的頁面后置條件更新圖書借閱列表 過
24、程借閱圖書1.讀者請求借閱圖書,并提供自己的編號2.學生用戶提供想借閱的圖書的標號3.系統(tǒng)存儲學生用戶和借閱的圖書,并將之存儲到數(shù)據(jù)庫中4.系統(tǒng)更新借閱表優(yōu)先級高2. 用例“圖書歸還”表2.3用例名稱圖書歸還參與者圖書管理員描述學生用戶將自己借閱的圖書歸還圖書館。前置條件1.登錄;2.進入圖書歸還頁面后置條件更新圖書歸還列表; 過程圖書歸還1.讀者請求歸還借閱的圖書并提供自己的編號2.系統(tǒng)顯示該讀者的借閱信息表3.學生用戶將要歸還的圖書交給管理員4.管理員點擊要歸還的圖書并提交,系統(tǒng)存儲歸還信息,并將之存儲到數(shù)據(jù)庫中5.系統(tǒng)更新圖書歸還列表優(yōu)先級高3)用例“圖書查詢”表2.4用例名稱圖書查詢參
25、與者圖書管理員描述圖書管理員通過讀者提供的圖書名稱,等信息對相應的圖書進行查詢。前置條件1.登錄; 2.轉(zhuǎn)到圖書查詢頁面后置條件查詢頁面顯示相應的圖書的信息主干過程圖書查詢1.管理員輸入想要查詢的圖書信息2.系統(tǒng)顯示相應的圖書信息3.管理員點擊讀書名稱,跳轉(zhuǎn)到圖書詳細信息頁面分支過程1輸入信息時(第2步后)1.系統(tǒng)顯示:請選擇查詢依據(jù)2.用戶進行相應選擇重新查詢(第2步后)1.系統(tǒng)已經(jīng)顯示了相應圖書信息2.讀者想查詢其他圖書分支過程2查詢的圖書不存在(第2步后)1. 管理員輸入的圖書信息不能在數(shù)據(jù)庫中查詢到2. 系統(tǒng)顯示暫時無該圖書信息優(yōu)先級高第三章 總體設計第一節(jié) 數(shù)據(jù)庫設計一、數(shù)據(jù)庫設計概
26、述數(shù)據(jù)庫是整個系統(tǒng)的基石,數(shù)據(jù)庫的設計優(yōu)劣直接影響到整個系統(tǒng)的設計成敗,本節(jié)對數(shù)據(jù)庫的設計進行專門闡述。數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術。十多年來數(shù)據(jù)庫管理系統(tǒng)已從專用的應用程序發(fā)展成為通用的系統(tǒng)軟件。由于數(shù)據(jù)庫具有數(shù)據(jù)結構化,最低冗余度,較高的程序與數(shù)據(jù)獨立性,易于擴充,易于編制應用程序等優(yōu)點,較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫設計之上的。因此不僅大型計算機與中小型計算機,甚至微型機都配有數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序為中心轉(zhuǎn)向圍繞共享的數(shù)據(jù)庫為中心的新階段。這樣既便于數(shù)據(jù)的集中管理,又有利于應用程序的研制和維護,提高了數(shù)據(jù)的利用性和相容性,提高了決策的可靠性。目前,數(shù)據(jù)
27、庫已經(jīng)成為現(xiàn)代信息系統(tǒng)不可分割的重要組成部分。數(shù)據(jù)庫技術也是計算機領域中發(fā)展最快的技術之一。數(shù)據(jù)庫設計是把現(xiàn)實世界的實體模型與需求轉(zhuǎn)換成數(shù)據(jù)庫的模型的過程,它是建立數(shù)據(jù)庫應用系統(tǒng)的核心問題。數(shù)據(jù)庫與其應用的性能都建立在良好的數(shù)據(jù)庫設計的基礎之上,數(shù)據(jù)庫的數(shù)據(jù)是一切操作的基礎,如果數(shù)據(jù)庫設計不好,那么其它一切用于提高數(shù)據(jù)庫性能的方法收效都是有限的。數(shù)據(jù)庫設計的關鍵是如何使設計的數(shù)據(jù)庫能合理地存儲用戶的數(shù)據(jù),方便用戶進行數(shù)據(jù)處理。設計數(shù)據(jù)庫必須遵循一定的規(guī)則,在關系型數(shù)據(jù)庫中,這種規(guī)則就是式,式是符合某一種級別的關系模式的集合。一般人們設計數(shù)據(jù)庫遵循第三式。即:數(shù)據(jù)庫表中不包含已在其他表中包含的非
28、主關鍵字信息。采用式減少了數(shù)據(jù)冗余,節(jié)約了存儲空間,同時加快了增、刪、改的速度。整個系統(tǒng)所包括的信息有圖書信息、讀者信息、管理員信息、圖書狀態(tài)信息。可將這些信息抽象為下列系統(tǒng)所需要的數(shù)據(jù)項和數(shù)據(jù)結構:1.圖書信息(編號,類別,圖書名稱,作者,譯者,出版日期,單價)2.學生用戶信息(編號,性別,年齡,職業(yè),有效證件,證件,最大借書量,辦證日期)3.管理員信息(編號,性別,年齡,辦證日期,聯(lián)系,押金,密碼)4.圖書借閱信息:(讀者編號,押金,可借數(shù)量,圖書編號,類別,名稱,價格)注:帶下劃線表示主鍵二、圖書信息表結構設計圖書信息表主要用于存儲圖書館中所藏圖書的相關信息,其中的相關信息是在圖書入庫時
29、由圖書管理員進行添加完善,此表主要用于讀者和圖書管理員對館中圖書的查詢,系統(tǒng)用戶根據(jù)圖書的某個屬性進行查詢,便可得知圖書的其他相關信息。表的具體結果如下:表3.1圖書信息表tb_bookInfo字段名稱數(shù)據(jù)類型字段長度可否為空說明ISBNvarcharDefaultNo(Key)圖書編號BookNamevarchar50Yes 書名writervarchar50Yes作者translator tvarchar50Yes datevarchar50Yes 圖書入庫時間pricevarchar50Yes 預約狀態(tài)三、圖書類型信息表結構設計該表的設計主要是方便對圖書的分類,和對圖書的查詢,在實際應用
30、中圖書管理員就是根據(jù)圖書類型的不同將之分列在不同的書架,以方便讀者的借閱尋找,其中可借閱天數(shù)項設置了不同類型圖書的借閱期限,可根據(jù)圖書的具體情況進行不同的維護管理,表的具體結構設計如下:表3.2圖書類型信息表tb_bookType字段名稱數(shù)據(jù)類型字段長度是否為空說明ID int10NoKeytypenamevarchar30No daysint10No 可借閱天數(shù)四、讀者信息表結構設計讀者信息表的設計是為了圖書館管理員對讀者進行管理,其中讀者ID,不同類型證件的都是唯一的,是讀者在借閱圖書時需要輸入對讀者身份進行識別的信息,讀者等信息室為了與讀者進行聯(lián)系,讀者類型信息決定了讀者一次性可借閱的圖
31、書的數(shù)量,注冊時間可用于查詢計算讀者身份有效的期限,操作員是為了便于對信息才操作的查詢。表的具體結構設計如下:表3.3讀者信息表tb_reader字段名稱數(shù)據(jù)類型字段長度是否為空說明Idint10NoKeynamevarchar20No sexvarchar4No identityCardvarchar30No telvarchar20Yes paperTypevarchar10No 證件類型PaperNO.Varchar20No 證件birthdaydateYes dztimedateNo 登記時間operatorvarchar30No 操作員五、圖書借閱信息表結構設計該表的設計是用于對讀者
32、借閱圖書進行管理,表中圖書ID屬性是對借閱圖書的唯一性識別標識,讀者ID號記錄借閱的相應讀者,結出時間記錄了相應的歸還時間,以與歸還時是否超時,操作員是對借閱進行操作的人員的記錄方便日后的查詢,是否歸還標識可查詢當起讀書是否被歸還,表的具體結構設計如下:表 3.4圖書借閱信息表tb_borrow字段名稱數(shù)據(jù)類型字段長度是否為空說明ID int10NoKeyReaderISBNvarchar10No bookISBNint10No BorrowdatedateNo 結出時間backdatedateNo 應歸還時間六、用戶信息表結構設計該表的設計用于記錄圖書管理系統(tǒng)用戶的信息,方便對用戶的管理,表
33、中包括用戶ID 和用戶的登錄密碼,表的具體結構設計如下:表 3.5系統(tǒng)用戶信息表tb_order字段名稱數(shù)據(jù)類型字段長度是否為空說明ISBN int10NoKeynamevarchar30No Numbervarchar30No 七、數(shù)據(jù)庫表間關系圖實現(xiàn)圖書館管理系統(tǒng)需要如下幾表,tb_bookInfo存儲圖書信息,tb_reader存儲學生用戶信息,tb_operator存儲管理員信息,tb_borrow存儲借閱信息,tb_bookType存儲圖書類別信息,數(shù)據(jù)表之間的關系圖如圖3.1所示。圖3.1表間關系圖第二節(jié)、系統(tǒng)總體結構設計該系統(tǒng)在Windows98/2000/XP環(huán)境下,主要采用J
34、ava語言開發(fā),SQL Server 2000數(shù)據(jù)庫來設計,開發(fā)過程與成果應符合GB/T 11457-1995軟件工程術語,GB/T 8567-1988計算機軟件產(chǎn)品開發(fā)文件編制指南等。一、圖書管理系統(tǒng)總體結構圖繪制系統(tǒng)結構圖的過程,實際上就是對系統(tǒng)功能模塊進行分解設計的過程,即合理地將數(shù)據(jù)流程圖轉(zhuǎn)變?yōu)樗枰南到y(tǒng)結構圖8。系統(tǒng)結構圖將會使讀者和用戶能直觀的了解系統(tǒng)的結構模式,理解系統(tǒng)的各個功能的結構,能很好地方便用戶使用和理解整個系統(tǒng)。本系統(tǒng)的結構圖如下:圖3.2二、系統(tǒng)管理員模塊功能該模塊主要包括圖書館信息設置,用戶管理,圖書信息管理等。1.圖書館信息設置該功能選項用于系統(tǒng)管理員對圖書館名
35、稱,地址,聯(lián)系方式,簡介等信息的管理更新,以便于讀者和外界人士對圖書館的了解。2.用戶設置該功能子模塊主要是系統(tǒng)管理員對系統(tǒng)用戶的管理,通過此子模塊的功能實現(xiàn)可以對用戶進行添加、修改、刪除、權限設置等操作,該子模塊能將圖書館的不同工作細化到不同的相關人員,極提高了圖書館的工作效率。該操作是對tb_order表進行操作,在對用戶進行了相關的操作后把操作后的最新信息存放在該表中。3.圖書館參數(shù)設置通過該子模塊設置在圖書館辦理臨時讀者證的費用與證件有效期限。該操作是對于tb_stockpile表進行,并把操作后的最新數(shù)據(jù)存放在該表中。三、讀者管理模塊功能該模塊主要包含讀者類型管理和讀者信息管理兩個子
36、模塊:1. 圖書類型管理該子模塊是對圖書館系統(tǒng)用戶圖書的類型進行維護,修改等操作,在此模塊中主要設置圖書的類型,該操作是對于tb_bookType表進行,并將操作結果保存在該表中。2. 讀者信息管理該子模塊是對讀者的基本信息進行管理,可以對讀者的基本信息進行添加,修改,刪除操作,這下操作均是對tb_reader表進行的,并將操作后的結果保存在該表中。四、圖書管理模塊功能圖書管理功能模塊的實現(xiàn)如下面表中所示:表3.6 圖書管理描述圖書管理功能描述對圖書進行基本操作和信息管理訪問的數(shù)據(jù)庫表圖書信息表: tb_bookInfo圖書狀態(tài)信息表:tb_borrow進行的操作圖書入庫、修改、刪除圖書,對圖
37、書的編號、書名等基本信息進行管理產(chǎn)生的結果 對圖書基本操作管理,對不同圖書參數(shù)進行各自信息的設置管理結果存儲位置或輸出 結果存儲在圖書信息表(book)中,結果在當前頁面和圖書查詢頁面均可輸出五、圖書借還模塊功能該功能模塊主要實現(xiàn)對學生用戶借閱、預約圖書的操作,其中子模塊各自的描述如下各表所列:表3.7 圖書借閱描述圖書借閱管理功能描述對讀者借閱圖書進行基本操作和信息管理訪問的數(shù)據(jù)庫表圖書信息表: tb_bookInfo讀者信息表: tb_reader進行的操作對學生用戶借閱圖書進行管理產(chǎn)生的結果 學生用戶借閱成功,系統(tǒng)對借閱信息進行記錄結果存儲位置或輸出 結果存儲在圖書狀態(tài)信息表(recor
38、d)中,結果在圖書借閱頁面輸出六、系統(tǒng)查詢模塊功能該模塊包括對圖書館藏書進行查詢,對讀者借閱情況進行查詢,以與對借閱到期和超期的讀者進行提醒的信息,其中三個子模塊的各自實習如下所示:表3.8 圖書查詢描述圖書查詢功能描述系統(tǒng)用戶對館藏圖書信息進行查詢操作訪問的數(shù)據(jù)庫表圖書信息表: tb_bookInfo進行的操作用戶通過圖書的編號,作者,等信息對圖書進行相關查詢產(chǎn)生的結果 讀者查詢到相應的圖書或系統(tǒng)提醒查詢的圖書不存在結果存儲位置或輸出結果在圖書查詢頁面輸出表3.17 圖書借閱查詢描述圖書借閱查詢功能描述系統(tǒng)用戶對讀者借閱圖書信息進行查詢操作訪問的數(shù)據(jù)庫表圖書借閱表: tb_borrow進行的
39、操作用戶通過圖書的編號,讀者編號等信息對摸個讀者或某本圖書的借閱情況進行相關查詢產(chǎn)生的結果 查詢到相應的讀者或圖書得借閱情況結果存儲位置或輸出結果在圖書查詢頁面輸出表3.9 圖書借閱到期提醒描述圖書借閱到期提醒管理功能描述對讀者借閱的到期圖書進行提醒訪問的數(shù)據(jù)庫表圖書借閱表: tb_borrow讀者信息表:tb_reader進行的操作對借閱到期和超期的讀者進行提醒產(chǎn)生的結果 向借閱到期和借閱超期的讀者發(fā)送等提醒信息結果存儲位置或輸出 結果存儲在圖書借閱到期提醒表第四章、程序設計與編碼第一節(jié)、開發(fā)平臺與工具一、J2SE平臺J2SE是Java 2 standard edition是Java2的標準
40、版,主要用于桌面應用軟件的編程,Standard Edition(標準版) J2SE 包含那些構成Java語言核心的類。比如:數(shù)據(jù)庫連接、接口定義、輸入/輸出、網(wǎng)絡編程。二、開發(fā)系統(tǒng)所有工具表4.1 系統(tǒng)開發(fā)平臺和工具工具名稱用途JDK 1.6.0MyEclipse SQL Server 2000LJava 開發(fā)工具包J2EE集成開發(fā)環(huán)境中小型關系數(shù)據(jù)庫管理系統(tǒng)三、開發(fā)中使用的類與接口的描述1.開發(fā)圖形界面所用類:JFrame:Swing 的三個基本構造塊:標簽、按鈕和文本字段;但是現(xiàn)在需要個地方安放它們,并希望用戶知道如何處理它們。JFrame 類就是解決這個問題的它是一個容器,允許程序員把
41、其他組件添加到它里面,把它們組織起來,并把它們呈現(xiàn)給用戶。JPanel:JPanel是一個容器,可以向其中添加其他的GUI組件(如按鈕utton組件);但是JPanel不是頂層容器,因此在屏幕上顯示JPanel,必須將它添加到一個頂層容器(如JFrame)中。JSplitPane:Split Pane(分割面版)一次可將兩個組件同時顯示在兩個顯示區(qū)中,若你想要同時在多個顯示區(qū)顯示組件,你便必須同時使用多個Split Pane。JLabel:用于短文本字符串或圖像或二者的顯示區(qū)。JTextField:是一個輕量級組件,它允許編輯單行文本。JTextArea:是一個顯示純文本的多行區(qū)域。JPass
42、wordField:JPasswordField 是一個輕量級組件,允許編輯單行文本,其視圖指示鍵入容,但不顯示原始字符。utton:"push" 按鈕的實現(xiàn)。 通過 Action 可配置按鈕,并進行一定程度的控制。JScrollpane:提供輕量級組件的 scrollable 視圖。JScrollPane 管理視口、可選的垂直和水平滾動條以與可選的行和列標題視口。JComboBox:將按鈕或可編輯字段與下拉列表組合的組件。用戶可以從下拉列表中選擇值,下拉列表在用戶請求時顯示。JRadioButton:實現(xiàn)一個單選按鈕,此按鈕項可被選擇或取消選擇,并可為用戶顯示其狀態(tài)。Bu
43、ttonGroup:此類用于為一組按鈕創(chuàng)建一個多斥(multiple-exclusion)作用域。使用一樣的 ButtonGroup 對象創(chuàng)建一組按鈕意味著“開啟”其中一個按鈕時,將關閉組中的其他所有按鈕。2.開發(fā)表格接收數(shù)據(jù)并顯示所使用的類:Vector:可以實現(xiàn)可增長的對象數(shù)組。與數(shù)組一樣,它包含可以使用整數(shù)索引進行訪問的組件。但是,Vector 的大小可以根據(jù)需要增大或縮小,以適應創(chuàng)建 Vector 后進行添加或移除項的操作。DefaultTableModel:這是 TableModel 的一個實現(xiàn),它使用一個 Vector 來存儲單元格的值對象,該 Vector 由多個 Vector
44、組成。JTable:用來顯示和編輯常規(guī)二維單元表。3.開發(fā)樹狀結構目錄所使用的類:DefaultMutableTreeNode:是樹數(shù)據(jù)結構中的通用節(jié)點。為檢查和修改節(jié)點的父節(jié)點和子節(jié)點提供操作,也為檢查節(jié)點所屬的樹提供操作。DefaultTreeModel:使用 TreeNodes 的簡單樹數(shù)據(jù)模型。JTree:將分層數(shù)據(jù)集顯示為輪廓的控件。樹中特定的節(jié)點可以由 TreePath(封裝節(jié)點與其所有祖先的對象)標識,或由其顯示行(其中顯示區(qū)域中的每一行都顯示一個節(jié)點)標識。4.開發(fā)數(shù)據(jù)庫連接所使用的類:Connection:與特定數(shù)據(jù)庫的連接(會話)。在連接上下文中執(zhí)行 SQL 語句并返回結果
45、。 Connection 對象的數(shù)據(jù)庫能夠提供描述其表、所支持的 SQL 語法、存儲過程、此連接功能等等的信息。Statement:Statement 對象表示基本語句,其中將單個方法應用于某一目標和一組參數(shù),以返回結果。ResultSet:表示數(shù)據(jù)庫結果集的數(shù)據(jù)表,通常通過執(zhí)行查詢數(shù)據(jù)庫的語句生成。5.開發(fā)對事件響應所實現(xiàn)的接口:ActionListener:用于接收操作事件的偵聽器接口。對處理操作事件感興趣的類可以實現(xiàn)此接口,而使用該類創(chuàng)建的對象可使用組件的 addActionListener 方法向該組件注冊。在發(fā)生操作事件時,調(diào)用該對象的 actionPerformed 方法。Mous
46、eListener:用于接收組件上“感興趣”的鼠標事件(按下、釋放、單擊、進入或離開)的偵聽器接口。然后使用組件的 addMouseListener 方法將從該類所創(chuàng)建的偵聽器對象向該組件注冊。當按下、釋放或單擊(按下并釋放)鼠標時會生成鼠標事件。鼠標光標進入或離開組件時也會生成鼠標事件。發(fā)生鼠標事件時,將調(diào)用該偵聽器對象中的相應方法,并將 MouseEvent 傳遞給該方法。TreeSelectionListener:當 TreeSelectionModel 中的選擇發(fā)生更改時收到通知的偵聽器。第二節(jié)、程序設計一、程序設計概述本系統(tǒng)是窗口式應用軟件,采用C/S模式來設計,所以各個模塊的每一個
47、功能都要用窗口來顯示。為了體現(xiàn)程序的封裝性,每個窗口用一個類來實現(xiàn)。為實現(xiàn)窗口視圖,應用的類都有繼承窗口類對象,并實現(xiàn)事件響應監(jiān)聽接口,以便使用時產(chǎn)生相應功能的事件響應。為體現(xiàn)窗口界面風格,在個窗口上各個控件的布局應當一致,用于顯示的字體設置為同一字體,各窗口界面顏色須保持一致,以保證對用戶的友好界面。具體實現(xiàn)過程現(xiàn)舉例如下。二、數(shù)據(jù)庫的連接與關閉利用JDBC訪問數(shù)據(jù)庫包含三個步驟:1. 建立與數(shù)據(jù)庫的連接;2. 通過發(fā)送SQL語句對數(shù)據(jù)庫進行讀寫;3. 處理語句的執(zhí)行結果,特別是查詢語句的返回數(shù)據(jù)。 數(shù)據(jù)庫連接時采用連接池技術MySQL,具體代碼實現(xiàn)如下:package .wsy.dao;i
48、mport java.sql.Connection;import java.sql.Date;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Timestamp;import java.util.ArrayList;import java.util.List;import .wsy.model.Back;import .wsy.model.BookInfo;import .wsy.model.BookType;import .wsy.mode
49、l.Borrow;import .wsy.model.Operater;import .wsy.model.Order;import .wsy.model.OrderAndBookInfo;import .wsy.model.Reader;import .wsy.model.user;public class Dao protected static String dbClassName = ".microsoft.sqlserver.jdbc.SQLServerDriver"protected static String dbUrl = "jdbc:sqlser
50、ver:/localhost:1433;DatabaseName=db_library_Data;SelectMethod=Cursor"protected static String dbUser = "sa"protected static String dbPwd = "123"protected static String second = null;private static Connection conn = null;private Dao() try if (conn = null) Class.forName(dbClass
51、Name).newInstance();conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);elsereturn; catch (Exception ee) ee.printStackTrace();private static ResultSet executeQuery(String sql) try if(conn=null)new Dao();return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).exec
52、uteQuery(sql); catch (SQLException e) e.printStackTrace();return null; finally private static int executeUpdate(String sql) try if(conn=null)new Dao();return conn.createStatement().executeUpdate(sql); catch (SQLException e) System.out.println(e.getMessage();/if(e.getMessage().equals("MicrosoftS
53、QLServer 2000 Driver for JDBCSQLServerDELETE 語句與 COLUMN REFERENCE 約束 'FK_TB_BORRO_REFERENCE_TB_BOOKI' 沖突。該沖突發(fā)生于數(shù)據(jù)庫 'db_library',表 'tb_borrow', column 'bookISBN'。")return -1; finally 三、登錄模塊程序設計本模塊主要是用戶通過圖書管理系統(tǒng)的首頁登錄進入該系統(tǒng)。用戶輸入正確的用戶名和密碼,系統(tǒng)會根據(jù)用戶的身份進行相應權限劃分;如果登錄信息有錯誤,則
54、系統(tǒng)提示登入錯誤的信息,并且禁止系統(tǒng)用戶進行任何操作。圖書借閱管理系統(tǒng)的登錄主頁面如圖4.1所示。圖4.1實現(xiàn)此登陸模塊的類與方法:此模塊命名為Login,繼承了JFrame類,并實現(xiàn)ActionListener接口,使用JComponent的子類JPanel作為容器,以便加入GUI組件,實現(xiàn)ActionListener接口中的actionPerformed方法,在構造函數(shù)中進行了容器與相應標簽和按鈕等的布局,并針對相應的組件調(diào)用事件相應的方法。其主要的對象與方法如下表:表4.2主要對象與方法功能與作用jp對象以便向該模塊中添加GUI組件jlArray對象用于顯示標簽組(如:用戶名和密碼等標簽)Array對象創(chuàng)建的按鈕組(如:學生登錄和管理員登錄按
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025汽車貸款合同范文
- 2025年國際貿(mào)易合同示范文本
- 農(nóng)田定向托管合同范本
- 加工訂單補充合同范本
- 正規(guī)民間借款合同范本
- 2025標準版銷售代理合同模板
- 拆舊房重建合同范本
- 店面出租合同范本
- 洗滌設備銷售合同范本
- 服裝加工定金合同范本
- 2024年泰州市靖江市公安局招聘警務輔助人員真題
- 國際快遞基本知識培訓課件
- 塔吊拆除安全操作方案模板
- 普惠金融業(yè)務講座
- 虛擬健康咨詢接受度分析-洞察及研究
- 多發(fā)性周圍神經(jīng)病護理查房
- 2025年高警示藥品管理試題?(附答案)
- 2025年低壓電工證考試題及參考答案
- 省政府顧問管理辦法
- 消防法制業(yè)務培訓課件
- 巡檢員質(zhì)量培訓
評論
0/150
提交評論