1. 程式人生 > >Java圖書管理系統

Java圖書管理系統

Java圖書管理系統

設計人:wangyunpeng_bio

專案需求

隨著計算機的普及和應用水平的提高,經過考察比較,決定利用自己的Java知識開發小型的圖書管理系統,方便圖書的管理。
圖書管理系統是典型的資訊管理系統。本次作業利用JAVA開發工具Eclipse和MySQL資料庫來開發這個圖書管理系統。該系統要解決的圖書管理所要解決的問題,可以滿足圖書管理基本要求,包括新增、管理等功能。該系統能根據使用者的需求,快捷方便的為讀者提供借閱服務
圖書管理系統應有以下功能:
1. 讀者庫管理
2. 書庫管理
3. 借閱管理
4. 讀者資訊查詢

圖書管理系統主要針對書庫的操作功能、所以系統應儘量滿足需求、同時亦不可有多餘或繁複的功能、令系統的操作和功能混亂。

專案地址

本專案地址:https://github.com/wangyunpengbio/Library/

需求分析

A.業務流程:

No. 業務流程 需求
1. 圖書管理員登入系統 圖書管理員需使用賬號和密碼登入。
2. 新增讀者資料 新增讀者資料,如姓名、性別、職位等。
3. 新增書籍資料 新增書籍資料,如書名、價格、種類等。
4. 讀者庫管理 選中讀者庫裡的讀者資訊,即可更新和刪除。
5. 書庫管理 可以按“書編號查詢”和“書名模糊查詢”,繼而選中書籍資訊,即可更新和刪除書籍分為在庫和借出
6 借閱管理 輸入讀者編號,即可檢閱讀者的資料和借閱的圖書,檢閱顧客的資料和購買紀錄。
7. 讀者登入系統 讀者需使用賬號和密碼登入。
8 借書 按書名模糊搜尋,選中即可借閱圖書
9 還書 檢閱自己的讀者資訊以及已經借閱的圖書,點選歸還即可,不允許更改或刪除讀者資料,只允許查詢,更改和刪除功能由管理員負責。

以下是使用 實體聯絡模型-Entity Relationship來分析。

B.歸納實體和屬性

No. 業務流程 對應的實體 實體的屬性值
1. 圖書管理員登入系統 Librarian nameUser password
2. 新增讀者資料 Reader idReader nameReader kind sex password
3. 新增書籍資料 Book Author Publisher idBook,nameBook,price,kind,author,publisher Author.name, Author.workplace Publisher.name, Publisher.address
4. 讀者庫管理 Reader idReader nameReader kind sex password
5. 書庫管理 Book idBook nameBook price kind autor publisher
6. 借閱管理 Borrow idReader idBook lendDate dueDate overtime
7. 讀者登入系統 Reader idReader password
8 借書 Borrow idReader idBook lendDate dueDate overtime
9 還書 Borrow idReader idBook lendDate dueDate overtime

C.實體的模型

實體的模型

D.ER-實體關係

Author,Publisher To Book&Borrow&Reader To Librarian
實體的聯絡

設計

專案資料夾中,(程式碼總計:4800+行)
doc資料夾存放著生成的文件註釋,可點選其中的index檔案檢視整個專案的註釋

Src包下面含有五個包
- Database用於儲存資料庫連線操作
- Frame用於儲存各個窗體介面
- Model用於儲存各個實體(表)對應的資料模型
- Out_of_date用於儲存初始時候寫的介面,後來捨棄,不再呼叫。
- SqlTools用於儲存操作資料庫的增刪改查方法

image資料夾用於存放相關的介面圖片,按鈕圖片
備註:程式不同介面的入口已經全部註釋掉了,MainFrame是程式的唯一入口

程式細節設計:
1. 登陸介面的密碼回顯,伴有跳轉動畫(此處利用了多執行緒,控制執行緒存活時間)
2. 表格直接選中即可修改資料,更新資料時候預設有原始資料,可按不同方式搜尋圖書;
3. 新增借閱資訊時候,自動加入當前時間,並計算歸還時間。(SQL函式NOW())
4. 介面按鈕,背景用Photoshop的重新設計,圖形使用者介面友好;
5. 資料庫設計達到第三正規化,去除了所有非主屬性對任何候選關鍵字的傳遞信依賴,冗餘度低。
6. 變數和方法命名符合規範,可讀性強
7. 不同的Model實體(表)對應不同的SqlTools操作,分開存放,程式複用性好,易擴充套件。
使用
1. 將SQL語句匯入,字符集選utf8,不然有可能顯示不了中文,資料庫名稱為library
create database library;
2. 推薦使用Mysql Front這個MySQL的前臺,支援多句sql語句一起執行,百度第一個連結即可下載。
http://dlsw.baidu.com/sw-search-sp/soft/6c/17997/MySQL-Front_V5.3.4.214_Setup.1435658094.exe
3. Java環境中加入資料庫的驅動,源程式裡database包裡DatabaseTools.java檔案是有關資料庫連線的操作源程式的使用者名稱和密碼皆為root,資料庫名為:library不同電腦上執行需要稍微改一下這個程式碼。
4. 登陸:
圖書管理員:使用者名稱root密碼 root或者wangyp密碼123456
讀者:使用者名稱001密碼 root (注:資料庫內讀者的密碼初始值皆為root)
5. 在不同計算機上Eclipse使用,可能需要重新建立Java類庫的路徑
本程式用1.8的jdk寫的,所以最好用1.8的jre。
程式碼放在1.8下面執行,連警告都不會出現,1.7和1.6顯示效果不好。
awt 和 swing 都依賴虛擬機器的具體實現。所以不同平臺表現不大一樣。如果用javafx,介面才可以移植。
而且編寫用的膝上型電腦是高分屏,在本機上顯示大小是正好的,到別的電腦上面有可能會出現介面過大的情況。
6. 具體的文件註釋已經生成,開啟doc資料夾其中的index檔案檢視整個專案的註釋
執行效果圖