基于Java的图书馆管理系统毕业设计论文.docx

上传人:b****7 文档编号:25525540 上传时间:2023-06-09 格式:DOCX 页数:39 大小:654.67KB
下载 相关 举报
基于Java的图书馆管理系统毕业设计论文.docx_第1页
第1页 / 共39页
基于Java的图书馆管理系统毕业设计论文.docx_第2页
第2页 / 共39页
基于Java的图书馆管理系统毕业设计论文.docx_第3页
第3页 / 共39页
基于Java的图书馆管理系统毕业设计论文.docx_第4页
第4页 / 共39页
基于Java的图书馆管理系统毕业设计论文.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

基于Java的图书馆管理系统毕业设计论文.docx

《基于Java的图书馆管理系统毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于Java的图书馆管理系统毕业设计论文.docx(39页珍藏版)》请在冰豆网上搜索。

基于Java的图书馆管理系统毕业设计论文.docx

基于Java的图书馆管理系统毕业设计论文

 

咸阳职业技术学院电子信息系毕业论文

图书馆管理系统

 

学生姓名:

李xx

学号:

*********

专业:

计算机应用技术

年级:

0801班

*****************

 

 

内容摘要:

随着科学技术的进步,计算机行业的迅速发展,大大提高人们的工作效率。

计算机信息处理系统的引进已彻底改变了许多系统的经营管理。

图书管理系统是学校管理机制中的重要组成部分,通过对图书管理系统的运行管理机制进行调查研究,开发了此图书系统。

本系统中解决了学校图书管理事务中的常用基本问题以及相关统计工作。

本系统中包含6个功能模块:

系统设置,读者管理,图书管理,图书借还,系统查询和更改口令。

本系统使有JavaAWT进行界面的设计,使用MVC设计模式,它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。

本系统中通过JDBC驱动和数据库进行无缝连接,后端的数据库是MySQL,是一个开源的数据库系统,该数据库具有较高的完整性,一致性和安全性。

关键词:

图书管理;信息管理;javaAWT;frame

 

图书馆管理系统设计

1绪论

1.1毕业设计主要任务

1.实现图书馆对所藏图书的按类别、书名等多方面的查询,最大的方便读者和图书馆工作人员对所需图书的查询;

2.建立图书馆外借读者数据库,实现读者的注册,信息管理和读者的查询。

方便工作人员对读者进行有效管理;

3.建立图书馆工作人员数据库,限定每个工作人员对软件操作的权限,最大限度的保护数据库;

4.实现图书馆对新书入库注册,旧书注销和修改的简单处理,并且建立书籍档案,方便进货;

5.实现管理员的图书借阅情况的操作,如图书借阅,图书归还情况。

方便管理员更好的管理图书;

6.关于该软件的主题帮助等;

5.实现图书馆

1.2目前图书管理系统存在的问题

1)检索速度慢、效率低

因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了二伟的信息,馆中没有此书或已被别人借走。

图书馆的规模越大,这个问题越突出。

2)借书、还书工作量大

借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。

而且经常会出现这样那样的差错。

3)图书统计工作难、藏书更新不能及时完成。

图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。

我校也是一所发展中的高校,近几年的发展速度很快,图书馆的规模和藏书数量也不断的扩大,为了解决海量图书的管理问题,改变传统的管理方式也是迫在眉睫了。

1.3课题意义

随着计算机的广泛应用,其逐步成为现代化的标志。

图书馆或者一些企业内部,甚至是书店,在正常运行过程中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息、还书信息。

因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆或者企业内部对图书存销的自动化的管理,能够更快速的满足读者的要求,提高各种工作的效率,现对其设计相应的系统,以达到上述的目的。

图书管理系统的主要功能是实现图书馆图书借阅和归还的管理的自动化。

围绕这一主要功能,本系统涉及到以下核心功能:

图书管理,读者管理。

除了这些核心功能外,还包括一些基本和辅助功能,它们是:

图书借阅操作、图书归还、图书借阅统计、统计操作等。

1.4论文的工作和安排

本次设计的目标是,开发一个图书馆借阅管理系统。

借助该系统,管理员通过快捷可靠的数据库管理,方便的管理图书馆的信息资料,规范化的管理读者用户,设定不同用户权限,并能通过互联网向读者提供更为方便的在线查询服务,方便读者的使用,最终达到提高图书馆资源利用效率的目的。

论文设计和实现了图书借阅管理系统系统,可以根据用户的不同权限,对图书馆的的各种信息进行添加、删除、修改或查询操作。

论文分为五个部分:

第一章即本章绪论,简述图书馆借阅管理系统这个课题的背景情况以及开发本系统的意义。

第二章为需求分析,本章中明确了系统需要实现的功能,分析了系统的用例,并介绍根据系统的需求选择的开发工具和技术的概况。

第三章是总体设计,详细描述了本系统中数据库的设计情况,并给出了系统总体界面的设计方案。

第四章为程序设计与编码各主要功能模块的实现方法和部分关键代码,同时提供了个主要界面运行的参考图片,以更直观了解系统的实现情况。

第五章是软件测试,测试系统功能实现并对测试结果进行记录分析

第六章为结束语,为此次毕业设计做一个总结,总结所获得的经验和体会。

2图书借阅管理需求分析

2.1可行性分析

采用现代化统一的计算机信息网站系统,能够有效优化图书馆管理系统,使其高效的发挥最大作用,能够迅捷的为读者提供相应的服务。

开发本系统的可行性研究如下:

2.1.1技术可行性

技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。

本系统采用JavaAWT开发出友好美观的人机界面,便于用户理解、操作。

数据库管理系统采用MySQL,它能够处理大量数据,同时保持数据的完整性、安全性。

因此本系统的开发平台已成熟可行。

硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。

2.1.2.经济可行性

鉴于计算机技术发展异常迅猛,在硬件软件配置以及开发技术均以可行的情况下开发这样一个管理系统成本不会很高,但其可以大大提高图书馆的工作效率,也是图书馆管理发展的必然趋势,其必将有比较宽阔的市场,因此改性统在经济可行性上时可行的。

2.2图书借阅管理系统需求概述

2.2.1系统目标

该系统主要建立一个基于B/S模式的图书馆借阅管理系统,面对当起很多小型图书管理仍是人工管理带来的检索速度慢,效率低,借阅归还图书量大,图书统计工作量大,藏书不能完成及时更新的问题,该系统可以对跟系统的三个用户类型的使用实现:

1.对于图书馆管理员能够在该系统的帮助下轻松完成注销登录、密码修改、系统退出等。

2.对于图书馆工作人员能够实现方便的对图书进行管理,方便的进行读者借阅情况查询,方便的进行借书还书处理等,便捷的对图书信息进行添加、修改、删除,分类管理等操作,对读者信息进行相关添加,修改,分类管理等操作。

3.对于系统管理员可以对图书馆信息进行修改更新操作,对借阅用户进行添加、修改、删除、权限设置等操作,修改维护等操作功能。

2.3图书借阅管理系统需求模型

2.3.1功能描述

图书借阅管理系统的主要任务是实现管理员迅速检索查询,方便借阅归还图书,图书管理员高效的完成系统的各项基本操作,从图2.1可以看出图书借阅管理系统要完成一下功能:

1.登录。

图书管理员进入该系统必须登录,身份验证正确了才可以进入该系统,管理员拥有不同的等级。

2.图书管理功能:

图书统管理员可以对图书注册,图书信息管理功能,包括对图书信息的删除、修改。

3.读者管理功能:

图书管理员可以对读者用户进行读者信息注册,读者信息管理,包括读者信息的修改,删除,权限设置等操作。

4.图书借阅统计功能:

通过对读者查询和图书查询实现图书借阅功能,及图书归还。

5.其他功能

关于该图书馆管理系统的帮助主题。

下面的系统用例图描述了整个系统用户之间的动作联系,及功能模块的概述。

图2.1系统用例图

2.3.2主要用例的用例描述

图书借阅借阅管理系统涉及到的用例包括:

图书借阅,图书归还,读书注册,读者信息管理,图书注册,图书信息管理,用户系统管理等,现就系统的主要用例图书借阅,图书归还,图书信息管理进行详细分析。

1)用例“图书借阅”

用例名称

图书借阅

标识符

UC-1

参与者

图书管理员

描述

管理员通过读者编号查询出读者信息,通过编号查询出图书的相关信息,然后借阅将图书转借阅给读者,借阅成功。

前置条件

1.登录;2.登录图书管理系统;3.进入图书借阅统计页面;

4.进入图书借阅页面

后置条件

1.更新图书借阅列表;

主干过程

1.0借阅图书

1.读者请求借阅新地图书,并提供自己的编号

2.系统显示读者借阅情况的表单

3.读者提供想借阅的图书的编号

4.系统存储读者和借阅的图书,并将之存储到数据库中

5.系统更新借阅列表

分支过程

1.1选择重置(第3步后分支出来)

1.读者选择重置

2.系统刷新该页面

异常

1.0.E.1读者借阅已满(第2步)

1.读者借阅的数目已经到达自己借阅的上线

2.系统将错误信息显示在借阅页面

3.系统重新启动该用例

被包含用例

被扩展用例

优先级

2)用例“图书归还”

用例名称

图书归还

标识符

UC-1

参与者

读者,图书管理员

描述

读者将自己借阅的图书归还图书馆。

前置条件

1.登录;2.登录图书管理系统;3.进入图书借阅统计页面;

4.进入图书归还页面

后置条件

1.更新图书归还列表;

主干过程

2.0图书归还

6.读者请求归还借阅的图书并提供自己的编号

7.系统显示该读者的借阅信息表

8.使用者填将要归还的图书交给管理员

9.管理员输入图书编号,系统存储归还信息,并将之存储到数据库中

10.系统更图书归还列表

分支过程

1.1选择重置(第3步后分支出来)

1.读者选择重置

2.系统刷新该页面

异常

1.0.E.1读者借阅超时(第4步)

1.该书超出了应该归还的时间范围

2.系统将罚款信息显示在归还页面

被包含用例

被扩展用例

优先级

3)用例“图书查询”

用例名称

图书信息管理

标识符

UC-3

参与者

图书管理员

描述

图书管理员查看图书编号、作者等信息,然后对图书信息进行修改,和删除操作。

前置条件

1.登录;2.进入图书管理系统;3.进入图书管理页面;

4.进入图书信息管理页面

后置条件

1.查询页面显示相应的图书的信息

主干过程

图书查询

1.系统显示所有图书信息

2.管理员选择要管理的图书信息

3.

读者点击读书名称,可修改图书的信息,也可删除该图书信息

分支过程

输入信息时(第2步后)

1.系统显示:

请选择查询依据

2.用户进行相应选择

重新查询(第2步后)

1.系统已经显示了相应图书信息

2.读者想查询其他图书

异常

5.0.E.1查询的图书不存在(第2步后)

1.读者输入的图书信息不能在数据库中查询到

2.系统显示暂时无该图书信息

3.重新启动该用例

被包含用例

被扩展用例

优先级

3总体设计

3.1数据库设计

3.1.1数据库设计概述

数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节对数据库的设计进行专门阐述。

数据库是数据管理的最新技术。

十多年来数据库管理系统已从专用的应用程序发展成为通用的系统软件。

由于数据库具有数据结构化,最低冗余度,较高的程序与数据独立性,易于扩充,易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。

因此不仅大型计算机及中小型计算机,甚至微型机都配有数据库管理系统[6]。

数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。

这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用性和相容性,提高了决策的可靠性。

目前,数据库已经成为现代信息系统不可分割的重要组成部分。

数据库技术也是计算机领域中发展最快的技术之一。

数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。

数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。

数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理[6]。

设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。

一般人们设计数据库遵循第三范式。

即:

数据库表中不包含已在其他表中包含的非主关键字信息。

采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度[6]。

整个系统所包括的信息有图书信息、留言信息、图书借阅信息、图书归还信息、系统用户信息、读者类型信息。

可将这些信息抽象为下列系统所需要的数据项和数据结构:

1)图书信息表(编号,图书名称,作者,出版社,出版时间,价格,,ISBN号,库存量)

2)读者信息表(读者编号,姓名,性别,出生年月,身份证号,地址,电话,邮箱,备注)

3)图书借阅归还信息表(借阅记录号,图书编号,读者编号,借阅管理员编号,借阅时间,归还管理员编号,归还时间)

4)管理员信息表(编号,名称,密码,等级)

注:

带下划线表示主键

3.1.2图书信息表结构设计

图书信息表主要用于存储图书馆中所藏图书的相关信息,其中的相关信息是在图书入库时由操作员进行添加完善,此表主要用于读者和图书管理员对馆中图书的查询,系统用户根据图书的某个属性进行查询,便可得知图书的其他相关信息。

表的具体结果如下:

表3.1图书信息表bookinfo

字段名称

数据类型

字段长度

是否为空

说明

book_no

int

30

No

图书编号(Key)

book_name

varchar

30

No

书名

book_author

varchar

30

No

作者

book_public

varchar

50

No

出版社

book_public_time

varchar

100

Yes

出版时间

book_price

real

Yes

图书价格

book_isbn

varchar

50

Yes

ISBN编号

book_count

varchar

100

Yes

库存

intime

date

No

图书入库时间

3.1.3读者信息表结构设计

读者信息表的设计是为了图书馆管理员对读者进行管理,其中读者ID,不同类型证件的号码都是唯一的,是读者在借阅图书时需要输入对读者身份进行识别的信息,读者邮件电话等信息室为了与读者进行联系,便于操作员是对信息才操作的查询。

表的具体结构设计如下:

表3.2读者信息表readinfo

字段名称

数据类型

字段长度

是否为空

说明

reader_no

int

30

No

读者编号(Key)

reader_name

varchar

30

No

读者姓名

reader_sex

varchar

2

No

性别

reader_birthday

datetime

No

出生日期

reader_cardID

varchar

18

No

身份证号

reader_address

varchar

100

Yes

家庭住址

reader_phone

varchar

11

Yes

联系电话

reader_email

varchar

50

No

邮箱

reader_memo

Varchar

8000

No

备注

3.1.4图书借阅归还信息表结构设计

该表的设计是用于对读者借阅图书进行管理,表中图书编号属性是对借阅图书的唯一性识别标识,读者编号号记录借阅的相应读者,结出时间记录了相应的借阅时间,以及归还时间,操作员是对借阅进行操作的人员的记录方便日后的查询,是否归还标识可查询当起读书是否被归还,表的具体结构设计如下:

表3.3图书借阅归还统计信息表record

字段名称

数据类型

字段长度

是否为空

说明

record_no

int

20

No

借阅记录号(Key)

reader_book_no

int

30

No

图书编号

record_reader_no

int

30

No

读者编号

record_boruser

int

10

No

借阅管理员编号

record_bortime

datetime

Yes

借阅时间

record_renuser

int

30

Yes

归还管理员编号

record_rentime

datetime

Yes

归还时间

3.1.5管理员信息表结构设计

该表的设计用于记录图书管理员信息,管理员可以通过用户名和密码进入该图书管理系统,对图书和读者进行操作管理。

图书管理员又可分为普通管理员和超级管理员。

具体结构设计如下:

表3.4图书归还信息表admin

字段名称

数据类型

字段长度

是否为空

说明

ad_no

int

10

No

管理员编号(Key)

ad_name

varchar

30

No

用户名

ad_password

varchar

12

No

密码

ad_denji

int

Yes

等级

3.2系统总体结构设计

该系统在Windows98/2000/XP环境下,主要采用Awt开发工具,MySQL数据库来设计,开发过程与成果应符合GB/T11457-1995软件工程术语,GB/T8567-1988计算机软件产品开发文件编制指南等。

3.2.1图书管理系统总体结构图

绘制系统结构图的过程,实际上就是对系统功能模块进行分解设计的过程,即合理地将数据流程图转变为所需要的系统结构图。

系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各个功能的结构,能很好地方便用户使用和理解整个系统。

本系统的结构图如下:

图3.5系统总体结构图

根据需求分析的结果,按照“低耦合、高内聚”的原则,本系统将划分为以下主要功能模块:

系统功能模块,图书管理功能模块,读者管理功能模块,图书借阅统计功能模块;帮助功能模块。

4程序设计与编码

4.1开发平台与工具

4.1.1系统开发平台

Java是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。

Java平台由Java虚拟机(JavaVirtualMachine)和Java应用编程接口(ApplicationProgrammingInterface、简称API)构成。

Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。

在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。

现在Java平台已经嵌入了几乎所有的操作系统。

这样Java程序可以只编译一次,就可以在各种系统中运行。

Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。

Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。

特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

Java分为三个体系JavaSE标准版,JavaEE企业版,JavaME微型版。

该图书管理系统用的就是J2SE平台,即是Java2平台标准版(Java2PlatformStandardEdition),定位于客户端,是用于工作站、PC机的桌面应用软件的编程平台。

它是java中三个编程构架中最基本的一个架构。

它简单而强大的编程功能得到很多编程者的厚爱。

它推出的UI图形化界面,简单易懂,如在Awt、Swing技术。

它推出的Thread多线程机制使代码能够并行执行,充分发挥了CPU的运行效率。

程序设计者可以用不同的线程完成不同的子功能,极大地扩展了Java的语言功能。

它是程序中具有独立顺序的程序流,它有自己的开始,代码体和结束。

线程之间可以共享内存空间和资源。

如定时小动画的制作。

Java的数据库访问功能使程序具有多元化,通过JDBC和ODBC的数据库访问功能将Java程序与数据库有效的链接。

J2SE的事件驱动机制实现了各种“监听器”操作的响应,如ActionListerner,KeyListerner,ItemListerner等。

在开发图书馆借阅管理系统的过程中,应用Myeclipse6.0.1,它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。

Myeclipse是功能丰富的J2SE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持

Awt、Swing、Thread和SQL等

4.1.2SQL数据库

SQL全称是“结构化查询语言(StructuredQueryLanguage)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它

的前身是SQUARE语言。

SQL语言结构简洁,功能强大无论是Oracle,Sybase,Informix,SQLserver这些大型的数据库管理系统,还是像VisualFoxporo,PowerBuilder常用的数据库开发系统,都支持SQL语言作为查询语言。

它的主要功能包括四个方面:

查询、操纵、定义和控制,因此,它是一个综合的、通用的、功能及强的关系数据库语言。

目前MySQL被广泛地应用在系统项目的开发和Internet上的中小型网站开发中。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,我们这次的数据库就采MySQL。

开发系统用的系统工具如表4.1所示:

表4.1系统开发平台和工具

工具名称

用途

JDK1.6.0_11

MyEclipse

MySQL5.0

SQLYog6.1

Java开发工具包

J2EE集成开发环境

小型关系数据库管理系统

MySQL图形化数据库管理工具

4.2程序设计

4.2.1Java程序访问数据库

数据库连接时采用JDBC—ODBCBridge链接MySQL。

新建一个DBManage类,具体代码实现如下:

packagemodel;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

/**数据库通信类该类提供了通过ODBC的方式访问数据库*/

publicclassDBManager{

privateConnectionconn=null;

privateConnectiongetConnection(){

try{

if(conn==null||conn.isClosed()==true){

System.out.println("加载驱动一次,获取

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

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

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