摘 要
大数据时代下,数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的
要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势。在图
书馆管理的要求下,开发一款整体式结构的图书管理系统,将复杂的系统进行拆分,能
够实现对需求的变化快速响应、系统稳定性的保障,能保证平台可持续、规模化发展的
要求。
本系统的前端界面涉及的技术主要有 JAVA, HTML,JQUERY 等等,通过这些技术可以实现前端页面的美观和动态效果使之符合广大群众的审美观,后台主要使用的技术主要有 Java 编程语言,Mysql 数据库,Java 和 AJAX 异步交互,根据 AJAX 异步模式的图书管理系统解决了传统管理方式所带来的人力、物力和时间上的虚耗和交流深度的限定,这让交流的过程更快捷、准确、便利,同时完成图书管理系统的基本功能:系统用户管理、图书分类管理、图书信息管理、图书借阅管理、图书归还管理、系统管理、网站公告管理。
关键词:Java开发语言;springboot框架技术;图书管理
Design and Implementation of a Library Management System
Abstract
In the era of big data, data is growing explosively. In order to cater to the trend of the information age and information securityThe demand to use the internet to serve other industries and promote production has become an unstoppable trend. In FigureUnder the requirements of library management, develop a holistic library management system that can break down complex systems andCapable of achieving rapid response to changes in demand, ensuring system stability, and ensuring sustainable and large-scale development of the platformRequirements.
The front-end interface of this system mainly involves technologies such as JAVA, HTML, JQUERY, etc. Through these technologies, the aesthetics and dynamic effects of the front-end page can be achieved to meet the aesthetic standards of the general public. The main technologies used in the backend include Java programming language, MySQL database, Java, and AJAX asynchronous interaction. The book management system based on the AJAX asynchronous mode solves the manpower and The depletion of material resources and time, as well as the limitation of communication depth, make the communication process faster, more accurate, and convenient, while completing the basic functions of the book management system: system user management, book classification management, book information management, book borrowing management, book return management, system management, and website announcement management.
Key words:Java development language; SpringBoot framework technology; Book management
目 录
图书管理系统是对传统图书馆管理模式的一种改进,它可以充分利用网络的特性,随时随地的对图书进行管理,不受时空的局限,很大程度地简化了图书管理的过程,减轻了管理员工作,为借阅者提供便捷的途径,提高了图书的利用率[1] [2]。本系统的优势主要体现在如下几个方面:
(1)管理员通过数据库管理和维护系统可以对借阅者和图书进行管理和维护。管理员可以对后台数据中的信息进行删除、修改、更新等基本操作以管理和维护借阅者信息。
(2)用户可以通过图书作者、图书名、ISBN、出版社、主题词、图书书号进行查询,以便用户对图书信息的快速检索。
(3)图书的添加,新书的出版可以及时的输入数据库以待取用,已经报废的旧书及时的删除或禁用。
(4)借阅者可以在线随时查询图书信息,借阅图书,等待管理员审核通过。
-
- 开发现状
当前图书管理系统中,主流的国内产品主要有汇文软件产品、ADLIB2.0、金盘软件产品等,主流的国外产品主要以ExLibris的Aleph500为代表。近年来,随着Web2.0的发展和Library2.0研究的深入,给图书管理系统带来了新的理念和思路,图书管理系统很好的融合了Library2.0的理念和Web2.0的技术。当前图书管理系统普遍存在的问题有:①图书馆资源与服务的相对隔离与孤立;②不能全面集成图书馆的业务和管理工作;③信息孤岛现象日益严重;④难以体现图书馆的管理思路。图书管理系统的发展趋势:①融合图书馆的管理理念;②数据驱动管理;③开放合作的理念;④云计算;⑤整合服务评价体系。
数据库作为数据的存储地方是项目必须的,MySQL是一款非常优秀的关系型数据库,早期的MySQL并不是甲骨文公司的,后来才被他收购的。MySQL非常的小巧,安装包才几兆,sql语言的书写也比较容易学习,最重要的是MySQL同时也是一款开源的软件,所以不需要额外进行付费,本系统本身也是以学习总结所学知识为主,在系统的开发上最好尽量使用免费的软件,所以选用MySQL进行数据库管理。MySQL的容量也是非常大的,同时支持分库分表的操作,支持分布式,所以越来越多的中小企业选择该款数据库管理工具。另外值得一提的是,开源也有一个不好的地方,就是容易遭到破解和黑客攻击,所以MySQL在使用上还是更多的使用在中小项目中。
MySQL不会对平台有需求,所以任何一个程序员都可以通过 MySQL数据库来完成自己的系统开发,并且还可以节约大量的资源。因为它具有强大功能,所以可以用来储存这个系统的数据。
MySQL适合于各种应用,我们在运行数据库的时候,也很容易上手,我们只要编写一段代码,就可以完成相应的功能,并且可以在任何的平台上使用,而不需要再进行第二次的编译。MySQL数据库还具备在本地存储数据和允许结构化查询以方便管理的优势;MySQL是一个完全网络化的系统,它的数据库可以在互联网的任何位置被访问,它可以在任何地点与任何人分享;此外,MySQL也提供了存取控制的能力,可以阻止数据被非法使用,MySQL服务稳定,开发成本低,所以在开发过程中,MySQL数据库是最受欢迎的。
图书管理系统在数据的存储上使用的MYSQL数据库,在图书管理系统开发中使用了JAVA、IDEA、TOMCAT、springboot这些开发工具的使用,能够给我们的编写工作带来许多的便利。系统使用B/S模式进行开发,使系统的可扩展性和维护性更佳,减少系统配置代码,简化编程代码,目前B/S模式是目前最受欢迎的一种模式。
-
-
- 操作可行性
-
此次项目设计的时候本人参考了很多类似系统的成功案例,对它们的操作界面以及功能都进行了系统的分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。因此操作可行性也没有问题。
-
- 系统功能需求
用户用例图如下所示。

图3-1 用户用例图
管理员用例图如下所示。

图3-2 管理员用例图
表3-1 用户管理用例描述
描述项 | 说明 |
用例名称 | 用户操作 |
用例描述 | 管理员正确登录后台管理的条件下,对用户进行管理 |
参与者 | 管理员 |
前置条件 | 管理员登录成功并跳转到后台主界面 |
后置条件 | 操作成功 |
主事件流 | 管理员跳转用户管理页面,查询用户详情的信息 管理员可以删除用户信息 |
异常事件流 | e1.报500错误 e2.数据库连接异常 |
表3-1 图书借阅用例描述
用例名称 | 图书借阅 |
参与者 | 管理员 |
描述 | 管理员执行图书借阅操作 |
前置条件 | 管理员已登录 |
后置条件 | 该图书存在,并且能被借阅 |
事件流 | (1)在图书页点击要借阅的图书 (2)填写图书借阅数据 |
补充说明 | (a)图书借阅表单数据不能为空 |
表3-1 图书管理用例描述
描述项 | 说明 |
用例名称 | 图书操作 |
用例描述 | 管理员正确登录后台管理的条件下,对图书模块进行管理 |
参与者 | 管理员 |
前置条件 | 管理员成功登录 |
后置条件 | 操作成功 |
主事件流 | (1)管理员进入图书管理页面,查询图书的信息 (2)管理员可以对图书进行增删除和编辑图书操作 (3)管理员新增图书,添加成功跳转到查询页面 |
异常事件流 | e1.报500错误 e2.数据库连接异常 |
用例名称 | 图书归还 |
参与者 | 管理员 |
描述 | 管理员执行图书归还操作 |
前置条件 | 管理员已登录 |
后置条件 | 该图书存在,并且能被归还 |
事件流 | (1)在图书页点击要归还的图书 (2)填写图书归还数据 |
补充说明 | (a)图书归还表单数据不能为空 |
系统设计
这个系统由二个模块组成,一个是管理员,另一个是用户,这二个部分看起来是独立的,实际上却是连接着数据库,每个模块都有自己的权限,唯一不同的,就是访问的方式不同。在调研资料的基础上,完成了各个模块的功能。在对上述功能进行分析的基础上,本系统提出了二个主要的模块,每个单元可划分为若干小单元。
系统的功能结构图如下图所示。

图4-2 系统功能结构图
总体ER图如下图所示。

图4-3 总体ER图
以下就介绍了一些根据各类别主要数据库表的设计结构以及基本功能建立数据库表:
表book_borrowing (图书借阅)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | book_borrowing_id | int | 10 | 0 | N | Y | 图书借阅ID | |
2 | borrowing_form_number | varchar | 64 | 0 | Y | N | 借阅单号 | |
3 | book_number | varchar | 64 | 0 | Y | N | 图书编号 | |
4 | book_name | varchar | 64 | 0 | Y | N | 图书名称 | |
5 | author | varchar | 64 | 0 | Y | N | 作者 | |
6 | user | int | 10 | 0 | Y | N | 0 | 用户 |
7 | name | varchar | 64 | 0 | Y | N | 姓名 | |
8 | contact_number | varchar | 64 | 0 | Y | N | 联系电话 | |
9 | borrowed_quantity | varchar | 64 | 0 | Y | N | 借阅数量 | |
10 | borrowing_notes | text | 65535 | 0 | Y | N | 借阅备注 | |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表book_classification (图书分类)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | book_classification_id | int | 10 | 0 | N | Y | 图书分类ID | |
2 | book_categories | varchar | 64 | 0 | Y | N | 图书类别 | |
3 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
4 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表book_information (图书信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | book_information_id | int | 10 | 0 | N | Y | 图书信息ID | |
2 | book_number | varchar | 64 | 0 | Y | N | 图书编号 | |
3 | book_name | varchar | 64 | 0 | Y | N | 图书名称 | |
4 | book_categories | varchar | 64 | 0 | Y | N | 图书类别 | |
5 | cover | varchar | 255 | 0 | Y | N | 封面 | |
6 | author | varchar | 64 | 0 | Y | N | 作者 | |
7 | press | varchar | 64 | 0 | Y | N | 出版社 | |
8 | inventory | int | 10 | 0 | Y | N | 0 | 库存 |
9 | book_introduction | longtext | 2147483647 | 0 | Y | N | 图书介绍 | |
10 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
11 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
12 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表book_return (图书归还)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | book_return_id | int | 10 | 0 | N | Y | 图书归还ID | |
2 | borrowing_form_number | varchar | 64 | 0 | N | N | 借阅单号 | |
3 | book_number | varchar | 64 | 0 | Y | N | 图书编号 | |
4 | book_name | varchar | 64 | 0 | Y | N | 图书名称 | |
5 | author | varchar | 64 | 0 | Y | N | 作者 | |
6 | user | int | 10 | 0 | Y | N | 0 | 用户 |
7 | name | varchar | 64 | 0 | Y | N | 姓名 | |
8 | borrowed_quantity | varchar | 64 | 0 | Y | N | 借阅数量 | |
9 | return_remarks | text | 65535 | 0 | Y | N | 归还备注 | |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表registered_users (注册用户)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | registered_users_id | int | 10 | 0 | N | Y | 注册用户ID | |
2 | name | varchar | 64 | 0 | Y | N | 姓名 | |
3 | gender | varchar | 64 | 0 | Y | N | 性别 | |
4 | contact_number | varchar | 64 | 0 | Y | N | 联系电话 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
用户登录的验证将不再局限于登录信息和权限的匹配验证,而是另外增加了一个验证码,只有界面上所有的编辑框数据都准确的情况下才能实现登录成功。管理员的登录和前台用户登录是一样的过程,其主要就是利用权限字段来完成对用户或管理员的角色识别。
用户登录流程图如下所示。

图5-1 用户登录流程图
登录界面如下图所示。

图5-1 登录界面
系统的用户通过自行注册生成,在系统首页点击用户注册菜单,系统跳转到对应的注册页面。点击重置按钮,清空所填数据,点击注册按钮完成注册。
用户注册流程图如下所示。

图5-1 用户注册流程图
用户注册界面如下图所示。

图5-1 用户注册界面
当用户和用户之间交流之后,管理者可以在主界面中可以选择交流功能,管理者可以进行用户的交流查看,可以进行填写交流回复,也可以对交流进行删除。通过这种方式,管理者可以和用户进行密切的交流。
发表交流流程图如下所示。

图5-1 发表交流流程图
发表交流界面如图所示。

图5-1 发表交流界面
-
-
- 图书收藏模块的实现
-
用户选择相应的图书收藏,通过id传参,找到id为此传参的图书,在收藏页提交收藏记录表单,生成收藏记录,用户在个人中心管理个人的收藏夹。
图书收藏界面如下图所示。

图5-1 图书收藏界面
用户通过注册了方可获得登录使用权限,此时选择注册用户选项,系统就会自动转到用户注册工作面,在注册该部分信息时系统会自动调用add函数,然后在给定的文本框中填写有关该用户的基础信息后选择确认即可完成注册。检索用户信息,在新增用户信息以后,在检索工具栏中填写对应的用户信息,系统就会将该用户有关的所有信息展示出来。
用户管理流程图如下所示。

图5-1 用户管理流程图
用户管理界面如下图所示。

图5-1 用户管理界面
管理员执行图书管理,并可以操作相关内容,例如添加,查看,编辑和删除。通过单击“添加图书”,可以通过图书添加界面添加详细信息。单击查看字段级别链接以查看有关所选字段级别的信息。然后单击“提交”跳转重返到添加页面。添加成功后的信息会载入到图书查询列表中,管理员可进行编辑以及修改。
图书添加流程图如下所示。

图5-1 图书添加流程图
图书添加如下图所示。

图5-1 图书添加界面
图书查询界面如下所示。

图5-1 图书查询界面
-
-
- 图书借阅管理的实现
-
管理员发布图书后,图书在系统前台显示,用户浏览图书信息,包括图书编号、图书名称、图书类别、作者,选择相应的图书借阅,通过id传参,找到该图书,在book_borrowing.Java提交借阅表单,生成借阅记录。
图书借阅流程图如下所示。

图5-1 图书借阅流程图
借阅界面如下图所示。

图5-1 借阅界面
系统测试包括:用户登录功能测试、图书信息展示功能测试、图书信息添加、密码修改功能测试,如表5-1、5-2、5-3、5-4所示:
用户登录功能测试:
表5-1 用户登录功能测试表
用例名称 | 用户登录系统 |
目的 | 测试用户通过正确的用户名和密码可否登录功能 |
前提 | 未登录的情况下 |
测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 | 实际结果与预期结果一致 |
图书信息查看功能测试:
表5-2 图书信息查看功能测试表
用例名称 | 图书信息查看 |
目的 | 测试图书信息查看功能 |
前提 | 用户登录 |
测试流程 | 点击图书信息 |
预期结果 | 可以查看到所有图书信息 |
实际结果 | 实际结果与预期结果一致 |
添加图书信息界面测试:
表5-3 添加图书信息界面测试表
用例名称 | 图书信息添加系统测试用例 | ||
目的 | 测试图书信息添加功能 | ||
前提 | 用户正常登录情况下 | ||
测试流程 | 1)点击图书信息,然后点击添加后并填写信息。 2)点击进行提交。 | ||
预期结果 | 提交以后,页面首页会显示新的图书信息 | ||
实际结果 | 实际结果与预期结果一致 | ||
实际结果 | 实际结果与预期结果一致 |
密码修改搜索功能测试:
表5-4 密码修改功能测试表
用例名称 | 密码修改系统测试用例 |
目的 | 测试管理员密码修改功能 |
前提 | 管理员用户正常登录情况下 |
测试流程 | 1)管理员密码修改并完成填写。 2)点击进行提交。 |
预期结果 | 使用新的密码可以登录 |
实际结果 | 实际结果与预期结果一致 |
通过编写图书管理系统的测试用例,已经检测完毕用户登录功能测试、图书信息展示功能测试、图书信息添加、密码修改功能测试,通过这4大模块为图书管理系统的后期推广运营提供了强力的技术支撑。
结 论
本次毕业论文的主要是利用Java+Mysql开发一个安全可靠,操作简易,同时具备业务可扩展的图书管理系统。本文详细的论述了图书管理系统的设计和开发,本系统的所有事务逻辑都是按照系统的需求分析进行设计的,系统有普通用户和系统管理员两种角色,本系统多处采用了AJAX的异步交互技术,同时它也叫异步交互技术,利用它我们可以让网页的局部进行数据刷新操作,AJAX和传统的数据更新技术大大增加了客户的体验程度,由于是对局部进行操作那么就减少了一些繁琐而又不必要的操作,减轻了服务器对页面解析的负担。
与其他系统相比,本系统有自身的优点,
例如:
(1)创新性强;
(2)业务逻辑性强,安全性高,在一些重要的功能模块需要通过审查之后才可使用;
(3)移植性高,在所有window平台都可使用。
当然也还有很多需要进一步改进的地方:
(1)系统大多数页面都是全局刷新,缺乏局部刷新,这将增加服务器的压力,如果有大量用户在同一时间段操作同一个功能模块,可能会导致查询缓慢;
(2)页面没有经过专业的UI设计,美观程度不及其他市场其他网站系统,有待改善。
参考文献
[1]Jianghe Z ,Tangsen H . Application of machine learning algorithm in electronic book database management system[J]. SN Applied Sciences,2023,5(11).
[2]刘红鸽.基于Java Web的远程数学实验教学系统设计与实现[J].办公自动化,2023,28(19):31-34.
[3]尹应荆.JAVA编程语言在计算机软件开发中的应用[J].石河子科技,2023(05):45-47.
[4]张小迎,钱雯,戴晴等. 一种基于物联网技术的智慧图书馆图书管理系统[P]. 江苏省:CN116664366A,2023-08-29.
[5]李大志.Java Web在高校图书管理系统中的应用研究[J].中国信息化,2023(06):64-65.
[6]时业茂,颜晓宏,刘卫.基于Spring Boot整合SSMP框架实现图书管理系统[J].电脑编程技巧与维护,2023(06):82-84.DOI:10.16184/j.cnki.comprg.2023.06.044.
[7]孟思明.基于SpringBoot框架选购系统的设计与实现[J].中国设备工程,2023(11):94-95.
[8]宣震.设计开放式项目 培养核心素养 增强项目学习实效——以“用Django开发网络版图书管理系统”项目学习为例[J].中国教育技术装备,2023(11):84-86.
[9]Xinbin H ,Yongbin B ,Lisen Y , et al. Design and Implementation of Information System Based on Java Technology Platform[J]. Journal of Physics: Conference Series,2021,2033(1).
[10]贾婉艳, RFID智慧图书管理平台. 河南省,河南金威通信有限公司,2021-03-01.
致 谢
在此论文完成之际,感谢我的指导老师。在指导老师的网页设计课上,当时我学到了很多东西,这对于我实习过程中也打了一定的基础,而且指导老师对于我的设计也提出许多建议,并予以悉心的指导,对于一些细小的问题都耐心的指导我去完善,授予我写论文的心得,时常的鼓励我,另外感谢教导我完善此项目的前端同学,对于这个项目,我是边学习边实现完成的,有许多东西开始并不是很明白,但前端开发的同学非常耐心的引导我去将这个项目完成,在系统的后端开发中,所用到的后台开发技术也时常会给我讲解,助于我更好的将论文完成,在此对帮助到我的同学和一直予以教导的指导老师致以衷心的感谢,祝事业有成。