ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:385.86KB ,
资源ID:4782415      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4782415.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JAVA图书馆管理系统课程设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JAVA图书馆管理系统课程设计.docx

1、JAVA图书馆管理系统课程设计图书馆管理系统1课程设计的目的目前,随着网络技术的飞速发展,各行各业都在追求信息化,以防在信息时代落伍,而普通高校也如此,图书馆是高校师生获得知识的一个重要渠道。因此一个健全的图书管理系统就必不可少,图书管理系统的使用大大的提高了图书馆的工作效率,很好的节省了大量的人力、物力和财力资源。管理信息系统的开发是一个开发周期长、技术要求高、影响因素多的复杂系统工程,因此制定一个完善、可行、合理的开发计划,不仅是系统开发成功的保证,而且可以提高效率、节省时间、降低成本。由于在过去人们对信息管理的主要方式是基于文本、表格等纸质的手工处理之上的,而用手工进行图书借阅管理存在多

2、种弊端,其中包括图书过于繁多,包含很多的信息数据的管理对于图书借阅情况如:借阅天数、超过限定借阅时间等等的统计和核实,往往采用对借阅卡的人工查询进行,对借阅天数等用人工计算、手抄进行。信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说缺乏系统、规X的管理手段人们操控起来是很困难的;因此,使用电子化的管理手段将是大势所趋,建立一个图书管理系统也是图书管理部门提高工作效益的有效手段。系统能够合理高效地利用图书资源,使得图书借阅更加的科学合理。2设计方案论证2.1需求分析对于一个图书管理系统来说,图书的查询及数据的维护管理是其中的核心环节。在现现行的图书管理中存在几个共同的问题

3、:(1)图书种类过多,数据庞大;这是几乎所有图书馆都会遇到的共同问题,各种不同种类的图书馆为这些图书入库,进行添加于维护增加了很多的难题,对这些数据的反复输入,往往造成庞大的工作量和较低的效率。(2)查询图书困难,每天的借阅情况,读者借阅的到期、还书情况,各项数据的汇总和统计情况必须由管理员统计上报,图书库总管理员才能考虑对图书馆的硬件如某类书的需求数量进行改变已向上级申报。(3)图书毁坏及图书破损;在借阅过程中难免此类现象的发生,如何及时发现及事后对毁坏图书进行淘汰和更新也是个需要解决的问题。(4)不能及时归还图书;经常有读者超过借阅期的情况发生,对此类读者的超期信息提示也是图书借阅管理工作

4、中必须解决的问题之一。本软件主要有以下几方面的功能(1)系统部分:主要完成本系统工程的维护工作(包括:添加用户、添加员工、修改密码)(2)图书管理部分:要完成图书基本信息的管理(包括:添加、修改、查询、删除图书基本信息)(3)借阅管理部分:主要完成图书借阅的管理(包括:图书借阅、归还、查询等)2.2系统包含的类及类之间的关系本系统共包括15个Java源文件和1个辅助文件。类之间的关系如图1所示。图1 类关系图(1)AppBook.java该文件包含主函数入口,旨在创建登录界面对象并在屏幕中居中显示。(2)FrLogin.java该文件是登录界面的封装类,定义并设置了登录界面相关组件及显示效果,

5、还定义了登录、退出按钮的事件监听。功能:点击登录按钮,对填写的信息进行验证并与数据库数据进行比对,匹配就登录成功进入主界面;取消按钮即可退出系统。(3)FrMain.java该文件是主界面的封装类,定义并设置了主界面相关组件及显示效果,还定义了菜单栏上面各菜单项的监听事件,有系统管理:修改管理员密码、退出,基本操作:添加新读者、新书入库、借书、还书、续借、读者管理、图书管理,帮助:关于等10个事件的监听。功能:点击对应的菜单栏就会弹出对应的对话框,并传递需要的参数。(4)FrChange.java该文件是修改用户密码界面的封装类,定义并设置了更改密码界面相关组件及显示效果,还定义了确定、取消按

6、钮的事件监听。功能:点击确定按钮,对输入的信息进行验证并与数据库数据进行比对,匹配就更新数据库,下次登录使用新密码;取消按钮即关闭修改密码界面。(5)FrAddreader.java该文件是添加新读者界面的封装类,定义并设置了添加新读者界面相关组件及显示效果,还定义了提交、返回按钮的事件监听。功能:点击提交按钮,对输入的信息进行验证,通过就写入数据库然后返回读者的编号,不符合要求就提示重新输入;返回按钮即关闭添加新读者界面。(6)FrAddBook.java该文件是新书入库界面的封装类,定义并设置了新书入库界面相关组件及显示效果,还定义了提交、退出按钮的事件监听。功能:点击提交按钮,对输入的信

7、息进行验证,通过就写入数据库然后返回图书添加成功消息,不符合要求就提示重新输入;退出按钮即关闭新书入库界面。(7)FrBorrow.java该文件是借书登记界面的封装类,定义并设置了借书登记界面相关组件及显示效果,还定义了确定、取消按钮的事件监听。功能:点击确定按钮,对输入的信息进行验证,若输入的信息满足要求且该读者没有借该图书就提示借书成功并将数据写入数据库,否则提示对应的不通过原因;取消按钮及关闭借书登记界面。(8)FrReturn.java该文件是还书登记界面的封装类,定义并设置了还书登记界面相关组件及显示效果,还定义了提交、取消按钮的事件监听。功能:点击提交按钮,对输入的信息进行验证并

8、与数据库中数据比对,若输入的信息满足要求且与数据库中数据一致就提示还书成功并更新数据库,否则提示对应的不通过原因;取消按钮及关闭还书登记界面。(9)FrKeep.java该文件是续借登记界面的封装类,定义并设置了续借登记界面相关组件及显示效果,还定义了提交、取消按钮的事件监听。功能:点击提交按钮,对输入的信息进行验证并与数据库中数据比对,若输入的信息满足要求且与数据库中数据一致就提示续借成功并更新数据库,否则提示对应的不通过原因;取消按钮即关闭续借登记界面。(10)FrAbout.java该文件是关于界面的封装类,定义并设置了续借登记界面相关组件及显示效果,还定义了确定按钮的事件监听。功能:显

9、示系统的及开发工具等信息,点击确定按钮就关闭关于界面。(11)FrReadermanage.java该文件是读者管理界面的封装类,定义并设置了读者管理界面相关组件及显示效果,还定义了查找、修改、删除、刷新、关闭按钮的事件监听。功能:对读者的信息进行统一的管理,包括删、改、查等功能,其中选中列表中的一列然后点击修改按钮就会打开读者信息修改界面。(12)FrRedit.java该文件是读者信息修改界面的封装类,定义并设置了读者信息修改界面相关组件及显示效果,还定义了确定、取消按钮的事件监听。功能:对可以修改的信息修改后,点击确定按钮就更新对应数据库中的读者数据,取消按钮即关闭读者信息修改界面。(1

10、3)FrBookmanage.java该文件是图书管理界面的封装类,定义并设置了图书管理界面相关组件及显示效果,还定义了查找、修改、删除、刷新、关闭按钮的事件监听。功能:对图书的信息进行统一的管理,包括删、改、查等功能,其中选中列表中的一列然后点击修改按钮就会打开图书信息修改界面。(14)FrBedit.java该文件是图书信息修改界面的封装类,定义并设置了图书信息修改界面相关组件及显示效果,还定义了确定、取消按钮的事件监听。功能:对可以修改的信息修改后,点击确定按钮就更新对应数据库中的读者数据,取消按钮即关闭图书信息修改界面。(15)DBC.java该文件是数据库接口的类,定义了数据库的创建

11、、连接、查找、更新等操作。功能:对数据库总的数据进行增、删、改、查等基本操作。2.3系统设计成员变量表1成员变量成员变量描述成员变量描述名称主菜单条JMenuBarbarjMenuBar1系统管理菜单JMenumenuSysManage基本操作菜单JMenumenuBasic帮助菜单JMenumenuHelp修改密码菜单项JMenuItemmiChangePwd退出菜单项JMenuItemmiExit添加新读者菜单项JMenuItemmiAddReader新书入库菜单项JMenuItemmiAddBook借书菜单项JMenuItemmiBorrowBook还书菜单项JMenuItemmiRet

12、urnBook续借菜单项JMenuItemmiGoon读者管理菜单项JMenuItemmiReaderManage图书管理菜单项JMenuItemmiBookManage关于菜单项JMenuItemmiAbout主界面背景JLabellblMainbg主界面图片ImageIconback3设计结果运行AppBook.java文件,就会创建并显示登陆界面,具体界面如下:图2 系统登录输入正确的用户名和密码就会进入主窗口,否则会弹出相关提示,如图3。图3 系统登录进入系统主页面包含系统管理、基本操作、帮助三个选项及其对应下拉列表图4 图书馆管理系统主界面选中读者管理界面的列表中的一项,点击修改按钮

13、,就会打开读者信息修改界面,具体图示如下图5所示:图5 读者信息修改窗口选中图书管理界面的列表中的一项,点击修改按钮,就会打开图书信息修改界面,具体图示如下所示。图6 图书信息修改窗口4设计体会通过为期一个星期的课程设计,将我们这学期所学的JAVA知识得到了巩固和应用,在设计的过程中我们也遇到了很多的问题,不过通过查阅资料及询问老师,问题都得到了解决,这次课程设计还让我们明白了写程序不能闭门造车,要努力扩展知识面,开阔视野,开阔思维,也学会了更加快速的查阅到自己所需要的资料。短短的一个星期的课程设计过程使我们受益匪浅,不仅是在专业知识方面,最主要是在怎样去解决编程中出现的问题。遇到问题不能乱,

14、要有条理的设计,找到不熟的方面,再细心的收集资料,比如做这个课程设计的过程中,我们就不是很熟悉菜单栏(JMenuBarbar)、菜单(JMenu)以及菜单项(JMenuItem)之间的关系以及事件的响应,最后通过查阅资料都得到了解决,还有很多很多的问题,这里就不一一列出了。通过这次的课程设计,我们加深了对面向对象编程的理解,学会了JAVA中一些技术的使用,加深了对JAVA的理解。另外,本系统还有一些不足之处,整个系统的可靠性、健壮性还有待进一步进行测试,系统安全性设计还不够完善。5参考文献1仇宾.Java版井字棋的设计与实现J.电脑编程技巧与维护,2013,09:75-80.2明日科技.Jav

15、a从入门到精通(第2版)M.:清华大学,2012.9:20-253梁勇.Java语言程序设计:基础篇M,第2版.:机械工业,2011:305-3504李兴华.Java web开发实战经典基础篇M.:清华大学,2011.8:123-1305魔乐科技软件实训中心.Java从入门到精通M.:人民邮电,2012.4:10-256布洛克.Effective Java中文版(第2版)M.:机械工业,2012,1:53-607诱明.Java技术J.程序员,2005,06:118X潇.基于JAVA的五子棋游戏设计与实现J.电脑知识与技术,2011,06:1353-13549姜景根,李祥.基于Java的多线程并

16、发服务器的设计与应用J.电脑与信息技术,2012,01:15-17+4210阮彤,李京,冯东雷.基于Java的应用服务器的设计与实现J.计算机研究与发展,2011,08:939-946.附录FrMain.javapackage mybook.book;import java.awt.*;import javax.swing.*;import java.awt.Rectangle;import javax.swing.BorderFactory;import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.even

17、t.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseAdapter;import java.awt.BorderLayout;import java.util.Calendar;import java.io.IOException;import mydbc.dbc.DBC;import java.sql.ResultSet;import java.sql.SQLException;/该类为本程序主界面public class FrMain extends JFrame /私有成员 JMenuB

18、ar jMenuBar1=new JMenuBar(); JMenu menuSysManage=new JMenu(); JMenuItem miChangePwd=new JMenuItem(); JMenuItem miExit=new JMenuItem(); JMenu menuBasic=new JMenu(); JMenuItem miAddReader=new JMenuItem(); JMenuItem miAddBook=new JMenuItem(); JMenuItem miBorrowBook=new JMenuItem(); JMenuItem miReturnBo

19、ok=new JMenuItem(); JMenuItem miGoon=new JMenuItem(); JMenuItem miReaderManage=new JMenuItem(); JMenuItem miBookManage=new JMenuItem(); JMenu menuHelp=new JMenu(); JMenuItem miAbout=new JMenuItem(); JPanel palState=new JPanel(); JLabel lblSysName=new JLabel(); JLabel lblShow=new JLabel(); JLabel lbl

20、Mainbg=new JLabel(); JLabel lblNowtime=new JLabel(); JLabel lblTime=new JLabel(); ImageIcon back=new ImageIcon(img/bookbg.jpg); public FrMain() try Init(); catch(Exception exception) exception.printStackTrace(); private void Init()throws Exception getContentPane().setLayout(null); this.setJMenuBar(j

21、MenuBar1); setSize(new Dimension(600,490); this.setTitle(图书管理系统); menuSysManage.setText(【系统管理】); miChangePwd.setText(修改密码); miChangePwd .addActionListener(new FrMain_miChangePwd_actionAdapter(this); miExit.setText(退出); miExit.addActionListener(new FrMain_miExit_actionAdapter(this); menuBasic.setText

22、(【基本操作】); miAddReader.setText(添加新读者); miAddReader .addActionListener(new FrMain_miAddReader_actionAdapter(this); miAddBook.setText(新书入库); miAddBook.addActionListener(new FrMain_miAddBook_actionAdapter(this); miBorrowBook.setText(借书); miBorrowBook.addActionListener(new FrMain_miBorrowBook_actionAdapt

23、er( this); miReturnBook.setActionmand(还书); miReturnBook.setText(还书); miReturnBook.addActionListener(new FrMain_miReturnBook_actionAdapter( this); miGoon.setText(续借); miGoon.addActionListener(new FrMain_miGoon_actionAdapter(this); miReaderManage.setText(读者管理); miReaderManage .addActionListener(new Fr

24、Main_miReaderManage_actionAdapter(this); miBookManage.setText(图书管理); miBookManage.addActionListener(new FrMain_miBookManage_actionAdapter( this); menuHelp.setText(【帮助】); miAbout.setText(关于); miAbout.addActionListener(new FrMain_miAbout_actionAdapter(this); palState.setBounds(new Rectangle(0,400,700,

25、38); palState.setLayout(null); lblSysName.setText(图书管理系统); lblSysName.setBounds(new Rectangle(3,3,85,31); lblShow.setText(技术支持JAVA ECLIPSE); lblShow.setBounds(new Rectangle(86,3,150,31); lblMainbg.setIcon(back); lblMainbg.setBounds(new Rectangle(0,0,699,431); lblTime.setText(当前时间:); lblTime.setBound

26、s(new Rectangle(350,3,63,31); lblNowtime.setBounds(new Rectangle(420,3,179,31); jMenuBar1.add(menuSysManage); jMenuBar1.add(menuBasic); jMenuBar1.add(menuHelp); menuSysManage.add(miChangePwd); menuSysManage.addSeparator(); menuSysManage.add(miExit); menuBasic.add(miAddReader); menuBasic.add(miAddBoo

27、k); menuBasic.addSeparator(); menuBasic.add(miBorrowBook); menuBasic.add(miReturnBook); menuBasic.add(miGoon); menuBasic.addSeparator(); menuBasic.add(miReaderManage); menuBasic.add(miBookManage); menuHelp.add(miAbout); this.getContentPane().add(palState); this.getContentPane().add(lblMainbg); palSt

28、ate.add(lblSysName); palState.add(lblShow); palState.add(lblNowtime); palState.add(lblTime); Time time=new Time(); time.start(); /该方法用于被调用并初始化一个新Frame public void NewFram(Frame x) Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize=x.getSize(); if(frameSize.heightsc

29、reenSize.height) frameSize.height=screenSize.height; if(frameSize.widthscreenSize.width) frameSize.width=screenSize.width; x.setLocation(screenSize.width-frameSize.width)/2, (screenSize.height-frameSize.height)/2); x.setVisible(true); class Time extends Thread public void run() /以下用于同步显示时间 Calendar

30、cal; while(true) try cal=Calendar.getInstance(); String now=cal.get(Calendar.YEAR)+年 +(cal.get(Calendar.MONTH)+1)+月 +cal.get(Calendar.DATE)+日 +cal.get(Calendar.HOUR)+时 +cal.get(Calendar.MINUTE)+分 +cal.get(Calendar.SECOND)+秒; lblNowtime.setText(now); /每一秒钟循环一次 Thread.sleep(1000); catch(InterruptedException ex) System.out.println(ex.getMessage(); /系统管理-修改密码菜单下拉列表事件 publi

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1