爱问 爱问共享资料 爱问分类
首页 > > > 基于JAVA的学校图书馆管理系统的设计与实现.doc

基于JAVA的学校图书馆管理系统的设计与实现.doc

基于JAVA的学校图书馆管理系统的设计与实现.doc

上传者: 73980886
25次下载 0人收藏 暂无简介 简介 2012-05-09 举报

简介:基于JAVA的图书管理系统

基于JAVA的学校图书馆管理系统的设计与实现学校代码:10410序号:20051174本科毕业论文题目:基于JAVA的学校图书馆管理系统的设计与实现学院:计算机与信息工程学院姓名:陈操学号:20051174专业:计算机科学与技术年级:计科051班指导教师:胡亚平老师二00九年五月摘要随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。目前学校图书馆的借阅工作部分还是手工管理,工作效率很低,并且不能及时了解图书的种类和学生们比较需求的图书等,不能更好的适应当前学生的借阅要求。手工管理还存在这许多弊端,由于不可避免的人为因素,造成数据的遗漏、误报。计算机信息化管理有着储存量大,速度快等许多优点,提供给我们的处理信息及时快捷,因此我们利用计算机提供给我们的信息对学生们的借阅过程形成一整套动态的管理。本系统将会涉及到图书馆日常管理工作的基本常见细节,诸如新图书的入库登记,图书馆所有书籍的分类管理,图书的查询,图书的借阅、退还手续的登记,费旧图书的清理撤除等,本系统所要实现的这些功能基本上涵盖了图书馆的日常管理工作,基本能够满足校园图书馆的工作人员的管理需要。在对本系统的具体开发过程当中,将采用Java语言进行开发,以Access实现后台数据库,本系统是完全基于图形化用户界面(GUI)的单机版本。【关键字】信息化软件工程软件生命周期图形化用户界面AbstractThefullnameofourSystemis:TheManagementInformationSystemofCampus’sLibrary.Atpresent,thecomputertechnologyisdevelopingever-growing,andthecampus’sinformationconstructionalsohavepushingon,bycontrast,themethodofmanagementinmanyuniversitylibraryisstillbyman,thelibrary’workersmustfacetothelargenumberofbooks,andalsofacetofallintothetrouble.Actually,theworkcanbedonebythecomputerwhichhaveamanagementinformationsystem.Thentheheavyworkwillnotbedonebypeople,thelibrary’workerscanusecomputertomanagethebooks,andtheeverydayworkwillbeeasy.Thisisthegoalwhichoursystemwanttoachievefinally.TheprincipleofdevelopmenttooursystemwillbefollowingwithSoftwareEngineering,weusethetraditionalmodelwhichbecalledWaterfall,andthecourseofdevelopmentwillbedividedintosixstage.Wewilldevelopthesysteminsequence.Oursystemcontainsmanyoperationsaboutlibrary’severydaywork,suchasRegisterNewBooks,ClassifyBooksaccordingtotheirsubjects,FindBooks,Disposeoldbooks,andsoon,oursystemcanfinishallofthework,andcanmeettherequirementsofthelibrary’sworkers.Duringthedevelopmentofoursystem,weusethetoolofJAVAtodevelopit,oursystemisonthebasisoftheAccessDatabase.【KeyWords】ManagementInformationSystem,SoftwareEngineering,Ja目录1一引论1(一)问题的定义2(二)可行性分析2(1)技术可行性3(2)经济可行性3二需求分析3数据库需求分析4(1)数据流图5(2)数据库逻辑结构设计6(3)数据库概念结构设计7三系统设计7(一)总体设计8(二)详细设计8(1)各个模块的介绍9(2)流程图10(3)数据字典11(4)代码实现21四总结22五致谢23六参考文献一引论(一)问题的定义首先,图书馆的管理直接关系到我们大学生如何更好的使用图书,更充分的利用现有资源学习,提高自身素质。针对当今的大学图书馆藏书越来越多,学生借书越来越频繁,图书管理较为繁琐,图书馆管理工作人员付出的工作时间越来越多,得到的效率却很低这个现状。为提高工作效率,减轻图书馆工作人员的工作负担,决定开发学校图书馆管理系统软件,以帮助更好的实现图书馆的管理,让我们能更便捷的借阅图书,让老师能花最少的时间办理好借阅图书手续。开发此图书馆管理系统软件,以供图书馆工作人员管理使用及学生和老师查询或者借书使用,方便操作者随时添加、查询、修改等。为了我们提高软件开发的能力,学习JAVA编程的技巧,提高工作设计思想,通过本次的软件工程开发,开发人员与指导老师,能从中学习知识吸取经验,在技术和软件思想上同时得到锻炼和提高,从而使总体水升到一个新的高度。开发此图书馆管理系统软件,也是对实现数字化图书馆管理的支持,现今各大学普遍存在着一个现象,图书的借阅手续都是由专门的老师来实现办理的,每当借阅高峰期时,排队借书的场面屡见不鲜,这样即耗费时间又使原本不太大的借书大厅拥挤不堪。图书馆管理系统的实现,可以着眼于数字化借阅,简化学生图书查询流程,简化图书外借登记手续,即提高借阅效率又可实现图书借阅的完整进出记录,保证图书的合理使用,让广大师生受益。(二)可行性分析(1)技术可行性图书借阅系统的建立,需要进行用户需求调查与分析,以确定系统目标,提出解决问题的详细方案,这是系统建设的重要环节。要想使学生能够有效的借阅,功能上对系统的要求是全面的。因此对用户的需求可分为三个方面:一方面是图书管理人员对需要进行图书借阅的同学进行信息注册,获得借书证;二方面是学生通过计算机进行图书浏览;三方面是学生通过计算机进行图书借阅。这三个方面形成了图书借阅的一个工作整体,利用计算机的自动化处理,可方便快捷地共享信息、交流信息,高效地协同工作。在软硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的进行图书借阅信息管理。硬件的配置要求不能太高,这样可以很好的适应当前的学校图书馆的借阅。图书馆长期的人工管理工作所投入的人力物力财力是相当之多的,本系统的建设成功,将在这几个方面大大节省资源,更重要的是,系统带来的轻松、便捷,使图书馆的日常管理工作不再那么烦琐。从个人价值上看,本系统的开发成功亦是对本人长期学习成果的一种检验和一次实践,在个人能力水平上得到了很好的锻炼和提高,其价值也是明显的。由于本系统管理的对象单一,都是校图书馆里的书,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于图书馆管理的都是个人计算机,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。本系统的设计是在WindowsXP中文版操作系统环境下,使用Java中文版开发成功的。数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统所使用的后台数据库是Access数据库。本系统选用的开发语言介绍如下:选择了美国SUN公司推出的Java开发工具。Java是第一个全面支持面向对象程序设计的数据库语言工具。Java的主要特点有:1、语言是简单的、小型的、结构中性的2、强大的数据库开发功能3、扩大了对SQL语言的支持4、是面向对象的、高性能的、多线程的5、是分布式的、面向网络6、具有平台无关性7、语言具有可移植性、是动态的(2)经济可行性此系统是由在校大学生开发的学校图书馆管理信息系统。此系统在开发方式上对系统的需求,由于学校图书馆的借阅是一种无商业利益的,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用是作为系统开发的指导思想。本系统完全能够在校园图书馆管理工作中发挥重要作用,而作为个人,能在软件开发能力方面得到锻炼和提高也是十分重要的,本系统在此不注重任何社会经济目标。二需求分析设计数据库系统时,应该充分了解用户各方面需求,包括现有的以及将来可能增加的需求,数据库设计一般包括以下几个步骤:1、数据库需求分析2、数据库概念结构设计3、数据库逻辑结构设计数据库需求分析用户的需求具体体现在各种信息的提供,保存,更新和查询。这就要求数据库的结构能充分满足各种信息的输入和输出。在仔细分析调查有关图书馆管理信息需求的基础上设计出如图所示的数据流程。(1)数据流图(1)、顶层数据流图图3-1数据流图(2)、0层数据流图图3-2数据流图针对图书馆管理系统的需求,通过对图书馆管理工作过程的内容和数据流程分析,设计出如下的数据项、图书入库信息,包括数据项有:图书编号、书名、图书类别、出版日期、出版社名称、作者、定价、入库总数。学生信息,包括数据项有:学生学号、姓名、性别、系别、班级、图书查询信息,包括数据项有:图书编号、书名、图书类别、出版日期、出版社名称、作者、定价、入库总数。、借书信息,包括数据项有:图书编号、书名、学生学号、姓名、系别、班级、是否归还。(2)数据库逻辑结构设计图书馆管理系统中数据库的各个表格设计结果如下:(1)、图书入库信息表列名数据类型说明BookNoChar图书编号BookNameText书名BookClassText图书类别BookPubText出版社AuthorText作者BookTotalInt入库总数PriceCurrency图书定价IsorinBoolean是否在书库中的标志BookbirthDate图书入库的日期BookdemoText图书的简单介绍表3-1图书入库信息表(2)、学生信息表列名数据类型说明StuNOInt学生的学号,唯一StuNaneChar学生姓名StuSexBoolean性别StuSpecialText学生系别StuClassChar学生所在班级表3-2学生信息表(3)、用户信息表列名数据类型说明UserNameChar用户姓名PasswordChar用户密码UserTypeChar用户类型表3-3用户信息表(4)、图书信息表列名数据类型说明BookNOInt图书编号BookNameText图书名称BookTotalInt剩余库存量BookDateDate借书日期ReaderNoInt图书证号码表3-4图书信息表(3)数据库概念结构设计得到上面的数据项就能够设计出以下各种实体以及它们的关系。设计规划出的实体有:图书信息实体、学生信息实体、管理员信息实体。E-R图如下:图3-3E-R图三系统设计(一)总体设计本课题设计在充分进行用户需求分析的基础上把系统划分为九个子模块:用户登陆、学生注册、图书入库、图书查询、图书删除、图书借阅、办理登记、借书证注销、用户退出。这九个模块之间,紧密结合,共享信息资源,形成一种完美的学校图书馆借阅管理的解决方案。如图4-1图4-1系统功能结构图(二)详细设计(1)各个模块的介绍1、学生注册:工作人员通过本系统对学生进行信息注册,发放借书证;2、用户登陆:工作人员用管理员用户登陆,学生用普通用户登陆;3、图书入库:工作人员通过本系统输入图书信息;4、图书删除:工作人员通过此模块删除无用的图书信息;5、图书查询:学生们通过此模块来查询自己所需要的图书;6、读者借书:学生通过此模块来完成借阅图书;7、读者还书:学生通过此模块来完成退还图书;8、办理登记:图书管理人员通过此模块来完成借书证办理;9、借书证注销:图书管理人员通过此模块来完成借书证注销;10、用户退出:退出此系统。(2)流程图                图5-1系统流程图(3)数据字典(1)、名字:注册信息别名:描述:定义:注册信息=学生学号+{系+级+班+姓名}位置:学生信息表(2)、名字:图书别名:图书信息描述:标识图书的一些相关信息定义:图书信息=书名+作者+出版社名+出版日期+图书编号+图书类别+入库总数+定价位置:图书信息表(3)、名字:入库总数别名:描述:图书管所买进图书的总数定义:入库总数=1{数字}100位置:图书信息表(4)、名字:剩余库存量别名:描述:在书被借出时,图书库里所剩的图书总数定义:剩余库存量=1{数字}100位置:图书信息表(5)、名字:图书证号码别名:借书证编号描述:唯一标识借书证的关键字定义:图书证号码=1{数字}8位置:图书信息表(6)、名字:用户姓名别名:用户名描述:用户的登录名定义:用户姓名=字母字符+字母数字串位置:用户信息表(7)、名字:图书编号别名:ISBN描述:图书的条形码定义:图书编号=字符串+字母数字串字母数字串=0{字母或数字}9位置:图书信息表(8)、名字:学生的学号别名:学号描述:唯一标识学生的关键字定义:学生的学号=1{数字}8位置:学生信息表(4)代码实现1、系统默认界面2、系统登陆界面部分代码如下:publicLogin(){JLabell1=newJLabel("用户名:");JLabell2=newJLabel("密码:");JLabell3=newJLabel("请选择用户类型:");JButtonb1=newJButton("确定");JButtonb2=newJButton("取消");JButtonb3=newJButton("新用户注册");t1.setText("");t1.setEditable(false);t2.setEditable(false);t2.setText("");t2.setEchoChar('*');ch.add("----------");ch.add("系统管理员");ch.add("普通用户");JPanelp=newJPanel(newBorderLayout());JPanelg=newJPanel(newGridLayout(4,1));JPanelj=newJPanel(newFlowLayout());j.add(b1);j.add(b2);j.add(b3);p.add(j,BorderLayout.SOUTH);3、登陆后的界面4、图书录入界面部分代码:publicInputBook(){JLabell1=newJLabel("图书编号:");JLabell2=newJLabel("图书名称:");JLabell3=newJLabel("图书类别:");JLabell4=newJLabel("图书出版日期:");JLabell5=newJLabel("出版社名称:");JLabell6=newJLabel("图书入库总数:");JButtonb1=newJButton("入库登记");JButtonb2=newJButton("重置");ch.add("----------");ch.add("计算机类");ch.add("医学类");ch.add("农业类");ch.add("文学类");ch.add("工程类");Containerc=f.getContentPane();c.setLayout(newBorderLayout());JPanelp=newJPanel(newBorderLayout());JPanelg=newJPanel(newGridLayout(7,1));JPanelj=newJPanel(newFlowLayout());5、图书查询界面部分代码:try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptione){System.out.println("SQLException:"+e.getMessage());}try{Connectionconn=DriverManager.getConnection("jdbc:odbc:Library");Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery("select*frombook");while(rs.next()){if(t1.getText().equals(rs.getString("BookNo"))){t2.setText(rs.getString("BookName"));t3.setText(rs.getString("BookBirth"));t4.setText(rs.getString("BookTotal"));t5.setText("");}elseif(t1.getText().equals("")){JOptionPane.showMessageDialog(null,"请输入您要查找的图书!","警告",JOptionPane.WARNING_MESSAGE);break;}}rs.close();stmt.close();conn.close();}catch(SQLExceptionex){JOptionPane.showMessageDialog(null,ex.getMessage(),"警告",JOptionPane.WARNING_MESSAGE);}6、图书删除界面部分代码://删除图书按钮事件bt2.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventE){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptione){System.out.println("SQLException:"+e.getMessage());}try{if(t1.getText().equals("")){JOptionPane.showMessageDialog(null,"删除失败!请输入您要删除的图书","提示信息",JOptionPane.INFORMATION_MESSAGE);}else{Connectionconn=DriverManager.getConnection("jdbc:odbc:Library");Statementstmt=conn.createStatement();if(JOptionPane.showConfirmDialog(null,"单击'是'删除该记录,单击'否'取消该操作!","警告",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE)==JOptionPane.YES_OPTION){Stringsql="deletefrombookwhereBookNo='"+t1.getText()+"'";stmt.executeUpdate(sql);JOptionPane.showMessageDialog(null,"该条记录已被删除成功!","提示信息",JOptionPane.INFORMATION_MESSAGE);stmt.close();conn.close();7、办理图书证界面部分代码://登记按钮事件b1.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptionex){System.out.println("SQLException:"+ex.getMessage());}try{if(t1.getText().equals("")||t2.getText().equals("")||t4.getText().equals("")||t5.getText().equals("")||t6.getText().equals("")){JOptionPane.showMessageDialog(null,"请输完该学生的完整信息!","警告",JOptionPane.WARNING_MESSAGE);}else{Connectionconn=DriverManager.getConnection("jdbc:odbc:Library");Statementstmt=conn.createStatement();Stringsqlstr="insertintostudentvalues('"+t1.getText()+"','"+t2.getText()+"','"+gettext()+"','"+t4.getText()+"','"+t5.getText()+"','"+t6.getText()+"')";stmt.executeUpdate(sqlstr);stmt.close();conn.close();JOptionPane.showMessageDialog(null,"注册登记办理成功!","提示信息",JOptionPane.INFORMATION_MESSAGE);}8、借阅管理界面部分代码:publicReadBook(){JLabell1=newJLabel("请输入借阅图书的学生学号:");JLabell2=newJLabel("请输入退还图书的学生学号:");JButtonb1=newJButton("借书");JButtonb2=newJButton("还书");Containerc=f.getContentPane();c.setLayout(newBorderLayout());JPanelp=newJPanel(newBorderLayout());JPanelg=newJPanel(newGridLayout(2,1));JPanelp1=newJPanel(newFlowLayout());JPanelp2=newJPanel(newFlowLayout());9、借阅管理界面部分代码:bt.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventE){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptione){System.out.println("SQLException:"+e.getMessage());}try{if(t.getText().equals("")){JOptionPane.showMessageDialog(null,"删除失败!请输入您要注销的学生学号!","提示信息",JOptionPane.INFORMATION_MESSAGE);}else{Connectionconn=DriverManager.getConnection("jdbc:odbc:Library");Statementstmt=conn.createStatement();if(JOptionPane.showConfirmDialog(null,"单击'是'注销该记录,单击'否'取消该操作!","警告",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE)==JOptionPane.YES_OPTION){Stringsql="deletefromstudentwhereStuNo='"+t.getText()+"'";stmt.executeUpdate(sql);JOptionPane.showMessageDialog(null,"该学生的借阅证注销成功!","提示信息",JOptionPane.INFORMATION_MESSAGE);f.setVisible(false);stmt.close();conn.close();10、菜单界面10、制作人信息界面部分代码:JLabell=newJLabel("欢迎使用校园图书馆管理系统",JLabel.CENTER);l.setForeground(Color.red);l.setFont(newFont("华文彩云",Font.PLAIN,30));JLabell1=newJLabel("制作人:陈操",JLabel.CENTER);JLabell2=newJLabel("计算机与信息工程学院计科051班",JLabel.CENTER);JLabell3=newJLabel("E-Mail:caochongcc@163.com",JLabel.CENTER);l1.setForeground(Color.white);l1.setFont(newFont("宋体",Font.BOLD,30));l2.setForeground(Color.white);l2.setFont(newFont("宋体",Font.BOLD,30));l3.setForeground(Color.white);l3.setFont(newFont("宋体",Font.BOLD,30));JPanelg=newJPanel(newGridLayout(3,1));JPanelp=newJPanel(newBorderLayout());四总结在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对校园图书馆管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。相信本图书馆管理信息系统是一套学校图书馆在日常管理中必不可少的管理软件,通过开发这个系统,我掌握了的项目开发过程,进一步熟练了专业基本知识,巩固了我对Java和Access的掌握毕业。设计中的最大收获并不是掌握开发工具的应用,而是学会了设计系统的思维方法。五致谢一个多月的毕业设计已经结束了。无论我的设计是否能够真的投入使用,这里面每一个控件的绘制,每一行语句的调试,每一段文本的输入之中都有我辛勤的汗水。一个多月的设计时间虽然短暂,我却从中学到了很多的东西。在这段时间里,我得到了指导老师胡亚平老师以及其他很多老师的关心、帮助以及大力支持,较顺利的完成了设计任务。在设计过程中,我结合了过去四年学习过的基础和专业课理论,较好的解决了工程实际问题,为今后走向工作岗位打下了坚实的基础,所以我也要感谢四年以来教过我课程、给了我很多帮助的老师们。在这,特别向我的指导老师胡亚平老师以及在毕业设计过程中给予我很大帮助的老师们表示衷心的感谢,谢谢!六参考文献[1]朱喜福林建民唐永新《JAVA程序设计》人民邮电出版社[2]周佩德《数据库原理及应用》电子工业出版社[3]张海藩《软件工程》清华大学出版社第四版借书证注销办理登记图书删除图书查询图书入库当前日期性别还书库可还书毕业生借书证注销借书证有效办理借书证无效学生借书证图书名/号图书名/号还书图书名/号图书名/号有效可借书借书证学生信息是否有效将借书证设置为借书状态借书库start学生注册填写注册表学生库发放借书证图书信息录入end正常借书,并将借书证设置为借书状态Y学生库N此书是否存在输入图书名/号图书名/号学生注册图书库图书入库Y还书借书借书证N图书信息管理注册信息借书图书名/号图书库图书名/号查询读者还书用户注册用户退出用户登陆图书借阅图书馆管理信息系统编号姓名管理员办理图书编号图书类别定价出版日期出版社名称作者入库总数书名图书借性别班级系别学生学号姓名学生PAGE_1302722819.psd_1302722119.psd

基于JAVA的学校图书馆管理系统的设计与实现.doc

基于JAVA的学校图书馆管理系统的设计与实现.doc

上传者: 73980886
25次下载 0人收藏 暂无简介 简介 2012-05-09 举报

简介:基于JAVA的图书管理系统

基于JAVA的学校图书馆管理系统的设计与实现 学校代码: 10410 序号: 20051174 本科毕业论文 题目: 基于 JAVA 的学校图书馆管理系统的设计与实现 学院: 计算机与信息工程学院 姓名: 陈操 学号:20051174 专业:计算机科学与技术 年级:计科051班 指导教师:胡亚平老师 00 九年五月

第1页

  • 相关资料
  • 该用户的其他资料
  • 名称/格式
  • 下载次数
  • 资料大小
  • 名称/格式
  • 下载次数
  • 资料大小

空空如也,TA还未上传其他资料~ ~

用户评论

0/200
暂无评论
上传我的资料

资料阅读排行

关闭

请选择举报的类型

关闭

提示

提交成功!

感谢您对爱问共享资料的支持,我们将尽快核实并处理您的举报信息。

关闭

提示

提交失败!

您的举报信息提交失败,请重试!

关闭

提示

重复举报!

亲爱的用户!感觉您对爱问共享资料的支持,请勿重复举报噢!

全屏 缩小 放大
收藏
资料评价:

/ 26
所需积分:1 立即下载
返回
顶部
举报
资料
关闭

温馨提示

感谢您对爱问共享资料的支持,精彩活动将尽快为您呈现,敬请期待!