前言
相信再每一個(gè)學(xué)生在學(xué)習(xí)編程的時(shí)候,應(yīng)該都會(huì)寫的一個(gè)小項(xiàng)目——圖書管理系統(tǒng)。為什么這么說呢?因?yàn)槲艺J(rèn)為一個(gè)學(xué)校的氛圍很大一部分可以從圖書館的氛圍看出來,而圖書管理系統(tǒng)這個(gè)不大不小的項(xiàng)目,學(xué)生接觸的多,也算是比較熟悉,就不會(huì)有陌生感,能夠練手,有有些難度,所以,今天,我的小小項(xiàng)目也來了。
項(xiàng)目需求
設(shè)計(jì)前提
- 掌握java基本語法
- 熟悉使用流程控制
- 理解面向?qū)ο笏枷?/li>
- 熟練封裝,繼承,多態(tài)
- 熟悉使用接口,異常
- 熟悉使用集合
- 熟悉掌握i/o流相關(guān)操作
設(shè)計(jì)目標(biāo)
長期以來,學(xué)校都需要在圖書館設(shè)置志愿者在圖書館進(jìn)行圖書的借閱與整理,相對來說,比較麻煩,所以設(shè)計(jì)一個(gè)好的圖書管理系統(tǒng)就顯得很有必要,不過本次要做的肯定不是成品,只是一個(gè)簡單的設(shè)計(jì),通過io流的輸入輸出,達(dá)到我們對數(shù)據(jù)的寫入寫出,對圖書和用戶的增刪改查,讓我們可以把所有的圖書玩弄于股掌之間。
設(shè)計(jì)結(jié)構(gòu)圖
功能解讀
- 讀者信息管理:包括讀者信息添加和讀者信息查詢與修改功能。用戶登錄成功之后,可以瀏覽所有讀者的信息,也可以檢索特定讀者的信息;同時(shí),可以對讀者信息進(jìn)行維護(hù),包括增加、刪除及修改。
- 圖書信息管理:包括圖書信息添加和圖書信息查詢與修改功能。用戶登錄成功之后,可以瀏覽所有圖書信息和檢索特定圖書的信息;也可以對圖書信息進(jìn)行維護(hù)。包括添加圖書、刪除圖書以及修改圖書信息圖書借閱管理:包括圖書借閱和圖書歸還功能。
- 圖書借閱功能,先輸入讀者的編號,然后輸入要借閱的圖書的信息,記錄系統(tǒng)當(dāng)前時(shí)間即借閱時(shí)間;圖書歸還功能,輸入讀者的編號,選擇其名下已借閱的圖書,判斷當(dāng)前日期即歸還日期與借閱日期的差值是否超過了規(guī)定的期限,計(jì)算罰金,從而進(jìn)行圖書的歸還操作。
- 基礎(chǔ)信息維護(hù):包括圖書類別設(shè)置、讀者類別設(shè)置及罰金設(shè)置。圖書類別設(shè)置,可以對圖書的類別進(jìn)行增加、刪除、修改和查詢;讀者類別設(shè)置可以對讀者的類別進(jìn)行增加、刪除、修改和查詢;罰金設(shè)置,可以指定超期一天的罰金標(biāo)準(zhǔn)。
- 用戶管理:包括修改密碼、用戶添加和刪除。修改密碼,是指當(dāng)前用戶修改自己的密碼;用戶添加和刪除,是對新增和去除系統(tǒng)用戶時(shí)對用戶信息的維護(hù)。
項(xiàng)目實(shí)現(xiàn)
基本對象的設(shè)置
首先實(shí)現(xiàn)的是各個(gè)模塊的建立比如圖書,圖書類別,用戶,用戶類別,借閱表者幾個(gè)大的對象。
booktype
1
2
3
|
/** 圖書類型編號、圖書類型名稱 **/ private int typeid; private string name; |
book
1
2
3
4
5
6
7
8
|
/** 圖書實(shí)體:圖書編號isbn、圖書名稱、作者、出版社、出版日期、數(shù)量、單價(jià)、圖書類型 **/ private int bookid; private string bookname; private string author; private string publish; private date publishdate = new date(); private int count; private int price; |
readertype
1
2
3
4
5
|
/** 讀者類型:讀者類型編號、讀者類型名稱、可借閱天數(shù)、可借閱數(shù)量 **/ private int typeid; private string tupeidname; private int limit; private int maxborrownum; |
reader
1
2
3
4
5
6
7
8
9
|
/** 讀者實(shí)體:讀者編號、讀者姓名、出生日期、性別、電話、所在院系、注冊日期、讀者類別 **/ private int readerid; private string name; private birthday birthday = new birthday(); private string sex; private string phone; private string dept; private date date = new date(); private readertype thereadertype = new readertype(); |
通過io流的寫入寫出
添加
查找
利用集合的方式先將數(shù)據(jù)讀入集合,最后退出時(shí)在一并讀書數(shù)據(jù),提高效率。也可以采用數(shù)據(jù)做一步寫一步,這樣雖然數(shù)據(jù)的更新會(huì)更及時(shí),但是運(yùn)行效率會(huì)制成降低,不建議這樣寫。
總結(jié)
因?yàn)槊總€(gè)人寫都會(huì)有不一樣的寫法,我這個(gè)只是給大家一個(gè)參考性的作用,也不給大家分享界面設(shè)計(jì)這么簡單的東西了。下面給大家分享兩個(gè)資源,一個(gè)時(shí)簡單的圖書管理系統(tǒng),僅實(shí)現(xiàn)了io流的讀入和讀出,日志也寫上了,在我的資源里面,大家可以下載查看。
查看這篇博客的人可以免費(fèi)下載一個(gè)簡單版的圖書管理系統(tǒng)作為參考:在百度網(wǎng)盤里面。
鏈接:https://pan.baidu.com/s/1jfkgogp_cgaxjsaxj-pypw
提取碼:1234
到此這篇關(guān)于java實(shí)現(xiàn)圖書管理系統(tǒng)項(xiàng)目的文章就介紹到這了,更多相關(guān)java 圖書管理系統(tǒng)內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/qq_43325476/article/details/120866132