基于SSM的图书管理系统设计与实现.docx
- 文档编号:25171892
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:48
- 大小:2.02MB
基于SSM的图书管理系统设计与实现.docx
《基于SSM的图书管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于SSM的图书管理系统设计与实现.docx(48页珍藏版)》请在冰豆网上搜索。
基于SSM的图书管理系统设计与实现
内容摘要
随着时代的进步和科技的发展,更多的人通过图书馆借阅书籍来吸收知识,而传统的图书管理方式存在着许多不方便的地方,记录易丢失,所以开发一个易操作,高便捷性并且能够提升工作效率的图书管理系统是很有必要的。
本系统是一个javaweb技术开发的图书管理系统,利用了计算机技术代替了传统的人工管理方式,降低了人工操作带来的失误,让图书馆在图书管理这方面能够更加的灵活和便捷,能够有更高的工作效率。
前端使用了Html+Bootstrap等技术实现了简洁,对用户友好并且易于操作的界面;后端使用了Spring+Springmvc+Mybatis等技术实现了一个操作简单,方便管理,灵活性高的管理平台,并且在缓存方面使用的是redis,能够给用户带来更好的体验。
总体上是一个科学化,简洁化的图书管理系统。
□□关键词:
图书管理JAVASSMRedis
Abstract
WiththeprogressofTheTimesandthedevelopmentofscienceandtechnology,morepeopleborrowbooksfromthelibrarytoabsorbknowledge,andthetraditionalwayofbookmanagementtherearemanyinconvenientplaces,recordsareeasytolose,soitisnecessarytodevelopabookmanagementsystemthatiseasytooperate,highconvenienceandcanimproveworkefficiency.
Thissystemisalibrarymanagementsystemdevelopedbyjavawebtechnology,usingcomputertechnologytoreplacethetraditionalmanualmanagement,reducethemistakescausedbymanualoperation,sothatthelibraryinthebookmanagementcanbemoreflexibleandconvenient,canhavehigherworkefficiency.Thefront-endUSESHtml+Bootstraptechnologytoachieveasimple,user-friendlyandeasy-to-operateinterface.Theback-endUSESSpring+Springmvc+Mybatisandothertechnologiestoachieveasimpleoperation.Convenientmanagement,highflexibilityofthemanagementplatform,andtheuseofthecacheisredis,cangiveusersabetterexperience.Overallisascientific,conciselibrarymanagementsystem.
Keywords:
BooksmanagementJAVASSMRedis
第1章绪论
1.1选题背景
知识一直是驱动人类进步的力量,书籍则是人们获取知识的重要来源之一。
相比于传统的图书馆来说,由于人们手工的图书管理工作量大,操作流程繁杂,不方便等缺点,对读者和图书管理员带来了不便。
所以搭建一个智能化的,便于图书管理的系统能为使用者带来便捷,并且能提高管理员的管理效率。
智能化的系统会更加受到使用者的青睐。
1.2国内外现状
1.2.1国内研究现状
我国对于图书管理系统的开发一直都处于进行时,至今已有30年了,比较成熟的有30多种。
知名度较高的有WXCLXT,LLAS和Interlib等,这些系统都有其各自的特点,主要都表现在增强网络化服务,构建资源共享,共建等方面。
同时也具备了价格实惠,售后服务完善的特点。
1.2.2国外研究现状
美国是第一个提出数字图书馆的国家,从19世纪90年代开始,就已经开了在这方面的研究,经过了近20年的研究,在这方面的经验和技术已经处于一个成熟的阶段。
网络技术的发展也在一定程度上促进了国外对自动化系统的研究,仅在英国就有120多个商家对图书管理系统进行了开发。
国外比较有名的图书管理系统有:
美国的SIRSI、INNOPAC和澳大利亚的HORIZON等。
1.3论文主要工作
第1章,介绍了本系统的研究背景和现状。
第2章,介绍了本系统所使用的前端后端技术,缓存技术,数据库以及服务器。
第3章,对本系统进行了可行性分许和需求分析。
第4章,对系统架构和系统功能以及数据库进行设计,根据功能需求和功能设计得到了对应的数据库表设计。
第5章,对本系统进行页面和核心代码的展示。
第6章,对本系统进行了系统测试。
第7章,总结本次论文的工作内容。
第2章关键技术介绍
2.1前端技术
2.1.1HTML5
HTML5是一种很流行的网页开发语言,是Web应用开发的主要关键技术之一。
与HTML4相比,HTML5与现代网络的需求更加符合,为互联网应用增强提供了更多的标准。
并且与传统技术比较起来,其语法不但融合了SVG内容,而且语法特征更明显。
这使得网页应用中的多媒体内容能够得到更好的处理。
2.1.2Bootstrap
Bootstrap是由推特开发出来的一款基于JS,HTML,和CSS的前端框架,简洁,易上手,交互友好,深受开发者的欢迎。
Bootstrap提供了许多优秀的样式和插件,能在提高开发者效率的同时搭建出精美优秀的界面。
2.2后端技术
2.2.1spring
spring是一款轻量,污染度低的开源框架,只需使用最基本的Javabean就能完成类的加载跟使用。
spring具有简单,松耦合的特点,可以让java应用的开发更便捷,高效。
控制反转(IOC)和面向切面(AOP)是spring的两大优点。
控制反转使得开发中对象不再需要自己去管理依赖的对象,只需要交给IOC容器即可,容器会在需要的时候自动注入,大大的降低了耦合度。
面向切面是spring提供的一种通过将应用的业务逻辑和系统级服务跟事物分离,用以内聚性开发的编程方式。
这使得应用只需完成他们本身该做的业务逻辑,并不需要关注其他,例如日志和事物支持。
2.2.2springmvc
springmvc是SpringFrameWork新一代的产品,与SpringWebFlow能够完美的融合,是用来开发java应用的框架。
springmvc分离了模型对象、控制器、分派器以及处理程序对象的各个角色,这种分离状况降低了系统耦合度,使它们变得更容易进行定制[1]。
2.2.3mybatis
mybatis是一款优秀的持久层框架,可以通过注解或者编写xml文件的方式来使用mybatis。
mybatis支持sql定制化,能实现结果集与对象的高级映射。
同时,mybatis还提供了一些组件,比如通用mapper和pagehelper分页组件,使用已有的组件开发可以节省繁杂的增删查改代码,在提高开发效率的同时增加代码的可读性。
2.2.4mysql
mysql是一种开源的关系型数据库,使用的语言是sql,可以根据个性化需求来进行改动。
由于mysql是开源、免费的越来越多的互联网公司开始使用mysql作为自己公司架构的数据库,mysql显然已经成为了一种主流[2].。
mysql的速度很快,适用而且可靠,在不需要进行事物处理的环境下,mysql是最好的数据库选择之一。
2.2.5redis
redis是一款以键值对存储数据的NOSQL,支持多种类型的value,性能非常高。
redis将数据都存放在内存。
在读写速度方面,内存速度非常快。
因而,相对于其他基于硬盘存储的数据库,Redis在性能上有明显的优势[3]。
redis不但能实现主从同步,而且是以原子性来操作数据的,这使得redis能执行单层树复制。
2.3开发环境
2.3.1软件环境
软件环境如下表2-3所示:
表2-3软件环境表
序号
名称
版本
备注
1
Windows
7
操作系统
2
Tomcat
8
服务器
3
Redis
4
缓存
4
Mysql
5.7
数据库
5
JDK
8
开发工具包
2.3.2硬件环境
硬件环境如下表2-4所示:
表2-4开发工具表
序号
名称
备注
1
华硕
8GRAM
2
处理器
Inteli5-4200
2.3.3开发工具
开发环境如下表2-4所示:
表2-5开发工具表
序号
名称
版本
备注
1
IntellijIDEA
2018.01
编译器
2
Navicat
12
数据库客户端
3
Maven
3.0.5
项目管理工具
第3章可行性分析与需求分析
3.1可行性分析
3.1.1操作可行性
本系统使用的操作系统是windows7,对于当今进入互联网时代的人们来说是比较简单操作的,在操作方面是可行的。
3.1.2技术可行性
本系统是由spring+springmvc+mybatis等技术结合开发而成的,技术方面是可行的。
对于界面的开发使用的是当前流行的框架Bootstrap,在交互方面非常友好,并且易于操作和开发。
在数据库方面采用的是mysql,在安全性上有保障,而且mysql的可移植性更强。
在缓存方面采用的是redis,redis是目前比较受欢迎的缓存数据库之一,能够保证数据存取的高效率。
3.1.3设计可行性
本系统在设计方面采用的是MVC模式,能够将页面展示,业务逻辑处理,数据访问很好的划分出来,各个层次间的耦合性较低,大大的提高了项目的灵活性,系统的总体划分是比较清晰的,所以在设计方面也是可行的。
3.2总体需求
图书管理系统面向的使用群体是读者和图书管理员,这两类角色对应着不同的功能,具体如图3-1和3-2所示,管理员具备了登录,注销,对图书的管理,读者的管理,分类的管理,借还日志的管理,以及密码的修改。
读者具备了登录,图书查询,注册,注销,编辑个人信息,查询日志以及修改密码等功能。
图3-1读者用例图
图3-2管理员用例图
3.3功能性需求
本图书管理系统包含了下列功能模块:
(1)图书模块:
对图书的查询增添,修改删除。
通过excel导入图书信息,图书的借阅和归还。
读者只能使用图书模块中的查询功能。
(2)管理员模块:
登录,修改密码和注销。
(3)读者模块:
注册,登录,修改密码和注销,编辑个人信息,增添读者,删除读者,增添和删除读者的功能只有管理员才能使用。
(4)日志模块:
查询日志,该功能只有管理员才能使用,读者只能查看自己的日志。
读者借阅图书和归还图书时都会产生对应的日志。
(5)分类模块:
对图书分类的新增和删除,删除时会同时将分类对应的图书进行级联删除,该功能只有管理员能使用。
第4章系统设计
4.1架构设计
4.1.1系统架构
本图书管理系统的架构由前端和后端组成,系统的功能和页面展示都离不开
前后端与数据库间的交互。
本图书管理系统的系统架构如图4-1所示:
图4-1系统架构图
4.1.2总体功能架构
系统的总体功能架构如下图4.2所示:
图4-2功能架构图
4.2功能设计
4.2.1读者模块
读者模块包含了注册,登录和编辑个人信息,查询读者信息,添加读者信息,编辑读者信息,修改密码。
其中删除读者,查询读者,编辑读者和添加读者的功能只有管理员具备。
(1)注册
注册时要填入注册的信息,需要填入的有编号,姓名,密码,生日,地址,性别,和电话。
系统会对填入的信息进行格式的校验,格式校验通过后会对读者编号进行校验,如果读者编号已被注册使用,会给出相应的提示。
操作流程如图4-3所示:
图4-3注册流程图
(2)登录
读者输入有效的账号和密码后,点击登录进行登录,系统会对填入的信息进行校验,给出相应的提示。
登录操作流程如图4-4所示:
图4-4登录流程图
(3)编辑个人信息
编辑个人信息时需要输入格式正确的信息,可修改的信息有姓名,性别,生日,地址。
系统会校验信息的正确性,给出相应的提示。
编辑个人信息流程如图4-5所示:
图4-5编辑个人信息流程图
(4)修改密码
修改密码时需要会校验新密码的两次输入,给出相应的提示。
修改密码流程如图4-6所示:
图4-6修改密码流程图
(5)注销
读者登录系统后可以点击注销退出系统。
(6)查询读者
管理员登录后可以进行读者信息的操作,读者列表具有分页功能,列表显示的信息有读者编号,姓名,性别,生日,地址,电话。
管理员输入读者编号或姓名,系统根据输入的信息进行查询,查询到就返回读者信息,查询读者操作流程如图4-7所示:
图4-7查询读者流程图
(7)删除读者
管理员登录系统后可以点击删除指定读者。
(8)添加读者
管理员输入读者信息,需要填写的信息有名称,性别,生日,密码,地址,手机号码。
系统会对输入的信息进行校验,给出对应的提示,增添图书的操作流程如图4-8所示:
图4-8管理员增添读者流程图
(9)编辑读者信息
管理员输入读者信息,需要填写的信息有名称,性别,生日,密码,地址,手机号码。
系统会对输入的信息进行校验,给出对应的提示,编辑读者的操作流程如图4-9所示:
图4-9管理员编辑读者流程图
4.2.2管理员模块
管理员模块包含了登录,修改密码,注销功能。
(1)登录
登录时需要填入有效的信息。
管理员登录操作流程如4-10所示:
图4-10管理员登录流程图
(2)修改密码
修改密码时会进行新密码的两次校验。
管理员修改密码操作流程如图4-11所示:
图4-11管理员修改密码流程图
(3)注销
管理员登录系统后可以点击注销退出系统。
4.2.3图书模块
图书模块包含了图书的增添,查询,修改,删除和导入,查看图书详情,图书借阅和归还功能。
其中,读者只具备了查询图书和查看图书详情的功能。
(1)增添图书
管理员输入图书信息,需要填写的信息有图书简介,图书类别,图书数量,图书出版社,图书语言,图书状态,图书名称,图书出版日期,书架号,图书作者,图书价格。
系统会对输入的信息进行校验,给出对应的提示,增添图书的操作流程如图4-12所示:
图4-12管理员增添图书流程图
(2)修改图书
管理员修改图书信息,可以修改的信息有图书简介,图书类别,图书数量,图书出版社,图书语言,图书状态,图书名称,图书出版日期,书架号,图书作者,图书价格。
系统对输入的信息进行校验,给出对应的提示,修改图书的操作流程如图4-13所示:
图4-13管理员修改图书流程图
(3)查询图书
图书列表有分页功能,列表展示的信息有状态,编号,出版社,作者,价格,名称。
输入要查询的图书的名字或编号,系统根据输入信息查找对应的书籍,找到了就返回图书信息,找不到会给对应的提示。
查询图书操作流程如4-14所示:
图4-14管理员查询图书流程图
(4)图书借阅
系统会根据管理员输入的读者编号校验读者是否已经借阅过同一本图书,给出相应的提示,图书借阅操作流程如图4-15所示:
图4-15借阅图书流程图
(5)归还图书
系统会根据管理员输入的读者编号检验读者是否借阅了图书,给出相应的提示,归还图书操作流程如图4-16所示:
图4-16归还图书流程图
(6)图书详情
点击要查看的图书详情,即可查看图书的详细信息,详细信息有图书简介,图书类别,图书出版社,图书语言,图书状态,图书名称,图书出版日期,书架号,图书作者,图书价格。
(7)导入图书
管理员按照指定格式在excel文件上填写图书信息,将填写好的文件导入。
(8)删除图书
管理员对指定要删除的图书进行删除。
4.2.4分类模块
分类模块包含了查询分类,增添分类,删除分类功能。
该模块的功能只有管理员才能使用。
(1)查询分类
分类列表具有分页功能,列表展示的信息有分类号,分类名称,分类对应的图书数量。
管理员输入要查询的分类的名称,系统根据输入的名称查找分类,找到了就会返回分类信息,找不到就会给出对应的提示。
查询分类操作流程如图4-17所示:
图4-17管理员查询分类流程图
(2)增添分类
管理员输入分类的名称进行分类的增添,增添分类的时候系统会判断是否重复了,增添分类操作流程如图4-18所示:
图4-18管理员增添分类流程图
(3)删除分类
管理员删除指定的分类,该操作会同时将分类对应的书全部删除。
4.2.5借还日志模块
借还日志模块包含了查询借还日志,查看个人借还日志,借阅图书时添加日志,归还图书时修改日志等功能。
(1)查询借还日志
日志列表具有分页功能,列表展示的信息有流水号,图书号,读者证号,借出日期,归还日期。
管理员可以输入读者的编号或者图书的编号对日志进行查询,查询借还日志操作流程如图4-19所示:
图4-19管理员查询借还日志流程图
(2)查看个人日志
读者可以点击查询自己的借还日志。
(3)借还日志的增添和修改
在管理员操作图书的借阅时,会产生一条借阅日志,操作图书归还时,会修改借还日志中的归还日期。
4.3数据库设计
4.3.1数据库概念设计
4.3.1.1实体间关系
实体间的关系E-R图如下图4-20所示:
图4-20实体间的关系E-R图
4.3.1.2读者登录信息
读者登录信息E-R图如下图4-21所示:
图4-21读者登录信息E-R图
4.3.1.3读者个人信息
读者个人信息E-R图如下图4-22所示:
图4-22读者个人信息E-R图
4.3.1.4借还日志
借还日志信息E-R图如下图4-23所示:
图4-23借还日志E-R图
4.3.1.5图书分类
图书分类信息E-R图如下图4-24所示:
图4-24图书分类E-R图
4.3.1.6图书信息
图书信息E-R图如下图4-25所示:
图4-25图书信息E-R图
4.3.1.7管理员
管理员信息E-R图如下图4-26所示:
图4-26管理员E-R图
4.3.2数据库表结构
(1)图书信息表
图书信息表结构如表4-1所示:
表4-1图书信息表
字段名称
类型
是否空值
是否主键
注释
book_id
varchar(11)
否
是
编号,同时也是主键id,由系统生成
name
varchar(50)
否
否
名称
author
varchar(50)
否
否
作者
pubish
varchar(30)
否
否
出版社
introduction
text
否
否
简介
language
varchar(10)
否
否
语言
price
decimal(10)
否
否
价格
pudate
date
否
否
出版日期
class_id
int(11)
否
否
分类编号,外键,关联图书分类表的class_id
pressmark
int(11)
否
否
书架号
state
smallint(6)
否
否
图书状态,0表示不可借阅,1表示可借阅
num
int(11)
否
否
图书数量
(2)读者信息表
读者信息表结构如表4-3所示:
表4-3读者信息表
字段名称
类型
是否空值
是否主键
注释
reader_id
varchar(11)
否
是
编号,同时也是主键id,与登录信息表对应
name
varchar(16)
否
否
姓名
sex
varchar
(2)
否
否
性别
birth
date
否
否
生日
address
varchar(50)
否
否
地址
telcode
varchar(11)
否
否
电话
(3)读者登录信息表
读者登录信息表结构如表4-2所示:
表4-2读者登录信息表
字段名称
类型
是否空值
是否主键
注释
reader_id
varchar(11)
否
是
编号,同时也是主键id
name
varchar(16)
否
否
姓名
passwd
varchar(50)
否
否
密码
card_state
int
(1)
否
否
读者状态,0表示失效,1表示有效
(4)借阅归还日志表
借阅归还日志表结构如表4-4所示:
表4-4借阅归还日志表
字段名称
类型
是否空值
是否主键
注释
sernum_id
varchar(20)
否
是
编号,同时也是主键id
book_id
varchar(20)
否
否
图书编号,外键,关联book表的book_id
reader_id
varchar(11)
否
否
读者编号,外键,关联reader_info表的reader_id
lend_date
date
否
否
借阅日期
back_date
date
否
否
归还日期
(5)图书分类表
图书分类表结构如表4-5所示:
表4-5图书分类表
字段名称
类型
是否空值
是否主键
注释
class_id
int(11)
否
是
编号,同时也是主键id
class_name
varchar(45)
否
否
分类名称
book_num
int(11)
否
否
分类对应的图书数量
(6)管理员表
管理员表结构如表4-5所示:
表4-6管理员表
字段名称
类型
是否空值
是否主键
注释
admin_id
varchar(11)
否
是
编号,同时也是主键id
password
varchar(45)
否
否
密码
第5章系统实现
5.1页面展示效果
5.1.1读者系统界面
(1)登录
读者和管理员共用一个登录页面,系统根据输入的信息判断账号的类型,登录界面实现如图5-1所示:
图5-1登录界面
(2)注册
读者输入要注册的账号的信息,系统会对输入的信息的格式进校验,格式校验后会对注册的编号进行重复性判断,如果已经存在该编号,会给出提示,读者注册页面实现如图5-2所示:
图5-2注册界面
(3)图书查询
读者登录成功后进入系统的主页,系统的主页即图书查询页面,读者可以根据图书名或图书编号或图书分类进行查询,图书查询界面实现如图5-3所示:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SSM 图书 管理 系统 设计 实现