基于springboot图书管理系统设计与实现
摘 要
本研究旨在探讨图书管理系统的设计与实现,通过开发一个基于SpringBoot的图书管理系统,实现了用户和管理员的交互操作和系统管理功能。系统分为用户和管理员两部分,用户可以浏览图书信息、进行借阅和归还操作,管理员负责系统的管理和运营。
用户功能方面,系统提供了首页展示、图书资讯、图书信息和个人中心等功能。用户登录后可以查看图书推荐、热门资讯等内容,浏览图书的详细信息,查看借阅状态。在个人中心中,用户可以进行图书借阅、归还操作,系统会记录借阅记录和逾期信息,并提醒用户及时归还。此外,用户还可以收藏喜欢的图书和资讯。
管理员功能方面,系统提供了后台首页、系统用户管理、图书类别管理、图书信息管理、借阅信息管理、归还信息管理、逾期催还管理、轮播图管理、资讯管理和权限管理等功能。管理员可以查看系统运行状况、对用户和管理员的账号进行管理和设置权限,维护图书分类信息,添加新的图书类别和图书信息。同时还可以处理用户的借阅和归还操作,及时更新归还状态和催还信息。此外,管理员还可以更新系统首页的轮播图,展示最新的推荐图书和资讯,并维护系统中的资讯信息。
本研究的实现基于SpringBoot框架,使用Java语言和相关技术进行开发。通过系统的设计与实施,用户和管理员可以方便地进行图书管理和操作,提高了图书管理效率和用户体验。对于管理员来说,系统的功能和管理模块使其能够更好地管理和运营整个系统。
关键词:图书管理系统,Java,SpringBoot框架,Mysql
Design and Implementation of a Springboot Based Library Management System
A****bstract
This study aims to explore the design and implementation of a library management system. By developing a SpringBoot based library management system, the interaction and system management functions between users and administrators are achieved. The system is divided into two parts: users and administrators. Users can browse book information, perform borrowing and returning operations, and administrators are responsible for the management and operation of the system.
In terms of user functions, the system provides functions such as homepage display, book information, book information, and personal center. After logging in, users can view book recommendations, popular news, and other content, browse detailed information about books, and check borrowing status. In the personal center, users can borrow and return books. The system will record borrowing records and overdue information, and remind users to return them in a timely manner. In addition, users can also bookmark their favorite books and information.
In terms of administrator functions, the system provides functions such as backend homepage, system user management, book category management, book information management, borrowing information management, return information management, overdue reminder management, carousel image management, information management, and permission management. Administrators can view the system's operational status, manage and set permissions for user and administrator accounts, maintain book classification information, and add new book categories and information. At the same time, it can also handle user borrowing and return operations, update return status and reminder information in a timely manner. In addition, administrators can also update the carousel chart on the system homepage, display the latest recommended books and information, and maintain information in the system.
The implementation of this study is based on the SpringBoot framework, developed using Java language and related technologies. Through the design and implementation of the system, users and administrators can easily manage and operate books, improving the efficiency and user experience of book management. For administrators, the system's functions and management modules enable them to better manage and operate the entire system.
****Key words:****library management system, Java, SpringBoot framework, MySQL
目 录
第1章 绪论
1.1背景及意义
图书管理系统是一种基于信息技术的系统,旨在帮助图书馆、书店或在线图书馆等机构更加高效地管理图书资源、提供图书服务,并满足用户的信息需求。这种系统通过计算机技术和网络通信技术,实现了图书的数字化管理、便捷的借阅归还流程、个性化推荐等功能,为图书管理和利用带来了很多便利和效益。
随着信息化时代的到来,图书馆和其他机构管理庞大的图书资源变得越来越复杂,传统的手工管理已经很难满足日益增长的信息需求和用户期望。而图书管理系统的出现,为图书馆等机构提供了更加高效、便捷、准确的管理方式,大大提高了图书资源的利用率和服务质量。
图书管理系统可以实现图书信息的快速录入、分类、检索和更新,节省了人力和时间成本,提高了管理效率。用户可以通过系统在线查询图书信息、借阅和归还图书,省去了传统排队等候的时间,提升了用户体验。系统可以根据用户的借阅记录和兴趣偏好,提供个性化的图书推荐,增加了用户对图书的兴趣和探索欲望。系统可以实时记录图书借阅情况、流通量等数据,便于图书馆管理者了解图书利用情况,做出更具针对性的决策。通过图书管理系统,机构可以更好地了解用户需求,及时调整图书采购、服务内容,提升服务质量,增强用户满意度。通过系统,不同图书馆、书店等机构之间可以实现资源共享、合作,扩大图书资源互通互利的范围,促进图书服务的整合和优化。
综上所述,图书管理系统在数字化信息时代具有重要的意义,不仅可以提高图书管理效率和服务质量,也能够满足用户的个性化需求,促进图书资源的共享与发展。它是图书馆等机构走向现代化、信息化的必然选择,对于推动图书行业的发展和提升图书服务水平具有积极的作用。
1.2 国内外研究概况
在国内,许多高校图书馆以及大型公共图书馆都已经引入了图书管理系统,并对其进行了深入研究和探索。一些学者关注图书馆的数字化转型和图书管理系统的建设,进行了系统性的研究。他们研究了图书管理系统的功能、特点以及对图书馆服务的影响。研究者们积极探讨如何利用图书管理系统提高图书借阅效率、加强资源共享、个性化服务等问题。同时,还有一些专注于图书管理系统的技术研究,如图书信息处理、图像识别、数据分析与挖掘等。
在国外,许多发达国家的图书馆系统也进行了大规模的升级和改革,引入了先进的图书管理系统。这些系统提供了自动化的借还书流程、多格式的图书资源管理、在线图书目录服务及借阅记录统计等功能。国外的研究主要关注图书管理系统的创新和新技术的应用,如云计算、大数据分析、人工智能等。研究者们致力于提高图书管理系统的智能化水平,通过推荐系统、个性化推荐等手段,提高用户对图书资源的满意度和利用率。
综合来看,国内外在图书管理系统的研究都取得了一定的进展。国内的研究主要关注系统的应用和功能完善,着重于实际应用的效果。国外的研究则更加注重系统的创新和前沿技术的应用,通过引入新技术提高系统的智能化水平。无论是国内还是国外,图书管理系统的研究都是一个持续发展的领域,未来还需要进一步深入研究,以满足不断变化的用户需求和技术发展的要求。
1.3 研究的内容
目前许多人仍将传统的单机设备作为信息管理的主要工具,而网络技术的应用只是起到辅助作用。在对网络工具的认知程度上,较为传统的office软件等仍是人们使用的主要工具,而面向各个专门行业的管理系统的信息管理软件仍然缺乏群众基础。本选题则旨在通过标签分类管理等方式,实现首页、系统用户、图书类别管理、图书信息管理、图书借阅管理、归还信息管理、逾期催还管理、系统管理、资源管理、权限管理等功能。
第2章 相关技术
2.1开发技术
本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。后端部分:采用SpringBoot作为开发框架,同时集成MyBatis、Redis等相关技术。
2.2 Java简介
Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,Java servlet API,JSP(Java server pages),和XML技术。Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,开发者只需要知道一些概念就能够编写出一些应用程序。Java程序相对较小,其代码能够在小机器上运行。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。
Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。
2.3 MySQL数据库
Mysql的语言是非结构化的,用户可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用。
Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。
数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。
2.4 SpringBoot框架
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
第3章 系统分析
3.1 需求分析
图书管理系统主要是借助信息管理系统,方便管理员掌握图书资讯,更好存储所有数据信息及快速方便的检索功能。对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。
系统所要实现的功能分析,对于现在网络方便的管理,系统要实现用户可以直接在系统上进行查看所有数据信息,根据需求可以进行在线添加,删除或修改信息,这样既能节省时间,不用再像传统的方式耽误时间,真的很难去满足用户的各种需求。所以图书管理系统的开发不仅仅是能满足用户的需求,还能提高管理员的工作效率,减少原有不必要的工作量。
3.2 系统可行性分析
3.2.1技术可行性
该系统在Windows操作系统中进行开发,并且目前PC机的性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。
系统的开发环境和配置都是可以自行安装的,系统使用JSP开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。
(1)硬件可行性分析
图书管理系统及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。
(2)软件可行性分析
开发整个系统使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障系统的安全及数据信息的及时备份。
因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。
3.2.2经济可行性
在图书管理系统开发之前所做的市场调研及相关的管理系统,都是没有任何费用的,都是通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于图书管理系统的开发在经济上是完全可行的,没有任何费用支出的。
使用比较成熟的技术,系统是基于JSP的开发,采用Mysql数据库。所以系统在开发人力、财力要求不高,具有经济可行性。
**3.2.3操作可行性 **
可操作性主要是对图书管理系统设计完成后,用户的使用体验度,以及管理员可以通过系统随时管理相关的数据信息,并且对于管理员、用户的两个用户角色,都可以简单明了的进入到自己的系统界面,通过界面导航菜单可以简单明了地操作功能模块,方便用户信息的操作需求和管理员管理数据信息,对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。
3.3 项目设计目标与原则
1、关于图书管理系统的基本要求
(1)功能要求:首页、图书资讯、图书信息、我的账户、个人中心等功能模块。
(2)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。
(3)安全与保密要求:用户都必须通过身份验证才能进入系统,并且用户的权限也需要根据用户的类型进行限定。
(4)环境要求:支持多种平台,可在Windows系列、Vista系统等多种操作系统下使用。
2、开发目标
图书管理系统的主要开发目标如下:
(1)实现管理系统信息关系的系统化、规范化和自动化;
(2)减少维护人员的工作量以及实现用户对信息的控制和管理。
(3)方便查询信息及管理信息等;
(4)通过网络操作,改善处理问题的效率,提高操作人员利用率;
(5)考虑到用户多样性特点,要求界面简单,操作简便。
3、设计原则
本系统采用Java技术,Mysql数据库开发,充分保证了系统稳定性、完整性。
图书管理系统的设计与实现的设计思想如下:
- 操作简单方便、系统界面安全良、简单明了的页面布局、方便查询相关信息。
2、即时可见:对图书管理系统信息的处理将可以实时查询到,从而实现“即时发布、即时见效”的系统功能。
3、功能的完善性:拥有后台首页、系统用户、图书类别管理、图书信息管理、图书借阅管理、归还信息管理、逾期催还管理、系统管理、资源管理、权限管理等模块的修改维护操作。
3.4系统流程分析
3.4.1操作流程
系统登录流程图,如图所示:
图3-1登录流程图
3.4.2添加信息流程
添加信息流程图,如图所示:
图3-2添加信息流程图
3.4.3删除信息流程
删除信息流程图,如图所示:
图3-3删除信息流程图
第4章 系统设计
4.1 系统体系结构
本系统选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要用户能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图4-1所示:
图4-1 系统工作原理图
4.2系统结构设计****
整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。
本系统结构图如图4-2所示。
图4-2 系统功能结构图
4.3开发流程设计
系统流程的分析是通过调查系统所涉及问题的识别、可行性、可操作性、系统分析处理能力等具体环节来调节、整理系统的设计方案以确保系统能达到理想的状态。这些操作都要从注册、登录处着眼进行一系列的流程测试保证数据库的完整,从而把控系统所涉及信息管理的安全、保证信息输入、输出正常转换。然后,通过实际操作完成流程图的绘制工作。
图书管理系统的开发对管理模块和系统使用的数据库进行分析,编写代码,系统测试,如图4-3所示。
图4-3开发系统流程图
4.4 数据库设计原则
学习编程,我们都知道数据库设计是基于需要设计的系统功能,我们需要建立一个数据库关系模型,用于存储数据信息,这样当我们在程序中时,就没有必要为程序页面添加数据,从而提高系统的效率。数据库存储了很多信息,可以说是信息管理系统的核心和基础,数据库还提供了添加、删除、修改和检查,使系统能够快速找到自己想要的信息,而不是在程序代码中找到。数据库中信息表的每个部分根据一定的关系精确地组合,排列和组合成数据表。
通过图书管理系统的功能进行规划分成几个实体信息,实体信息将通过ER图进行说明,本系统的主要实体图如下:
管理员信息属性图如图4-4所示。
图4-4 管理员信息实体属性图
系统的E-R图如图4-5所示:
图4-5系统E-R图
4.5 数据表
将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。
表access_token (登陆访问时长)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
token_id
int
10
0
N
Y
临时访问牌ID
2
token
varchar
64
0
Y
N
临时访问牌
3
info
text
65535
0
Y
N
4
maxage
int
10
0
N
N
2
最大寿命:默认2小时
5
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
6
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
7
user_id
int
10
0
N
N
0
用户编号:
表article (文章:用于内容管理系统的文章)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
article_id
mediumint
8
0
N
Y
文章id:[0,8388607]
2
title
varchar
125
0
N
Y
标题:[0,125]用于文章和html的title标签中
3
type
varchar
64
0
N
N
0
文章分类:[0,1000]用来搜索指定类型的文章
4
hits
int
10
0
N
N
0
点击数:[0,1000000000]访问这篇文章的人次
5
praise_len
int
10
0
N
N
0
点赞数
6
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
7
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
8
source
varchar
255
0
Y
N
来源:[0,255]文章的出处
9
url
varchar
255
0
Y
N
来源地址:[0,255]用于跳转到发布该文章的网站
10
tag
varchar
255
0
Y
N
标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开
11
content
longtext
2147483647
0
Y
N
正文:文章的主体内容
12
img
varchar
255
0
Y
N
封面图
13
description
text
65535
0
Y
N
文章描述
表article_type (文章分类)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
type_id
smallint
5
0
N
Y
分类ID:[0,10000]
2
display
smallint
5
0
N
N
100
显示顺序:[0,1000]决定分类显示的先后顺序
3
name
varchar
16
0
N
N
分类名称:[2,16]
4
father_id
smallint
5
0
N
N
0
上级分类ID:[0,32767]
5
description
varchar
255
0
Y
N
描述:[0,255]描述该分类的作用
6
icon
text
65535
0
Y
N
分类图标:
7
url
varchar
255
0
Y
N
外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置
8
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
9
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表auth (用户权限管理)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
auth_id
int
10
0
N
Y
授权ID:
2
user_group
varchar
64
0
Y
N
用户组:
3
mod_name
varchar
64
0
Y
N
模块名:
4
table_name
varchar
64
0
Y
N
表名:
5
page_title
varchar
255
0
Y
N
页面标题:
6
path
varchar
255
0
Y
N
路由路径:
7
position
varchar
32
0
Y
N
位置:
8
mode
varchar
32
0
N
N
_blank
跳转方式:
9
add
tinyint
3
0
N
N
1
是否可增加:
10
del
tinyint
3
0
N
N
1
是否可删除:
11
set
tinyint
3
0
N
N
1
是否可修改:
12
get
tinyint
3
0
N
N
1
是否可查看:
13
field_add
text
65535
0
Y
N
添加字段:
14
field_set
text
65535
0
Y
N
修改字段:
15
field_get
text
65535
0
Y
N
查询字段:
16
table_nav_name
varchar
500
0
Y
N
跨表导航名称:
17
table_nav
varchar
500
0
Y
N
跨表导航:
18
option
text
65535
0
Y
N
配置:
19
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
20
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表book_borrowing (图书借阅)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
book_borrowing_id
int
10
0
N
Y
图书借阅ID
2
user_account
int
10
0
Y
N
0
用户账号
3
user_name
varchar
64
0
Y
N
用户姓名
4
user_phone_number
varchar
64
0
Y
N
用户电话
5
book_name
varchar
64
0
Y
N
图书名称
6
book_number
varchar
64
0
Y
N
图书编号
7
book_categories
varchar
64
0
Y
N
图书类别
8
book_authors
varchar
64
0
Y
N
图书作者
9
hours_of_loan_service
datetime
19
0
Y
N
借阅时间
10
borrowed_quantity
int
10
0
Y
N
0
借阅数量
11
borrowing_days
int
10
0
Y
N
0
借阅天数
12
borrowing_order_number
varchar
64
0
Y
N
借阅单号
13
borrowing_details
text
65535
0
Y
N
借阅详情
14
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
15
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表book_categories (图书类别)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
book_categories_id
int
10
0
N
Y
图书类别ID
2
book_categories
varchar
64
0
Y
N
图书类别
3
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
4
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表book_information (图书信息)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
book_information_id
int
10
0
N
Y
图书信息ID
2
book_name
varchar
64
0
Y
N
图书名称
3
book_images
varchar
255
0
Y
N
图书图片
4
book_number
varchar
64
0
N
N
图书编号
5
isbn_number
varchar
64
0
Y
N
ISBN号
6
book_categories
varchar
64
0
Y
N
图书类别
7
publication_date
date
10
0
Y
N
出版日期
8
book_authors
varchar
64
0
Y
N
图书作者
9
publishing_house_name
varchar
64
0
Y
N
出版社名
10
book_prices
int
10
0
Y
N
0
图书价格
11
number_of_books
int
10
0
Y
N
0
图书数量
12
remaining_quantity
int
10
0
Y
N
0
剩余数量
13
book_location
varchar
64
0
Y
N
图书位置
14
book_description
text
65535
0
Y
N
图书描述
15
hits
int
10
0
N
N
0
点击数
16
praise_len
int
10
0
N
N
0
点赞数
17
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
18
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表collect (收藏)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
collect_id
int
10
0
N
Y
收藏ID:
2
user_id
int
10
0
N
N
0
收藏人ID:
3
source_table
varchar
255
0
Y
N
来源表:
4
source_field
varchar
255
0
Y
N
来源字段:
5
source_id
int
10
0
N
N
0
来源ID:
6
title
varchar
255
0
Y
N
标题:
7
img
varchar
255
0
Y
N
封面:
8
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
9
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表comment (评论)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
comment_id
int
10
0
N
Y
评论ID:
2
user_id
int
10
0
N
N
0
评论人ID:
3
reply_to_id
int
10
0
N
N
0
回复评论ID:空为0
4
content
longtext
2147483647
0
Y
N
内容:
5
nickname
varchar
255
0
Y
N
昵称:
6
avatar
varchar
255
0
Y
N
头像地址:[0,255]
7
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
8
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
9
source_table
varchar
255
0
Y
N
来源表:
10
source_field
varchar
255
0
Y
N
来源字段:
11
source_id
int
10
0
N
N
0
来源ID:
表hits (用户点击)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
hits_id
int
10
0
N
Y
点赞ID:
2
user_id
int
10
0
N
N
0
点赞人:
3
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
4
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
5
source_table
varchar
255
0
Y
N
来源表:
6
source_field
varchar
255
0
Y
N
来源字段:
7
source_id
int
10
0
N
N
0
来源ID:
表overdue_debt_collection (逾期催还)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
overdue_debt_collection_id
int
10
0
N
Y
逾期催还ID
2
user_account
int
10
0
Y
N
0
用户账号
3
user_name
varchar
64
0
Y
N
用户姓名
4
user_phone_number
varchar
64
0
Y
N
用户电话
5
book_name
varchar
64
0
Y
N
图书名称
6
book_number
varchar
64
0
Y
N
图书编号
7
book_categories
varchar
64
0
Y
N
图书类别
8
book_authors
varchar
64
0
Y
N
图书作者
9
hours_of_loan_service
datetime
19
0
Y
N
借阅时间
10
borrowed_quantity
int
10
0
Y
N
0
借阅数量
11
borrowing_days
int
10
0
Y
N
0
借阅天数
12
borrowing_order_number
varchar
64
0
Y
N
借阅单号
13
reminder_time
datetime
19
0
Y
N
催还时间
14
reminder_details
text
65535
0
Y
N
催还详情
15
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
16
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表praise (点赞)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
praise_id
int
10
0
N
Y
点赞ID:
2
user_id
int
10
0
N
N
0
点赞人:
3
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
4
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
5
source_table
varchar
255
0
Y
N
来源表:
6
source_field
varchar
255
0
Y
N
来源字段:
7
source_id
int
10
0
N
N
0
来源ID:
8
status
bit
1
0
N
N
1
点赞状态:1为点赞,0已取消
表regular_users (普通用户)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
regular_users_id
int
10
0
N
Y
普通用户ID
2
user_name
varchar
64
0
Y
N
用户姓名
3
user_phone_number
varchar
16
0
Y
N
用户电话
4
examine_state
varchar
16
0
N
N
已通过
审核状态
5
user_id
int
10
0
N
N
0
用户ID
6
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
7
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表return_information (归还信息)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
return_information_id
int
10
0
N
Y
归还信息ID
2
user_account
int
10
0
Y
N
0
用户账号
3
user_name
varchar
64
0
Y
N
用户姓名
4
user_phone_number
varchar
64
0
Y
N
用户电话
5
book_name
varchar
64
0
Y
N
图书名称
6
book_number
varchar
64
0
Y
N
图书编号
7
book_categories
varchar
64
0
Y
N
图书类别
8
book_authors
varchar
64
0
Y
N
图书作者
9
hours_of_loan_service
datetime
19
0
Y
N
借阅时间
10
borrowed_quantity
int
10
0
Y
N
0
借阅数量
11
borrowing_days
int
10
0
Y
N
0
借阅天数
12
borrowing_order_number
varchar
64
0
Y
N
借阅单号
13
return_time
datetime
19
0
Y
N
归还时间
14
return_details
text
65535
0
Y
N
归还详情
15
examine_state
varchar
16
0
N
N
未审核
审核状态
16
examine_reply
varchar
16
0
Y
N
审核回复
17
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
18
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表slides (轮播图)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
slides_id
int
10
0
N
Y
轮播图ID:
2
title
varchar
64
0
Y
N
标题:
3
content
varchar
255
0
Y
N
内容:
4
url
varchar
255
0
Y
N
链接:
5
img
varchar
255
0
Y
N
轮播图:
6
hits
int
10
0
N
N
0
点击量:
7
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
8
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表upload (文件上传)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
upload_id
int
10
0
N
Y
上传ID
2
name
varchar
64
0
Y
N
文件名
3
path
varchar
255
0
Y
N
访问路径
4
file
varchar
255
0
Y
N
文件路径
5
display
varchar
255
0
Y
N
显示顺序
6
father_id
int
10
0
Y
N
0
父级ID
7
dir
varchar
255
0
Y
N
文件夹
8
type
varchar
32
0
Y
N
文件类型
表user (用户账户:用于保存用户登录信息)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
user_id
mediumint
8
0
N
Y
用户ID:[0,8388607]用户获取其他与用户相关的数据
2
state
smallint
5
0
N
N
1
账户状态:0,10
3
user_group
varchar
32
0
Y
N
所在用户组:[0,32767]决定用户身份和权限
4
login_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
上次登录时间:
5
phone
varchar
11
0
Y
N
手机号码:[0,11]用户的手机号码,用于找回密码时或登录时
6
phone_state
smallint
5
0
N
N
0
手机认证:0,1
7
username
varchar
16
0
N
N
用户名:[0,16]用户登录时所用的账户名称
8
nickname
varchar
16
0
Y
N
昵称:[0,16]
9
password
varchar
64
0
N
N
密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成
10
varchar
64
0
Y
N
邮箱:[0,64]用户的邮箱,用于找回密码时或登录时
11
email_state
smallint
5
0
N
N
0
邮箱认证:0,1
12
avatar
varchar
255
0
Y
N
头像地址:[0,255]
13
open_id
varchar
255
0
Y
N
针对获取用户信息字段
14
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
15
vip_level
varchar
255
0
Y
N
会员等级
16
vip_discount
double
11
2
Y
N
0.00
会员折扣
表user_group (用户组:用于用户前端身份和鉴权)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
group_id
mediumint
8
0
N
Y
用户组ID:[0,8388607]
2
display
smallint
5
0
N
N
100
显示顺序:[0,1000]
3
name
varchar
16
0
N
N
名称:[0,16]
4
description
varchar
255
0
Y
N
描述:[0,255]描述该用户组的特点或权限范围
5
source_table
varchar
255
0
Y
N
来源表:
6
source_field
varchar
255
0
Y
N
来源字段:
7
source_id
int
10
0
N
N
0
来源ID:
8
register
smallint
5
0
Y
N
0
注册位置:
9
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
10
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
第5章 系统详细设计
5.1管理员功能模块
管理员登录图书管理系统,在登录页面输入用户名、密码等进行登录,如下图所示。
图5-1管理员登录界面图
管理员进入系统后台可以查看:后台首页、系统用户、图书类别管理、图书信息管理、图书借阅管理、归还信息管理、逾期催还管理、系统管理、资源管理、权限管理等功能模块,还可进行相应的操作,如下图所示。
图5-2管理员功能界面图
系统用户,在此页面可以查看用户信息,还可在该页面对用户进行查询、添加和删除等操作。如下图所示。
图5-3系统用户界面图
图书信息管理:可以查看图书信息的名称、图片、编号、类别、出版日期等信息。可以进行查询、删除、添加等操作,如下图所示。
图5-4图书信息列表界面图
图5-5添加图书信息界面图
图书借阅管理:可以查看用户姓名、图书编号、借阅时间、借阅数量、借阅天数、借阅单号、借阅详情等信息,可以进行查询、删除等操作,如下图所示。
图5-6图书借阅列表界面图
归还信息管理:可以查看图书名称、用户账号、图书编号、归还时间、审核状态等信息,可以进行查询、删除等操作,如下图所示。
图5-7归还信息列表界面图
逾期催还管理:可以查看图书名称、借阅时间、借阅数量、借阅天数、借阅单号、催还时间、催还详情等信息,可以进行查询、删除等操作,如下图所示。
图5-8逾期催还列表界面图
系统管理:可以对轮播图信息,进行查询、删除、添加等操作,如下图所示。
图5-9系统管理界面图
5.2普通用户功能模块
普通用户登录图书管理系统,需先注册,在登录页面输入用户名、密码进行登录,如下图所示。
图5-10普通用户注册界面图
图5-11普通用户登录界面图
进入系统可以查看:首页、图书资讯、图书信息、我的账户、个人中心(图书借阅、归还信息、逾期催还、收藏)等功能模块,还可进行相应的操作,如下图所示。
图5-12普通用户功能界面图
图书资讯:可以查看标题、点赞数、点击数、正文等内容进行收藏、点赞等操作,如下图所示。
图5-13图书资讯界面图
图书信息:用户可以通过关键字、下拉搜索查询图书信息。可以查看图书信息详细内容,并进行借阅、点赞、收藏等操作,如下图所示。
图5-14图书信息列表界面图
图5-15图书信息借阅界面图
个人中心:可以查看图书借阅、归还信息、逾期催还、收藏等,如下图所示。
图5-16个人中心界面图
*第6***章 ****系统测试
6.1系统测试的目的
程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,再测试过程中发现问题,并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。
软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。
图书管理系统的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在图书管理系统正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。
6.2系统测试方法
在对图书管理系统进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让图书管理系统开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个图书管理系统开发所牵扯的该问题都必须一一解决,提高图书管理系统平台的安全性、稳定性。
白盒测试与黑盒测试是测试中比较常用的两种方法。
①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽谅解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。
②功能测试又成黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。
6.3功能测试
用户登录测试:
模块名称
测试用例
预期结果
实际结果
是否通过
登录模块
用户名:admin 密码:123
弹出错误提示,提示密码错误
弹出错误提示,提示密码错误
通过
登录模块
用户名:123
密码:admin
弹出错误提示,提示用户名错误
弹出错误提示,提示用户名错误
通过
登录模块
用户名:admin
密码:admin
管理员登录成功
管理员登录成功
通过
修改密码测试:
模块名称
测试用例
预期结果
实际结果
是否通过
修改密码模块
原密码:666
新密码:123
确认密码:123
弹出错误提示,提示原密码错误
弹出错误提示,提示原密码错误
通过
修改密码模块
原密码:admin 新密码:123
确认密码:333
弹出错误提示,提示确认密码不一致
弹出错误提示,提示确认密码不一致
通过
修改密码模块
原密码:admin 新密码:123
确认密码:123
密码修改成功
密码修改成功
通过
通过对功能的测试,图书管理系统的基本功能都是可行的,不管是系统里面的功能,还是界面的设计都是可值得推广宣传的。
结 论
此时项目已经完成,即使实施的时间不是很长,但是这个过程中需要准备很长的一段时间去对系统设计开发所相关技术进行学习。在学习的过程中,我逐渐认识得到了我自身存在的一些不足。对于一些控制是必要的应用技能,能够理解,整个过程中仅仅是一个掌握了常用的性能和控制方法,我觉得挺容易的。从该系统中,系统的分析和设计的调查数据,并且已经经历了几个月,并努力几个月,该系统已经完成。很显然,该系统仍有很多不成熟的地方,在系统设计过程中有许多技术缺陷存在。在设计的过程中也涉及到了很多自己无法解决的问题,主要通过咨询老师解决这些问题,对于毕业设计的圆满完成,需要感谢老师们的指导。系统的开发环境和配置都是可以自行安装的,系统使用Java开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。
回顾毕业设计的整个过程,既付出汗水也收获了很多。虽然经历了各种各样的困难,自己的不断研究探索,系统的实现仍有不足之处。
在以后的学习及工作中,我仍然继续学习计算机方面的技术,让我在后期的平台开发中可以更好更快的实现需求功能。我相信我可以让更多的好工作,做出更大的贡献。
致 谢
图书管理系统的完成,如何实现的更好,其中付出的努力是很大的,这段时光将会终身难忘。
首先要感谢我的指导老师,谢谢您在设计和论文中给我的指导。在您的细心指导下我才能快速的掌握系统的相关功能,在您的大力帮助下我才能将课本上的知识与自己的项目结合,真正的做到学以致用。感谢您经常牺牲自己的休息时间,利用其丰富的教学和项目经验对我进行指导。
感谢所有教过我的老师,为我倾注了大量的心血,正是你们的谆谆教诲、严谨教学才使我能顺利的完成学业,再此向你们表示深深的感谢。
感谢我的同学们,对我的大力支持及帮助,正是你们不断的帮助、鼓励,给我带来了极大的动力,最终系统可以顺利的运行。我们在交流、谈论的这段时间,将是我未来的财富,我要深深地感谢你们!
毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人!
参考文献
[1] Zhong Yihui.Design of cloud data storage security and financial risk control management early warning system based on sensor networks[J].Measurement: Sensors,2024,32101064-.
[2] Jie Yi.Design and development of personalized education information management system based on artificial intelligence[J].Applied Mathematics and Nonlinear Sciences,2024,9(1):
[3] 杨静, 梁益铭, 左斯敏,司徒俊峰.中山大学智能图书管理系统建设与应用[J].中国教育网络,2023,(11):75-77.
[4] 李大志.Java Web在高校图书管理系统中的应用研究[J].中国信息化,2023,(06):64-65.
[5] 时业茂, 颜晓宏,刘卫.基于Spring Boot整合SSMP框架实现图书管理系统[J].电脑编程技巧与维护,2023,(06):82-84.
[6] Li Ying.Design of Library Archives Information Management Systems Based on Artificial Intelligence and Multimedia Technology[J].International Journal of Information Technologies and Systems Approach (IJITSA),2023,16(3):1-17.
[7] 王莉萍,戴晓峰.基于大数据的智能图书管理系统的设计与实现[J].信息与电脑(理论版),2023,35(01):162-164.
[8] Yu Yang.Design and Implementation of Student Information Management System Based on Springboot[J].Advances in Computer, Signals and Systems,2022,6(6):
[9] 张俊,潘文军.攀枝花学院图书管理系统的设计与实现[J].电脑知识与技术,2022,18(10):63-64.
[10] 林辉.基于Java Web的渭南市大荔县图书管理系统的设计与实现[J].电子设计工程,2021,29(24):155-158+163.
[11] 胡素娟.基于Java图书管理系统的设计与实现[J].信息记录材料,2021,22(12):161-163.
[12] 管峰,陈昌.北京天文馆图书管理系统的设计与实现[J].内蒙古科技与经济,2021,(21):69-70.
[13] 司蒙, 王慧, 曹亮,孙一品.海事图书管理系统的设计与实现[J].珠江水运,2021,(16):59-61.
[14] 赵越超,胡杰.基于JavaEE的图书管理系统设计与实现[J].物联网技术,2020,10(08):52-55+58.
[15] Zhao Yan.Design and Implementation of Children’s Book Management System Based on Asp.Net Technology[J].Journal of Physics Conference Series,2020,1544(1):012092.
[16] 李欣, 史宝坤,甄珍.高校图书管理系统数据库的设计与实现[J].计算机产品与流通,2020,(05):196.
[17] 魏李方.高校移动图书管理系统的设计与实现[J].电子技术与软件工程,2020,(02):192-193.
[18] 徐连霞,傅伟.图书管理系统设计与实现[J].今日财富,2019,(19):203.
[19] 徐连霞,傅伟.图书管理系统设计与实现[J].数码世界,2019,(09):95-96.
[20] 张滢月.高校图书管理系统设计与实现[D]. 西安工程大学, 2019.
请关注点赞+私信博主,免费领取项目源码
版权归原作者 Q_3461074420 所有, 如有侵权,请联系我们删除。