图书管理系统java课程设计报告Word格式文档下载.docx
《图书管理系统java课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图书管理系统java课程设计报告Word格式文档下载.docx(26页珍藏版)》请在冰点文库上搜索。
![图书管理系统java课程设计报告Word格式文档下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/5/ea996aab-34ab-4fc3-9f17-aa6fd70ba6b2/ea996aab-34ab-4fc3-9f17-aa6fd70ba6b21.gif)
现已有的图书管理系统,其功能已十分强大,为了便于管理员对图书管理系统进行妥善的管理和读者的查询,图书管理系统为管理员提供了管理日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入库等功能,为读者提供了书籍查询、读者借阅信息查询、图书网上续借等很多功能。
大学为我们提供了自由的学习环境,使我们有更多的时间到图书馆借阅书籍,让我们可以随时掌握各方面的知识,不断提高自我、充实自我,但由于图书馆藏书成千上万,我们很难一本一本的去查找自己感兴趣的书籍,因此我们会经常用到学校为我们提供的图书管理系统,用时间长了便对此产生了兴趣,正好本次课程设计为我们提供了良好的机会,让我们亲自设计并实现了图书管理系统的部分功能。
设计一个图书管理系统必不可少的必须对全管书籍进行分类汇总。
而这就是我们所说的数据库设计的第一阶段:
需求分析。
在这一阶段除了对具体情况诸如实行对管理员的管理、对读者的管理、书籍管理、书籍的借阅与归还、借阅超时等功能的实现,还需要对用户的需求进行调查和分析,否则就失去了设计这个系统的意义了。
对于界面的设计我们应该追求的是:
美观、易读性强、清晰度高;
原则是:
不能因为刻意追求美观而以整个界面的清晰度的牺牲作为代价,不能为了清晰度而抛弃对易读性的追求。
再设计的过程中我们应该根据实际的情况进行设计,做到具体问题具体分析,不刻意追求原则。
在对应的界面与Access数据库建立连接,并实现对应的SQL语句进行实现将产生的结果显示出来。
并运用捕捉异常的方法,将异常信息显示出来。
实现SQL语句的时候借助前台开发工具中关于数据处理的控件来完成。
对于读者而言他们的需求是了解图书的基本情况,自己的借阅情况。
总而言之就是实现对各个信息表的查询。
对于图书管理员而言要实现的功能相对而言比较多,例如实现新书入库、Access数据库表的创建、系统的维护等等,这些都需要设计和实现的。
第2章系统功能介绍
系统功能总框图
图书馆管理系统功能总框图,如图2-1所示。
图书馆管理系统
管
理
员
读者管理
书籍管理
书籍借阅归还
管理日志
管理
员添加
管理员切换
读
者添加
读者信息修改
读者删除
新书入库
书籍查询
借阅书籍
归还书籍
借阅超时
读者信息查询
图2-1系统功能框架图
模块功能介绍
管理员模块功能介绍
1.管理员登陆
此模块主要是利用MenuBar添加菜单条,利用Menu和MenuItem添加菜单和菜单的各个参数,通过事件ActionEvent可以实现进入各个模块如管理日志、管理员添加、管理员切
换、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、借阅书籍、归还书
籍、借阅超时及退出的功能。
2.管理日志
此模块可以清楚的显示出书籍借阅与归还的信息,包括书号、书名、图书证号、借/还、操作日期、已付款额。
读者可以通过此模块实现的功能清楚的了解图书被借阅和归还的详细信息,从而给读者带来了很多方便。
3.管理员添加功能介绍
此模块功能是增加新管理员的登陆帐户。
在图书馆管理系统中必须有每一个管理者的帐户让其可以正常进行新图书证的办理、借阅书籍和归还书籍等系统管理。
所以在管理员功能模块中增加了管理员添加这个功能。
4.管理员切换
此模块的主要功能是进行管理员之间的切换,即单击管理员菜单下的管理员切换,就会退出当前管理员界面,从而出现管理员切换窗口,而另一管理员就可以在管理员切换窗口中的用户名和密码两栏中通过输入自己的用户名和密码直接进入该系统。
读者管理
1.读者添加
此模块主要的实现功能是添加新的读者信息,即当有新的读者要看查看本图书馆中的书藉,可以通过此功能实现,当数据库中存在其新信息,即成为本图书馆的新一位读者。
其中信息分别包括图书证号、学生姓名、性别、系别、班级,同时可有三项功能在此处实现,即添加、重置以及返回。
2.读者修改
此模块主要的实现功能对有信息更新的读者进行即时修改,以随时更新读者在数据库中的信息。
本模块通过图书证号确定读者,可对读者信息的新图书证号、学短姓名、性别、系别、班级。
此处可分别实现对该功能的修改、重置、返回。
3.读者查询
此模块主要可对所要了解的读者信息。
即把读者的信息从数据库调出来,显示在该窗口中的文字区域。
查询方式分别有按图书证查询、按姓名查询、按班级查询、按年级查询,并可通过办理入相应的关键字,更加缩小查询范围。
此处可实现查询和返回功能。
4.读者删除
此模块可以删除一些不再使用本系统的读者资料,从而达到对数据库中的清理,即清除一些不必要资料,此处有四种删除途径,分别为按图书证号删除、按姓名删除、按班级删除、安年级删除,并可通过所输入的关键字尽快找到所要删除的资料。
书籍管理模块功能介绍
1.新书入库功能介绍
此模块主要的实现功能是将新来的图书输入到图书馆管理系统的书库当中,其中主要按如下信息往书库中输入,这部分的操作主要是便于书库合理的管理,有利于读者能够对新书有
一个更详细的了解。
其中包括如下信息:
新书书号、新书名称、新书出版日期、新书出版社、入库数量、编写作者、新书单价。
2.书籍查询功能介绍
在图书馆管理系统中书籍查询是最基本的功能,读者可以根据自己的需求来查询想要借阅的书籍。
本系统是用Java应用程序和Access数据库一起开发的其中利用Java来编程实现功能的代码和布置运行界面。
界面是由检索项、检索词和显示文本区三个部分组成的用户根据自己的需要在检索项中选择自己所要按什么字段进行查询,其中书籍查询功能的检索项中可以按书号查询、按书名查询、按作者名查询、按出版社查询、按入库时间查询等基础查询。
选择检索项后用户只要在检索词中添写自己所要查询的内容并确定键确认后用户要查询的内容就可以在显示文本区中显示出来。
用户可以根据显示的信息得知自己所要借阅书籍的情况。
书籍借阅与归还功能介绍
1.借阅书籍功能介绍
此模块主要实现读者可凭有效的图书证号,借阅图书馆内未借出的图书。
输入图书证号后,可显示了该图书证持有者的全部信息(包括借书证号、姓名、性别、所在班级、所属系部、当前可借阅图书个数),供读者确认信息。
通过输入有效的图书编号,查询该图书的全部信息(包括书号、书名、作者、出版社、是否借出、价格)。
借阅成功后,将该图书证号、书号、借阅日期、应还日期信息插入到数据库的表中进行记录。
2.归还书籍功能介绍
此模块主要实现读者凭所要归还图书的图书证号归还图书。
输入所要归还的图书编号后,可显示了该图书证持有者的全部信息(包括借书证号、姓名、性别、所在班级、所属系部、当前可借阅图书个数),供读者确认信息。
还书成功后,从数据库中删除该书的借出记录,并修改数据库中的相应信息。
借阅超时功能介绍
此模块主要实现显示过期图书的信息(包括图书证号、书号、借阅日期、应还日期)提醒读者还书。
组内任务分工
组内分工情况如下表2-1所示。
表2-1组内分工情况表
组长
邹刚
读者添加、查询、修改、删除。
罗姗姗
书籍借阅与归还模块、借书超期限子系统。
组员
李呈呈
管理员添加、新书入库、按指定条件进行图书查询。
刘兰兰
数据库创建、登陆界面设计、管理员模块。
第3章数据库设计
在此图书馆管理系统中,使用到了一个重要的连接,即与数据库Accesss相连。
数据库中存有图书馆中所信息,包括读者信息、管理员资料、借阅与退还记录。
所有与管理有关的数据皆在其中,是保证系统能够正常实现各种功能的一架桥。
数据库需求分析
⒈Admi表,即管理员表,记录了用户名和密码。
⒉Admirz表,即管理日志表,记录了书号、书名、图书证号、借/还、操作日期、已付款额。
⒊book表,即图书表,记录了书号、书名、作者、出版社、入库时间、是否借出、价格。
⒋borrowbook表,即借阅表,记录了图书证号、书号、借阅日期、应还日期。
⒌person表,即读者表,记录了图书证号、姓名、性别、系别、班级。
数据库概念结构设计
图书馆管理系统E-R图,如图3-1。
m
n
读者
图书
管理员
性别
系别
班级
姓名
图书证号
书号
书名
作者
出版社会化
密码
用户名
借阅
1
入库时间
是否借出
价格
图3-1图书馆管理系统E-R图
数据库表的设计
⒈Admi表
表中记录了可以使管理员进入该系统的用户名及密码,如表3-1所示。
表3-1管理员信息表
字段名称
数据类型
长度
备注
文本
10
密码
15
⒉Admirz表
表中记录借还书日志,用于存下所有对图书操作的记录,以便以后可以翻阅和查找,如表3-2所示。
表3-2管理日志表
备注
出版社
DATE
已付款额
⒊book表
表中记录了库内所有图书的所有资料,如表3-3。
表3-3图书表
⒋person表
表中记录库中所有读者的相关信息,如表3-4所示。
表3-4读者表
⒌borrowbook表
表内记录了此时图书的借阅情况,如表3-5所示。
表3-5借阅表
借阅日期
应还日期
第4章系统功能实现
管理员模块功能实现
管理员登陆
此模块是整个系统最主要的部分,管理员可以通过此模块实现进入其余各个模块如管理日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、借阅书籍、归还书籍、借阅超时及退出的功能。
图书管理系统管理员界面如图4-1所示。
图4-1图书管理系统管理员
主要程序代码如下:
publicvoidactionPerformed(ActionEvente)
{
if()==itemAdmiqh)
();
Inwinin=newIn("
系统登陆"
);
}
if()==itemtc)
(0);
if()==itemAdmixj)
CreatAdmicreatAdmi=newCreatAdmi("
管理员添加"
if()==itemAdmirz)
WinTablewintable=newWinTable("
管理日志"
if()==itemBookrk)
AddInfyaddInfy=newAddInfy();
if()==itemPersonlr)
Winpersonaddwinperson=newWinpersonadd("
读者添加"
if()==itemPersoncx)
Winpersonsearchwinperson=newWinpersonsearch("
读者信息查询"
if()==itemPersonxg)
Winpersonmodifywinperson=newWinpersonmodify("
读者信息修改"
if()==itemPersonsc)
Winpersondeletewinperson=newWinpersondelete("
读者删除"
if()==itemBookcx)
Windowjjok=newWindowjj();
if()==itemchaoshi)
daywin=newday();
if()==itemBorrowjs)
Borrowbookwin=newBorrowbook();
if()==itemBorrowhs)
Returnbookwin=newReturnbook();
管理日志
此模块通过定义类WinTable继承顶层容器JFrame,再添加普通容器JScrollPane、Jpanel,然后通过BorderLayout布局创建界面,最后主要通过数组利用while循环在连接好的数据库中查找表Admirz中的内容,从而实现了可以清楚的显示出书籍借阅与归还信息的功能。
管理日志界面如图4-2所示。
图4-2管理日志
WinTable(Strings)
{
super(s);
try{("
"
}
catch(ClassNotFoundExceptione)
{"
+e);
try{con=("
jdbc:
odbc:
sun"
"
123"
sql=();
rs=("
SELECT*FROMAdmirz"
while())
{
k++;
}
catch(SQLExceptione)
a=newObject[k][6];
while())
{
for(intj=0;
j<
6;
j++)
if(j<
5)
a[i][j]=(j+1);
else
{
a[i][j]=(j+1);
i++;
}
catch(SQLExceptione)
{"
}
table=newJTable(a,name);
Containercon=getContentPane();
getContentPane().add(newJScrollPane(table),;
setBounds(120,125,700,500);
setVisible(true);
validate();
addWindowListener(newDisposeListener());
}
}
管理员添加功能实现
功能介绍:
该程序主要实现管理员的添加,以便于让实行对图书管理员的管理。
按照标
签提示输入信息,然后点击确定按钮。
首先判断管理员名文本框中输入的文本信息是否符合大于3个字符并小于10个字符的规则,如果不符合规则,则提示错误,如果符合规则,再到Admi表中进行查询,如果相同则用提示框提示错误。
若无相同则可注册。
但还需要保证前后两次的密码相同,才能成功注册,管理员登陆窗口如图4-3所示。
图4-3管理员添加成功界面
publicvoidactionPerformed(ActionEventc)
Stringb=();
Stringd=();
Stringg=();
if()==buttonqk)
{(null);
(null);
if()==buttonEnter||()==textPassword2)
if()<
3||()>
10)
{
(null,"
用户名应在3~10个字符之间"
(null);
else
try{("
SELECT*FROMAdmiWHERE用户名="
+"
'
+b+"
if())
Stringuser=
(1);
if(user))
(null,"
此管理员已被注册"
警告"
;
else
if(g))
{
("
INSERTINTOAdmiVALUES"
+d+"
)"
();
(null,"
管理员注册成功"
else(null,"
两次输入密码不一致"
}}
管理员切换
此模块功能是退出当前管理员界面,进入管理员切换窗口,另一用户可以通过输入自己的用户名和密码直接进入该系统。
但此用户名和密码都必须与已经连接好的数据库中表Admi中的用户名和密码相吻合。
管理员切换界面如图4-4所示。
图4-4管理员切换
publicvoidwindowClosing(WindowEvente)
().dispose();
读者管理模块功能实现
读者添加
添加新的读者,使其能够进入图书系统阅览图书,读者添加如图4-5所示。
图4-5读者添加
publicvoidactionPerformed(ActionEvente)
if()==button1)
"
异常警告"
;
}
查询功能实现
本系统包含两项一是检索项令一个是检索词,在检索项中用户可以根据自己
的需求来选择所要查询的项目并在检索词中添写自己所要查询的内容。
本系统副带四个按钮:
确定、取消、查看全库,该图书馆管理系统的查询界面如图4-10所示。
图4-10查询系统界面
在该系统中为了用户使用方便还设有查看全库一项,用户可以通过这一功能来查看全库的图书,所查询的内容将在下方的文本区中显示,其界面4-11所示。
图4-11查看全库信息
使用检索词必须得满足一定的查询条件才可以执行,用户必须得在检索项中选择查询方式并添好检索词才可查询否则系统会显示未找到您要查找的内容并给以提示,如图4-12所示。
图4-12检索项按书号查询
publicvoiditemStateChanged(ItemEvente)
{
(null);
Stringname=();
("
请您在检索项中输入您要查找的内容:
"
}