基于SpringBoot + Vue的图书管理系统的设计与实现

第1章 系统概述

1.1 系统名称

图书管理系统

1.2 背景

随着信息技术的不断发展,传统的图书管理方式已经无法满足现代图书馆的需求。为了提高图书管理的效率和质量,方便读者借阅图书,我们开发了一套图书管理系统。

1.3 系统功能

本系统主要包括图书管理、图书分类管理、图书借阅管理、用户管理等功能模块。

1.4 实现技术

本系统采用了前后端分离的开发模式,前端使用了Vue.js框架,后端使用了Java语言开发,使用了SpringBoot和MyBatis框架提高开发效率和质量。

1.5 意义

本系统的开发可以提高图书管理的效率和质量,方便读者借阅图书,减少图书管理员的工作量,提高图书馆的服务水平。

第2章 可行性研究

2.1 项目背景及意义

2.1.1 项目背景

图书管理系统以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底地解脱出来,提高效率,减轻工作人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。从而使人们有更多时间来获取信息、了解信息和掌握信息。图书馆作为提供学习的场所,不仅要求便于管理,而且要求对读者和借阅者提供方便快速的查找,借阅和登记手续。一个好的图书馆不仅仅看它的藏书的种类和数量是否齐全,还要看它的管理机制是否健全。这不仅仅是人的因素,还有操作手段和途径,比如一个好的图书管理系统。 本系统根据图书馆的日常业务运作而设计,能够更好的管理借书,还书,统计图书类别等业务,系统操作流程与图书馆的业务流程相一致。界面友好、操作容易、维护简单;系统数据库稳定、安全,有图书管理业务操作知识的人皆能方便操作。 本系统实用于各种图书馆。

2.1.2 项目意义

目前社会各行业都向互联网智能化靠拢,大部分管理工作都有系统实现,图书管理系统也是其中之一,智能图书馆的搭建少不了一个图书管理系统,故市场前景还是比较广泛的。

2.2 可行性研究

2.2.1 技术可行性研究

Java作为企业级开发最常用的编程语言,其作为该系统的后端开发是非常合适的,加上Java代码的可维护性及运行效率,搭配SpringBoot框架和MyBatis框架协助开发,可以让开发效率大大翻倍。

MySQL作为一款经久不衰的数据库,作为该系统的数据持久化工具是比较合理的,加上其强大的技术生态圈,以及编程延伸出来的各种ORM框架,对MySQL的操作是比较友好的。

HTML作为传统网站页面标记语言,用来建设网站是必不可少的。搭配javaScript编写的脚本可以完美的与后端服务器完成数据操作,这里再借助Vue.js框架针对系统进行模块化控制,大大加强代码效率及可维护性。

2.2.2 经济可行性研究

除了idea开发工具需要收费,其他开发工具均可以免费使用,均免费面向开发者,这是我们经济可行性最为关键的要素,但后期项目上线的云服务器是需要付费的,整体开发成本是比较低的,所涉及的技术栈也是开源免费的,几乎0成本,在开发工作结束后,是以出租的方式给第三方机构使用,一旦我们可以获得较高的客源的话,收入也是非常的可观。

2.2.3 操作可行性研究

针对用户使用,该系统功能清晰,界面简洁,功能齐全,学习成本低。基本上上手就可以直接使用,针对各种角色和用户都有清晰的导航栏和文字提示。

2.2.4 法律可行性研究

在法律可行性方面,该系统的开发和使用需要遵循相关的法律法规和政策要求。首先,在软件开发过程中,需要遵守知识产权法,确保所使用的开源技术栈和第三方库符合其授权协议,避免任何可能的侵权行为。其次,在数据处理和存储方面,需要遵循数据保护法和隐私政策,确保用户数据的安全性和隐私性。此外,在系统上线运营过程中,也需要遵守相关的行业监管规定,确保系统的合规性。

针对这些法律要求,我们将制定详细的法律合规计划,并在系统设计和开发过程中严格遵循。同时,我们也将建立完善的用户数据保护机制,确保用户数据的安全和隐私。此外,我们还将积极与相关部门和机构进行沟通和合作,确保系统的合法性和合规性。

综上所述,从法律可行性方面来看,该系统的开发和使用是符合相关法律法规和政策要求的,我们将严格按照法律要求进行操作,确保系统的合法性和合规性。这将为系统的长期稳定发展提供有力的法律保障。


第3章 需求分析

3.1 功能性需求

3.1.1 用户管理

用户管理模块主要包括用户注册、用户登录、用户信息修改、用户注销等功能。用户可以通过注册功能创建自己的账号,登录后可以修改个人信息,也可以注销账号。

3.1.2 图书管理

图书管理模块主要包括图书信息录入、图书信息修改、图书信息删除、图书信息查询等功能。管理员可以通过该模块对图书信息进行管理,包括添加新的图书信息、修改已有图书信息、删除不再需要的图书信息以及查询图书信息等。

3.1.3 图书分类管理

图书分类管理模块主要包括图书分类录入、图书分类修改、图书分类删除、图书分类查询等功能。管理员可以通过该模块对图书分类信息进行管理,包括添加新的图书分类、修改已有图书分类、删除不再需要的图书分类以及查询图书分类信息等。

3.1.4 图书借阅管理

图书借阅管理模块主要包括图书借阅、图书归还、图书逾期管理等功能。读者可以通过该模块借阅图书,借阅后需要在规定的时间内归还图书,否则将产生逾期费用。管理员可以通过该模块对图书借阅信息进行管理,包括查询图书借阅信息、处理图书逾期等。

3.1.5 用户密码管理

用户密码管理模块主要包括用户密码修改、用户密码找回等功能。用户可以通过该模块修改自己的密码,也可以通过该模块找回自己的密码。

3.1.6功能点清单

功能模块

功能点

用户功能

用户注册

用户登录

修改密码

图书信息管理

新增图书信息

修改图书信息

删除图书信息

条件分页查询图书信息

图书分类管理

新增图书分类

修改图书分类

删除图书分类

条件分页查询图书分类

图书借阅管理

借阅图书

归还图书

删除图书借阅信息

用户信息管理

新增用户

修改用户信息

删除用户

条件分页查询用户信息

3.2 非功能性需求

3.2.1 性能需求

系统需要具备较高的性能,能够快速响应用户的操作请求,保证系统的稳定性和可靠性。

3.2.2 安全需求

系统需要具备较高的安全性,能够保护用户的个人信息和图书信息不被泄露,防止非法用户的入侵和攻击。

3.2.3 兼容性需求

系统需要具备较高的兼容性,能够支持多种操作系统和浏览器,方便用户使用。 

第4章 总体设计

4.1 系统架构设计

图书管理系统采用了B/S架构,即浏览器/服务器架构。用户通过浏览器访问系统,系统的业务逻辑和数据处理在服务器端完成。

4.1.1产品总体业务流程图:

4.1.2产品功能结构图:

4.2 数据库设计

图书管理系统使用了MySQL数据库来存储系统的数据。数据库设计包括了数据库表的设计、数据库关系的设计以及数据库索引的设计等。

4.2.1 数据库表设计

图书管理系统的数据库表主要包括图书信息表、图书分类表、图书借阅表、用户信息表等。

1 图书信息

系统用于展示所有的图书信息,并提供增删改查。

该数据结构包括图书id,图书名称,图书作者,图书价格,图书类型id,图书描述信息,图书借阅状态,图书封面图。

数据名称

数据类型

数据描述

bookId

Int

图书id

bookName

Varchar

图书名称

bookAuthor

Varchar

图书作者

bookPrice

Decimal

图书价格

bookTypeId

Int

图书类型id

bookDesc

Varchar

图书描述

isBorrowed

Tinyint

借阅标记。1表示借出,0表示归还

bookImg

Varchar

图书封面图片链接

2 图书类型

系统用于展示所有的图书类型,并关联图书信息,将图书归类。

该数据结构包括图书类型id,图书类型名称,图书类型描述。

数据名称

数据类型

数据描述

bookTypeId

Int

类型id

bookTypeName

Varchar

图书类型名称

bookTypeDesc

Varchar

图书类型描述

3 借阅信息

系统用于控制读者借阅与归还图书。

该数据结构包括借阅数据id,借阅读者id,借阅书籍id,借阅图书的时间,归还图书的时间。

数据名称

数据类型

数据描述

borrowId

Varchar

借阅信息id

userId

Int

借阅读者的id

bookId

Int

借阅图书信息id

borrowTime

Datetime

借阅时间

returnTime

Datetime

归还时间

4 用户信息

控制系统的用户与角色数据。

该数据结构包括用户id,用户名称,用户密码,是否管理员标记。

数据名称

数据类型

数据描述

userId

Int

用户id

username

Varchar

用户名

userPassword

Varchar

用户密码

isAdmin

Tinyint

是否管理员标记。1是管理员,0是读者

第5章 详细设计

5.1读者管理程序流程图

读者管理程序流程图

为读者管理的程序流程图,新读者要先注册,然后建立读者档案,之后再选择登录,已经注册过的读者可以直接进行登录,登录之后进入主页面。

5.2查询图书信息程序流程图

查询图书信息程序流程图

5.3结构图

利用优化思想,对软件结构图进行优化设计,得出模块层次结构适中的软件结构图。如下所示:

 

第6章 系统实现与部署

6.1 系统实现

6.1.1 开发环境

操作系统:Windows 10

开发工具:IntelliJ IDEA 2019、visual studio code

Web服务器:Nginx-1.14.8、Tomcat—7

数据库:MySQL 8.0.19

编程语言:Java、HTML、JavaScript、CSS

框架:Spring Boot、MyBatis、Vue.js

6.2外部接口

6.2.1 登录界面

6.2.2首页

6.2.3 用户管理界面

6.2.4 图书列表界面

6.2.5 图书类型列表界面

第7章 测试

功能点

测试用例

输出结果

读者登录

选择读者角色,输入读者的用户名和密码,点击登录

跳转到图书管理系统首页,并展示读者相关功能菜单

读者注册

点击注册,跳转注册页,填入用户名、密码、确认密码,点击注册

未填写完整表单,提示对应异常,填写完整表单,提示注册成功

管理员登录

选择管理员角色,输入管理员用户名和密码,点击登录

跳转到图书管理系统首页,并展示管理员相关功能菜单

图书信息新增

点击新增,输入图书信息,点击确认新增

未填写完整表单,提示对应异常,填写完整表单,提示新增成功

图书信息查询

输入对应查询条件,点击查询

图书信息列表

图书信息修改

选中图书信息,弹出图书信息修改框,修改对应信息,点击修改

未填写完整表单,提示对应异常,填写完整表单,提示修改成功

图书信息删除

选中删除的数据

提示删除成功

图书类型新增

点击新增,输入图书类型信息,点击确认新增

未填写完整表单,提示对应异常,填写完整表单,提示新增成功

图书类型查询

输入对应查询条件,点击查询

图书类型列表

图书类型修改

选中图书类型信息,弹出图书类型修改框,修改对应信息,点击修改

未填写完整表单,提示对应异常,填写完整表单,提示修改成功

图书类型删除

选中删除的数据

提示删除成功

图书借阅

读者选中图书,点击借阅图书

提示借阅成功,并生成借阅时间

图书归还

读者选中借阅中的图书

提示归还成功,并更新归还时间

用户新增

点击新增,输入用户信息,点击确认新增

未填写完整表单,提示对应异常,填写完整表单,提示新增成功

用户信息查询

输入对应查询条件,点击查询

用户信息列表

用户修改

选中用户信息,弹出用户信息修改框,修改对应信息,点击修改

未填写完整表单,提示对应异常,填写完整表单,提示修改成功

用户删除

选中删除的数据

提示删除成功

  1. 读者登录
    1. 测试用例:选择读者角色,输入正确的读者用户名和密码,点击登录按钮。
    2. 输出结果:跳转到图书管理系统首页,并展示读者相关功能菜单,如查询图书、借阅图书、归还图书等。
  2. 读者注册
    1. 测试用例:点击注册按钮,跳转注册页,填入用户名、密码、确认密码等信息,点击注册按钮。
    2. 输出结果:如果未填写完整表单,系统会提示对应异常信息,如“用户名不能为空”、“密码不能为空”等;如果填写完整表单,系统会提示注册成功,并跳转到登录页面。
  3. 管理员登录
    1. 测试用例:选择管理员角色,输入正确的管理员用户名和密码,点击登录按钮。
    2. 输出结果:跳转到图书管理系统首页,并展示管理员相关功能菜单,如图书信息管理、图书分类管理、图书借阅管理、用户管理等。
  4. 图书信息新增
    1. 测试用例:点击新增按钮,输入图书的基本信息,如书名、作者、出版社、价格、图书类型、图书描述等,点击确认新增按钮。
    2. 输出结果:如果未填写完整表单,系统会提示对应异常信息,如“书名不能为空”、“作者不能为空”等;如果填写完整表单,系统会提示新增成功,并将新增的图书信息显示在图书信息列表中。
  5. 图书信息查询
    1. 测试用例:输入相应的查询条件,如书名、作者、出版社等,点击查询按钮。
    2. 输出结果:系统会根据输入的查询条件,在图书信息列表中显示符合条件的图书信息。
  6. 图书信息修改
    1. 测试用例:选中要修改的图书信息,弹出图书信息修改框,修改相应的信息,如书名、作者、出版社、价格、图书类型、图书描述等,点击修改按钮。
    2. 输出结果:如果未填写完整表单,系统会提示对应异常信息,如“书名不能为空”、“作者不能为空”等;如果填写完整表单,系统会提示修改成功,并将修改后的图书信息显示在图书信息列表中。
  7. 图书信息删除
    1. 测试用例:选中要删除的图书信息,点击删除按钮。
    2. 输出结果:系统会提示删除成功,并将删除的图书信息从图书信息列表中移除。
  8. 图书类型新增
    1. 测试用例:点击新增按钮,输入图书类型的基本信息,如类型名称、类型描述等,点击确认新增按钮。
    2. 输出结果:如果未填写完整表单,系统会提示对应异常信息,如“类型名称不能为空”、“类型描述不能为空”等;如果填写完整表单,系统会提示新增成功,并将新增的图书类型信息显示在图书类型列表中。
  9. 图书类型查询
    1. 测试用例:输入相应的查询条件,如类型名称、类型描述等,点击查询按钮。
    2. 输出结果:系统会根据输入的查询条件,在图书类型列表中显示符合条件的图书类型信息。
  10. 图书类型修改
    1. 测试用例:选中要修改的图书类型信息,弹出图书类型修改框,修改相应的信息,如类型名称、类型描述等,点击修改按钮。
    2. 输出结果:如果未填写完整表单,系统会提示对应异常信息,如“类型名称不能为空”、“类型描述不能为空”等;如果填写完整表单,系统会提示修改成功,并将修改后的图书类型信息显示在图书类型列表中。
  11. 图书类型删除
    1. 测试用例:选中要删除的图书类型信息,点击删除按钮。
    2. 输出结果:系统会提示删除成功,并将删除的图书类型信息从图书类型列表中移除。
  12. 图书借阅
    1. 测试用例:读者选中要借阅的图书,点击借阅图书按钮。
    2. 输出结果:系统会提示借阅成功,并生成借阅时间,同时将借阅的图书信息显示在借阅信息列表中。
  13. 图书归还
    1. 测试用例:读者选中要归还的图书,点击归还图书按钮。
    2. 输出结果:系统会提示归还成功,并更新归还时间,同时将归还的图书信息从借阅信息列表中移除。
  14. 用户新增
    1. 测试用例:点击新增按钮,输入用户的基本信息,如用户名、密码、确认密码、用户类型等,点击确认新增按钮。
    2. 输出结果:如果未填写完整表单,系统会提示对应异常信息,如“用户名不能为空”、“密码不能为空”等;如果填写完整表单,系统会提示新增成功,并将新增的用户信息显示在用户信息列表中。
  15. 用户信息查询
    1. 测试用例:输入相应的查询条件,如用户名、用户类型等,点击查询按钮。
    2. 输出结果:系统会根据输入的查询条件,在用户信息列表中显示符合条件的用户信息。
  16. 用户修改
    1. 测试用例:选中要修改的用户信息,弹出用户信息修改框,修改相应的信息,如用户名、密码、确认密码、用户类型等,点击修改按钮。
    2. 输出结果:如果未填写完整表单,系统会提示对应异常信息,如“用户名不能为空”、“密码不能为空”等;如果填写完整表单,系统会提示修改成功,并将修改后的用户信息显示在用户信息列表中。
  17. 用户删除
    1. 测试用例:选中要删除的用户信息,点击删除按钮。
    2. 输出结果:系统会提示删除成功,并将删除的用户信息从用户信息列表中移除。

相关代码

  • 28
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值