图书管理系统设计与实现图书管理与读者管理.doc

上传人:叶*** 文档编号:35010421 上传时间:2022-08-19 格式:DOC 页数:14 大小:47.50KB
返回 下载 相关 举报
图书管理系统设计与实现图书管理与读者管理.doc_第1页
第1页 / 共14页
图书管理系统设计与实现图书管理与读者管理.doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《图书管理系统设计与实现图书管理与读者管理.doc》由会员分享,可在线阅读,更多相关《图书管理系统设计与实现图书管理与读者管理.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、图书管理系统设计与实现图书管理与读者管理 摘 要:随着科学技术的进步,信息管理系统彻底改变了很多的经营管理模式,图书管理是每个高校都必须面对的工作,一直以来,人们使用传统的人工方式管理图书资料及其借阅。这种方式存在着许多缺点,如效率低、保密性差且繁琐。因此,开发图书管理系统是一个亟待解决的问题。本文从系统的总体架构、数据库设计、详细设计等思路出发,进行了总体设计、详细设计。 关键词:图书;读者;管理系统;数据库Abstract:With the development of scientific technology, information management system complet

2、ely changed a lot of business management mode, the books management is each university must face work, people have always been used the traditional manual mode and its borrowing books data management. This way has many shortcomings, such as low efficiency, secrecy bad and red tape. Therefore, the de

3、velopment books management system management system is a problem to be solved. This paper from the system of general framework, database design, detailed design viewpoint, the overall design, detailed design.Keywords:Book;Reader;Management System;Database1 前言1.1 系统开发目的图书管理系统主要目的是对图书馆种类繁多的书籍进行管理,并且合理

4、管理好用户的借还信息。提高图书馆的工作效率,降低管理成本。其开发主要包括后台数据库的建立和维护,以及前端应用程序的开发。前者要求建立起数据一致性各完整性强、数据安全性好的数据库。而后者则要求应用程序具有功能完备、易用等特点。因此本系统结合开放式图书馆的要求,采用java swing技术和SQL SERVER 2005数据库进行系统的开发。1.2 图书管理系统现状1.2.1 信息资源收集的现代化现代社会信息资源丰富,信息污染也很严重,给图书馆信息资源的收集带来了极大麻烦。传统图书馆时期,由于各种信息资源极大部分由正规渠道获得,经过图书期刊编辑人员的认真校对,信息质量相对可靠。而现代化信息的载体以

5、及出版发行方式发生了很大变化,各种光盘、印刷品、网上信息、声像读物等良莠不齐。这就要求图书馆采编人员掌握多方面的信息源,运用现代化的各种手段,对各种信息做出尽可能正确的判断。1.2.2 图书馆服务的现代化服务是图书馆的生命。图书馆所做的一切工作,只有一个目的,就是做好图书馆的读者服务工作。服务的现代化包括两个方面,一是图书馆工作人员服务的现代化,二是服务手段的现代化。总之,我们通过对图书管理系统的分析,对管理系统在其他情况下的应用,有了一个基础性的了解与掌握。同时,对热门图书的科学管理,进一步提高其利用率,不断满足读者日益旺盛的阅读需要,有着十分积极的现实意义。2 系统分析2.1 系统开发目标

6、该系统主要建立一个基于java的图书馆借阅管理系统,面对当起很多小型图书管理仍是人工管理带来的检索速度慢,效率低。借阅归还图书量大,图书统计工作量大,藏书不能完成及时更新的问题,该系统可以对跟系统的三个用户类型的使用实现。2.2 可行性研究2.2.1 技术可行性技术可行性包括以下几个方面:硬件,系统软件,应用软件,技术人员。针对这四个方面可行性都是没有问题的,本系统采用java编程语言加SQLSrver2005数据库。目前,数据库产品较多,每种产品都具有各自的特点和适用的范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围选择最合适的。 Java 编程语言的风格十分接近C、C+语言。J

7、ava是一个纯的面向对象的程序设计语言,它继承了 C+ 语言面向对象技术的核心,Java舍弃了C +语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。2.2.2 操作可行性本系统开发的开发宗旨是以便捷为中心。开发后的系统应具有美观、大方、简单、易操作等优点,即使是不懂计算机的人员也可以根据系统提示使用和管理本系统,它的操作简单的特点使本系统在操作上可行。2.3 需求分析2.3.1 功能需求经过以上详细的用户调查,在现行业务流

8、程和数据分析的基础上,基本可以确定系统设计必须达到的目标。 以下是图书管理系统必须具备的功能:1、基础数据维护基础数据维护包括读者信息管理、图书类别管理、图书信息管理及退出系统。各管理功能的明细如下:(1)读者信息管理:包括读者信息添加、读者信息修改与删除。其中,读者信息添加包括读者的姓名,性别,年龄,职业,最大借书量,电话等等。(2)图书类别管理:包括图书类别添加、图收类别修改2部分能。(3)图书信息管理:包括图书信息添加、图书修改。(4)退出系统2、新书订购管理新书订购管理部分包括新书订购、验收新书等操作。各管理部分的明细如下:(1)新书订购:新书订购包括图书信息和订购信息,其中订购信息包

9、括,订购日期、订购数量、是否验收、折扣等。(2)验收新书:主要是对订购的新书进行一个验证与接收。3、借阅管理功能借阅管理部分包括借书管理和还书管理,其功能是实现对各部分数据内容的添加和查询操作。各管理部分的明细如下:(1)图书借阅:包括添加借书信息和查询借书信息两部分功能。其中,借书信息包括借阅编号、读者编号、读者姓名、书籍编号、书籍名称、出借日期和还书日期。(2)图书归还:实现添加还书信息功能。其中,还书信息与借书信息各部分明细相同。(3)图书搜索:实现对图书的搜索功能,以了解图书的各方面的信息。4、系统维护设置操作人员。系统初始设置一个管理员用户名和密码,操作人员可以利用这个超级用户登录,

10、之后,可以设置其他的操作人员名称。2.3.2 数据描述经过详细的调查,我们已经清楚了解了现行的业务流程,接下来给出系统的逻辑模型。构造系统逻辑模型的工具是数据流图和数据字典。根据现行图书管理的业务流程,首先把数据流图中的源点和终点都选定为学生,因此可以得到图书管理系统的基本系统模型,如图2-1所示。图2-1 图书管理系统的基本系统模型根据基本系统模型,对其逐步细化,得到描述逻辑系统细化后的数据流图,如图2-2所示。图2-2 图书管理系统数据流图(顶层DFD图)对顶层DFD图中的一个加工“读者管理”进行展开,如图2-3。图2-3 细化后数据流图对顶层DFD图中的一个加工“图书管理”进行展开,如图

11、2-4。图2-4 “图书管理”展开2.3.3 性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,图书管理系统应该满足以下的性能需求:1、系统处理的准确性和及时性2、系统的开放性和系统的可扩充性4、系统的标准性5、系统的先进性6、系统的响应速度2.3.4 系统出错处理需求在用户输入一些不合法数据的时候,能够进行一些合理的提示信息,不能因为输入错误而导致系统错误,或者程序停止运行;2.4 开发环境及运行环境1、开发环境:操作系统:Windows 7开发工具:myEclipse、JDK1.6数据库系统:Sql Server 20052、运行环境操作系统:Windows 7数据库系统:Sql

12、 Server 20053 总体设计3.1 系统功能结构设计1、业务流程根据需求分析的得到的现行业务处理流程,在用户反复研究后,首先确定目标系统的业务流程,其处理流程如图3.1。图3.1 图书管理系统的业务流程针对新的业务流程,现具体描述其功能如下:(1)操作员登录:系统对操作员合法性进行检查。(2)图书入库:对新购进的图书分类进行编号,并把图书基本信息录入计算机。(3)图书借阅:对已入库的图书,读者可以借阅,并进行登记。(4)图书归还:对读者已归还的图书进行归还登记。 (5)管理措施:定义系统规定的借阅图书超期时间、超期处罚办法和丢失赔偿办法。2、系统功能模块图依据需求分析阶段得到的数据流图

13、,采用软件工程中软件设计的概念和原理,与用户成分协商后,在保证系统基本功能要求的前提下,结合系统新的业务流程确定系统必须具备的所有功能,由此给出图书管理系统的系统功能模块图如图3-2所示。图3-2 系统功能模块图4 详细设计4.1 界面设计4.1.1 界面设计概述界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉快的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户畏惧与放弃中付诸东流。目前界面设

14、计引已起软件设计人员的重视。4.1.2 主界面设计启动程序后自动进入到管理员登入界面,当用户登入成功便跳转到主界面,如图4-1图书管理系统主界面所示:图4-1 图书管理系统主界面4.2 主要功能模块设计4.2.1 读者信息添加模块(1) 功能说明读者界面包括对读者姓名、性别、年龄、职业、有效证件等。主要的功能是对读者信息的一个注册,只有注册的用户才能进行借阅书籍。在进行注册时如果有文本框是空则弹出一个提醒对话框,当读者编码与已有的读者重复时则在点击添加时将没有反映。(2)流程图读者信息添加模块的流程图如图4-1所示:图4-1 读者模块流程图4.2.2 图书类别管理模块(1)功能说明本模块包含图

15、书类别的添加及图书类别的修改。图书类别的添加主要是对图书类别的名称、此种图书可借阅的天数及超期后每天的罚款。图书类别的修改是对图书类别添加时出现错误的修改。(2)流程图图书类别添加流程图如图4-2所示,图书类别修改流程图如图4-3所示。图4-2 图书类别添加流程图图4-3 类别修改的流程图4.2.3 图书信息管理模块(1)功能说明本模块包含二个功能,一个是对图书信息的添加,一个是对添加的图书信息进行修改。图书信息主要包括,图书编号、类别、书名、作者、出版社、译者、出版日期、单价。图书修改功能是对图书添加时出现错误的修改。(2)流程图图书信息添加操作流程图如图4-4所示,图书信息修改流程跟图书信

16、息添加流程类似所以这里不给出。图4-4 图书信息添加操作流程图4.2.4 新书订购管理模块(1)功能说明该功能模块包含二个子功能,分别是新书订购和验收新书。新书订购是对以已经在图书信息里面添加的图书进订购。验收新书是对所新订购的新书进行验书。(2)流程图新书订购操作流程图如图4-5所示,验收新书操作流程比较简单这里就不画流程图。图4-5 新书订购操作流程图4.2.5 图书借阅功能模块(1)功能说明该功能是读者借书的一个功能,在正确填写读者编号、图书编号、以及没有超过读者的借书量才可以借书。(2)流程图图书借阅功能操作流程图如图4-6所示图4-6 图书借阅功能操作流程图4.2.6 图书归还功能模

17、块(1)功能说明该模块的功能主要是借阅者图书的归还、查看是否超期如果超期将计算出超期后的罚款、图书的续借。(2)流程图图书归还操作流程图如图4-7所示图4-7 图书归还操作流程图5 系统实现5.1 关键技术的实现5.1.1 管理员登录模块的实现管理员登录界面如图5-1所示图5-1 管理员登入界面管理员登录对话框登录按钮监听器代码实现如下:class BookLoginAction implements ActionListener public void actionPerformed(final ActionEvent e) user = Dao.check(username.getText

18、(), password.getText();if (user.getName() != null) try Library frame = new Library();frame.setVisible(true);BookLoginIFrame.this.setVisible(false); catch (Exception ex) ex.printStackTrace(); else JOptionPane.showMessageDialog(null, 只有管理员才可以登);username.setText();password.setText();5.1.2 读者信息修改与删除模块的实

19、现读者信息修改与删除界面如图5-2所示图5-2 读者信息修改与删除界面读者信息修改与删除界面中修改与删除按钮的监听器代码实现如下:private final class DelButtonListener implements ActionListener private final DefaultTableModel model;private DelButtonListener(DefaultTableModel model) this.model = model;public void actionPerformed(final ActionEvent e) int i=Dao.DelR

20、eader(ISBN.getText().trim();if(i=1)JOptionPane.showMessageDialog(null, 删除成功);Object results=get(Dao.selectReader();model.setDataVector(results,columnNames);table.setModel(model);class ModiButtonListener implements ActionListener private final DefaultTableModel model;ModiButtonListener(DefaultTableMo

21、del model) this.model = model;public void actionPerformed(final ActionEvent e) if(readername.getText().length()=0)OptionPane.showMessageDialog(null, 读者姓名文本框不可为空);return;if(keepmoney.getText().length()=0)JOptionPane.showMessageDialog(null, 押金文本框不可为空);return;if(tel.getText().length()11|tel.getText().l

22、ength()2|tel.getText().length()0)JOptionPane.showMessageDialog(null, 最大借书量为两位数字);return;String sex=1;if(!JRadioButton1.isSelected()sex=2;String zj=String.valueOf(comboBox.getSelectedIndex();System.out.println(comboBox.getSelectedIndex();int i=Dao.UpdateReader(id, readername.getText().trim(), sex, ag

23、e.getText().trim(), zjnumber.getText().trim(), Date.valueOf(date.getText().trim(), maxnumber.getText().trim(), tel.getText().trim(), Double.valueOf(keepmoney.getText().trim(), zj, zy.getText().trim(), Date.valueOf(bztime.getText().trim(), ISBN.getTexti().trim();System.out.println(i);if(i=1)JOptionPa

24、ne.showMessageDialog(null, 修改成功);Object results=get(Dao.selectReader();model.setDataVector(results,columnNames);table.setModel(model);5.1.3 图书类别添加模块的实现图书类别添加界面如图5-3所示图5-3 图书类别添加图书类别添中保存按钮监听器代码实现如下:button.addActionListener(new ActionListener()public void actionPerformed(final ActionEvent e) if(bookTy

25、peName.getText().length()=0)JOptionPane.showMessageDialog(null, 图书类别文本框不可为空);return;if(days.getText().length()=0)JOptionPane.showMessageDialog(null, 可借天数文本框不可为空);return;if(fakuan.getText().length()=0|fakuan.getText().trim().equals(单位为角)JOptionPane.showMessageDialog(null, 罚款文本框不可为空);return;int i=Dao.

26、InsertBookType(bookTypeName.getText().trim(), days.getText().trim(),Double.valueOf(fakuan.getText().trim()/10);if(i=1)JOptionPane.showMessageDialog(null, 添加成功!);doDefaultCloseAction();5.1.4 图书信息添加模块实现图5-4 图书信息添加添加按钮监听器代码的实现class addBookActionListener implements ActionListener public void actionPerfo

27、rmed(final ActionEvent e) / 订书业务if(ISBN.getText().length()=0)JOptionPane.showMessageDialog(null, 书号文本框不可以为空);return;String ISBNs=ISBN.getText().trim();/分类Object selectedItem = bookType.getSelectedItem();if (selectedItem = null)return;Item item = (Item) selectedItem;String bookTypes=item.getId();Stri

28、ng translators=translator.getText().trim();String bookNames=bookName.getText().trim();String writers=writer.getText().trim();String publishers=publisher.getText().trim();String pubDates=pubDate.getText().trim();String prices=price.getText().trim();int i=Dao.Insertbook(ISBNs,bookTypes, bookNames, wri

29、ters, translators, publishers, java.sql.Date.valueOf(pubDates),Double.parseDouble(prices);if(i=1)JOptionPane.showMessageDialog(null, 添加成功);doDefaultCloseAction();5.1.5 图书借阅模块的实现图书借阅功能界面如图5-5所示图5-5 图书借阅功能图书借阅模块中借出图书按钮监听器代码实现如下class BorrowActionListener implements ActionListener public void actionPerf

30、ormed(final ActionEvent e) String bookISBNs=bookISBN.getText().trim();String readerISBNs=readerISBN.getText().trim();String bookNames=bookName.getText().trim();String operatorId=user.getId();/String num=table.getRowCount()+;String borrowDate=myfmt.format(new java.util.Date();String backDate=myfmt.fo

31、rmat(getBackTime();/System.out.println(borrowDate);/System.out.println(java.sql.Timestamp.valueOf(backDate);if(Dao.checkAndAccept(bookISBNs) int i=Dao.InsertBookBorrow(bookISBNs, readerISBNs, operatorId, java.sql.Timestamp.valueOf(borrowDate), java.sql.Timestamp.valueOf(backDate);if(i=1)JOptionPane.

32、showMessageDialog(null, 图书借阅完成!);doDefaultCloseAction(); else JOptionPane.showMessageDialog(null, 图书没有验收!);doDefaultCloseAction();5.2 数据库连接及操作类的编写数据库连接操作代码如下:protected static String dbClassName = com.microsoft.jdbc.sqlserver.SQLServerDriver;protected static String dbUrl = jdbc:microsoft:sqlserver:/l

33、ocalhost:1433;+ DatabaseName=db_library;SelectMethod=Cursor;protected static String dbUser = li;protected static String dbPwd = 123;protected static String second = null;private static Connection conn = null;private Dao() try if (conn = null) Class.forName(dbClassName).newInstance();conn = DriverMan

34、ager.getConnection(dbUrl, dbUser, dbPwd);elsereturn; catch (Exception ee) ee.printStackTrace();6 总结与展望经过一个月的不断学习和设计开发加上老师同学的帮助,终于完成了我的毕业设计题目“图书馆借阅管理系统”的开发,在开题报告阶段我参阅了大量的中外文献,对所开发系统的现状,国际发展情况以及未来发展趋势有了深入的了解; 在整个系统的需求分析过程中对开发前期工作地流程步骤有了深入的掌握;在开发过程我进一步学习了Java的基础语法,和桌面图标方面的知识,以便使系统有更好的美观性,在编写过程中也规范了许多编码

35、习惯,数据库设计阶段我尝试了几个不同版本的数据库,它们在配置操作上各有不同,又各有优缺点,在它们的一些基本操作上也有了进一步提高。在配置开发工具过程中对JDK和Eclipse的连接部署有了清晰地认识。在整个系统开发的过程中,我学到了很大新的知识,前学过的许多知识点在运用过程中也有了更为深入的分析,这是我大学期间做过的规模最大的项目,在这个过程中也体会到了如何将书本知识转化到实际的应用中。参考文献:1萨师煊,王珊. 数据库系统概论(第四版)M. 北京:高等教育出版社,20082耿祥义编著. Java2实用教程M. 北京:清华大学出版社,2006年7月3张海藩. 软件工程导论(第5版)M. 北京:清华大学出版社.20084窦万峰主编,蒋锁良,杨俊,杨君. 软件工程实验教程M. 北京:机械工业出版社.20095 刘培文主编 SQL Server 2005数据库原理及应用教程M 中国人民大学出版社.20096陈明. Java语言程序设计课程实践M. 北京:清华大学出版社.20097苗春义. Java项目开发全程实录M. 北京:清华大学出版社.20088 夏冰冰. SQL Server 2005数据库原理及应用. 国防工业出版社.2009

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁