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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、图书馆管理系统课程设计论文摘 要随着信息技术的发展,计算机已被广泛的应用于社会的各个领域,成为推动社会发展的技术动力。而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。软件产业已成为社会信息化进程中的一个战略性产业。在软件技术的应用中软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。不断开发适应用户需求、市场需要的新型软件产品。尤其是在校园里,各种软件的应用无处不在,为我们的学习和生活提供了方便。学校的图书馆不仅给我们提供看书学习的地方,还给我们提供了一套功能齐全的图书馆系统,方便我们搜索书籍、借阅图书。我们本次的J

2、ava课程设计的最终目标是实现一个图书馆管理系统,使其具有一般图书管理系统所具有的功能,可以实现管理员日志、管理员添加、管理员退出、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、书籍借阅与归还等功能。因为Java是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,所以用Java编程为我们本次程序的编写提供了方便。关键字:图书馆管理系统,Java,Access数据库一、 课程设计目的根据整个课程设计的要求,设计一个图书管理系统必不可少的必须对全管书籍进行分类汇总。而这就是我们所说的数据库设计的第一阶段:需求分析。在这一阶段除了对具体情况诸如实行对管理员的管理

3、、对读者的管理、书籍管理、书籍的借阅与归还、借阅超时等功能的实现,还需要对用户的需求进行调查和分析,否则就失去了设计这个系统的意义了。对于界面的设计我们应该追求的是:美观、易读性强、清晰度高;原则是:不能因为刻意追求美观而以整个界面的清晰度的牺牲作为代价,不能为了清晰度而抛弃对易读性的追求。再设计的过程中我们应该根据实际的情况进行设计,做到具体问题具体分析,不刻意追求原则。在对应的界面与Access数据库建立连接,并实现对应的SQL语句进行实现将产生的结果显示出来。并运用捕捉异常的方法,将异常信息显示出来。通过此课程设计,能够达到巩固Java基础,运用Java编写相应的前台以及后台的程序。熟练

4、掌握JDK、Editplus、Eclipse、JCreator等开发工具的运用,拓宽常用类库的应用。 二、设计方案的论证2.1 背景及意义随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。书籍做为人类的精神食粮,在现代社会中越来越受到重视,大量的书籍出现在市场上,人们有了各种各样不同的选择。与此同时,为了管理大量的图书,图书管理系统也大量的出现,随着图书的大量增加,其管理难度也越来越大,如何优化管理也就成为了一个大众化的问题。现已有的图书管理系统,其功能

5、已十分强大,为了便于管理员对图书管理系统进行妥善的管理和读者的查询,图书管理系统为管理员提供了管理日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入库等功能,为读者提供了书籍查询、读者借阅信息查询、图书网上续借等很多功能。2.2技术路线开发环境的选择会影响到数据库的设计,所以在这里给出图书管理系统开发与运行环境的选择如下:开发环境:Window 7 旗舰版开发工具:MyEclipse7.0三、设计实现过程3.1、概要设计系统管理模块分为管理员、读者管理、书籍管理、书籍借阅归还。系统体系结构框图如下图图3-1 图书管理系统功能模块图3.2、详细设计由于本课程设计涉及的模

6、块比较多,流程大致相同,所以我们只展示图书管理模块和读者管理模块的流程图,首先是创建图书的流程图,首先要按照提示对各个数据进行输入,系统判断,输入是否合法,如果不合法,不显示信息且不录入数据库,反之,录入数据库,流程图如下:图3-2 创建图书处理流程图借阅功能,输入图书编号,确定是否借阅。不借阅则返回,借阅则继续。流程图如下:图3-3图书借阅处理流程图退还功能,输入图书编号,确定是否退还,退还则继续,不退还则返回,流程图如下:图3-4 图书退还处理流程图读者的管理主要分为增,删,改,查四个部分,以图书证号为凭据,添加读者流程图:图3-5 创建读者处理流程图修改读者信息,确定是否要修改读者信息,

7、确定则继续,不确定则返回,流程图如下:图3-6 修改读者信息的处理流程图删除读者信息流程图:确定要删除的读者信息,开始输入,确定是否要删除读者信息。图如下:图3-7 删除读者信息的处理流程图3.3、数据库设计药品管理系统主要涉及到几个表,即:管理员信息表,管理日志表,图书表,读者表,借阅表。管理员信息表,设置了用户名,密码二个列,管理员信息表设计如下表:表3-1 管理员信息表字段名称数据类型长 度备 注用户名文 本10密 码文 本15管理日志表中记录借还书日志,用于存下所有对图书操作的记录,以便以后可以翻阅和查找。表3-2 管理日志表字段名称数据类型长 度备 注书号文 本10书名文 本15作者

8、文 本15出版社文 本15入库时间DATE15已付款额文 本10图书表中记录了库内所有图书的所有资料,书名、书号、作者、出版社等信息,如下图表3-3 图书表字段名称数据类型长 度备 注书号文 本10书名文 本15作者文 本15出版社文 本15入库时间DATE15是否借出文 本10价格文 本10表中记录库中所有读者的相关信息,如图书证号、姓名、性别、系别、班级这五项。表3-4 读者表字段名称数据类型长 度备 注图书证号文 本10姓名文 本15性别文 本15系别文 本15班级文 本15表内记录了此时图书的借阅情况,有图书证号、书号、借阅日期、应还日期。四、调试运行及结果分析图书管理系统管理员模块是

9、整个系统最主要的部分,管理员可以通过此模块实现进入其余各个模块如管理日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、借阅书籍、归还书籍、借阅超时及退出的功能。图书管理系统管理员界面如图4-1所示。图4-1图书管理系统管理员界面管理日志模块通过定义类WinTable继承顶层容器JFrame,再添加普通容器 JScrollPane、Jpanel,然后通过BorderLayout布局创建界面,最后主要通过数组利用while循环在连接好的数据库中查找表Admirz中的内容,从而实现了可以清楚的显示出书籍借阅与归还信息的功能。管理日志界面如图4-2所示。图4-2

10、管理日志界面图书入库模块主要完成的功能是往数据库book表中添加新书的记录,在book表中可查看最新的记录。在新书信息输入的过程中,会出现一些异常处理,如某个字段的信息没有填写;新书信息输入字段的过程中,输入的字段类型与给定的字段类型与输入不匹配(如:货币、日期);输入的信息长度超过给定的字段长度等。如果填写的内容正确则可以成功将新书添加入库。图4-3图书入库界面查询功能统包含两项一是检索项令一个是检索词,在检索项中用户可以根据自己的需求来选择所要查询的项目并在检索词中添写自己所要查询的内容。本系统副带四个按钮:确定、取消、查看全库。图4-4图书查询界面在该系统中为了用户使用方便还设有查看全库

11、一项,用户可以通过这一功能来查看全库的图书,所查询的内容将在下方的文本区中显示。图4-5图书查询界面五、测试及问题探讨5.1系统测试分析软件测试的本质是针对要测试的内容确定一组测试用例。在讨论之前,我先把要测试各个模块的计划和要点列出:1、借阅书籍功能, 输入图书编号错误,按回车键则会弹出图书编号错误对话框, 点击借阅按钮则会弹出图书借阅成功对话框.2、归还书籍功能,归还书籍时确定书名书号符合不符合。点击还书按钮会弹出归还成功对话框。归还书籍功能3、借阅超时功能,数据库borrowbook(借书表)表中的“应还日期”字段中的时间与当前时间相比较,若比当前时间早则说明该书借阅超时,那么该条记录将

12、在此被显示出来。下面是测试的几种情况,首先是借阅书籍功能的测试,输入图书证号“0001”后点击查看按钮,可显示该读者信息,若输入图书证号错误,点击查看按钮则会弹出借书证错误对话框。输入图书编号“0000003”按回车键,可显示该图书信息,若输入图书编号错误,按回车键则会弹出图书编号错误对话框所示。点击借阅按钮则会弹出图书借阅成功对话框。借阅书籍功能的具体实现。 图5-1借书证、图书编号错误图图5-2借阅书籍图归还书籍功能,输入图书编号“0000003”点击回车键,则该界面右侧会显示借书者的信息,若图书编号错误则会弹出图书编号错告对话框。点击还书按钮会弹出归还成功对话框。归还书籍功能的具体实现。

13、图5-3图书名字错误图5-4归还图书借阅超时功能数据库borrowbook(借书表)表中的“应还日期”字段中的时间与当前时间相比较,若比当前时间早则说明该书借阅超时,那么该条记录将在此被显示出来。借阅超时功能具体实现。图5-5过期图书信息图5.2问题探讨连接数据库是思路不够清晰,导致连接数据库出现问题,在初期的开发过程中,这样的问题困扰我很久,后来查询资料发现数据库的连接和对应数据的操作是有一定的思路的,需要打开,操作,然后关闭。在有思路的情况下,后面的编写工作也变得相对比较容易了。由此发现,编写代码时,思路很重要,没有思路,整个系统开发会相当费时费力。在程序中我主要用了awt包和swing包

14、,界面排版主要用轻量级容器box来实现,页面位置、大小是通过设置setbounds来控制的。我不但成功的连接了数据库,也成功实现了很多功能:在管理员方面实现了管理员登陆、管理日志、管理员添加、管理员切换四个功能,在读者管理方面实现了读者添加、读者修改、读者查询、读者删除四个功能,在书籍管理方面实现了新书入库、书籍查询两个功能,在书籍借阅与归还方面实现了借阅书籍、归还书籍两个功能,在借阅超时方面也成功实现了此功能。在众多功能中刚开始时借阅书籍方面出了问题,但最后在我认真思考、仔细研究下终于改正了错误,使此功能终于可以正常使用了。六、课设总结与体会这次的课程设计可以看作是一次理论与实践相结合的桥梁

15、,通过这次的课程设计,我学习到了许多的知识,也认识到了自己目前的不足,那就是缺乏相应的知识与经验,所以在运用和操作方面都不是那么的得心应手。但是,经过这段时间对相关书籍的阅读和分析,我组顺利的完成了设计,我还明白了在编写程序的时候,应该尽量使界面简洁大方,布局统一。变量类型的定义,一定要够用就好,这样程序就可以尽可能的减少对系统资源的占用。在设计时也免不了存在着一些不足,所以在今后的学习中我会努力取得更大的进步,对于我不足的地方希望老师能够及时给予批评,以便我在今后的学习或工作中能够及时的改正。总之,这次课程设计为我提供了与众不同的学习方法,在书本中面对现实,为我将来在社会上立足提供了良好的前

16、提。在这次课程设计中我通过努力完成了任务,学习到了很多知识。虽然只是短短的几天时间,可是在这几天我把课堂里老师讲的知识用到实践中去了,感到非常高兴。在这次课设中我不仅学到了知识,还锻练了自己动手去做一些东西的能力,在这次课设中我真正体会到了动手实践的重要性,这对我以后的工作有很大的帮助。七、致谢课程设计虽然结束了,但我感觉要想把课程设计做好,那必须把基础知识学透彻,当然更离不开老师的指导,因为老师的教导是做有用的。人生有数,学无止境,学习生活是无穷尽的,只有掌握更多的、更新的知识才能使自己始终立于不败之地。如果只为现在所取得的成绩而沉浸于喜悦、骄傲之中的话,那么,我想我不会前进,只能停留在原来

17、的地方,甚至还会倒退。所以我应该从这几天的课程设计中所暴露出的问题入手,不断完善自己的欠缺和不足。相信此次课程设计为我以后继续从事计算机工作打下了扎实的基础,也明确了以后的学习方向。虽然这几天的时间很短暂,但是我相信在这次课程设计中学到的东西会是我永远的珍藏。最后再次感谢在课程设计过程中给予我帮助的老师和同学们,他们的帮助不仅使我开阔了视野,拓宽了思路,增长了学识,为我今后的工作和学习打下了牢固的基础,也使我增强了对系统开发的兴趣,特别是Java语言的系统开发。在这里再一次表示衷心的感谢。八、参考文献1 耿祥义.JAVA2 实用教程.北京:清华大学出版社,20062 朱仲杰.JAVA2 全方位

18、学习.北京:机械工业出版社,20063 张思民.JAVA程序设计实践教程.北京:清华大学出版社,20064 汤一平.Java 语言程序设计.北京:科学出版社,20065 刘艺.Java 程序设计大学教程. 北京:机械工业出版社,20066 耿祥义.Java课程设计.北京:清华大学出版社,20037 Sharon Zakhour. Java教程. 北京:人民邮电出版社,2007九、附录主要程序代码如下: public void actionPerformed(ActionEvent e) if(e.getSource()=itemAdmiqh) this.dispose(); In winin=

19、new In(系统登陆); if(e.getSource()=itemtc) System.exit(0); if(e.getSource()=itemAdmixj) CreatAdmi creatAdmi=new CreatAdmi(管理员添加); if(e.getSource()=itemAdmirz) WinTable wintable=new WinTable(管理日志); if(e.getSource()=itemBookrk) AddInfy addInfy=new AddInfy(); if(e.getSource()=itemPersonlr) Winpersonadd win

20、person=new Winpersonadd(读者添加); if(e.getSource()=itemPersoncx) Winpersonsearch winperson=new Winpersonsearch(读者信息查询); if(e.getSource()=itemPersonxg) Winpersonmodify winperson=new Winpersonmodify(读者信息修改); if(e.getSource()=itemPersonsc) Winpersondelete winperson=new Winpersondelete(读者删除); if(e.getSourc

21、e()=itemBookcx) Windowjj ok=new Windowjj(); if(e.getSource()=itemchaoshi) day win=new day(); if(e.getSource()=itemBorrowjs) Borrowbook win=new Borrowbook(); if(e.getSource()=itemBorrowhs) Returnbook win=new Returnbook(); WinTable(String s) super(s); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); c

22、atch(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(jdbc:odbc:sun

23、,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); else aij=rs.getDouble(j+1); i+; con.close(); catch(SQLException e) System.out.println(+e); table=new JTable(a,name); Container con=getCont

24、entPane(); getContentPane().add(new JScrollPane(table),BorderLayout.CENTER); setBounds(120,125,700,500); setVisible(true); validate(); addWindowListener(new DisposeListener(); public void actionPerformed(ActionEvent c) String b=textUser.getText(); String d=textPassword1.getText(); String g=textPassw

25、ord2.getText(); if(c.getSource()=buttonqk) textUser.setText(null); textPassword1.setText(null); textPassword2.setText(null); if(c.getSource()=buttonEnter|c.getSource()=textPassword2) if(b.length()10) JOptionPane.showMessageDialog(null,用户名应在310个字符之间); textUser.setText(null); else try Class.forName(su

26、n.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(SELECT * FROM Admi WHERE 用户名=+b+); if(rs.next() String user=rs.getString(1); if(b.equals(user) JOptionPane.s

27、howMessageDialog(null,此管理员已被注册,警告,JOptionPane.WARNING_MESSAGE); else if(d.equals(g) sql.executeUpdate(INSERTINTOAdmi VALUES+(+b+,+d+); this.dispose(); JOptionPane.showMessageDialog(null,管理员注册成功); else JOptionPane.showMessageDialog(null,两次输入密码不一致,警告,JOptionPane.ERROR_MESSAGE); con.close(); catch(SQLE

28、xception e) System.out.println(+e); public void actionPerformed(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.getT

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

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