当前位置:文档之家› 基于java的图书管理系统开发

基于java的图书管理系统开发

基于java的图书管理系统开发
基于java的图书管理系统开发

基于j a v a的图书管理系

统开发

Prepared on 22 November 2020

学号

毕业论文(设计)

课题基于Java的图书管理系统开发

学生姓名施会勇

系别电气工程系

专业班级电子信息工程

指导教师崔雪英

二0一二年五月

目录

插图清单

图2-1 图书馆管理系统功能结构 (4)

图2-2 图书馆管理系统业务流程图 (5)

图3-1 图书信息实体E-R图 (6)

图3-2 读者信息实体E-R图 (7)

图3-3 图书借阅信息实体E-R图 (7)

图3-4 图书订购信息实体E-R图 (7)

图4-1 图书馆管理系统主界面运行图 (12)

图5-1 图书馆管理系统登录运行图 (15)

图6-1 图书信息添加运行图 (21)

图6-2 图书借阅管理运行图 (22)

图6-3 图书归还管理运行图 (23)

图6-4 图书查询运行图 (24)

基于Java的图书管理系统开发

摘要

进入21世纪以来,信息技术从根本上推动了图书馆的飞速发展,计算机和计算机管理系统已成为图书馆进行图书管理的主要设备和系统。虽然目前很多大型的图书馆已经有一套比较完善的管理系统,但是在一些中小型的图书馆中,大部分工作仍需手工完成,工作起来效率比较低,不便于动态,及时地调整图书结构。为了更好的适应当前图书馆的管理需求,解决手工管理中存在的弊端,越来越多的中小型图书馆正在逐步向计算机信息化管理转变。

本文在此背景下运用Java技术开发了图书管理系统。这个系统可以帮助管理员方便快捷的管理图书以及用户信息。同时具有查询方便,搜索速度很快等特点。在MySQL数据库的支持下,这款系统的存储信息量巨大,保密性能很强。

在分析了图书馆管理系统的需求基础上,本文完成了对系统功能的划分,数据库的设计,界面程序以及系统逻辑功能程序的设计。系统运行证明,本文所设计的图书管理系统能够满足读者以及管理员的双方要求。

关键字:图书管理; 信息技术; 数据库;Java

Abstract

Since the beginning of the 21st century, information technology fundamentally promote the rapid development of the library, computers and computer systems have become a library book management equipment and systems. Although currently many large libraries have a set of relatively complete management system, but in some small and medium-sized library, most of the work still needs to manually complete, work efficiency is relatively low, does not facilitate dynamic and timely adjustments to the structure of books. In order to better adapt to the current library management needs to solve the drawbacks of manual management, more and more small and medium-sized library is gradually shift to the computer information management.

In this context, has developed a library management system using Java technology. This system can help administrators convenient management books, and user information. Also has convenient query, the search is fast and so on. MySQL database support, a huge amount of information of this system of storage, the strong performance of confidentiality.

On the basis of analysis of the needs of the library management system, completed the division of the system functions, database design, interface design of the program and system logic function program. System operation proves that the library management system designed to meet both the readers and administrators requirements

Key Words: Books manage; Information technology; Databases; Java

第一章综述

随着各高校图书馆的图书数量不断增多和图书馆规模的不断扩大,管理这些庞大的图书体系非常困难的,因为图书的情况是随时改变的,因此必需对图书进行动态的管理,而这对于一个管理人员来说是一件比较复杂的事情,存储、查询、借阅是必不可少的业务。

为了能让管理员比较轻松的工作,使管理员在使用一个软件以后能极其容易地对所有图书进行管理,并且准确无误,轻松自如。因此开发一个图书馆管理软件是当务之急,也是本毕业设计选题的重要意义和研究宗旨。

图书馆管理系统的流通部分是所有图书馆系统中最重要的部分,流通系统将读者与图书、读者与管理员、读者与读者相互间联系起来,而且流通系统处理的数据类型多,数量大,精细且频繁,因而需要系统应具备较完善的检验防错功能,从而根据系统的运行及反馈信息高质量,高效率地管理系统流通部门的全部功能。

1.1图书馆管理系统开发背景

当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。

尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。

1.2图书馆管理系统的目的和意义

我们要实现科学技术现代化,图书情报工作的现代化是极其重要的,又由于科学和技术的不断发展和进步,现代技术是一个动态的概念.第二次世界大战以来,以计算机技术为代表的现代技术有了巨大的发展,而且还在迅速的变化发展之中,70年代后期,出现图书情报工作的“联机革命”,使计算机更广泛地,更有效的应用到各个角落,发达国家较重视这一领域的发展,我国尚存在较大的差距。所以我们说,图书情报工作计算机化是提高我国科学技术水平的一项带有重大战略意义的措施,它是图书情报工作现代化的重要标志。

计算机技术是现代技术的一部分,图书自动化也只是图书馆现代化的一部分,它们之间是部分和整体的关系,但由于计算机技术是信息技术的心脏,现代社会的骄子,信息社会的科技主角,所以在图书馆现代技术中,计算机技术处于核心地位,它对于其他现代化设备起控制,连接和转换的作用,而图书馆自动化是图书馆现代化的核心和主导部分。图书情报的计算机管理系统能提高图书馆本身管理水平,能代替工作人员进行图书情报资料的某些加工处理,把工作人员从繁重的手工劳动,重复劳动中解放出来。

总之,建立图书馆的计算机自动化管理系统,不但可以大大提高图书馆图书流通率,而且推动了社会文化生活的进步。

本论文以图书馆管理信息系统的需求分析及概念设计为切入点,运用理论与实际相结合的方法,构建一个包含读者信息,书籍信息和借阅信息的图书馆管理系统。图书馆管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。

因此本人结合开放式图书馆的要求,对MySQL数据库、Java程序设计进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。希望本文所设计的图书馆管理系统能够满足借阅者和图书馆管理人员的需求。

1.3Java语言的简单介绍

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是有Sun Microsystems公司与1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java技术具有卓越的通用性,高效性,平台移植性和安全性,广泛应用于个人PC,数据中心,游戏控制台,科学超级计算机,移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显着优势和广阔前景。基于Java的可移植性和高效性等特点,在设计本系统的时候选用了Java语言。

1.4MVC模式的介绍以及在本系统中的使用

MVC是三个单词的缩写,分别为:模型(Model),视图(View),控制(Controller)。MVC模式的目的就是实现系统的职能分工。Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。View层用于与用户的交互,通常在C/S系统中用swing+AWT 实现,在B/S系统中常用jsp来实现。Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

本系统采用了C/S结构。C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。C/S结构软件(即客户机/服务器模式)分为客户机和服务器两层,客户机不是毫无运算能力的输入、输出设备,而是具有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。由于服务器连接个数和数据通信量的限制,这种结构的软件适于在用户数目不多的局域网内使用。国内目前的大部分ERP(财务)软件产品即属于此类结构。

在本系统中模型(Model)层运用JavaBean技术,完成了各部分功能的实现,包括基础数据维护,图书借阅管理,新书订购管理和系统维护部分。视图(View)层主要运用Swing 技术,完成了对主界面,订阅界面等的显示。控制层(Controller)的作用是整合模型层和视图层。用户在界面层点击的事件,会通过控制层调用模型层相应的处理,从而形成相应的处理结果显示在界面中。

通过运用MVC思想后,整个系统将会显得很清晰,使代码更加的清晰。也方便以后的维护。

第二章系统分析设计

作为一款图书管理系统,首先要完成它的基本功能。在本次设计中,将根据调查过程后形成的流程图,将系统分为基础数据维护,图书借阅管理,新书订购管理以及系统维护四大功能模块。在完成功能的设计过程中,要尽量使系统达到一些基本目标,下面将详细的介绍系统的整体结构以及需要达到的目标。

2.1系统目标

根据对系统的分析,该系统应达到以下目的。

1.界面设计友好、美观

2.数据存储安全、可靠

3.信息分类清晰、准确

4.强大的查询功能、保证数据查询的灵活性

5.系统安全、稳定

6.开发技术先进、功能完备、扩展性强

7.占用资源小、对硬件要求低

8.提供灵活、方便的权限设置功能、使整个系统的管理分工明确

2.2系统功能结构

图书馆管理系统分为4大功能模块,分别为“基础数据维护”、“图书借阅管理”、“新书订购管理”和“系统维护”。本系统各个部分及其包括的具体功能模块如图2-1所示:

第三章数据库的设计

通常作为一个管理软件,它的数据部分都是由数据库来存储和管理的。在本设计中数据库承担了图书信息和读者信息。在如今的数据库产品中,有很多成熟的产品,如oracle,DB2,SQL Server,MySQL等,图书馆管理系统应用于高校的图书馆中,用户数据以及图书的信息数据并不是很大。考虑到成本,选用了MySQL数据库。下面将详细的为您介绍本设计中数据库的选择以及数据库的概念设计等。

3.1 数据库分析

MySQL 具有很强的完整性与可伸缩性,性价比很高。考虑到本系统的稳定性、可靠性,我决定在设计该系统是选择MySQL 数据库来满足系统的需求。 3.2 数据库概念设计

根据以上对系统所作的需求分析、系统设计,规划出本系统中使用的数据库实体分别为图书信息实体、图书分类实体、图书订购实体、读者信息实体、图书借阅信息实体、库存信息实体。 以下为几个关键实体的E-R 图。 1. 图书信息实体

图书信息实体包括图书编号、图书类别编号、书名、作者、出版社、价格、出版时间等属性。其中图书编号为图书信息实体的主键,图书类别编号为图书信息实体的外键,与图书分类实体具有外键关系。

2. 读者信息实体

读者信息实体包括条形码、姓名、性别、年龄、电话、办证日期、证件号码等属性。其中条形码作为本实体的唯一标识。

E-R 图 3.

图书借阅信息实体

图书借阅信息实体包括编号、图书编号、读者编号、是否归还、借阅日期、归还日期等属性。编号作为图书借阅信息实体的唯一标识,包括两个外键,分别为图书编号与

读者编号。

E-R 图 4. 图书订购实体

图书订购实体主要包括图书编号,订购日期、订购数量、是否验收等属性。图书订购实体以图书编号与图书信息实体建立了关系。

E-R图

第四章主窗体设计

在整个系统中,主窗体部分显示了本系统的所有功能。在主窗体的设计中运用了Swing技术,完成了对菜单栏以及工具栏的设计。管理员通过主窗体可以进行相应的操作,实现系统的功能。普通用户也可以利用主窗体中的工具栏进行常用的功能操作。下面将详细的展现主窗体的设计细节部分。

4.1主窗体概述

管理员通过“系统登录”模块的验证后,可以登录到图书馆管理系统的主窗体。系统主窗体主要包括菜单栏、工具栏。用户在菜单栏中单击任一菜单项,即可执行相应的功能;工具栏为用户提供了经常使用的功能按钮。

4.2主窗体的实现过程

主窗体的实现过程如下:

1.创建Library类,在其构造函数中设置主窗体相关属性,如窗体大小、窗体标题等相关属性,还可以为窗体设置背景图片,并调用创建菜单栏与工具

栏的方法,在主窗体中创建菜单栏与工具栏。关键代码如下:

public Library() {

super();

setDefaultCloseOperation;

setModalExclusionType;

setLocationByPlatform(true);

setSize(800, 600);

setTitle("图书馆管理系统");

JMenuBar menuBar = createMenu(); dd(toolBar, ;

final JLabel label = new JLabel();

(0, 0, 0, 0);

(null); etSize();

().getSize());

("");

}

});

(label,new Integer);

getContentPane().add(DESKTOP_PANE);

}

2.编写创建菜单栏的方法

private JMenuBar createMenu() {

JMenuBar menuBar = new JMenuBar();

JMenu bookOrderMenu = new JMenu();

etLayout(borderLayout);

setTitle("图书馆管理系统登录");

setBounds(100, 100, 285, 194);

final JPanel panel = new JPanel();

(new BorderLayout());

(new EmptyBorder(0, 0, 0, 0));

getContentPane().add(panel);

final JPanel panel_2 = new JPanel();

final GridLayout gridLayout = new GridLayout(0, 2);

(5);

(20);

(gridLayout);

(panel_2);

final JLabel label = new JLabel();

;

(new Dimension(0, 0));

(new Dimension(0, 0));

(label);

("用户名:");

username = new JTextField(20);

(new Dimension(0, 0));

(username);

final JLabel label_1 = new JLabel();

;

(label_1);

("密码:");

password = new JPasswordField(20);

(new MyDocument(6));

('*');etLayout(borderLayout);

setIconifiable(true); dd(panel);

final JLabel label_2 = new JLabel();

("图书编号:");

(label_2);

ISBN = new JTextField("请输入13位书号",13);

(new MyDocument(13)); dd(panel_1, ;

final FlowLayout flowLayout = new FlowLayout();

(2);

(30);

;

(flowLayout);

buttonadd= new JButton();

(new addBookActionListener());

("添加");

(buttonadd);

buttonclose = new JButton();

(new CloseActionListener());

("关闭");

(buttonclose);

final JLabel label_5 = new JLabel();

ImageIcon bookAddIcon=("");

(bookAddIcon);

(new Dimension(400, 80));

(new LineBorder, 1, false));

getContentPane().add(label_5, ;

("新书定购(LOGO图片)");

setVisible(true);

}

程序运行图如下:

图6-1 图书信息添加运行图

6.2.1图书借阅模块的实现

开发图书借阅模块的步骤如下:

在类构造函数中创建窗体布局以及相关属性,然后为读者条形码文本框添加键盘监听事件,最后在“借阅当前图书”按钮监听事件中,将相关信息存入图书借阅表中,如果操作成功,提示相应的对话框。关键代码如下:

class BorrowActionListener implements ActionListener {

public void actionPerformed(final ActionEvent e) {

String bookISBNs=().trim();

String readerISBNs=().trim();

String bookNames=().trim();

String operatorId=();

et()));

s[i][1] = booktypename;

s[i][2] = ();

s[i][3] = ();

s[i][4] = ();

s[i][5] = ();

s[i][6] = ();

s[i][7] = ();

}

return s;

}

程序运行图如下:

图6-4 图书查询运行图

结论

本此毕业设计运用了软件工程的设计思想,实现了代码的简洁化,易维护等特点。为以后的功能添加提供可能性。同时,在这此的设计中,采用了Swing机制,使整个系统的设计思路更加清晰。通过这次毕业设计,我也对Java语言有了更进一步的了解,同时还可以掌握在Swing项目中如何使用Action接口的开发模式,如何创建菜单栏与工具栏,为以后应用Swing语言开发程序奠定了基础。

本系统仅仅是一个面向小型的高校图书馆,它主要完成对图书的一些基本操作,包括图书和读者的添加,查询,修改以及借还书等信息的操作。在整个系统的开发过程中采用了面向对象的思想,在数据库的设计上利用了MySQL的便利性和实用性。

系统在设计过程中不可避免的遇到了许多的问题,由于整个系统的复杂性,加上整个系统完全由我个人设计,所以整个系统仍有许多的不足,这些都是我需要改进的地方。作为一款图书管理系统,我设计的该系统离实际使用还有相当的距离,需要我不断的进行补充和改善。

参考文献

[1] 王克宏,郝建文.Java基础教程[M].北京:清华大学出版社,2006:118

[2] 蔡雪焘. Hibernate开发及整合应用大全[M]. 北京:清华大学出版社,2006:56

[3] 王涛. Java API大全[M].北京:电子工业出版社,2003:23

[4] 严桂兰,刘甲耀. Core Java高级应用程序设计教程[M]. 北京:电子工业出版社

2006:165

[5] 刘伟,张利国. Hibernate开发与实战[M]. 北京:电子工业出版社,2009:65

[6] 陈鹏,程勇. J2EE项目开发实用案例[M].北京:科技出版社,2006:43

[7] 赵元杰. Oracle 10g系统管理员简明教程[M]. 北京:人民邮电出版社,2006

[8] 程伟,汪孝宜. 开发者突击:JSP网络开发经典模块实现全集[M]. 北京:电子工业

出版社,2008

[9] (美)Bruce Eckel. Java编程思想[M]. 陈昊鹏译. 北京:机械工业出版社,2007

[10] (美)威尔顿,麦可匹克. JavaScript入门经典(第3版)[M]. 施宏斌译. 北京:清华大学出版社,2009:176

[11] (美)Marty Hall,Larry Brown. Servlet与JSP核心编程.第二版[M].赵学良译.北京:清华大学出版社,2009:354

[12] 张梅; 王文君; 张丽君. 基于Java的高校图书馆与大型书店网上联合服务系统[J]. 现代情报

[13] Timothy . Java革命[J].微电脑世界.

[14] 袁爱华. 21世纪高校图书馆的管理创新[J]. 湖州师范学院学报.

致谢

值此学士论文完稿之际,我要对所有在我学习过程中给予我关心和帮助的人们表示最衷心的感谢:首先要感谢我的导师崔雪英,她学识渊博,教学严谨,平易近人,工作经验丰富,她在毕业课题设计和论文的撰写、修改过程中,悉心指导,给予了我极大的帮助,我的论文才得以顺利完成。在此,向老师致以最深的谢意!

同时要感谢我的项目组长史小姐能给我细心的指导,帮助我进行排错和部分技术的攻克。在此,也表示对我的项目组长的深深的谢意。

最后,我要感谢网翊科技公司的领导,给了我这个提高自己的学习机会,感谢公司同事在这半年实习中给我的大力帮助和支持,感谢两年来在我的学习生活过程中给予我帮助和鼓励的各位同学。

相关主题
文本预览
相关文档 最新文档