版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、焦作大学信息工程学院Java 实训报告题目:图书管理系统班级:网络( 1)班姓名:张辉学号: 1003023352011 年12月22日沈阳工程学院课程设计报告目录摘 要随着信息技术的发展,计算机已被广泛的应用于社会的各个领域,成为推动社会发展的技术动力。而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。软件产业已成为社会信息化进程中的一个战略性产业。在软件技术的应用中软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。不断开发适应用户需求、市场需要的新型软件产品。尤其是在校园里,各种软件的应用无处不在,为我们的学习和
2、生活提供了方便。学校的图书馆不仅给我们提供看书学习的地方,还给我们提供了一套功能齐全的图书馆系统,方便我们搜索书籍、借阅图书。我们本次的 Java 课程设计的最终目标是实现一个图书馆管理系统,使其具有一般图书管理系统所具有的功能,可以实现管理员日志、管理员添加、管理员退出、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、书籍借阅与归还等功能。因为Java是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,所以用Java编程为我们本次程序的编写提供了方便。在设计中我们主要进行了数据库及类的设计,把整系统分成了 15 个类和 5 个表。通过应用awt、swing
3、、sql、util 等包,合理的添加了按钮、菜单、文本框、文本区、表格等组件类,还包含窗口、面板等容器类,经过设计者合理的布局,完成了窗体的设计,并通过建立JDBC-ODBC 桥接器连接到 Access 数据库后,向数据库发送SQL 语句实现程序与数据库中表间的消息通信,从而实现了相应的图书馆管理系统的功能。本文主要分为绪论、系统功能介绍、数据库需求分析、系统功能实现、结论、致谢、参考文献 7 大块。在绪论中介绍了本次课设选题的缘由及思想。系统功能介绍中详细介绍了本图书管理系统的整体思想及其具体功能。 在数据库需求分析中详细说明了数据库的需求分析、概念设计及表的设计。在系统功能实现中主要通过抓
4、图来体现设计的结果。总之,我们的整体设计思想均在报告中体现。关键词: 图书馆管理系统, Java程序设计语言, Access数据库目录摘 要 .I第 1 章绪论 .1第 2 章系统功能介绍 .22.1 系统功能总框图 .22.2模块功能介绍 .22.2.1管理员模块功能介绍 .22.2.2读者管理 .32.2.3 书籍管理模块功能介绍 .32.2.4书籍借阅与归还功能介绍 .42.2.5借阅超时功能介绍 .4沈阳工程学院课程设计报告目录2.3组内任务分工 .4第 3 章数据库设计 .53.1数据库需求分析 .53.2数据库概念结构设计 .53.3数据库表的设计 .6第 4 章系统功能实现 .8
5、4.1管理员模块功能实现 .84.1.1管理员登陆 .84.1.2管理日志 .104.1.3管理员添加功能实现 .114.1.4管理员切换 .134.2读者管理模块功能实现 .144.2.1读者添加 .144.2.2读者修改 .154.2.3读者查询 .174.2.4读者删除 .184.3书籍管理模块功能实现 .194.3.1新书入库实现 .194.3.2 查询功能实现 .214.4书籍借阅与归还功能实现 .234.4.1借阅书籍功能实现 .234.4.2归还书籍功能实现 .254.5借阅超时功能实现 .28结论 .30致谢 .31参考文献 .32沈阳工程学院课程设计报告第1章绪论第1章绪论随
6、着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。书籍做为人类的精神食粮,在现代社会中越来越受到重视,大量的书籍出现在市场上,人们有了各种各样不同的选择。与此同时,为了管理大量的图书,图书管理系统也大量的出现,随着图书的大量增加,其管理难度也越来越大,如何优化管理也就成为了一个大众化的问题。现已有的图书管理系统,其功能已十分强大,为了便于管理员对图书管理系统进行妥善的管理和读者的查询,图书管理系统为管理员提供了管理日志、管理员添加、管理员切换、读者添加、读
7、者修改、读者查询、读者删除、新书入库等功能,为读者提供了书籍查询、读者借阅信息查询、图书网上续借等很多功能。大学为我们提供了自由的学习环境,使我们有更多的时间到图书馆借阅书籍,让我们可以随时掌握各方面的知识,不断提高自我、充实自我,但由于图书馆藏书成千上万,我们很难一本一本的去查找自己感兴趣的书籍,因此我们会经常用到学校为我们提供的图书管理系统,用时间长了便对此产生了兴趣,正好本次课程设计为我们提供了良好的机会,让我们亲自设计并实现了图书管理系统的部分功能。设计一个图书管理系统必不可少的必须对全管书籍进行分类汇总。而这就是我们所说的数据库设计的第一阶段:需求分析。在这一阶段除了对具体情况诸如实
8、行对管理员的管理、对读者的管理、书籍管理、书籍的借阅与归还、借阅超时等功能的实现,还需要对用户的需求进行调查和分析,否则就失去了设计这个系统的意义了。对于界面的设计我们应该追求的是:美观、易读性强、清晰度高;原则是:不能因为刻意追求美观而以整个界面的清晰度的牺牲作为代价, 不能为了清晰度而抛弃对易读性的追求。再设计的过程中我们应该根据实际的情况进行设计,做到具体问题具体分析,不刻意追求原则。在对应的界面与 Access 数据库建立连接,并实现对应的 SQL 语句进行实现将产生的结果显示出来。并运用捕捉异常的方法,将异常信息显示出来。实现 SQL 语句的时候借助前台开发工具中关于数据处理的控件来
9、完成。 对于读者而言他们的需求是了解图书的基本情况, 自己的借阅情况。 总而言之就是实现对各个信息表的查询。对于图书管理员而言要实现的功能相对而言比较多,例如实现新书入库、 Access 数据库表的创建、系统的维护等等,这些都需要设计和实现的。1沈阳工程学院课程设计报告第 2 章 系统功能介绍第 2 章 系统功能介绍2.1 系统功能总框图图书馆管理系统功能总框图,如图2-1 所示。图书馆管理系统读书书管籍籍者借理管管阅员理归理还管管读读管理理读者者读新书借归理者信信者书籍阅还员员日添息息删入查书书志添切加修查除库询籍籍加换改询图 2-1 系统功能框架图管理员借阅超时2.2 模块功能介绍2.2.
10、1 管理员模块功能介绍1. 管理员登陆此模块主要是利用MenuBar 添加菜单条,利用Menu 和 MenuItem 添加菜单和菜单的各2沈阳工程学院课程设计报告第 2 章 系统功能介绍个参数,通过事件ActionEvent 可以实现进入各个模块如管理日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、借阅书籍、归还书籍、借阅超时及退出的功能。2. 管理日志此模块可以清楚的显示出书籍借阅与归还的信息,包括书号、书名、图书证号、借 /还、操作日期、已付款额。读者可以通过此模块实现的功能清楚的了解图书被借阅和归还的详细信息,从而给读者带来了很多方便。3. 管理
11、员添加功能介绍此模块功能是增加新管理员的登陆帐户。在图书馆管理系统中必须有每一个管理者的帐户让其可以正常进行新图书证的办理、借阅书籍和归还书籍等系统管理。所以在管理员功能模块中增加了管理员添加这个功能。4. 管理员切换此模块的主要功能是进行管理员之间的切换,即单击管理员菜单下的管理员切换,就会退出当前管理员界面,从而出现管理员切换窗口,而另一管理员就可以在管理员切换窗口中的用户名和密码两栏中通过输入自己的用户名和密码直接进入该系统。2.2.2 读者管理1. 读者添加此模块主要的实现功能是添加新的读者信息,即当有新的读者要看查看本图书馆中的书藉,可以通过此功能实现,当数据库中存在其新信息,即成为
12、本图书馆的新一位读者。其中信息分别包括图书证号、学生姓名、性别、系别、班级,同时可有三项功能在此处实现,即添加、重置以及返回。2.读者修改此模块主要的实现功能对有信息更新的读者进行即时修改,以随时更新读者在数据库中的信息。本模块通过图书证号确定读者,可对读者信息的新图书证号、学短姓名、性别、系别、班级。此处可分别实现对该功能的修改、重置、返回。3. 读者查询此模块主要可对所要了解的读者信息。即把读者的信息从数据库调出来,显示在该窗口中的文字区域。查询方式分别有按图书证查询、按姓名查询、按班级查询、按年级查询,并可通过办理入相应的关键字,更加缩小查询范围。此处可实现查询和返回功能。4. 读者删除
13、此模块可以删除一些不再使用本系统的读者资料,从而达到对数据库中的清理,即清除一些不必要资料,此处有四种删除途径,分别为按图书证号删除、按姓名删除、按班级删除、安年级删除,并可通过所输入的关键字尽快找到所要删除的资料。此处可分别实现对该功能的修改、重置、返回。2.2.3 书籍管理模块功能介绍1. 新书入库功能介绍此模块主要的实现功能是将新来的图书输入到图书馆管理系统的书库当中, 其中主要按3沈阳工程学院课程设计报告第 2 章 系统功能介绍如下信息往书库中输入, 这部分的操作主要是便于书库合理的管理,有利于读者能够对新书有一个更详细的了解。其中包括如下信息:新书书号、新书名称、新书出版日期、新书出
14、版社、入库数量、编写作者、新书单价。2. 书籍查询功能介绍在图书馆管理系统中书籍查询是最基本的功能,读者可以根据自己的需求来查询想要借阅的书籍。本系统是用 Java 应用程序和 Access 数据库一起开发的其中利用 Java 来编程实现功能的代码和布置运行界面。界面是由检索项、检索词和显示文本区三个部分组成的用户根据自己的需要在检索项中选择自己所要按什么字段进行查询,其中书籍查询功能的检索项中可以按书号查询、按书名查询、按作者名查询、按出版社查询、按入库时间查询等基础查询。选择检索项后用户只要在检索词中添写自己所要查询的内容并确定键确认后用户要查询的内容就可以在显示文本区中显示出来。用户可以
15、根据显示的信息得知自己所要借阅书籍的情况。2.2.4 书籍借阅与归还功能介绍1. 借阅书籍功能介绍此模块主要实现读者可凭有效的图书证号,借阅图书馆内未借出的图书。输入图书证号后,可显示了该图书证持有者的全部信息(包括借书证号、姓名、性别、所在班级、所属系部、当前可借阅图书个数) ,供读者确认信息。通过输入有效的图书编号,查询该图书的全部信息(包括书号、书名、作者、出版社、是否借出、价格) 。借阅成功后,将该图书证号、书号、借阅日期、应还日期信息插入到数据库的表中进行记录。2. 归还书籍功能介绍此模块主要实现读者凭所要归还图书的图书证号归还图书。输入所要归还的图书编号后,可显示了该图书证持有者的
16、全部信息(包括借书证号、姓名、性别、所在班级、所属系部、当前可借阅图书个数) ,供读者确认信息。还书成功后,从数据库中删除该书的借出记录,并修改数据库中的相应信息。2.2.5 借阅超时功能介绍此模块主要实现显示过期图书的信息(包括图书证号、书号、借阅日期、应还日期)提醒读者还书。2.3 组内任务分工组内分工情况如下表2-1 所示。表 2-1 组内分工情况表组长邹刚读者添加、查询、修改、删除。罗姗姗书籍借阅与归还模块、借书超期限子系统。组员李呈呈管理员添加、新书入库、按指定条件进行图书查询。刘兰兰数据库创建、登陆界面设计、管理员模块。4沈阳工程学院课程设计报告第 3 章 数据库设计第 3 章 数
17、据库设计在此图书馆管理系统中,使用到了一个重要的连接,即与数据库 Accesss 相连。数据库中存有图书馆中所信息,包括读者信息、管理员资料、借阅与退还记录。所有与管理有关的数据皆在其中,是保证系统能够正常实现各种功能的一架桥。3.1 数据库需求分析 Admi 表,即管理员表,记录了用户名和密码。 Admirz 表,即管理日志表,记录了书号、书名、图书证号、借 /还、操作日期、已付款额。 book 表,即图书表,记录了书号、书名、作者、出版社、入库时间、是否借出、价格。 borrowbook 表,即借阅表,记录了图书证号、书号、借阅日期、应还日期。 person表,即读者表,记录了图书证号、姓
18、名、性别、系别、班级。3.2 数据库概念结构设计图书馆管理系统E-R 图,如图 3-1。班级系别性别姓名图书证号n读者m用户名1管理借阅m管理员m管理密码图书书号n价格书名作者出版社入库时间是否借出图 3-1 图书馆管理系统E-R 图5沈阳工程学院课程设计报告第 3 章 数据库设计3.3 数据库表的设计 Admi 表表中记录了可以使管理员进入该系统的用户名及密码,如表3-1 所示。表 3-1 管理员信息表字段名称数据类型长度备注用户名文本10密码文本15 Admirz 表表中记录借还书日志,用于存下所有对图书操作的记录,以便以后可以翻阅和查找,如表 3-2 所示。表 3-2管理日志表字段名称数
19、据类型长度备注书号文本10书名文本15作者文本15出版社文本15入库时间DATE15已付款额文本10 book 表表中记录了库内所有图书的所有资料,如表 3-3。表 3-3 图书表字段名称数据类型长度备注书号文本10书名文本15作者文本15出版社文本15入库时间DATE15是否借出文本10价格文本10 person 表表中记录库中所有读者的相关信息,如表3-4 所示。6沈阳工程学院课程设计报告第 3 章 数据库设计表 3-4 读者表字段名称数据类型长度备注图书证号文本10姓名文本15性别文本15系别文本15班级文本15 borrowbook 表表内记录了此时图书的借阅情况,如表3-5 所示。表
20、 3-5 借阅表字段名称数据类型长度备注图书证号文本10书号文本15借阅日期DATE15应还日期DATE157沈阳工程学院课程设计报告第 4 章 系统功能实现第 4 章 系统功能实现4.1 管理员模块功能实现4.1.1 管理员登陆此模块是整个系统最主要的部分,管理员可以通过此模块实现进入其余各个模块如管理日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、借阅书籍、归还书籍、借阅超时及退出的功能。图书管理系统管理员界面如图 4-1 所示。图 4-1 图书管理系统管理员主要程序代码如下:public void actionPerformed(ActionEv
21、ent e)if(e.getSource()=itemAdmiqh)this.dispose();In winin=new In(" 系统登陆 ");if(e.getSource()=itemtc)System.exit(0);8沈阳工程学院课程设计报告第 4 章 系统功能实现if(e.getSource()=itemAdmixj)CreatAdmi creatAdmi=new CreatAdmi(" 管理员添加 ");if(e.getSource()=itemAdmirz)WinTable wintable=new WinTable("管理日
22、志 ");if(e.getSource()=itemBookrk)AddInfy addInfy=new AddInfy();if(e.getSource()=itemPersonlr)Winpersonadd winperson=new Winpersonadd("读者添加 ");if(e.getSource()=itemPersoncx)Winpersonsearch winperson=new Winpersonsearch("读者信息查询 ");if(e.getSource()=itemPersonxg)Winpersonmodify
23、winperson=new Winpersonmodify("读者信息修改 ");if(e.getSource()=itemPersonsc)Winpersondelete winperson=new Winpersondelete("读者删除 ");if(e.getSource()=itemBookcx)Windowjj ok=new Windowjj();if(e.getSource()=itemchaoshi)day win=new day();if(e.getSource()=itemBorrowjs)Borrowbook win=new Bor
24、rowbook();9沈阳工程学院课程设计报告第 4 章 系统功能实现if(e.getSource()=itemBorrowhs)Returnbook win=new Returnbook();4.1.2 管理日志此模块通过定义类 WinTable 继承顶层容器 JFrame,再添加普通容器 JScrollPane、Jpanel,然后通过 BorderLayout 布局创建界面,最后主要通过数组利用 while 循环在连接好的数据库中查找表 Admirz 中的内容,从而实现了可以清楚的显示出书籍借阅与归还信息的功能。 管理日志界面如图 4-2 所示。图 4-2 管理日志主要程序代码如下:Win
25、Table(String s)super(s);try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundException e) System.out.println(""+e);try con=DriverManager.getConnection("jdbc:odbc:sun","123","123");sql=con.createStatement();rs=sql.executeQuery("SE
26、LECT * FROM Admirz");while(rs.next()k+;10沈阳工程学院课程设计报告第 4 章 系统功能实现catch(SQLException e) System.out.println(""+e);try con=DriverManager.getConnection("jdbc:odbc:sun","123","123");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM Admirz"
27、);a=new Objectk6;while(rs.next()for(int j=0;j<6;j+)if(j<5)aij=rs.getString(j+1);elseaij=rs.getDouble(j+1);i+;con.close();catch(SQLException e) System.out.println(""+e);table=new JTable(a,name);Container con=getContentPane();getContentPane().add(new JScrollPane(table),BorderLayout.CEN
28、TER);setBounds(120,125,700,500);setVisible(true);validate();addWindowListener(new DisposeListener();4.1.3 管理员添加功能实现功能介绍:该程序主要实现管理员的添加,以便于让实行对图书管理员的管理。按照标11沈阳工程学院课程设计报告第 4 章 系统功能实现签提示输入信息,然后点击确定按钮。首先判断管理员名文本框中输入的文本信息是否符合大于 3 个字符并小于 10 个字符的规则,如果不符合规则,则提示错误,如果符合规则,再到Admi 表中进行查询,如果相同则用提示框提示错误。若无相同则可注册。但
29、还需要保证前后两次的密码相同,才能成功注册,管理员登陆窗口如图4-3 所示。图 4-3 管理员添加成功界面主要程序代码如下:public void actionPerformed(ActionEvent c)String b=textUser.getText();String d=textPassword1.getText();String g=textPassword2.getText();if(c.getSource()=buttonqk) textUser.setText(null); textPassword1.setText(null);textPassword2.setText(n
30、ull);if(c.getSource()=buttonEnter|c.getSource()=textPassword2)if(b.length()<3|b.length()>10)JOptionPane.showMessageDialog(null,"用户名应在 310 个字符之间 "); textUser.setText(null);elsetry Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundException e) System.out.printl
31、n(""+e);try con=DriverManager.getConnection("jdbc:odbc:sun","123","123"); sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM Admi WHERE 用户名 ="+"'"+b+"'");12沈阳工程学院课程设计报告第 4 章 系统功能实现if(rs.next()String user=rs.getSt
32、ring(1);if(b.equals(user)JOptionPane.showMessageDialog(null,"此管理 员已被注 册 "," 警告",JOptionPane.WARNING_MESSAGE);elseif(d.equals(g)sql.executeUpdate("INSERTINTOAdmiVALUES"+"("+"'"+b+"'"+","+"'"+d+"'"
33、;+")");this.dispose();JOptionPane.showMessageDialog(null,"管理员注册成功 ");else JOptionPane.showMessageDialog(null,"两次输入密码不一致"," 警告",JOptionPane.ERROR_MESSAGE);con.close();catch(SQLException e) System.out.println(""+e);4.1.4 管理员切换此模块功能是退出当前管理员界面,进入管理员切换窗口,
34、另一用户可以通过输入自己的用户名和密码直接进入该系统。 但此用户名和密码都必须与已经连接好的数据库中表Admi中的用户名和密码相吻合。管理员切换界面如图4-4 所示。图 4-4 管理员切换13沈阳工程学院课程设计报告第 4 章 系统功能实现主要程序代码如下:public void windowClosing(WindowEvent e)e.getWindow().dispose();4.2 读者管理模块功能实现4.2.1 读者添加功能介绍:添加新的读者,使其能够进入图书系统阅览图书,读者添加如图4-5 所示。图 4-5 读者添加主要程序代码如下 :public void actionPerfo
35、rmed(ActionEvent e)if(e.getSource()=button1)/ 添加String ch=text1.getText();if(ch.length()!=5)JOptionPane.showMessageDialog(null,"请输入 5 位图书证号! ");text1.setText(null);else /连接数据库String number,name,sex,dept,classes,record,insertStr;number=text1.getText();name=text2.getText();if(box1.getState()
36、=true)14沈阳工程学院课程设计报告第 4 章 系统功能实现sex=box1.getLabel();elsesex=box2.getLabel();dept=text3.getText();classes=text4.getText();rs=sql.executeQuery("SELECT *FROMperson WHERE图书证 号="+"'"+number+"'");if(rs.next()JOptionPane.showMessageDialog(null,"此图书证号已存在 ",&qu
37、ot; 警告",JOptionPane.WARNING_MESSAGE);text1.setText(null);record="("+"'"+number+"'"+","+"'"+name+"'"+","+"'"+sex+"'"+","+"'"+dept+"'"+",&qu
38、ot;+"'"+classes+"'"+")"insertStr="INSERT INTO person VALUES"+record;sql.executeUpdate(insertStr);JOptionPane.showMessageDialog(null,"添加成功! "); con.close();4.2.2 读者修改功能介绍:对读者需要修改的资料进行重定义,读者信息修改如图4-6 所示。图 4-6 读者信息修改主要程序代码如下 :public void actionPerf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋续租委托协议书
- 房屋装修砸墙协议书
- 房屋转售协议书模板
- 房屋遗产处置协议书
- 房屋预售合同协议书
- 手机账号使用协议书
- 打井机转让协议合同
- 打地坪劳务合同范本
- 打架正规调解协议书
- 托管经营合同协议书
- 改性聚苯醚行业发展预测分析
- 大学课件-机电传动控制(完整)
- 中国各民族建筑风格英文介绍
- 六年级上册科学全册知识点(新改版苏教版)
- 大力弘扬新时代斗争精神PPT怎样弘扬新时代斗争精神PPT课件(带内容)
- 超市店长工作计划总结 超市店长年度工作计划
- 2023学年完整公开课版闽菜1
- 设备采购技术服务方案
- 安全监督先进个人主要事迹范文七篇
- GB/T 38661-2020电动汽车用电池管理系统技术条件
- GB/T 12149-2017工业循环冷却水和锅炉用水中硅的测定
评论
0/150
提交评论