java图书馆管理系统文档李端辉.docx
- 文档编号:23812635
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:48
- 大小:785.56KB
java图书馆管理系统文档李端辉.docx
《java图书馆管理系统文档李端辉.docx》由会员分享,可在线阅读,更多相关《java图书馆管理系统文档李端辉.docx(48页珍藏版)》请在冰豆网上搜索。
java图书馆管理系统文档李端辉
课程设计
资料袋
计算机与通信学院(系、部)2011~2012学年第1学期
课程名称Java程序设计指导教师满君丰职称副教授
学生姓名李端辉专业班级软件091学号09408300127
题目图书管理系统
成绩起止日期2011年12月5日~2012年12月26日
目录清单
序号
材料名称
资料数量
备注
1
课程设计任务书
1份
2
课程设计说明书
1份
3
张
4
5
6
湖南工业大学
课程设计任务书
2010—2011学年第1学期
计算机与通信学院软件工程专业091 班级
课程名称:
Java程序设计
设计题目:
图书管理系统
完成期限:
自2011年12月5日至2012年12月26日共3周
内
容
及
任
务
一、设计的主要技术参数
(1)SQL连接数据库的实现方法;
★
(2)借书还书的处理方法,以及如何将相应存入数据库;
二、设计任务(内容)
(1)分两种用户,给予不同的操作权限,根据不同的权限进行管理;
(2)能够根据不同借书情况进行查询;
(3)能够根据不同的还书情况进行查询;
(4)能够查借书的学生的信息以及调整相应的信息;
(5)管理员能够学生进行统一管理;
三、设计工作量
从2011年12月5日开始,共用时3周。
进
度
安
排
起止日期
工作内容
12月5日-12月10日
进行系统需求分析,方案论证
12月10日-12月15日
进行系统概要设计及数据库设计
12月16日-12月21日
进行系统详细设计及测试维护等
12月21日-12月26日
整理、完善并打印设计说明书,准备答辩
参
考
资
料
[1]耿祥义.JAVA2实用教程.北京:
清华大学出版社,2006
[2]朱仲杰.JAVA2全方位学习.北京:
机械工业出版社,2006
[3]张思民.JAVA程序设计实践教程.北京:
清华大学出版社,2006
[4]汤一平.Java语言程序设计.北京:
科学出版社,2006
[5]刘艺.Java程序设计大学教程.北京:
机械工业出版社,2006
[6]耿祥义.Java课程设计.北京:
清华大学出版社,2003
[7]SharonZakhour.Java教程.北京:
人民邮电出版社,2007
[8][美]EdwardYourdon等.实用面向对象软件工程教程.北京.电子工业出版社,2001
指导教师(签字):
年月日
系(教研室)主任(签字):
年月日
Java程序设计
课程设计说明书
图书管理系统
起止日期:
2010年12月5日至2012年12月26日
学生姓名
李端辉
班级
软件工程091班
学号
09408300127
成绩
指导教师
满君丰
计算机与通信学院
2010年12月5日
摘要
随着信息技术的发展,计算机已被广泛的应用于社会的各个领域,成为推动社会发展的技术动力。
而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。
软件产业已成为社会信息化进程中的一个战略性产业。
在软件技术的应用中软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。
不断开发适应用户需求、市场需要的新型软件产品。
尤其是在校园里,各种软件的应用无处不在,为我们的学习和生活提供了方便。
学校的图书馆不仅给我们提供看书学习的地方,还给我们提供了一套功能齐全的图书馆系统,方便我们搜索书籍、借阅图书。
我们本次的Java课程设计的最终目标是实现一个图书馆管理系统,使其具有一般图书管理系统所具有的功能,可以实现管理员日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书添加、图书查询、图书借阅与归还等功能。
因为Java是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,所以用Java编程为我们本次程序的编写提供了方便。
在设计中我们主要进行了数据库及类的设计,把整系统分成了20个类和6个表。
通过应用添加按钮、菜单、文本框、表格、面板等组件和容器,,经过设计者合理的布局,完成了窗体的设计,并通过SQLyog_Enerprise连接到SQL数据库后,向数据库发送SQL语句实现程序与数据库中表间的消息通信,从而实现了相应的图书馆管理系统的功能。
本文主要分为绪论、系统功能介绍、数据库需求分析、系统功能实现、结论、致谢、参考文献7大块。
在绪论中介绍了本次课设选题的缘由及思想。
系统功能介绍中详细介绍了本图书馆管理系统的整体思想及其具体功能。
在数据库需求分析中详细说明了数据库的需求分析、概念设计及表的设计。
在系统功能实现中主要通过抓图来体现设计的结果。
总之,我们的整体设计思想均在报告中体现。
关键词图书馆管理系统,Java程序设计语言,SQL数据库
目录
第1章绪论-1-
第2章系统功能介绍-2-
2.1系统功能总框图-2-
2.2模块功能介绍-2-
2.2.1登陆界面-2-
2.2.2系统管理模块功能介绍-3-
2.2.3图书管理模块功能介绍-3-
2.2.4图书借阅模块功能介绍-4-
2.2.5读者管理模块功能介绍-4-
2.2.6管理日志模块功能介绍-4-
2.2.7退出系统-5-
第3章数据库设计-6-
3.1数据库需求分析-6-
3.2数据库概念结构设计-6-
3.3数据库表的设计-7-
第4章系统功能实现-10-
4.1登陆功能实现-10-
4.2系统管理功能实现-13-
4.2.1查询管理员-13-
4.2.2添加管理员-14-
4.2.3修改、删除管理员-15-
4.2.4管理员切换-16-
4.3图书管理功能实现-16-
4.3.1查询图书-16-
4.3.2添加图书-18-
4.3.3修改、删除图书-19-
4.4图书借阅功能实现-21-
4.4.1借出图书-21-
4.5读者管理功能实现-24-
4.5.1增加读者-24-
4.5.2修改、删除读者-25-
4.5.3查询读者-26-
4.6管理日志功能实现-28-
4.6.1查看日志-28-
4.7用户管理功能实现-29-
4.7.1用户添加-29-
4.7.2修改、删除用户-30-
4.7.3查询用户-31-
4.8退出系统功能实现-32-
结论-33-
致谢-34-
参考文献-35-
第1章绪论
随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。
随着经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。
书籍做为人类的精神食粮,在现代社会中越来越受到重视,大量的书籍出现在市场上,人们有了各种各样不同的选择。
与此同时,为了管理大量的图书,图书管理系统也大量的出现,随着图书的大量增加,其管理难度也越来越大,如何优化管理也就成为了一个大众化的问题。
现已有的图书馆管理系统,其功能已十分强大,为了便于管理员对图书管理系统进行妥善的管理和读者的查询,图书馆管理系统提供了管理日志、管理员添加、管理员切换、读者添加、新书添加、图书修改删除、图书查询、读者修改/删除、读者查询、读者借阅信息查询等一系列功能。
大学为我们提供了自由的学习环境,使我们有更多的时间到图书馆借阅书籍,让我们可以随时掌握各方面的知识,不断提高自我、充实自我、完善自我,但由于图书馆藏书成千上万,我们很难一本一本的去查找自己感兴趣的书籍,因此我们会经常用到学校为我们提供的图书管理系统,用时间长了便对此产生了浓厚的兴趣,正好本次课程设计为我们提供了很好的机会,让我们亲自设计并实现了图书馆管理系统的部分功能。
设计一个图书馆管理系统必不可少的是对全管书籍进行分类汇总。
而这就是我们所说的数据库设计的第一阶段:
需求分析。
在这一阶段除了对具体情况诸如实行对管理员的管理、对读者的管理、书籍管理、书籍的借阅与归还等功能的实现,还需要对用户的需求进行调查和分析,否则就失去了设计这个系统的意义了。
对于界面的设计我们应该追求的是:
美观、易读性强、清晰度高;原则是:
不能因为刻意追求美观而以整个界面的清晰度的牺牲作为代价,也不能为了清晰度而抛弃对易读性的追求。
在设计的过程中我们应该根据实际的情况进行设计,做到具体问题具体分析,不刻意追求原则。
在对应的界面与SQL数据库建立连接,并实现对应的SQL语句进行实现将产生的结果显示出来。
并运用捕捉异常的方法,将异常信息显示出来。
实现SQL语句的时候借助前台开发工具中关于数据处理的控件来完成。
对于读者而言他们的需求是了解图书的基本情况,自己的借阅情况。
总而言之就是实现对各个信息表的查询。
对于图书管理员而言要实现的功能相对而言比较多,例如实现新书入库、SQL数据库表的创建、系统的维护等等,这些都需要设计和实现的。
第2章系统功能介绍
2.1系统功能总框图
图书馆管理系统功能总框图,如图2-1所示。
图2-1图书馆管理系统功能总框图
2.2模块功能介绍
2.2.1登陆界面
此模块主要是利用jTextField、jPasswordField、jLable、jButton控件添加文本和按钮等各个参数,通过事件MouseEvent可以实现进入各个模块如管理员查询、管理员添加、管理员切换、图书添加、图书查询、借阅书籍、归还书籍、读者添加、读者修改/删除、读者查询、管理日志及退出系统的功能。
2.2.2系统管理模块功能介绍
1.管理员查询
此模块可以清楚的显示出各个管理员的信息,包括用户名、密码。
管理员可以通过此模块实现的功能清楚的了解图书馆其他管理员的信息。
2.添加管理员
此模块功能是增加新管理员的登陆帐户。
在图书馆管理系统中必须有每一个管理者的帐户让其可以正常进行新图书证的办理、借阅书籍和归还书籍等系统管理。
所以在管理员功能模块中增加了管理员添加这个功能。
3.管理员的修改\删除
此模块功能是修改管理员的密码信息和删除管理员。
在图书馆管理系统中管理员可随时更改自己的信息,包括密码。
同时可以删除其他管理员,使其无法登录。
4.管理员切换
此模块的主要功能是进行管理员之间的切换,即单击管理员菜单下的管理员切换,就会退出当前管理员界面,从而出现管理员切换窗口,而另一管理员就可以在管理员切换窗口中的用户名和密码两栏中通过输入自己的用户名和密码直接进入该系统。
2.2.3图书管理模块功能介绍
1.添加图书功能介绍
此模块主要的实现功能是将新来的图书输入到图书馆管理系统的书库当中,其中主要按如下信息往书库中输入,这部分的操作主要是便于书库合理的管理,有利于读者能够对新书有
一个更详细的了解。
其中包括如下信息:
新书书名、新书书号、编写作者、新书出版社、新书价格、出版日期、分类及入库数量。
2.图书的修改删除功能介绍
在图书馆管理系统中有一些图书的信息是错误的,此时就需要对此图书进行相应的修改。
查询出来所要修改的图书,在书名、书号、作者、出版社、价格、出版日期、分类及数量上做相应的修改。
而有些图书破损或是其他原因是不需要继续留在库中,那么就可以做删除的操作。
3.查询图书功能介绍
在图书馆管理系统中书籍查询是最基本的功能,读者可以根据自己的需求来查询想要借阅的书籍。
本系统是用Java应用程序和Mysql数据库一起开发的其中利用Java来编程实现功能的代码和布置运行界面。
界面是由检索项、检索词和显示文本区三个部分组成的用户根据自己的需要在检索项中选择自己所要按什么字段进行查询,其中书籍查询功能的检索项中可以按书号查询、按书名查询、按作者名查询、按出版社查询、按类别查询等基础查询。
选择检索项后用户只要在检索词中添写自己所要查询的内容并确定键确认后用户要查询的内容就可以在显示文本区中显示出来。
用户可以根据显示的信息得知自己所要借阅书籍的情况。
2.2.4图书借阅模块功能介绍
1.借出图书功能介绍
此模块主要实现读者可凭有效的图书证号,借阅图书馆内未借出的图书。
通过查询该图书的全部信息(包括书号、书名、作者、出版社、价格、出版日期、分类及数量)。
输入图书证号后,选择需要借阅的图书,即可借书。
借阅成功后,将该图书证号、书号、借阅日期、应还日期、是否归还等信息插入到数据库的表中进行记录。
2.归还书籍功能介绍
此模块主要实现读者凭所要归还图书的图书证号及书名归还图书。
输入所要归还的图书证号后,可显示了该图书证持有者的全部信息(包括图书证号、读者姓名、书名、借书日期、还书日期、是否还书),供读者确认信息。
还书成功后,从数据库中删除该书的借出记录,并修改数据库中的相应信息。
2.2.5读者管理模块功能介绍
1.添加读者功能介绍
此模块主要的实现功能是添加新的读者信息,即当有新的读者要看查看本图书馆中的书藉,可以通过此功能实现,当数据库中存在其新信息,即成为本图书馆的新一位读者。
其中信息分别包括图书证号、读者姓名、读者性别、读者系别、读者班级。
2.读者修改删除功能介绍
此模块主要的实现功能对有信息更新的读者进行即时修改,以随时更新读者在数据库中的信息。
本模块通过查询确定读者,可对读者信息的图书证号、读者姓名、读者性别、读者系别、读者班级。
此处实现对该功能的修改。
此模块还可以删除一些不再使用本系统的读者资料,从而达到对数据库中的清理,即清除一些不必要资料,此处可按读者姓名查询出详细信息并删除,此处实现对该功能的删除。
3.查询读者功能介绍
此模块主要可对所要了解的读者信息。
即把读者的信息从数据库调出来,显示在该窗口中的文字区域。
查询方式分别有按图书证查询、按读者姓名查询、读者班级查询、按读者系别查询,并可通过办理入相应的关键字,更加缩小查询范围。
此处可实现查询功能。
2.2.6管理日志模块功能介绍
1.日志查看功能
此模块可以清楚的显示出书籍借阅与归还的信息,包括书号、书名、图书证号、借/还、操作日期、已付款额。
读者可以通过此模块实现的功能清楚的了解图书被借阅和归还的详细信息,从而给读者带来了很多方便。
2.2.7退出系统
此模块是从整个系统中退出来,方便快捷。
第3章数据库设计
在此图书馆管理系统中,使用到了一个重要的连接,即与数据库MySQL相连。
数据库中存有图书馆中所信息,包括读者信息、管理员资料、图书信息、借阅与退还记录。
所有与管理有关的数据皆在其中,是保证系统能够正常实现各种功能的一架桥。
3.1数据库需求分析
⒈stuff表,即管理员表,记录了用户名和密码。
⒉book表,即图书表,记录了书号、书名、作者、出版社、价格、出版时间、类别、库存数量。
⒊borrow表,即借阅表,记录了图书证号、书号、读者姓名、图书名、借阅日期、应还日期,是否归还。
⒋reader表,即读者表,记录了图书证号、读者姓名、读者性别、读者系别、读者班级。
⒌noteadmin表,即管理日志表,记录了书号、书名、图书证号、读者姓名等。
⒍user表,即用户表,记录了用户名和密码。
3.2数据库概念结构设计
管理员权限设计如图3-1所示:
图3-1管理员权限
用户权限设计如图3-2所示:
图3-2用户权限
3.3数据库表的设计
⒈stuff表
表中记录了可以使管理员进入该系统的用户名及密码,如表3-1所示。
表3-1管理员信息表
字段名称
数据类型
长度
备注
标号
整型
10
用户名
文本
50
密码
文本
50
⒉user表
表中记录了可以使用户进入该系统的用户名及密码,如表3-2
表3-2用户信息表
字段名称
数据类型
长度
备注
标号
整型
10
用户名
文本
50
密码
文本
50
⒊.book表
表中记录了库内所有图书的所有资料,如表3-3所示。
表3-3图书表
字段名称
数据类型
长度
备注
标号
整型
10
书名
文本
50
书号
文本
50
作者
文本
50
出版社
文本
50
价格
文本
50
出版日期
DATE
类别
文本
50
库存数量
整型
11
⒋.borrow表
表内记录了此时图书的借阅情况,如表3-4所示。
表3-4借阅表
字段名称
数据类型
长度
备注
标号
整型
10
图书证号
文本
50
书号
文本
50
读者姓名
文本
50
书名
文本
50
借阅日期
DATE
应还日期
DATE
是否归还
文本
50
⒌reader表
表中记录库中所有读者的相关信息,如表3-5所示。
表3-5读者表
字段名称
数据类型
长度
备注
标号
整型
10
图书证号
文本
50
读者姓名
文本
50
读者性别
文本
50
读者系别
文本
50
读者班级
文本
50
⒍.noteadmin表
表中记录借还书日志,用于存下所有对图书操作的记录,以便以后可以翻阅和查找,如表3-6所示。
表3-6管理日志表
字段名称
数据类型
长度
备注
标号
整型
11
书号
文本
50
书名
文本
50
图书证号
文本
50
读者姓名
文本
50
读者性别
文本
50
读者系别
文本
50
读者班级
文本
50
操作日期
DATE
是否归还
文本
50
第4章系统功能实现
4.1登陆功能实现
此模块是用户进入系统的第一步,管理员和普通用户都可以在登陆界面实现登陆,分别进入管理员主界面和用户主界面对系统进行操作。
其中管理员可实现的功能包括管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、借阅书籍、归还书籍、管理日志借阅超时及退出的功能。
登录界面如图4-1示:
图4-1登录界面
图4-2管理员主界面
程序代码如下:
privatevoidSubmit(java.awt.event.MouseEventevt){
StringloginName="";
StringloginPassWord="";
StringUserName="";
StringUserPassWord="";
if(Admin.isSelected()){
loginName=jTextField1.getText();
loginPassWord=String.valueOf(jPasswordField1.getPassword());
if(loginName.equals("")||loginPassWord.equals(""))
{javax.swing.JOptionPane.showMessageDialog(this,"用户名和密码不能为空","错误",javax.swing.JOptionPane.ERROR_MESSAGE);}
elseif(loginName.split("'").length>1||loginPassWord.split("'").length>1)
{javax.swing.JOptionPane.showMessageDialog(this,"请不要试图入侵系统","错误",javax.swing.JOptionPane.ERROR_MESSAGE);}
else{Login_checklc=newLogin_check();
try{if(lc.check(loginName,loginPassWord)){
Syss=newSys();
s.show_sys();
Login.this.dispose();}
else{javax.swing.JOptionPane.showMessageDialog(this,"用户名或密码错误","错误",javax.swing.JOptionPane.ERROR_MESSAGE);}}catch(Exceptione){e.printStackTrace();}}}
if(User.isSelected()){
UserName=jTextField1.getText();
UserPassWord=String.valueOf(jPasswordField1.getPassword());
if(UserName.equals("")||UserPassWord.equals(""))
{javax.swing.JOptionPane.showMessageDialog(this,"用户名和密码不能为空","错误",javax.swing.JOptionPane.ERROR_MESSAGE);}
elseif(UserName.split("'").length>1||UserPassWord.split("'").length>1){
javax.swing.JOptionPane.showMessageDialog(this,"请不要试图入侵系统","错误",javax.swing.JOptionPane.ERROR_MESSAGE);}
else{Login_checklc=newLogin_check();
try{if(lc.check_user(UserName,UserPassWord)){
Users=newUser();
s.User_show();
}else{javax.swing.JOptionPane.showMessageDialog(this,"用户名或密码错误","错误",javax.swing.JOptionPane.ERROR_MESSAGE);}}catch(Exceptione){e.printStackTrace();}}}
}
privatevoidclear(java.awt.event.MouseEventevt){
jTextField1.setText("");
jPasswordField1.setText("");}
privatevoidadmincc(java.awt.event.MouseEventevt){
//选择管理员:
if(Admin.i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 图书馆 管理 系统 文档 李端辉