Bootstrap

基于SpringBoot的图书管理系统 【附源码】

基于SpringBoot的图书管理系统(源码+L文+说明文档)           

目录

4 系统设计   

4.1 系统设计思想  

4.2 功能结构设计  

4.3 数据库设计  

4.3.1 数据库概念设计  

4.3.2 数据库物理设计  

5 系统实现

5.1 管理员功能实现  

5.1.1 图书管理  

5.1.2 图书借阅管理  

5.1.3 阅览室预约管理  

5.1.4 公告管理  

5.2 用户功能实现  

5.2.1 图书查看  

5.2.2 图书归还  

5.2.3 公告 

4 系统设计   

用户对着浏览器操作,肯定会出现某些不可预料的问题,但是不代表着系统对于用户在浏览器上的操作不进行处理,所以说,要提前考虑可能会出现的问题。

4.1 系统设计思想  

系统设计,肯定要把设计的思想进行统一,只有统一的思想才能指导程序的开发,并且可以让众多的程序开发人员更快速的进入状态,提高开发速度。根据当前系统的既定需求,下面将进行本系统设计思想的阐述。

(1)扩展性:开发任何一个系统的时候不可避免要考虑这个问题。软件版本的更迭是一种常识,任何一个软件都不会一次性开发就成永恒,软件是一个不断成长的东西。所以考虑问题的时候需要对当前问题进行数据上的扩大化,然后进行归纳整理,最终形成具有一定扩展性的程序。程序的可扩展性必然会影响开发进度,所以最终需要综合评估程序的可扩展程度,进而有的放矢,循序开发。

(2)实用性:程序设计是一个先高屋建瓴式的设想,然后再具体化,实用性就是具体化的第一个步骤,要充分考虑使用者是不懂程序设计的这一点,使用者只是懂得常规性的上网操作步骤,并不需要对程序进行理解,所以一定要让使用者感觉到便利,感觉到实用性的存在,如果使用者使用程序过程中没发现使用程序的好处,那么程序设计的实用性将大大降低。

(3)安全性:当使用者使用的过程中,会产生大量的相关数据,这些数据必须有安全性的保证,否则当使用者发现数据出现问题的原因是程序设计问题的时候,将会对程序开发者失去信任,甚至可能会产生大量的费用赔偿问题,这是一个不可避免的问题。所以安全性关系开发与使用者双方的经济利益,程序的安全性是一定要保证的。    

(4)先进性:程序设计的先进性是开发者进行考虑的,必须要在满足系统功能的前提下,必须要选择好当下最合适的技术。最合适的技术要从开发成本,使用成本以及维护成本里面综合分析,经过综合分析后要让技术实现最优解,保持先进的技术生产力。

(5)维护性:程序开发之初就要考虑以后的维护问题。维护是在程序开发完毕,已经上线可以运作,进入生产试用过程和使用过程中才会发现需要维护的必要。要通过各方面降低维护成本,不是说维护的越少就代表程序开发的越完美,程序既然是人类进行设计制造的,肯定有很多不可避免的问题产生,那么如何维护好程序的正常运作也是一门很重要的学问。

4.2 功能结构设计  

图4.1即为设计的管理员功能结构,管理员权限操作的功能包括管理公告,管理图书馆管理系统信息,包括图书管理,图书归还,图书借阅管理,公告等,可以管理阅览室预约。

图4.1 管理员功能结构

4.3 数据库设计  

图书馆管理系统管理系统运行中产生的数据需要按照提前设置的存储规则进行保存,设计出一个符合项目的最优数据存储格式,因为它能减少用户的等待时间,还可以对系统的请求在最短时间内进行响应。所以,对数据库设计时,需要对功能需求进行详细的拆分,以及对业务状态的细分,然后设计具体的存储规则,保证数据库能正常运作,缩短数据处理时间,并在一定程度上降低数据冗余,节省存储空间。    

4.3.1 数据库概念设计  

实体-联系图还有一个名称即E-R图,是Entity Relationship Diagram各英文单词首字母的缩写,它这种概念模型通常用于对现实世界进行描述。同时它还是一种能够直观表达数据中实体,联系,属性的有效手段。绘制E-R图能够选择的工具也有很多,但是Office Visio 这款软件在E-R图的绘制上一般都是作为首选工具,因为它是基于可视化处理,使用它创建E-R图非常简单。使用基本的E-R图构成元素,比如椭圆,菱形,矩形,还有实线段来表达对应的信息,椭圆代表属性,即实体的特征,矩形代表实体,即数据库中的一个具体数据表,菱形代表实体中相互关系,实线段主要是完成椭圆,矩形,菱形的连接。

(1)下图是用户实体和其具备的属性。

用户实体属性图    

(2)下图是图书实体和其具备的属性。

图书实体属性图

(3)下图是公告实体和其具备的属性。

公告实体属性图

(4)下图是图书借阅实体和其具备的属性。

图书借阅实体属性图    

(5)下图是阅览室实体和其具备的属性。

阅览室实体属性图

(6)下图是图书归还申请实体和其具备的属性。

图书归还申请实体属性图

(7)下图是资讯实体和其具备的属性。    

资讯实体属性图

(8)下图是阅览室座位预约实体和其具备的属性。

阅览室座位预约实体属性图

(9)下图是图书评论实体和其具备的属性。

图书评论实体属性图

                  

4.3.2 数据库物理设计  

本小节主要任务即是根据上述内容进行数据存储结构的设计,实体的属性就用来表示字段名称,不同的字段表示的数据类型以及取值都不相同,以及该表各个字段是否能够保持空等进行说明,设计完成一张数据表的结构之后,在保存时同样要命名,尽量选择英文名称进行命名并保存,还不容易导致系统出错。接下来就对设计的表进行简单说明。

表4.1字典表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

dic_code

String

字段

3

dic_name

String

字段名

4

code_index

Integer

编码

5

index_name

String

编码名字

6

super_id

Integer

父字段id

7

beizhu

String

备注

8

create_time

Date

创建时间

表4.2公告表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

gonggao_name

String

公告名称

3

gonggao_photo

String

公告图片

4

gonggao_types

Integer

公告类型

5

insert_time

Date

公告发布时间

6

gonggao_content

String

公告详情

7

create_time

Date

创建时间

表4.3资讯表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

news_name

String

资讯名称

3

news_photo

String

资讯图片

4

news_types

Integer

资讯类型

5

insert_time

Date

资讯发布时间

6        

news_content

String

资讯详情

7

create_time

Date

创建时间

表4.4图书表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

tushu_name

String

图书名称

3

tushu_uuid_number

String

图书编号

4

tushu_photo

String

图书照片

5

tushu_zuozhe

String

图书作者

6

tushu_types

Integer

图书类型

7

tushu_content

String

图书介绍

8

chuban_time

Date

出版时间

9

tushu_delete

Integer

逻辑删除

10

insert_time

Date

录入时间

11

create_time

Date

创建时间

表4.5图书评论表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

tushu_id

Integer

图书

3

yonghu_id

Integer

用户

4

tushu_liuyan_text

String

评论内容

5

insert_time

Date

评论时间

6

reply_text

String

回复内容

7

update_time

Date

回复时间

8

create_time

Date

创建时间

表4.6图书借阅表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

tushu_id

Integer

图书

3

yonghu_id

Integer

用户

4

tushu_order_types

Integer

借阅类型

5

insert_time

Date

订单创建时间

6

create_time

Date

创建时间

表4.7图书归还申请表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2        

tushu_id

Integer

图书

3

yonghu_id

Integer

用户

4

tushu_yuyue_text

String

理由

5

tushu_yuyue_yesno_types

Integer

报名状态

6

tushu_yuyue_yesno_text

String

审核回复

7

tushu_yuyue_shenhe_time

Date

审核时间

8

insert_time

Date

活动报名时间

9

create_time

Date

创建时间

表4.8用户表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yonghu_name

String

用户姓名

3

yonghu_phone

String

用户手机号

4

yonghu_id_number

String

用户身份证号

5

yonghu_photo

String

用户头像

6

yonghu_email

String

电子邮箱

7

create_time

Date

创建时间

表4.9阅览室表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuelanshi_name

String

阅览室名称

3

yuelanshi_photo

String

阅览室照片

4

yuelanshi_types

Integer

阅览室类型

5

section_number

Integer

房间

6

zuowei_number

Integer

座位

7

yuelanshi_delete

Integer

逻辑删除

8

yuelanshi_content

String

阅览室简介

9

create_time

Date

创建时间

表4.10阅览室座位预约表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuelanshi_order_uuid_number

String

订单号

3

yuelanshi_id

Integer

阅览室

4

yonghu_id

Integer

用户

5

yuelanshi_order_true_price

BigDecimal

实付价格

6        

yuelanshi_order_types

Integer

订单类型

7

buy_section_number

Integer

房间

8

buy_zuowei_number

String

预约的座位

9

buy_yuelanshi_time

Date

订购日期

10

insert_time

Date

订单创建时间

11

create_time

Date

创建时间

表4.11管理员表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

username

String

儿童名

3

password

String

密码

4

role

String

角色

5

addtime

Date

新增时间

        

5 系统实现

编程人员在搭建的开发环境中,会让各种编程技术一起呈现出最终效果。本节就展示关键部分的页面效果。

5.1 管理员功能实现  

5.1.1 图书管理  

图5.1 即为编码实现的图书管理界面,管理员在图书管理界面中可以对界面中显示,可以对图书信息的图书状态进行查看,可以添加新的图书信息等。    

图5.1 图书管理界面

5.1.2 图书借阅管理  

图5.2 即为编码实现的图书借阅管理界面,管理员在图书借阅管理界面中查看奖罚种类信息,奖罚描述信息,可以导出图书借阅信息,新增图书借阅信息等。

图5.2 图书借阅管理界面

5.1.3 阅览室预约管理  

图5.3 即为编码实现的阅览室预约管理界面,管理员在阅览室预约管理界面中新增阅览室预约,可以删除阅览室预约。    

图5.3 阅览室预约管理界面

5.1.4 公告管理  

图5.4 即为编码实现的公告管理界面,管理员在公告管理界面查看公告,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。

图5.4 公告管理界面    

5.2 用户功能实现  

5.2.1 图书查看  

图5.5 即为编码实现的图书查看界面。

图5.5 图书查看界面

5.2.2 图书归还  

图5.6 即为编码实现的图书归还界面。

图5.6 图书归还界面    

5.2.3 公告  

图5.7 即为编码实现的公告界面。

图5.7 公告界面

源码获取icon-default.png?t=O83Ahttps://mp.weixin.qq.com/s/IF66OS-N7ouMQfWTYpX0fQ

;