SSM图书管理系统

668 篇文章 8 订阅
511 篇文章 1 订阅
本文详细描述了一个采用Java编程语言,使用SSM框架和MySQL数据库构建的图书管理系统。系统涵盖了用户、图书管理员和管理员的功能模块,包括登录、图书信息管理、用户管理等多个操作。系统设计考虑了性能、稳定性和可维护性,并通过系统测试确保功能的正确性。
摘要由CSDN通过智能技术生成

目  录

摘 要........................................................................................................ 1

ABSTRACT............................................................................................. 2

1 引言...................................................................................................... 3

1.1 研究背景...................................................................................... 3

1.2 选题意义...................................................................................... 3

1.3 研究内容...................................................................................... 3

2 系统分析.............................................................................................. 4

2.1 系统目标...................................................................................... 4

2.2 系统可行性分析.......................................................................... 4

2.3 功能需求分析.............................................................................. 5

2.3.1 用例概述............................................................................ 5

2.3.2 用例分析............................................................................ 6

2.4 性能需求分析.............................................................................. 9

3 总体设计............................................................................................ 10

3.1 功能模块.................................................................................... 10

3.2 数据库设计................................................................................ 10

3.2.1 概念模型设计................................................................... 10

3.2.2 数据库表........................................................................... 11

4 详细设计............................................................................................ 16

4.1 业务流程.................................................................................... 16

4.2 时序图........................................................................................ 19

4.3 活动图........................................................................................ 21

4.3.1 用户查询图书信息活动图................................................ 21

4.3.2 管理员修改图书类型活动图............................................ 22

5 系统实现............................................................................................ 24

5.1 用户注册登录............................................................................ 24

5.2 图书类型管理............................................................................ 25

5.3 用户管理.................................................................................... 26

5.4 图书管理员管理........................................................................ 27

5.5 图书借阅管理............................................................................ 28

5.6 图书归还管理............................................................................ 29

5.7 图书续借管理............................................................................ 30

5.8 赔偿信息管理............................................................................ 31

5.9 图书信息展示............................................................................ 32

5.10 图书信息详细信息展示........................................................... 33

5.11 公告信息展示.......................................................................... 34

5.12 公告信息展示.......................................................................... 35

6 系统测试............................................................................................ 37

6.1 系统测试的目的........................................................................ 37

6.2 测试过程.................................................................................... 37

6.2.1 登录测试.......................................................................... 37

6.2.2 用户管理测试................................................................... 38

6.2.3 图书信息管理测试........................................................... 39

6.3 系统测试的意义........................................................................ 40

7 结论与展望........................................................................................ 41

参考文献................................................................................................ 42

致谢........................................................................................................ 43

随着科学技术的发展,人们对服务的要求也越来越高。为了能提高管理者的管理效能,现在的图书管理必须要脱离复杂的手工管理方式。随着信息化时代的到来,智能操作系统成为图书馆的重要组成部分,为用户提供优质的服务。

该系统采用 Java编程语言,采用开放源码系统结构SSM完成整个系统结构,以 MySQL作为数据库进行存储, Tomcat作为服务器,负责从前面向用户提供的信息。管理员具有的功能包括登录、个人中心、用户管理、图书管理员管理、图书信息管理、图书类型管理、图书借阅管理、图书归还管理、图书续借管理、赔偿信息管理、图书入库管理、留言板管理、系统管理。用户具有的功能包括注册登录、个人中心、图书借阅管理、图书归还管理、图书续借管理、赔偿信息管理。

关键词:Java,SSM,MySQL

 

ABSTRACT

With the development of science and technology, people have higher and higher requirements for service. In order to improve the management efficiency of managers, the present library management must be separated from the complex manual management. With the advent of the information age, the intelligent operating system has become an important part of the library to provide users with quality services.

The system uses Java programming language, uses open source system structure SSM to complete the whole system structure, uses MySQL as the database storage, Tomcat as the server, responsible for the information provided to users. The functions of the administrator include login, personal center, user management, librarian management, library information management, book type management, library borrowing management, book return management, book renewal management, compensation information management, library management, message board management, system management. The functions of users include registration and login, personal center, book borrowing management, book return management, book renewal management, compensation information management.

Key words:Java,SSM,MySQL

1 引言

1.1 研究背景

当前世界正处于高速发展阶段,信息的高效是社会生产力的重要组成部分。图书管理系统等使用与宣传,是社会的资讯物化,方便了管理员与用户,节省了管理者管理的精力[1],提高了办事的速度。可见,信息化是一个必然的趋势,它能改变一个图书馆的工作方式。

在如今的网络时代,便捷、快捷的图书管理成为很多人首选的选择。以往使用手工方式来管理用户预约图书信息,但是这种方式不仅错误率很高,参考数据也很少,所以,要想有效地进行读者的借阅,就必须要有一个更好的管理系统[2]。

1.2 选题意义

21个新世纪属于大数据社会,由于在管理信息的层次上存在着海量的数据,所以管理者要对海量的数据进行管理。因为电子电脑具有自动化的优势,所以许多用户选择使用电脑来进行海量的数据,从而提高了图书管理系统的工作效能与安全。对数据的处理愈是愈趋精密,愈能体现电脑管理之效益[3]。一开始的时候,管理员们都会选择手工的方式来进行数据的管理,但是因为数据的数量实在是太多了,如果要进行大量的数据隐藏的时候,很可能会导致系统的工作效率下降[4]。

1.3 研究内容

以下是关于这篇文章的主要内容:

第一章为绪论部分。该章重点阐述了研究环境和意义,研究现状,以及本文的结构。

第二章主要介绍了该软件的开发平台和技术。本文对图书管理系统的开发环境以及所使用的技术进行了较为详尽的阐述。

第三章为需求分析。该章对图书管理系统的功能和功能要求进行了详尽的描述。

第四章为系统功能设计。进行了系统功能分析和数据库设计。

第五章为系统实现。本文主要讨论了在图书管理系统的功能实现。

第六章对本论文进行了系统测试。这一章讨论了利用黑盒子进行系统的测试。

2 系统分析

2.1 系统目标

本系统包括了服务管理等工作,采用 MVC的设计方法和 MySQL数据库来实现对图书管理,目的在于方便用户,提高管理员的工作效率。

图书管理系统的实施要结合实际,清楚用户的需要,分析用户的需要,制定出一个系统的目标,并对其进行分析,从而确定图书管理系统的系统结构。

(1)各子系统应具有独立且平滑的特点,有利于各子系统的发展与维修。

(2)充分地顾及对经营过程中的责任划分,尽量将各职能子系统置于便于对子系统进行管理的责任范围内。

(3)用户对图书管理的特定业务不能过于繁杂,不同的用户具有不同的经营的权力,需要在不同的用户表格中加以区分。

在用户的功能层次上,用户的接口应该更加友好,用户可以简单的使用。在开发过程中,要注意系统的开发费用,提高工作的效能。

2.2 系统可行性分析

本文在分析了该系统的目的以后,从技术与经济学的角度分析了图书管理系统的可行性。

(1)技术上是可行的。在开发图书管理系统的时候,软件的要求相对较少,只要Win10就行了,不需要硬盘,所以硬件的价格要便宜一些。在软件方面,仅需在许多应用中使用的数据库及编译器环境即可运行,因此其开发费用相对低廉。

(2)在经济上可行。经济学上的可行性是指通过图书管理系统所赚取的利润,可以超过软件的研发和设计费用。利用这个系统,可以极大地降低人力的实际工作,提高管理员的管理工作的质量。采用开放源系统结构可以降低开发费用。该图书管理系统具有很好的扩展性和易于维修,从而极大地降低了以后的维修费用[5]。

(3)在法律上是可行的,因为其主要是为了方便用户借阅图书,给用户借还图书带来方便,符合法律规定的合理经营目的。同时,系统也需遵守个人信息保护、消费者权益保护等相关法律法规,确保运营过程合法合规。

2.3 功能需求分析

2.3.1 用例概述

用户具有的功能包括注册登录、个人中心、图书借阅管理、图书归还管理、图书续借管理、赔偿信息管理。

图2-1 用户用例图

图书管理员具有的功能包括登录、个人中心、图书信息管理、图书类型管理、图书借阅管理、图书归还管理、图书续借管理、赔偿信息管理、图书入库管理。

图2-2图书管理员用例图

管理员具有的功能包括登录、个人中心、用户管理、图书管理员管理、图书信息管理、图书类型管理、图书借阅管理、图书归还管理、图书续借管理、赔偿信息管理、图书入库管理、留言板管理、系统管理。

图2-3 管理员用例图

2.3.2 用例分析

(1)用户管理

在表格2.1中给出了用户管理案例的说明。

表2-1 用户信息管理用例描述

用例标识

2.1

用例名称

管理用户信息

参与者

管理员

前置条件

管理员必须输入正确的帐号和密码以登录该系统

后置条件

管理用户

用例概述

管理员管理用户

基本事件流

1.管理员输入用户名和密码

2.管理员点击添加按钮,在用户信息管理界面中提交新增加的用户信息

3.只有用户信息跟数据库信息不同,用户信息才能够添加成功

备选事件流

4. 添加的信息需要注意字符合法性才能够成功添加

备注

(2)图书管理员管理

图书管理员管理用例描述如表2-2所示。

表2-2 图书管理员管理用例描述

用例标识

2.2

用例名称

管理图书管理员信息

参与者

管理员

前置条件

管理员必须输入正确的帐号和密码以登录该系统

后置条件

管理图书管理员信息

用例概述

管理员管理图书管理员信息

基本事件流

1.管理员输入用户名和密码

2.管理员点击修改按钮,在图书管理员信息管理界面上提交修改后的管理员信息

3.管理员信息修改成功

备选事件流

4. 修改的信息需要注意字符合法性才能够成功修改

备注

(3)图书信息管理

图书信息管理用例描述如表2-3所示。

表2-3 图书信息管理用例描述

用例标识

2.3

用例名称

删减图书信息

参与者

管理员

前置条件

管理员登录系统

后置条件

删减图书信息

用例概述

管理员删减图书信息

基本事件流

1.管理员在系统中输入正确的帐号和密码

2.管理员按下删除键,将更改后的图书信息资料提交至图书信息管理界面

3.图书信息删除成功

备选事件流

4. 图书信息需要不与其他表格相联系,才能够删除图书信息

备注

(4)查看图书信息

查看图书信息用例描述如表2-4所示。

表2-4 查看图书信息用例描述

用例标识

2.4

用例名称

查看图书信息

参与者

用户

前置条件

用户需要登录

后置条件

查看图书信息

用例概述

用户查看图书信息

基本事件流

1.用户登录网页

2.在这个系统中,用户键入一个自己拥有的用户名和密码

3.打开图书信息清单的页面

(5)登录

登录用例描述如表2-5所示。

表2-5 登录用例描述

用例标识

2.5

用例名称

登录

参与者

用户、图书管理员和管理员

前置条件

用户、图书管理员和管理员需要输入正确的用户名和密码

后置条件

登录

用例概述

用户和管理员登录

基本事件流

1.用户、图书管理员和系统管理员登录网页

2.管理员和使用者在系统中输入信息

备选事件流

4. 如果需要成功登录,必须输入与数据库信息相符的信息

备注

(6)个人中心

个人中心用例描述如表2-6所示。

表2-6 个人中心用例描述

用例标识

2.6

用例名称

个人中心

参与者

用户、图书管理员和管理员

前置条件

用户、图书管理员和管理员必须访问配置文件更改页

后置条件

修改个人信息

用例概述

用户、图书管理员和管理员管理个人信息

基本事件流

1.用户、图书管理员、管理员登录网页

2.使用者及管理人员在该系统内输入使用者名称及密码

3.更改自己的个人信息到自己的个人信息更改页

备选事件流

  1. 只有输入的信息合法才能够成功修改

备注

2.4 性能需求分析

(1)用户在使用客户端进行系统访问时,需要检查是否具有良好的性能,并可以设置多台服务器,从而提高其功能。MySQL具有高速缓存功能,它能根据图书管理系统的数据进行高速缓冲,对数据库的主要性能进行调节,从而提高数据库的性能。如果使用了数据库的缓冲功能,那么用户在看到相同的信息时,就能立刻从高速缓存中读出信息,从而提高了数据的阅读速度。

(2)在运行过程中,图书管理系统的运行需要有足够的稳定性,能够承受一些压力。在代码出现轻微错误时,图书管理系统的操作应该不会受到任何的干扰。如果系统因为故障而导致了故障,那么这就说明了图书管理系统的功能是否还能正常使用。

(3)当在进行图书管理系统管理的时候,一定要注意它的维护性,它的实施要选择多个层次的架构来完成,在软件开发人员的分工下,要注意它的建立,以利于以后的维护。

(4)该图书管理系统提供了一个灵活的查询控制功能,当管理员输入信息时,就可以生成一个查询,从而提高了查询的速度[6]。

总体设计

3.1 功能模块

对系统进行需求分析后,从而得出图书管理系统可以划分为用户模块、图书管理员模块和管理员模块。系统功能模块图如图3-1所示。

图3-1 功能模块图

3.2 数据库设计

数据库是一个文件仓库,可以利用相关 api接口来进行数据的存储。很久以前,可以将数据存储在文件里面,但是使用这个方法来存储和阅读数据的速度并不是很高,所以在使用 MySQL的时候,系统就需要使用 MySQL来存储和阅读这些数据。MySQL是一个自由的开放源码系统,建立在一个建立在一个关联的基础上的关系数据库[7]。

3.2.1 概念模型设计

(1)当数据被加工时,能够满足用户的需要,能够更加理性地呈现和对实际世界的看法。

(2)用户在实际的操作中要很方便地进行,并且要把数据库的结构更加的简单,但是要易于理解。

(3)当以后的数据要求发生变化时,可以很容易地、快速地修改数据库和建模结构[8]。如图3-7所示。

图3-2 数据库E-R图

3.2.2 数据库表

(1)用户表

用户表用来存储用户信息。包含借书卡号、密码、姓名等信息,字段设计如表3-1所示。

表3-1 用户表

列名

数据类型

长度

主外键

字段说明

id

bigint

20

主键

addtime

timestamp

0

创建时间

jieshukahao

varchar

200

借书卡号

mima

varchar

200

密码

xingming

varchar

200

姓名

xingbie

varchar

200

性别

dianhua

varchar

200

电话

shenfenzheng

varchar

200

身份证

touxiang

longtext

0

头像

(2)图书信息表

图书信息表用来存储图书信息。包含图书名称、图书类型、作者等信息,字段设计如表3-2所示。

表3-2 图书信息表

列名

数据类型

长度

主外键

字段说明

id

bigint

20

主键

addtime

timestamp

0

创建时间

tushumingcheng

varchar

200

图书名称

tushuleixing

varchar

200

图书类型

zuozhe

varchar

200

作者

chubanshe

varchar

200

出版社

kucun

int

11

库存

tushujieshao

longtext

0

图书介绍

tushufengmian

longtext

0

图书封面

thumbsupnum

int

11

crazilynum

int

11

clicktime

datetime

0

最近点击时间

(3)图书入库表

图书入库表用来存储了图书入库信息。包含图书名称、图书类型、作者等信息,字段设计如表3-3所示。

表3-3 图书入库表

列名

数据类型

长度

主外键

字段说明

id

bigint

20

主键

addtime

timestamp

0

创建时间

tushumingcheng

varchar

200

图书名称

tushuleixing

varchar

200

图书类型

zuozhe

varchar

200

作者

chubanshe

varchar

200

出版社

kucun

int

11

入库数量

rukushijian

datetime

0

入库时间

(4)图书借阅表

图书借阅表用来存储了图书借阅信息。包含借阅数量、借阅天数、借阅时间等信息,字段设计如表3-4所示。

表3-4 图书借阅表

列名

数据类型

长度

主外键

字段说明

id

bigint

20

主键

addtime

timestamp

0

创建时间

tushumingcheng

varchar

200

图书名称

tushuleixing

varchar

200

图书类型

zuozhe

varchar

200

作者

chubanshe

varchar

200

出版社

kucun

int

11

借阅数量

jieyuetianshu

int

11

借阅天数

jieyueshijian

datetime

0

借阅时间

jieyueshuoming

varchar

200

借阅说明

jieshukahao

varchar

200

借书卡号

xingming

varchar

200

姓名

(5)图书归还表

图书借阅表用来存储了图书借阅信息。包含出版社、归还数量、归还时间等信息,字段设计如表3-5所示。

表3-5 图书归还表

列名

数据类型

长度

主外键

字段说明

id

bigint

20

主键

addtime

timestamp

0

创建时间

tushumingcheng

varchar

200

图书名称

tushuleixing

varchar

200

图书类型

zuozhe

varchar

200

作者

chubanshe

varchar

200

出版社

kucun

int

11

归还数量

guihaishijian

datetime

0

归还时间

shifouwanhao

varchar

200

是否完好

guihaibeizhu

varchar

200

归还备注

jieshukahao

varchar

200

借书卡号

xingming

varchar

200

姓名

crossuserid

bigint

20

跨表用户id

crossrefid

bigint

20

跨表主键id

sfsh

varchar

200

是否审核

shhf

longtext

0

审核回复

id

bigint

0

主键

(6)图书管理员表

图书管理员表用来存储了图书管理元信息。包含管理账号、密码、管理姓名等信息,字段设计如表3-6所示。

表3-6 图书管理员表

列名

数据类型

长度

主外键

字段说明

id

bigint

20

主键

addtime

timestamp

0

创建时间

guanlizhanghao

varchar

200

管理账号

mima

varchar

200

密码

guanlixingming

varchar

200

管理姓名

xingbie

varchar

200

性别

dianhua

varchar

200

电话

touxiang

longtext

0

头像

(7)赔偿信息表

赔偿信息表用来存储了赔偿信息。包含图书名称、图书类型、赔偿金额等信息,字段设计如表3-7所示。

表3-7 赔偿信息表

列名

数据类型

长度

主外键

字段说明

id

bigint

20

主键

addtime

timestamp

0

创建时间

tushumingcheng

varchar

200

图书名称

tushuleixing

varchar

200

图书类型

peichangjine

int

11

赔偿金额

peichangyuanyin

varchar

200

赔偿原因

fabushijian

datetime

0

发布时间

jieshukahao

varchar

200

借书卡号

xingming

varchar

200

姓名

ispay

varchar

200

是否支付

4 详细设计

4.1 业务流程

(1)注册流程图

如果用户两次输入密码不一致,那么就不能成功注册。如图4-1所示。

图4-1 注册流程图

(2)登录流程图

用户需要在登录网页上输入用户名称和用户密码,然后点击登录按钮,如果通过验证,就可以进入到首页。如图4-2所示。

图4-2 登录流程图

(3)查询流程图

如果在数据库记录中没有找到该信息,那么就不能显示出相关信息。如图4-3所示。

图4-3 查询流程图

(4)图书信息管理流程图

管理员在后台注册了该系统以后,管理员登录系统后台后,管理员可以对图书信息进行查询、删除、增加,修改以及查询等操作。管理员在图书信息管理页面输入图书相关的查询信息,输入的图书信息记录与数据库的记录不能冲突。如果要删除数据库中的图书信息,就需要点击删除键进行删除。如果要新增数据库的图书信息,就需要点击新增键进行增加。如图4-4所示。

图4-4 图书信息管理流程图

(5)用户管理流程图

在后台注册了该系统以后,管理员登录系统后台后,管理员可以对用户信息进行增删改查等操作。管理员在用户管理页面输入用户相关的查询信息,输入的用户信息记录与数据库的记录不能冲突。如果要删除数据库中的用户信息,就需要点击删除键进行删除。如果要修改数据库的用户信息,就需要点击修改键进行修改。如图4-5所示。

图4-5 用户管理流程图

4.2 时序图

(1)图书信息管理时序图

管理员在后台登录系统之后可以对图书信息管理,可以对图书信息进行增删改查。如图4-6所示。

图4-6 图书信息管理流程图

(2)用户管理时序图

管理员登录系统后,可以对后台管理界面的用户信息进行管理。如图4-7所示。

图4-7 用户管理时序图

(3)图书借阅管理时序图

管理员登录后台管理界面的图书借阅管理功能模块可以管理图书借阅信息。如图4-8所示。

图4-8 图书借阅管理时序图

(4)图书归还管理时序图

管理员登录后台管理界面的图书归还管理功能模块可以管理图书归还信息。如图4-9所示。

图4-9 图书归还管理时序图

4.3 活动图

4.3.1 用户查询图书信息活动图

在查询图书信息的活动图中,创建了三个泳道,分别是用户对象、控制业务逻辑的对象和数据库对象,详细的活动过程叙述如下:

(1)用户输入正确的登录信息进行验证,成功验证后登录成功。

(2)用户在图书信息的界面中输入的图书名称。

(3)界面将信息传递到控制对象,对图书名称进行验证,然后到数据库中去查询该图书信息是否存在。

(4)如果成功,则在图书信息的界面显示图书信息。如图4-10所示。

图4-10 用户查询图书信息活动图

4.3.2 管理员修改图书类型活动图

在修改图书类型的活动图中,创建了三个泳道,分别是管理员对象、控制业务逻辑的对象和数据库对象,详细的活动过程叙述如下:

(1)管理员输入正确的登录信息进行验证,成功验证后登录成功。

(2)管理员在图书类型的界面中输入要修改的图书类型信息。

(3)界面将信息传递到控制对象,对图书类型信息进行验证,并到数据库中查询该图书类型信息是否已经存在。

(4)控制对象根据查询结果判断要修改的图书类型信息是否存在。如果不存在,则将提示信息返回修改图书类型信息的界面予以显示。如果存在,则将原图书类型信息以修改并保存到数据库。

(5)控制对象根据返回的图书类型的修改结果,判断修改信息是否成功。如果成功,则在修改图书类型信息的界面显示修改成功的信息,如果未成功,则显示修改失败的信息。如图4-11所示。

图4-11 管理员修改图书类型活动图

系统实现

5.1 用户注册登录

如果需要登记,就需要输入相应的用户数据,然后在注册完成后,就可以登录了,如果需要登录,就需要输入相应的身份,然后输入相应的信息。逻辑代码中的逻辑代码需要定义,用户的信息可以根据用户的姓名来查找,用户的个人数据可以被查询到,如果用户输入的用户名称与数据库记录不符,那么在后台的服务窗口就会提示用户。用户也可以选择重新设置的口令,激活 session包含的 invalidate来取消用户。如图5-1所示。

图5-1 登录界面

代码如下:

 */

       @IgnoreAuth

       @RequestMapping(value = "/login")

       public R login(String username, String password, String captcha, HttpServletRequest request) {

              UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));

              if(user==null || !user.getPassword().equals(password)) {

                     return R.error("账号或密码不正确");

              }

              String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());

              return R.ok().put("token", token);

       }

5.2 图书类型管理

如果在图书类型管理接口中显示了信息,则可以采用网页的形式进行展示,如果网页上的数据比较多,则可以进入下一页,使用网页特定的工具类别来完成上一页和下一页的效果。当管理员在输入框中输入的图书类型名称时,需要将其传递给后端逻辑代码的query函数,并且,在得到该图书类型的信息时,需要将该消息输入到前面的接口中。修改键的时间,一定要符合逻辑代码设置的更新功能。如果管理员点击删除键,那么就需要设置删除功能,使用SQL声明删除设置。如图5-2所示。

图5-2 图书类型管理界面

代码如下:

 查询

     */

    @RequestMapping("/query")

    public R query(TushuleixingEntity tushuleixing){

        EntityWrapper< TushuleixingEntity> ew = new EntityWrapper< TushuleixingEntity>();

             ew.allEq(MPUtil.allEQMapPre( tushuleixing, "tushuleixing"));

              TushuleixingView tushuleixingView =  tushuleixingService.selectView(ew);

              return R.ok("查询图书类型成功").put("data", tushuleixingView);

    }

      

    /**

     * 后端详情

     */

    @RequestMapping("/info/{id}")

    public R info(@PathVariable("id") Long id){

        TushuleixingEntity tushuleixing = tushuleixingService.selectById(id);

        return R.ok().put("data", tushuleixing);

    }

5.3 用户管理

管理员在管理用户的数据时,需要定义后端接口,从而可以对用户进行增、删、查。前面的用户显示需要使用列表函数,并且在前面和后面的数据是由请求对象来传递的。用户的信息被包装成页面的目的,而前面的接口使用规则运算来对页面进行解析。用户的信息要存储在用户的实体中,相关信息都要一一对应。管理员要添加用户数据需要登录后台管理系统点击添加按键,再加上按键时需要绑定按键点击,之后逻辑上的代码和绑定相关的接口才能满足用户的需求。如图5-3所示。

图5-3 用户管理界面

代码如下:

  /**

     * 修改

     */

    @RequestMapping("/update")

    @Transactional

    public R update(@RequestBody YonghuEntity yonghu, HttpServletRequest request){

        //ValidatorUtils.validateEntity(yonghu);

        yonghuService.updateById(yonghu);//全部更新

        return R.ok();

5.4 图书管理员管理

如果在图书管理员管理接口中显示了信息,则可以采用网页的形式进行展示,如果网页上的数据比较多,则可以进入下一页,使用网页特定的工具类别来完成上一页和下一页的效果。当管理员在输入框中输入的图书管理员姓名时,需要将其传递给后端逻辑代码的query函数,并且,在得到该图书管理员的信息时,需要将该消息输入到前面的接口中。修改键的时间,一定要符合逻辑代码设置的更新功能。如果管理员点击删除键,那么就需要设置删除功能,使用SQL声明删除设置。如图5-4所示。

图4-4 图书管理员管理界面

代码如下:

  */

    @RequestMapping("/query")

    public R query(TushuguanliyuanEntity tushuguanliyuan){

        EntityWrapper< TushuguanliyuanEntity> ew = new EntityWrapper< TushuguanliyuanEntity>();

             ew.allEq(MPUtil.allEQMapPre( tushuguanliyuan, "tushuguanliyuan"));

              TushuguanliyuanView tushuguanliyuanView =  tushuguanliyuanService.selectView(ew);

              return R.ok("查询图书管理员成功").put("data", tushuguanliyuanView);

    }

      

    /**

     * 后端详情

     */

    @RequestMapping("/info/{id}")

    public R info(@PathVariable("id") Long id){

        TushuguanliyuanEntity tushuguanliyuan = tushuguanliyuanService.selectById(id);

        return R.ok().put("data", tushuguanliyuan);

    }

5.5 图书借阅管理

管理员在注册时,输入了帐号和口令,然后在系统的管理面板上进行操作,管理员需要将图书借阅的资料移到管理系统的功能栏里,按下“删除”按钮,将被删除的图书借阅信息进行删除,如管理人员所删除的数据与其它表格存在的数据有关联,必须删除其它表格中的数据。

在图书借阅的管理界面里面,可以查询到图书借阅的相关资料,在检索输入栏中,可以通过输入图书名称进行检索,若所录入的图书借阅信息与数据库中的图书借阅信息不符,就无法获得相应的信息。如图5-5所示。

图5-5 图书借阅管理界面

代码如下:

/**

     * 删除

     */

    @RequestMapping("/delete")

    public R delete(@RequestBody Long[] ids){

        tushujieyueService.deleteBatchIds(Arrays.asList(ids));

        return R.ok();

    }

5.6 图书归还管理

管理员要管理图书归还的信息,就必须要到图书归还管理的页面里面去,而要删除图书归还的话,就必须要到图书归还管理的页面里面,然后单击“删除”键,在删除数据的过程中要检查被删除的数据是不是和其他数据之间的相关较大联系,否则无法进行正常的删除等操作。管理员要查询的话可以直接进入图书管理系统,在系统的搜索栏里键入一个图书名称来查询图书归还的相关资料,只要符合资料库的目录,就可以查询到相关的图书归还资料。如图5-6所示。

图5-6 图书归还管理界面

代码如下:

  /**

     * 修改

     */

    @RequestMapping("/update")

    @Transactional

    public R update(@RequestBody TushuguihaiEntity tushuguihai, HttpServletRequest request){

        //ValidatorUtils.validateEntity(tushuguihai);

        tushuguihaiService.updateById(tushuguihai);//全部更新

        return R.ok();

5.7 图书续借管理

管理员在注册时,输入了帐号和口令,然后在系统的管理面板上进行操作,管理员需要将图书续借的资料移到管理系统的功能栏里,按下“删除”按钮,将被删除的图书续借信息进行删除,如管理人员所删除的数据与其它表格存在的数据有关联,必须删除其它表格中的数据。

在图书续借的管理界面里面,可以查询到图书续借的相关资料,在检索输入栏中,可以通过输入图书名称进行检索,若所录入的图书续借信息与数据库中的图书续借信息不符,就无法获得相应的信息。如图5-7所示。

图5-7 图书续借管理界面

代码如下:

    /**

     * 删除

     */

    @RequestMapping("/delete")

    public R delete(@RequestBody Long[] ids){

        tushuxujieService.deleteBatchIds(Arrays.asList(ids));

        return R.ok()

5.8 赔偿信息管理

管理员要管理赔偿信息的信息,就必须要到赔偿信息管理的页面里面去,而要删除赔偿信息的话,就必须要到赔偿信息管理的页面里面,然后单击“删除”键,在删除数据的过程中要检查被删除的数据是不是和其他数据之间的相关较大联系,否则无法进行正常的删除等操作。管理员要查询的话可以直接进入图书管理系统,在系统的搜索栏里键入一个图书名称来查询赔偿信息的相关资料,只要符合资料库的目录,就可以查询到相关的赔偿信息资料。如图5-8所示。

图5-8 赔偿信息管理界面

代码如下:

 /**

     * 查询

     */

    @RequestMapping("/query")

    public R query(PeichangxinxiEntity peichangxinxi){

        EntityWrapper< PeichangxinxiEntity> ew = new EntityWrapper< PeichangxinxiEntity>();

             ew.allEq(MPUtil.allEQMapPre( peichangxinxi, "peichangxinxi"));

              PeichangxinxiView peichangxinxiView =  peichangxinxiService.selectView(ew);

              return R.ok("查询赔偿信息成功").put("data", peichangxinxiView);

    }

5.9 图书信息展示

用户可以进入到详细的图书信息展示界面。从图书信息展示接口进入到详细的图书信息页面,需要将图书信息的代码传递给服务端,然后再用 SQL语言将其详细的数据传递给用户。如图5-9所示。

图5-9 图书信息界面

代码如下:

 */

    @RequestMapping("/lists")

    public R list( TushuxinxiEntity tushuxinxi){

         EntityWrapper<TushuxinxiEntity> ew = new EntityWrapper<TushuxinxiEntity>();

          ew.allEq(MPUtil.allEQMapPre( tushuxinxi, "tushuxinxi"));

        return R.ok().put("data", tushuxinxiService.selectListView(ew));

    }

5.10 图书信息详细信息展示

在图书信息展示页面上,可以显示图书信息的详细数据,登录后点击浏览,点击图书信息的页面就会自动切换到图书信息页面,在页面上设置对应的功能,满足用户的需求,而前端的接口则可以对服务端发送的数据进行解析,然后显示在接口上。图书信息一定要与对应的点击活动相结合,用户点击后可以进行跳跃到对应的界面。如图5-10所示。

图5-10 图书信息详细信息展示界面

代码如下:

  */

       @IgnoreAuth

    @RequestMapping("/detail/{id}")

    public R detail(@PathVariable("id") Long id){

        TushuxinxiEntity tushuxinxi = tushuxinxiService.selectById(id);

              tushuxinxi.setClicktime(new Date());

              tushuxinxiService.updateById(tushuxinxi);

        return R.ok().put("data", tushuxinxi);

    }

5.11 公告信息展示

用户可以进入到详细的公告信息界面。从公告信息展示接口进入到详细的公告信息页面,需要将公告信息的代码传递给服务端,然后再用 SQL语言将其详细的数据传递给用户。如图5-11所示。

图5-11 公告信息中心界面

代码如下:

 */

    @RequestMapping("/lists")

    public R list( NewsEntity news){

         EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();

          ew.allEq(MPUtil.allEQMapPre( news, "news"));

        return R.ok().put("data", newsService.selectListView(ew));

    }

5.12 公告信息展示

在公告信息展示页面上,可以显示公告信息的详细数据,登录后点击浏览,点击公告信息的页面就会自动切换到公告信息页面,在页面上设置对应的功能,满足用户的需求,而前端的接口则可以对服务端发送的数据进行解析,然后显示在接口上。在公告信息的信息一定要与对应的点击活动相结合,用户点击后可以进行跳跃到对应的界面。如图5-12所示。

图5-12 公告信息展示界面

代码如下:

 */

       @IgnoreAuth

    @RequestMapping("/detail/{id}")

    public R detail(@PathVariable("id") Long id){

        NewsEntity news = newsService.selectById(id);

        return R.ok().put("data", news);

    }

6 系统测试

6.1 系统测试的目的

功能测试的主要目的是检查各功能是否正常地执行,是否可以使用。以满足用户的日常需要。而在整个开发的整个流程中,一旦投资到了产品的服务器上,系统就会自动启动,很有希望继续增加统一并发访问量[9]。而同时,系统所承受的负载也会越来越大,一旦超过了系统的承受能力,系统就会出现故障,比如延迟,比如故障。这样的问题会极大地影响到用户的体验,如果解决不了问题,就会造成大量的用户流失。尤其是对于那些正在进行促销或者购买的网站来说,这样的问题往往会致命[10]。

6.2 测试过程

6.2.1 登录测试

表6-1 登录用例表

模块测试

测试用例

预期结果

实际结果

是否通过

登录

账号:abo

密码:abo

可以使用系统功能

可以使用系统功能

通过

登录

账号:null

密码:abo

不能够使用系统功能,系统提示请输入账号

不能够使用系统功能,系统提示请输入账号

通过

登录

账号:abo

密码:null

不能够使用系统功能,系统提示请输入密码

不能够使用系统功能,系统提示请输入密码

通过

登录

账号:null

密码:null

不能够使用系统功能,系统提示请输入账号

不能够使用系统功能,系统提示请输入账号

通过

6.2.2 用户管理测试

表6-2 用户管理用例表

模块测试

测试用例

预期结果

实际结果

是否通过

用户管理

管理员想要添加用户的信息输入用户必填的信息

如果输入信息合法、与数据库记录相符的数据,可以添加成功

如果输入信息合法、与数据库记录相符的数据,可以添加成功

通过

用户管理

管理员想要添加用户的信息输入用户必填的信息

输入信息不合法、与数据库记录不相符的数据

输入信息不合法、与数据库记录不相符的数据

不通过

用户管理

管理员想要修改用户的信息点击修改按钮

如果输入的修改是不正当的,或者输入的是与数据库记录相符的

如果输入的修改是不正当的,或者输入的是与数据库记录相符的

不通过

用户管理

管理员想要修改用户的信息点击修改按钮

输入的修改是正常字符的,或者输入的是与数据库记录不符的

输入的修改是正常字符的,或者输入的是与数据库记录不符的

通过

用户管理

管理员想要删除用户的信息点击删除按钮

若要移除的用户记录与其他数据库记录相关

若要移除的用户记录与其他数据库记录相关

不通过

用户管理

管理员想要删除用户的信息点击删除按钮

移除的用户记录与其他数据库记录不相关

移除的用户记录与其他数据库记录不相关

通过

用户管理

管理员想要搜索用户的信息在输入框中输入用户名称搜索

如果输入的用户名字与数据库纪录相符合

如果输入的用户名字与数据库纪录相符合

通过

用户管理

管理员想要搜索用户的信息在输入框中输入用户名称搜索

如果输入的用户名字与数据库纪录不符。

输入的用户名字与数据库纪录不符

不通过

6.2.3 图书信息管理测试

表6-3 图书信息管理用例表

模块测试

测试用例

预期结果

实际结果

是否通过

图书信息管理

管理员想要添加图书信息的信息输入图书信息必填的信息

如果输入信息合法、与数据库记录相符的数据,可以添加成功

如果输入信息合法、与数据库记录相符的数据,可以添加成功

通过

图书信息管理

管理员想要添加图书信息的信息输入图书信息必填的信息

输入信息不合法、与数据库记录不相符的数据

输入信息不合法、与数据库记录不相符的数据

不通过

图书信息管理

管理员想要修改图书信息的信息点击修改按钮

如果输入的修改是不正当的,或者输入的是与数据库记录相符的

如果输入的修改是不正当的,或者输入的是与数据库记录相符的

不通过

图书信息管理

管理员想要修改图书信息的信息点击修改按钮

输入的修改是正常字符的,或者输入的是与数据库记录不符的

输入的修改是正常字符的,或者输入的是与数据库记录不符的

通过

图书信息管理

管理员想要删除图书信息的信息点击删除按钮

若要移除的图书信息记录与其他数据库记录相关

若要移除的图书信息记录与其他数据库记录相关

不通过

图书信息管理

管理员想要删除图书信息的信息点击删除按钮

移除的图书信息记录与其他数据库记录不相关

移除的图书信息记录与其他数据库记录不相关

通过

图书信息管理

管理员想要搜索图书信息的信息在输入框中输入图书信息名称搜索

如果输入的图书信息名字与数据库纪录相符合

如果输入的图书信息名字与数据库纪录相符合

通过

图书信息管理

管理员想要搜索图书信息的信息在输入框中输入图书信息名称搜索

如果输入的图书信息名字与数据库纪录不符。

输入的图书信息名字与数据库纪录不符

不通过

6.3 系统测试的意义

整个系统的设计过程包括需求分析,功能设计,系统实现,以及软件的测试。需求分析的目的是为了弄清楚这个软件是否有很好的发展价值,以及它的可行性。功能的设计清楚地说明了该系统所具有的功能。本系统的实施目的是为了能够使用一套有效的图书管理系统。而对于软件的测试,就是对整个系统的检测。如果能及早发现这个问题,那么修改的代价就会更低,破坏范围也会更低。所以,在发布以前,要想发现问题,就得做好准备。如果有一天,他已经把钱投入到了这个项目中,那么问题就会变成一个巨大的隐患,从而对用户造成更大的影响。

7 结论与展望

本课题的完成及对图书管理系统代码的编写,不仅让本人对项目的发展过程有了更深刻的了解,而且对自身的发展也有了一定的提高。因为自己的实力和时间限制,所以大部分的功能都没有完全发挥出来,不过,最起码的功能还在。在整个调整的进程中,意识到自身的实力有些不足,需要提高。在写作和完成毕业设计时,我查阅了大量的相关数据和参考数据,并借助老师和同学的共同努力,逐步完成了本文的写作和系统的开发。在整个程序实施的时候,我也渐渐有了收获:

(1)编程需要花费大量的时间,在整个编程的时候会遇到很多问题,从一开始遇到的问题,就需要查阅数据来解决,然后再用编译器解决问题。我了解到坚持的价值,以及取得成果后的满足。

(2)因为系统的前期工作还没有充分完成,所以在整个开发的时候遇到了一些困难,需要修改代码,这也让我意识到,在设计系统的时候,一定要对自己的代码进行足够的分析,避免浪费大量的时间去修改代码。

总之,如果将来要发展图书管理系统的话,就应该提前制定好系统和需求分析,从中汲取经验。在现实中,还需要不断积累专门的技能。

参考文献

  1. 吴锋珍.基于主从同步的MySQL负载均衡设计与部署[J].湖南邮电职业技术学院学报,2022,21(02):40-43.
  2. 廖卓,姚敏,余筱,黄俊铭.基于Keepalived和Mycat的MySQL数据库高可用性设计与实现[J].现代信息科技,2022,6(11):27-29+33.
  3. 林荣杭,刘小英.MySQL索引改进的B+树的研究[J].电脑知识与技术,2022,18(16):12-13+18.DOI:10.14004/j.cnki.ckt.2022.1080.
  4. 庞浩文. 基于MySQL的多平台数控机床可靠性数据管理系统的设计和实现[D].吉林大学,2022.DOI:10.27162/d.cnki.gjlin.2022.004185.
  5. 王淼.MySQL查询优化与研究[J].信息记录材料,2022,23(05):227-229.DOI:10.16009/j.cnki.cn13-1295/tq.2022.05.040.
  6. 王康.软件测试课程思政的教学探索[J].电脑与信息技术,2022,30(04):44-45+56.DOI:10.19414/j.cnki.1005-1228.2022.04.005.
  7. Păsăreanu Corina,Zeller Andreas. IEEE International Conference on Software Testing, Verification and Validation (ICST 2020)[J]. Software Testing, Verification and Reliability,2022,32(5).
  8. Galimova E Y,Galimov T A. Intellectualization of agriculture information systems and actual software testing methods[J]. IOP Conference Series: Earth and Environmental Science,2022,1045(1).
  9. van der Putten Boas C.L.,Mendes C. I.,Talbot Brooke M.,de Korne Elenbaas Jolinda,Mamede Rafael,Vila Cerqueira Pedro,Coelho Luis Pedro,Gulvik Christopher A.,Katz Lee S.. Software testing in microbial bioinformatics: a call to action[J]. Microbial Genomics,2022,8(3).
  10. Strandberg, Per Erik,Afzal, Wasif,Sundmark, Daniel. Software test results exploration and visualization with continuous integration and nightly testing[J]. International Journal on Software Tools for Technology Transfer,2022(prepublish).
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值