收藏 分销(赏)

图书综合管理系统java优秀课程设计优质报告.doc

上传人:w****g 文档编号:2658511 上传时间:2024-06-03 格式:DOC 页数:47 大小:626.54KB
下载 相关 举报
图书综合管理系统java优秀课程设计优质报告.doc_第1页
第1页 / 共47页
图书综合管理系统java优秀课程设计优质报告.doc_第2页
第2页 / 共47页
图书综合管理系统java优秀课程设计优质报告.doc_第3页
第3页 / 共47页
图书综合管理系统java优秀课程设计优质报告.doc_第4页
第4页 / 共47页
图书综合管理系统java优秀课程设计优质报告.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、焦作大学信息工程学院Java实训汇报题目:图书管理系统班级:网络(1)班 姓名:张辉 学号: 12 月22日摘 要伴随信息技术发展,计算机已被广泛应用于社会各个领域,成为推进社会发展技术动力。而在计算机应用中,软件作用十分突出,软件已经发展成为信息技术关键,主导着信息产品开发和信息技术市场深入开拓。软件产业已成为社会信息化进程中一个战略性产业。在软件技术应用中软件开发技术尤其是应用型软件产品开发技术成了重中之重。不停开发适应用户需求、市场需要新型软件产品。尤其是在校园里,多种软件应用无处不在,为我们学习和生活提供了方便。学校图书馆不仅给我们提供看书学习地方,还给我们提供了一套功效齐全图书馆系统

2、,方便我们搜索书籍、借阅图书。我们此次Java课程设计最终目标是实现一个图书馆管理系统,使其含有通常图书管理系统所含有功效,能够实现管理员日志、管理员添加、管理员退出、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、书籍借阅和归还等功效。因为Java是一门很优异编程语言,含有面向对象、和平台无关、安全、稳定和多线程等特点,所以用Java编程为我们此次程序编写提供了方便。在设计中我们关键进行了数据库及类设计,把整系统分成了15个类和5个表。经过应用awt、swing、sql、util等包,合理添加了按钮、菜单、文本框、文本区、表格等组件类,还包含窗口、面板等容器类,经过设计者合理布局

3、,完成了窗体设计,并经过建立JDBC-ODBC桥接器连接到Access数据库后,向数据库发送SQL语句实现程序和数据库中表间消息通信,从而实现了对应图书馆管理系统功效。本文关键分为绪论、系统功效介绍、数据库需求分析、系统功效实现、结论、致谢、参考文件7大块。在绪论中介绍了此次课设选题缘由及思想。系统功效介绍中具体介绍了本图书管理系统整体思想及其具体功效。在数据库需求分析中具体说明了数据库需求分析、概念设计及表设计。在系统功效实现中关键经过抓图来表现设计结果。总而言之,我们整体设计思想均在汇报中表现。关键词: 图书馆管理系统,Java程序设计语言,Access数据库目 录摘 要I第1章 绪 论1

4、第2章 系统功效介绍22.1系统功效总框图22.2 模块功效介绍22.2.1 管理员模块功效介绍22.2.2 读者管理32.2.3书籍管理模块功效介绍32.2.4 书籍借阅和归还功效介绍42.2.5 借阅超时功效介绍42.3 组内任务分工4第3章 数据库设计53.1 数据库需求分析53.2 数据库概念结构设计53.3 数据库表设计6第4章 系统功效实现84.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.

5、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章 绪 论伴随社会经济快速发展和科学技术全方面进步,计算机事业飞速发展,以计算机和通信技术为基础信息系统正处于蓬勃发展时期。伴随经济文化水平显著提升,大家对生活质量及工作环境要求也越来越高。书籍做为人类精神食粮,在现代社会中越来越受到重视,大量书籍出现在市场上,大家有了多种多样不一样选择。和此同时,为了管理大量图书,图书管理系统也

6、大量出现,伴随图书大量增加,其管理难度也越来越大,怎样优化管理也就成为了一个大众化问题。现已经有图书管理系统,其功效已十分强大,为了便于管理员对图书管理系统进行妥善管理和读者查询,图书管理系统为管理员提供了管理日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入库等功效,为读者提供了书籍查询、读者借阅信息查询、图书网上续借等很多功效。大学为我们提供了自由学习环境,使我们有更多时间到图书馆借阅书籍,让我们能够随时掌握各方面知识,不停提升自我、充实自我,但因为图书馆藏书成千上万,我们极难一本一本去查找自己感爱好书籍,所以我们会常常见到学校为我们提供图书管理系统,用时间长了便

7、对此产生了爱好,恰好此次课程设计为我们提供了良好机会,让我们亲自设计并实现了图书管理系统部分功效。设计一个图书管理系统必不可少必需对全管书籍进行分类汇总。而这就是我们所说数据库设计第一阶段:需求分析。在这一阶段除了对具体情况诸如实施对管理员管理、对读者管理、书籍管理、书籍借阅和归还、借阅超时等功效实现,还需要对用户需求进行调查和分析,不然就失去了设计这个系统意义了。对于界面设计我们应该追求是:美观、易读性强、清楚度高;标准是:不能因为刻意追求美观而以整个界面清楚度牺牲作为代价,不能为了清楚度而抛弃对易读性追求。再设计过程中我们应该依据实际情况进行设计,做到具体问题具体分析,不刻意追求标准。在对

8、应界面和Access数据库建立连接,并实现对应SQL语句进行实现将产生结果显示出来。并利用捕捉异常方法,将异常信息显示出来。实现SQL语句时候借助前台开发工具中相关数据处理控件来完成。对于读者而言她们需求是了解图书基础情况,自己借阅情况。总而言之就是实现对各个信息表查询。对于图书管理员而言要实现功效相对而言比较多,比如实现新书入库、Access数据库表创建、系统维护等等,这些全部需要设计和实现。第2章 系统功效介绍2.1系统功效总框图 图书馆管理系统功效总框图,图2-1所表示。图书馆管理系统管理员读者管理书籍管理书籍借阅归还管理员管理日志管理员添加管理员切换读者添加读者信息修改读者删除新书入库

9、书籍查询借阅书籍归还书籍借阅超时读者信息查询图2-1 系统功效框架图2.2 模块功效介绍2.2.1 管理员模块功效介绍1. 管理员登陆此模块关键是利用MenuBar添加菜单条,利用Menu和MenuItem添加菜单和菜单各个参数,经过事件ActionEvent 能够实现进入各个模块如管理日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、借阅书籍、归还书籍、借阅超时及退出功效。2. 管理日志此模块能够清楚显示出书籍借阅和归还信息,包含书号、书名、图书证号、借/还、操作日期、已付款额。读者能够经过此模块实现功效清楚了解图书被借阅和归还具体信息,从而给读者带来

10、了很多方便。3. 管理员添加功效介绍此模块功效是增加新管理员登陆帐户。在图书馆管理系统中必需有每一个管理者帐户让其能够正常进行新图书证办理、借阅书籍和归还书籍等系统管理。所以在管理员功效模块中增加了管理员添加这个功效。4. 管理员切换此模块关键功效是进行管理员之间切换,即单击管理员菜单下管理员切换,就会退出目前管理员界面,从而出现管理员切换窗口,而另一管理员就能够在管理员切换窗口中用户名和密码两栏中经过输入自己用户名和密码直接进入该系统。2.2.2 读者管理1. 读者添加此模块关键实现功效是添加新读者信息,即当有新读者要看查看本图书馆中书藉,能够经过此功效实现,当数据库中存在其新信息,即成为本

11、图书馆新一位读者。其中信息分别包含图书证号、学生姓名、性别、系别、班级,同时可有三项功效在此处实现,即添加、重置和返回。2.读者修改此模块关键实现功效对有信息更新读者进行即时修改,以随时更新读者在数据库中信息。本模块经过图书证号确定读者,可对读者信息新图书证号、学短姓名、性别、系别、班级。此处可分别实现对该功效修改、重置、返回。3. 读者查询此模块关键可对所要了解读者信息。即把读者信息从数据库调出来,显示在该窗口中文字区域。查询方法分别有按图书证查询、按姓名查询、按班级查询、按年级查询,并可经过办理入对应关键字,愈加缩小查询范围。此处可实现查询和返回功效。4. 读者删除此模块能够删除部分不再使

12、用本系统读者资料,从而达成对数据库中清理,即清除部分无须要资料,此处有四种删除路径,分别为按图书证号删除、按姓名删除、按班级删除、安年级删除,并可经过所输入关键字立即找到所要删除资料。此处可分别实现对该功效修改、重置、返回。2.2.3书籍管理模块功效介绍1. 新书入库功效介绍此模块关键实现功效是将新来图书输入到图书馆管理系统书库当中,其中关键按以下信息往书库中输入,这部分操作关键是便于书库合理管理,有利于读者能够对新书有一个更具体了解。其中包含以下信息:新书书号、新书名称、新书出版日期、新书出版社、入库数量、编写作者、新书单价。2. 书籍查询功效介绍在图书馆管理系统中书籍查询是最基础功效,读者

13、能够依据自己需求来查询想要借阅书籍。本系统是用Java应用程序和Access数据库一起开发其中利用Java来编程实现功效代码和部署运行界面。界面是由检索项、检索词和显示文本区三个部分组成用户依据自己需要在检索项中选择自己所要按什么字段进行查询,其中书籍查询功效检索项中能够按书号查询、按书名查询、按作者名查询、按出版社查询、按入库时间查询等基础查询。选择检索项后用户只要在检索词中添写自己所要查询内容并确定键确定后用户要查询内容就能够在显示文本区中显示出来。用户能够依据显示信息得悉自己所要借阅书籍情况。2.2.4 书籍借阅和归还功效介绍1. 借阅书籍功效介绍此模块关键实现读者可凭有效图书证号,借阅

14、图书馆内未借出图书。输入图书证号后,可显示了该图书证持有者全部信息(包含借书证号、姓名、性别、所在班级、所属系部、目前可借阅图书个数),供读者确定信息。经过输入有效图书编号,查询该图书全部信息(包含书号、书名、作者、出版社、是否借出、价格)。借阅成功后,将该图书证号、书号、借阅日期、应还日期信息插入到数据库表中进行统计。2. 归还书籍功效介绍此模块关键实现读者凭所要归还图书图书证号归还图书。输入所要归还图书编号后,可显示了该图书证持有者全部信息(包含借书证号、姓名、性别、所在班级、所属系部、目前可借阅图书个数),供读者确定信息。还书成功后,从数据库中删除该书借出统计,并修改数据库中对应信息。2

15、.2.5 借阅超时功效介绍此模块关键实现显示过期图书信息(包含图书证号、书号、借阅日期、应还日期)提醒读者还书。2.3 组内任务分工组内分工情况以下表2-1所表示。表2-1 组内分工情况表组长邹刚读者添加、查询、修改、删除。组员罗姗姗书籍借阅和归还模块、借书超期限子系统。李呈呈管理员添加、新书入库、按指定条件进行图书查询。刘兰兰数据库创建、登陆界面设计、管理员模块。第3章 数据库设计在此图书馆管理系统中,使用到了一个关键连接,即和数据库Accesss相连。数据库中存有图书馆中所信息,包含读者信息、管理员资料、借阅和退还统计。全部和管理相关数据皆在其中,是确保系统能够正常实现多种功效一架桥。3.

16、1 数据库需求分析 Admi表,即管理员表,统计了用户名和密码。 Admirz表,即管理日志表,统计了书号、书名、图书证号、借/还、操作日期、已付款额。 book表,即图书表,统计了书号、书名、作者、出版社、入库时间、是否借出、价格。 borrowbook表,即借阅表,统计了图书证号、书号、借阅日期、应还日期。 person表,即读者表,统计了图书证号、姓名、性别、系别、班级。3.2 数据库概念结构设计图书馆管理系统E-R图,图3-1。mn读者图书管理员性别系别班级姓名图书证号书号书名作者出版社会化密码用户名管理管理mnm借阅1入库时间是否借出价格图3-1 图书馆管理系统E-R图3.3 数据库

17、表设计Admi表表中统计了能够使管理员进入该系统用户名及密码,如表3-1所表示。表3-1 管理员信息表字段名称数据类型长 度备 注用户名文 本10密 码文 本15Admirz表表中统计借还书日志,用于存下全部对图书操作统计,方便以后能够翻阅和查找,如表3-2所表示。表3-2 管理日志表字段名称数据类型长 度备 注书号文 本10书名文 本15作者文 本15出版社文 本15入库时间DATE15已付款额文 本10book表表中统计了库内全部图书全部资料,如表3-3。表3-3 图书表字段名称数据类型长 度备 注书号文 本10书名文 本15作者文 本15出版社文 本15入库时间DATE15是否借出文 本

18、10价格文 本10person表表中统计库中全部读者相关信息,如表3-4所表示。表3-4 读者表字段名称数据类型长 度备 注图书证号文 本10姓名文 本15性别文 本15系别文 本15班级文 本15borrowbook表表内统计了此时图书借阅情况,如表3-5所表示。表3-5 借阅表字段名称数据类型长 度备 注图书证号文 本10书号文 本15借阅日期DATE15应还日期DATE15第4章 系统功效实现4.1 管理员模块功效实现4.1.1 管理员登陆此模块是整个系统最关键部分,管理员能够经过此模块实现进入其它各个模块如管理日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入

19、库、书籍查询、借阅书籍、归还书籍、借阅超时及退出功效。图书管理系统管理员界面图4-1所表示。图4-1 图书管理系统管理员关键程序代码以下:public void actionPerformed(ActionEvent e) if(e.getSource()=itemAdmiqh)this.dispose();In winin=new In(系统登陆);if(e.getSource()=itemtc)System.exit(0);if(e.getSource()=itemAdmixj)CreatAdmi creatAdmi=new CreatAdmi(管理员添加);if(e.getSource(

20、)=itemAdmirz)WinTable wintable=new WinTable(管理日志);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)Wi

21、npersonmodify 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 Borrowbook();

22、if(e.getSource()=itemBorrowhs)Returnbook win=new Returnbook(); 4.1.2 管理日志此模块经过定义类WinTable继承顶层容器JFrame,再添加一般容器 JScrollPane、Jpanel,然后经过BorderLayout布局创建界面,最终关键经过数组利用while循环在连接好数据库中查找表Admirz中内容,从而实现了能够清楚显示出书籍借阅和归还信息功效。管理日志界面图4-2所表示。图4-2 管理日志关键程序代码以下:WinTable(String s)super(s);try Class.forName(sun.jdbc.

23、odbc.JdbcOdbcDriver);catch(ClassNotFoundException e)System.out.println(+e);try con=DriverManager.getConnection(jdbc:odbc:sun,123,123);sql=con.createStatement();rs=sql.executeQuery(SELECT * FROM Admirz);while(rs.next()k+;catch(SQLException e)System.out.println(+e);try con=DriverManager.getConnection(

24、jdbc:odbc:sun,123,123);sql=con.createStatement();rs=sql.executeQuery(SELECT * FROM Admirz);a=new Objectk6;while(rs.next()for(int j=0;j6;j+)if(j5)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=getConten

25、tPane();getContentPane().add(new JScrollPane(table),BorderLayout.CENTER);setBounds(120,125,700,500);setVisible(true);validate();addWindowListener(new DisposeListener();4.1.3 管理员添加功效实现功效介绍:该程序关键实现管理员添加,方便于让实施对图书管理员管理。根据标签提醒输入信息,然后点击确定按钮。首先判定管理员名文本框中输入文本信息是否符合大于3个字符并小于10个字符规则,假如不符合规则,则提醒错误,假如符合规则,再到Ad

26、mi表中进行查询,假如相同则用提醒框提醒错误。若无相同则可注册。但还需要确保前后两次密码相同,才能成功注册,管理员登陆窗口图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(

27、null);textPassword2.setText(null);if(c.getSource()=buttonEnter|c.getSource()=textPassword2)if(b.length()10)JOptionPane.showMessageDialog(null,用户名应在310个字符之间);textUser.setText(null);elsetry Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException e)System.out.println(+e);try con=Driver

28、Manager.getConnection(jdbc:odbc:sun,123,123);sql=con.createStatement();rs=sql.executeQuery(SELECT * FROM Admi WHERE 用户名=+b+);if(rs.next()String user=rs.getString(1);if(b.equals(user) JOptionPane.showMessageDialog(null,此管理员已被注册,警告,JOptionPane.WARNING_MESSAGE);elseif(d.equals(g) sql.executeUpdate(INSE

29、RTINTOAdmi VALUES+(+b+,+d+);this.dispose();JOptionPane.showMessageDialog(null,管理员注册成功); else JOptionPane.showMessageDialog(null,两次输入密码不一致,警告,JOptionPane.ERROR_MESSAGE); con.close(); catch(SQLException e)System.out.println(+e);4.1.4 管理员切换此模块功效是退出目前管理员界面,进入管理员切换窗口,另一用户能够经过输入自己用户名和密码直接进入该系统。但此用户名和密码全部必

30、需和已经连接好数据库中表Admi中用户名和密码相吻合。管理员切换界面图4-4所表示。图4-4 管理员切换关键程序代码以下:public void windowClosing(WindowEvent e)e.getWindow().dispose();4.2 读者管理模块功效实现4.2.1 读者添加功效介绍:添加新读者,使其能够进入图书系统阅览图书,读者添加图4-5所表示。 图4-5 读者添加关键程序代码以下: public void actionPerformed(ActionEvent e)if(e.getSource()=button1) / 添加String ch=text1.getTe

31、xt();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()=true)sex=box1.getLabel();elsesex=box2.getLabel();dept=text3.getText();classes=text4.

32、getText();rs=sql.executeQuery(SELECT * FROM person WHERE 图书证号=+number+);if(rs.next()JOptionPane.showMessageDialog(null,此图书证号已存在,警告,JOptionPane.WARNING_MESSAGE);text1.setText(null);record=(+number+,+name+,+sex+,+dept+,+classes+);insertStr=INSERT INTO person VALUES+record;sql.executeUpdate(insertStr);

33、 JOptionPane.showMessageDialog(null,添加成功!);con.close();4.2.2 读者修改功效介绍:对读者需要修改资料进行重定义,读者信息修改图4-6所表示。图4-6 读者信息修改关键程序代码以下:public void actionPerformed(ActionEvent e) if(e.getSource()=button1) /修改String ch=text1.getText();if(ch.length()!=5)JOptionPane.showMessageDialog(null,请输入5位图书证号!);text1.setText(null

34、);elsetry/连接数据库String number,name,sex,dept,classes,newnum,record,updateStr;newnum=text5.getText();number=text1.getText();name=text2.getText();if(box1.getState()=true)sex=box1.getLabel();elsesex=box2.getLabel();dept=text3.getText();classes=text4.getText();sql=con.createStatement();rs=sql.executeQuery

35、(SELECT * FROM person where 图书证号=+newnum+);if(rs.next()rs1=sql.executeQuery(SELECT * FROM person where 图书证号=+number+);if(rs1.next()JOptionPane.showMessageDialog(null,此图书证号已存在,警告,JOptionPane.WARNING_MESSAGE);text1.setText(null);elseupdateStr=UPDATE person SET 图书证号=+number+,+姓名=+name+,+性别=+sex+,+系别=+d

36、ept+,+班级=+classes+WHERE 图书证号=+newnum+;sql.executeUpdate(updateStr);JOptionPane.showMessageDialog(null,修改成功!);elseJOptionPane.showMessageDialog(null,查无此人!);/连接数据库con.close();4.2.3 读者查询功效介绍:能够对数据库中已经有读者信息进行查询。读者查询图4-7。图4-7读者信息查询关键程序代码以下:public void actionPerformed(ActionEvent e) if(e.getSource()=butto

37、n1 | e.getSource()=text) / 查询area.setText(null);if(str=按图书证号查询 | str=null) & text.getText()!=null)boolean flag=true,f=true;String num=text.getText();/连接数据库rs=sql.executeQuery(SELECT * FROM person where 图书证号=+num+); while(rs.next()f=false;String number=rs.getString(图书证号);String name=rs.getString(姓名);

38、String sex=rs.getString(性别);String dept=rs.getString(系别);String classes=rs.getString(班级);if(flag)area.append(图书证号为+num+学生信息以下:);flag=false;area.append(n姓名:+name+ 性别:+sex+ 系别:+dept+ 班级:+classes+n);if(f)area.append(查无此人!);catch(SQLException c)System.out.println(c);4.2.4 读者删除功效介绍:删除数据库中已经有信息。读者删除图4-8所表示。图4-8 读者删除关键程序代码以下:if(e.getSource()=button1) / 删除area.setText(null);if(str=按图书证号删除 | str=null) & text.getText()!=null) String num=text.getText();tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException c)System.out.println(+c);/连接数据库rs=sq

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服