基于Springboot的新风图书馆管理系统的设计与实现
摘要:随着社会的发展,科技的进步,人们需要获取更多的知识来适应时代的发展,然而采用传统的获取知识的方式逐渐显示出了很多弊端,这就需要一个合适的系统来帮助人们对图书进行管理。通过对已知图书馆的管理策略和机制进行调查,最终设计了本系统。
新风图书管理系统的最终目的是实现对图书馆书籍的管理与用户信息的管理,总共拥有三种角色:超级管理员,图书管理员,用户。它主要包括实现了用户的注册与登录、借书与还书、书籍的预约、查询图书、查询图书的详情;管理员的用户管理、书籍信息管理、以及书籍类别管理等功能;超级管理员主要对用户进行管理。从这些功能模块上分析,采用B/S的开发模式、MVC设计模式开发的一个系统,解决传统借书所要经历的繁琐过程,实现用户借阅书籍的有效性与实用性。对于新风图书管理系统的设计,决定使用IntelliJ IDEA作为新风图书管理系统的开发平台并结合前端框架boostrap,jQuery进行开发,后端使用Springboot框架并以Spring Security为安全框架,持久层使用Mybatis,数据库使用MySQL。该系统实现了图书管理的基本功能,层次清晰,便于用户管理和使用。
新风图书馆管理系统能够实现图书管理员快捷的对书籍以及用户进行管理,能够让管理员更方便的进行资源管理;除此之外,对于用户来说,可以更容易的进行书籍的提前借阅与对书籍的内容的了解,可以让用户有更多时间做其他安排,节省时间,提高效率。系统的最终实现,将会给图书馆的管理带来极大的利益。
关键字:图书管理系统,Spring框架,B/S模式
Design and implementation of the management system of new style library based on springboot
Abstract: With the development of society and the progress of science and technology, people need to acquire more knowledge to adapt to the development of the times. However, the traditional way of acquiring knowledge gradually shows many disadvantages, which requires a suitable system to help people manage books. Through the investigation of the management strategy and mechanism of the known library, the system is designed finally.
The ultimate goal of the new style library management system is to realize the management of the library books and the user information. It has three roles: Super administrator, librarian and user. It mainly includes the realization of user registration and login, borrowing and returning books, book reservation, query books, query book details; administrator’s user management, book information management, and book category management; super administrator mainly manages users. Based on the analysis of these functional modules, a system developed by B / s development mode and MVC design mode is adopted to solve the tedious process of traditional book borrowing and realize the effectiveness and practicability of user’s book borrowing. For the design of the new wind book management system, it is decided to use IntelliJ idea as the development platform of the new wind book management system and combine the front-end framework bootstrap and jQuery for development, the back-end uses spring boot framework and spring security as the security framework, the persistence layer uses mybatis, and the database uses mysql. The system realizes the basic functions of book management, with clear levels, and is convenient for users to manage and use.
The new style library management system can realize the librarian’s fast management of books and users, and make the librarian more convenient for resource management; in addition, for users, it can be easier for them to borrow books in advance and understand the contents of the books, so that users can have more time to make other arrangements, save time and improve efficiency. The ultimate realization of the system will bring great benefits to the management of the library.
Keywords: Book management system,Spring,B/S
目 录
第1章 绪论 1
1.1系统的开发背景及意义 1
1.2国内外研究现状 1
1.3系统的主要研究内容 2
1.4系统开发环境与开发工具 3
第2章 系统需求分析 5
2.1可行性分析 5
2.1.1经济可行性 5
2.1.2技术可行性 5
2.1.3操作可行性 5
2.2系统的总体需求 5
2.3系统的业务需求 5
2.3.1新风图书系统用户功能流程图 6
2.3.2新风图书系统图书管理员功能流程图 6
2.3.3新风图书管理系统管理员功能流程图 7
2.4系统功能的需求分析 8
2.4.1用户子系统功能分析 9
2.4.2管理员子系统功能分析 9
2.5 UML系统建模 10
2.5.1用例图 10
2.5.2用例图规约表 11
2.6本章小结 18
第3章 系统设计 19
3.1系统功能设计 19
3.1.1用户子系统 19
3.1.2管理员子系统 20
3.2新风图书管理系统类图 21
3.3新风图书管理系统活动图 22
3.3.1用户借书活动图 22
3.3.2用户归还书籍活动图 23
3.3.3管理员上架书籍活动图 24
3.4数据库设计 25
3.5本章小结 27
第4章 系统实现 28
4.1 新风图书管理系统游客/用户界面的功能实现效果 28
4.2新风图书管理系统管理员端界面功能实现效果 32
4.3 本章小结 35
第5章 系统测试 36
5.1 系统测试的目的 36
5.2 系统测试的意义 36
5.3 测试用例及结果 36
5.3.1用户测试用例及结果 36
5.3.2管理员测试用例及结果 37
5.4本章小结 38
第6章 结束语 39
6.1 全文总结 39
6.2 课题展望 39
参考文献 40
致 谢 41
第1章 绪论
1.1系统的开发背景及意义
为了更快更便捷的让图书馆进行书籍的借还管理与满足借书用户的日益增
长的需求,设计一款图书馆管理系统。建立一个图书管理系统,可以使得图书管理工作可以程序化,系统化,规范化的管理,避免以前手工式管理的较随意性。提高信息处理的速度和准确性,能够及时,准确,有效的查询和修改图书情况。
现如今的计算机发展的越来越快,计算机的最大好处就是在于利用它进行数据信息的管理,使用计算机进行信息的控制,不仅能够提升工作效率,而且大大的提高安全性的同时,建立一个使用而操作又简单的检索系统也是很重要的。作为一个良好的图书馆管理系统,就需要有一个良好的系统用户界面。除此之外,图书管理系统作为一种先进的管理技术,不仅减少了手工管理过程中的缺陷,提高了图书馆对书籍管理的规范化系统化,从而大大的提升了对书籍的管理效率,很大程度上的弥补了手工管理较慢的这一不足。如此一来,图书馆就可以发挥最大的作用,向读者提供最新最全的资料,还可以方便读者快速查阅信息,使图书馆的资源能够充分的被利用,能够在最短的时间内让读者获取有效的信息,知识化,信息化与合理的配置是当代图书管理系统的优点。图书馆人员的分工明确,使图书的采购流程更加的适应需求,从而提高信息资源的利用率。
此外图书馆管理系统作为信息技术的产物吗,有利于提高图书管理人员的综合素质,增强图书馆资源的共享性与流动性,提高服务水平与管理水平。随着现代计算机技术不断发展,需要提高图书馆管理人员的综合素质,不断完善自身的只是体系,增强自身的业务能力与业务素质,从而高质量地完成图书管理工作,发挥其应有的价值。
1.2国内外研究现状
上世纪的60年代,是计算机技术快速发展的阶段。相较与国内,在一些电子产业发达的国家,于上世界70年代末,就已经开始了信息检索技术的研究。此后,信息检索,自动分类,自动索引等技术也相继开展,图书管理系统也正应运而生。网络技术的高速发展也带动了国外图书馆信息系统自动化的研究发展。如今高新科技技术发展迅猛的21世纪,现代的计算机技术的发展也越来越快,越来越完善,国外的管理系统技术也更加的智能化,高效率化。
随着计算机技术的不断发展,互联网是人们查询信息的重要场所,我国的计算机水平也不断的发展。21世纪是信息的时代,所有信息的交换与信息的流通显得特别的重要。因此,用计算机来管理图书成为必然。而随着社会的生活水平逐渐提高,人们的素质提高,对于当下学生的教育要求也随之提高,在各个中小型学校建立图书馆也成为必然,这就需要一个图书管理系统来满足对图书管理的需求。
1.3系统的主要研究内容
设计并实现了图书管理系统。本系统可进行图书管理,系统操作简单,功能基本符合管理的要求,方便读者对图书的预约、借阅、归还与管理员对书籍被借阅是的确认与对读者信息进行管理,了解图书的借出与入库的情况。本系统还要求查找方便,可靠性高,存储量大等特性。
除此之外,对于本次的图书管理系统设计,主要分为以下几步:首先用户的交互界面设计;其次是后台服务器的设计,后台服务器的设计是遵循B/S架构的开发形式进行设计;然后是进行数据库的设计,因为数据库是服务器的支持,最后是实现整个一系列流程的运转。
新风图书管理系统可分为以下三个子系统:管理员系统、用户以及图书管理员系统,如图1-1所示。
图1-1 系统组成
1.4系统开发环境与开发工具
系统开发环境配置 :windows 7系统,8GB运行内存。
开发环境及其开发工具:jdk1.8,Intellij IDEA,Navicat。
图书管理系统的开发过程按照软件开发流程进行,包括选择工具、数据
库、系统设计、实施和测试环节。开发过程以JAVA编程语言作为开发,采用Springboot框架,以MySQL作为后台数据库,前端使用boostrap框架、jQuery作为效果实现B/S模式的系统。除此之外,因为有多个子系统的存在,所以会用到安全框架SpringSecurity进行授权与认证的工作。以下技术归纳:
1、Springboot框架:Springboot它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。Springboot可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;内嵌Tomcat或Jetty等Servlet容器;提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;尽可能自动配置Spring容器;提供准备好的特性,如指标、健康检查和外部化配置;绝对没有代码生成,不需要XML配置。
2、Myabatis:Mybatis是一种持久层框架,也属于ORM映射。mybatis为半自动化,需要自己书写sql语句,需要自己定义映射。增加了程序员的一些操作,但是带来了设计上的灵活,并且也是支持hibernate的一些特性,如延迟加载,缓存和映射等;对数据库的兼容性比hibernate差。移植性不好,但是可编写灵活和高性能的sql语句。
3、Spring Security:Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作
4、boostrap框架:基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷。
5、jQuery:是一个快速、简洁的JavaScript框架。
6、Thymeleaf:模板引擎。Thymeleaf是一个流行的模板引擎,该模板引擎采用Java语言开发,模板引擎是一个技术名词,是跨领域跨平台的概念。Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式,因此也可以用作静态建模。
第2章 系统需求分析
2.1可行性分析
2.1.1经济可行性
基于Springboot新风图书管理系统是本人的毕业设计,从整个系统的设计到开发都是本人。在开发上尽力去使用一些不需要付费的技术,实现零经费。
2.1.2技术可行性
该系统作为本人的毕业设计,而本人已修完所有在校课程与课外自学的内容,已经具备开发B/S结构的管理系统和后台服务器的技术。采用Java语言;开发工具为idea,使用springboot框架;数据支持使用MySQL5.5。
2.1.3操作可行性
本图书管理系统是基于浏览器端的,简单易操作。UI简洁,操作过程简单。只要会电脑手机,操作无压力。
2.2系统的总体需求
B/S架构的开发模式需要两种客户端:图书管理员客户端与用户客户端。用户通过浏览器平台通过登录进入到图书馆界面,可以浏览图书馆内现有所有书籍的信息,并进行用户的对应功能操作。管理员通过登录的情况下,主要实现对书籍的管理,以及用户的借阅管理等等的功能操作。通过两个客户端的信息交互让整个系统运转起来。
2.3系统的业务需求
整个系统主要分为系统管理员,图书管理员,用户三者的业务需求。系统管理员的功能权限是最高的;图书管理员只有书籍管理功能,主要为查看用户借阅书籍情况,添加书籍分类,书籍信息管理(增删改查);用户只有查看书籍详情,借阅书籍,预约书籍,归还书籍。
2.3.1新风图书系统用户功能流程图
用户功能流程图分析:如果只是游客,只能在图书界面搜索图书,但是不能查看书籍的详情,所以会跳转到登录界面;如果已经登录了则可以进行借书操作。用户注册时,需要在邮箱进行激活,才能进行登录。用户功能流程图如图2-1。
图2-1 新风图书管理系统用户功能流程图
2.3.2新风图书系统图书管理员功能流程图
图书管理系统需要在登录界面输入账号信息进入新风图书管理系统后台,如果进行注册,则最终需要系统管理员来进行角色的设置。图书管理员只有系统管理员的大部分功能。图书管理员功能流程图如图2-2。
图2-2 新风图书管理系统图书管理员功能流程图
2.3.3新风图书管理系统管理员功能流程图
系统管理员是拥有最高权限的一个角色,并且它比图书管理员多了一个用户管理的功能模块,这个模块主要是用来修改用户信息、设置用户角色、账号设置和删除用户的操作。系统管理员功能流程图如图2-3。
图2-3 新风图书管理系统管理员功能流程图
2.4系统功能的需求分析
新风图书系统主要分为用户子系统和管理员子系统。在用户子系统主要包括:登录注册,查看图书借阅记录,查看图书信息,图书预约、借阅与归还,修改个人信息,搜索图书;在管理员子系统主要包括: 图书借阅管理,系统用户管理,用户信息管理,图书信息管理。新风图书管理系统功能模块如图2-4。
图2-4 新风图书管理系统功能模块
2.4.1用户子系统功能分析
(1)登录注册:实现用户子系统的登录注册,用户只有在登录或注册成功后才能进行查看图书借阅记录,查看图书信息,书籍预约功能,图书借阅与归还,个人信息的操作。
(2)查看图书借阅记录:查询用户自身借阅书籍的历史记录。
(3)查看图书信息:可以查看图书的详细信息简介。
(4)图书借阅与归还:这是基本业务模块,实现读者的借阅与归还的功能。实现用户的借书,归还的管理。
(5)书籍预约功能:当书籍上架数量为0时,可以对书籍进行预约。
(6)个人信息:用户的个人信息查看,以及修改密码的操作。
(7)搜索图书:对图书快速的进行定位,节约时间,提高效率。
2.4.2管理员子系统功能分析
(1)登录注册:实现管理员的登录与注册,管理只有登录或者注册成功之后就可以进行图书借阅管理,系统用户信息管理,用户信息管理,图书信息管理,搜索图书的操作。
(2)图书借阅管理:查看书籍被借出的信息以及未归还的书籍。
(3)系统用户管理:查看管理员的个人信息,以及密码修改操作。
(4)用户信息管理:管理用户的注册操作以及对用户信息的查询,实现更好的用户信息的管理。
(5)图书信息管理:图书的基本业务操作。
(6)搜索图书:对图书快速的进行定位,节约时间,提高效率。
2.5 UML系统建模
2.5.1用例图
用例模型的基本组成部分有用例、角色(或参与者)和系统。
系统管理员业务如图2-5系统管理员用例图所示。
图2-5 系统管理员用例图
图书管理员业务如图2-6系统管理员用例图所示。
用户业务如图2-7用户用例图所示。
图2-7用户用例图
2.5.2用例图规约表
1、用户用例规约表:
表2-1登录注册用例表
用例编号 2-1 用例名称 登录注册
功能描述 所有注册登录成功的都是角色设置为用户。
执行者 用户。
前置条件 新风图书管理系统正常运行。
后置条件 无论是什么注册成功,角色都是用户;角色更改设置需要系统管理员来操作。
涉众利益 游客登录注册之后,可以进行查看书籍详情,借阅书籍和修改个人信息等操作;若是想设置图书管理员,在登录注册后,需要用系统管理员进行角色设置才可以进行借阅管理、修改个人信息和图书管理操作。
基本路径 游客:1. 如果用户未注册,选择注册;
2. 把注册信息按规则填写;
3. 注册成功并转为用户身份;
4. 如果用户已注册,则输入登录信息;
5. 角色变为用户并成功进入系统。
图书管理员:
- 如果图书管理员注册,点击注册;
- 把注册信息填写;
- 注册成功,系统管理员进行角色设置完成后,进入图书管理员系统;
- 如果图书管理员已注册,则输入登录信息;
- 登录成功并进入图书管理员系统。
扩展 无
字段列表 邮箱、用户名、密码
业务规则 无
备注 无
表2-2查看图书用例表
用例编号 2-2 用例名称 查看图书信息
功能描述 用户查看书籍的详细信息。
执行者 用户。
前置条件 系统正常运行。
后置条件 用户必须先登录。
涉众利益 用户登录后才可以进行查看书籍的详情
基本路径 用户:1. 登录,输入账号密码; - 点击书籍图片;
- 跳转到书籍详情界面;
- 界面显示详情,并有借书/预约操作;
扩展 无
业务规则 无
备注 无
表2-3搜索图书用例表
用例编号 2-3 用例名称 搜索图书
功能描述 游客/用户进行搜索图书。
执行者 游客、用户、图书管理员、管理员。
前置条件 新风图书管理系统正常运行。
后置条件
涉众利益 游客、用户、图书管理员、管理员都可以进行使用该功能。
基本路径 游客/用户:1. 在图书馆主页输入书籍名称,点击搜索按钮; - 界面跳转到书籍图片;
图书管理员/管理员:1. 在登录界面输入账号密码;
2. 登录成功跳转到系统后台,点击图书管理;
3. 在右上角搜索框输入书籍名称;
4. 最后显示搜索结果。
扩展 无
业务规则 无
备注 无
表2-4 图书预约用例表
用例编号 2-4 用例名称 图书预约
功能描述 用户对书籍进行预约
执行者 用户
前置条件 新风图书管理系统正常运行。
后置条件 用户登录成功。
涉众利益 用户预约书籍。
基本路径 1. 用户登录成功后,点击书籍照片; - 跳转到书籍详情界面;
- 点击“预约”按钮;
- 书籍预约成功;
- 点击导航栏上的“预约记录”,可跳转到用户预约书籍记录界面并显示相应的预约结果;
- 预约的前提是书籍的数量为0。
扩展 无
字段列表 无
业务规则 无
备注 无
表2-5 个人信息用例表
用例编号 2-5 用例名称 个人信息
功能描述 用户个人信息的修改。
执行者 用户。
前置条件 新风图书管理系统正常运行。
后置条件 用户登录成功。
涉众利益 用户。
基本路径 1. 用户登录成功后,点击界面右上角的小图标,会显示下拉菜单效果; - 点击“修改个人信息”,跳转到修改个人信息界面,输入对应的信息,点击“修改”即完成;
- 点击“修改密码”会跳转到修改密码的界面,输入“原密码”,“新密码”,“确认密码”,点击“修改”即完成密码修改;
- 如果忘记了原密码,可在登录界面点击“忘记密码”,进行密码的修改。
扩展 无
业务规则 无
备注 无
表2-6 图书借阅与归还用例表
用例编号 2-6 用例名称 图书借阅与归还
功能描述 用户查看借阅书籍信息与书籍归还的操作。
执行者 用户
前置条件 新风图书管理系统正常运行。
后置条件 用户登录成功。
涉众利益 用户。
基本路径 1. 用户登录成功后,点击导航栏上的“借阅记录”会跳转到用户的书籍借阅记录界面; - 如果用户想要归还书籍,点击操作栏下的“归还”小图标,书籍就会成功归还;
- 如果用户想要续借书籍,点击操作栏下的“续借”小图标,
会显示“已发送续借请求,请等待图书管理员处理”。
扩展 无
业务规则 无
备注 无
2、系统管理员用例规约表
表2-7 系统管理员登录用例表
用例编号 2-7 用例名称 登录
功能描述 系统管理员登录进入后台
执行者 系统管理员
前置条件 新风图书管理系统正常运行。
后置条件 系统管理员登录成功。
涉众利益 系统管理员。
基本路径 1. 在登录界面输入“账号”,“密码”,点击“登录”;
2. 信息输入正确则界面跳转到新风图书管理系统;
3. 如果密码不正确,则提示“密码错误”;
4. 如果验证码不正确,则提示“请输入正确的验证码”。
扩展 无
字段列表 用户名,密码
业务规则 无
备注 无
表2-8系统管理员的用户信息管理用例表
用例编号 2-8 用例名称 用户信息管理
功能描述 系统管理员登录进入后台,对所有用户进行信息操作
执行者 系统管理员。
前置条件 新风图书管理系统正常运行。
后置条件 系统管理员登录成功。
涉众利益 系统管理员。
基本路径 1. 在登录界面输入“账号”,“密码”,点击“登录”;
2. 登录成功,点击左侧的管理菜单“用户管理”;
3. 点击“用户列表”,界面显示所有注册成功的用户信息;
3.1 点击操作栏下的小图标“修改用户信息”,输入对应的信息,点击“保存修改”即完成用户信息的修改操作;
3.2 点击小图标“修改角色”,对用户修改对应的角色权限,分别有“系统管理员”、“图书管理员”、“普通用户”,点击“保存修改”即完成角色修改操作;
3.3 点击小图标“停用/启动”,对当前账号使用权限进行设置;
3.4 点击小图标“删除”,对当前账号进行删除操作。
扩展 无
业务规则 无
备注 无
表2-9系统管理员的系统用户管理用例表
用例编号 2-9 用例名称 系统用户管理
功能描述 系统管理员登录进入后台,可进行修改个人信息与密码的操作。
执行者 系统管理员。
前置条件 新风图书管理系统正常运行。
后置条件 系统管理员登录成功。
涉众利益 系统管理员。
基本路径 1. 在登录界面输入“账号”,“密码”,点击“登录”;
2. 点击左侧的管理菜单“系统管理”;
2.1 点击“修改个人信息”,跳转到修改个人信息界面,输入对应的信息,点击“提交”即完成;
2.2 点击“修改密码”会跳转到修改密码的界面,输入“原密码”,“新密码”,“确认密码”,点击“修改”即完成密码修改。
扩展 无
业务规则 无
备注 无
表2-10 系统管理员的图书信息管理用例表
用例编号 2-10 用例名称 图书信息管理
功能描述 系统管理员登录进入后台,对书籍分类与书籍信息的管理操作。
执行者 系统管理员。
前置条件 新风图书管理系统正常运行。
后置条件 系统管理员登录成功。
涉众利益 系统管理员。
基本路径 1.管理员登录成功,点击左侧管理菜单栏的“图书管理”;
2.下拉菜单会显示“图书分类”和“书籍信息”;
3.点击“图书分类”:
3.1点击界面左侧“添加分类”,弹出模态框后输入提示信息,点击“保存修改”即完成分类的添加操作;
3.2 点击操作栏下的“修改”按钮,弹框出来后按规则填写修改的信息,点击“保存修改”即完成分类的修改操作;
3.3 点击操作栏下的“删除”按钮,将当前的图书分类删除并提示“删除成功”信息;
3.4 点击右上角的搜索框,输入搜索的信息,会显示对应的搜索结果;
4. 点击“书籍信息”:
4.1点击界面左侧“添加图书”,弹出模态框后按规则输入提示信息,点击“保存修改”即完成书籍的添加操作;
3.2 点击操作栏下的“修改”按钮,弹框出来后按规则填写修改的信息,点击“保存修改”即完成书籍的修改操作;
3.3 点击操作栏下的“删除”按钮,对当前的图书删除并提示“删除成功”信息;
3.4 点击右上角的搜索框,输入搜索的书籍信息,会显示对应的搜索结果;
扩展 无
业务规则 无
备注 无
表2-11系统管理员的图书借阅管理用例表
用例编号 2-11 用例名称 图书借阅管理
功能描述 系统管理员登录进入后台,对用户借阅书籍进行管理
执行者 系统管理员
前置条件 新风图书管理系统正常运行。
后置条件 系统管理员登录成功。
涉众利益 系统管理员。
基本路径 1. 管理员登录成功,点击左侧管理菜单栏的“借阅管理”;
2. 点击“图书借阅”,界面显示所有用户的借书记录;
3. 如果有用户申请续借书籍,点击操作栏下的“同意续借”,显示“操作成功”信息即表示同意该用户续借,如果不操作,则表示不同意续借。
扩展 无
业务规则 无
备注 无
3、图书管理员的用例图与系统管理员的用例图一致,不作详细说明。
2.6本章小结
本章首先主要总体分析出新风图书管理系统是以B/S架构设计的模式,然后对用户端,与管理员端两者进行业务需求的分析并且使用业务流程图对两者进行业务的展示,通过功能模块图对用户端和管理员端进行功能需求的展示,之后对新风图书管理系统各个方面的可行性分析进行了阐述。最后,对系统进行UML图的分析,直接对各个用例进行简单明了的说明。
第3章 系统设计
3.1系统功能设计
本系统有用户子系统和管理员子系统组成。
3.1.1用户子系统
(1)登录注册注销功能:在用户界面的主页右上方有一个登录的下拉框。游客在查看图书界面的主页时,可以进行图书搜索的功能;点击下拉框有登录按钮,点击登录按钮后跳转到登录界面,在登录界面,输入用户名和密码,输入验证码,点击登录就可以跳转到用户主界面,如果以游客身份进入到了搜索图书的界面中,再去登录会跳转到图书搜索结果的界面;如果没有账号,点击注册账号会跳转到注册表单界面,输入用户名,邮箱,密码和确认密码,点击注册。如果注册的名字已经被注册过了,会提示该用户名不可以再被注册。邮箱的作用是用来激活账号的。用户登录的时候如果忘记密码,可以通过点击登录界面的忘记密码链接进行操作,这个主要也是通过邮箱来修改密码。如果用户想要退出,点击界面的右上方的用户按钮,会弹出下拉框,点击注销就可以退出。
(2)查看图书借阅记录:本功能只有当用户登录账号之后才可以看得到。用户登录成功之后,在图书界面的上方有借阅记录链接,点击之后会跳转到用户的图书借阅记录表中;同时图书借阅记录表格中有操作一栏,操作栏中有两个操作:续借书籍和归还书籍。点击续借,将会向管理员发送书籍续借请求,管理员点击同意续借之后,用户借用书籍过期时间会添加。
(3)查看图书信息:用户登录之后,在图书界面,随意点击任意一本书籍,会跳到书籍详情页,在书籍详情页有该书籍的描述介绍,书籍分类,图书馆库存,书籍作者,同时还可以对书籍进行借阅/归还/预约操作。
(4)图书预约:预约书籍的前提是书籍的馆藏数量为0的时候才可以发起预约。用户登录成功之后,可以在书籍详情界面点击对馆藏数量为0的书籍发起预约,预约成功后,会将书籍预约的信息添加到用户的预约记录中,在预约记录中有个取消操作,点击取消操作,这条预约信息将会消失。
(5)搜索图书:这个功能不需要用户登录,用户或者游客都可以在图书界面首页在搜索框进行对想要的书籍搜索,若书籍存在就会出现对应书籍搜索的结果。
(6)个人信息:用户登录成功后,在图书界面的首页右上方有个下拉框,点击下拉框会有修改个人信息/修改密码两个操作,点击修改个人信息跳转到用户信息界面,填写昵称,邮箱,上传头像,选择昵称之后点击修改后就可以完成修改个人信息;点击修改密码会跳转到修改密码的界面,在这个界面填写原密码,新密码和确认密码,点击修改,就可以成功修改账号密码了。
3.1.2管理员子系统
(1)登录注销功能:管理员进入系统前需要先进行登录,在登录界面,输入账号密码后点击登录就会跳转到管理员后台系统。后台界面右上方显示当前登录账号昵称,用户昵称。左侧菜单栏有主页,系统管理,借阅管理,用户管理,图书管理功能模块。进入到首页后,页面的右上角可以注销账号。
(2)图书借阅管理:管理员登录成功进入管理员后台界面之后,点击左侧菜单栏的借阅管理会有个图书借阅功能,点击这个功能会查询出用户借阅书籍的记录,在每条记录的后面有个操作,这个操作是负责对用户发起续借书籍的。同时借阅功能的右上方有个搜索功能,这个搜索功能是根据借阅用户名或者图书名称为条件进行的搜索借阅记录的。在界面的左上方可以设置显示借阅书籍记录的条数。
(3)系统用户管理:管理员登录成功进入管理员后台界面之后,点击左侧菜单栏的系统管理,会有下拉显示两个模块:修改密码和修改个人信息。点击修改密码跳转到管理员的修改密码界面,在这个界面填写原密码,新密码和确认密码,点击修改,就可以成功修改账号密码了;点击修改个人信息跳转到修改个人信息界面,可以修改用户名,用户昵称,邮箱性别,修改完之后点击提交就完成修改管理员信息。
(4)用户信息管理:管理员登录成功进入管理员后台界面之后,点击左侧菜单栏的用户管理,会显示用户列表,点击用户列表会查询出所有注册成功的用户。在用户列表界面的最后面有个操作,包含4个按钮:修改用户信息,修改角色,停用/启用账号,删除。点击修改用户信息会弹出个模态框,在模态框填写要修改的信息,修改的信息有:用户名,昵称,密码,邮箱,性别。填写完成点击保存修改即完成;点击修改角色会跳出模态框修改用户角色,一共有三种角色:普通用户,图书管理员,系统管理员。点击停用/启用账号,对账号的使用进行设置;点击删除,把用户信息删除。在操作的上方有个搜索功能,这个搜索功能是自由搜索。在界面左上方也有可对结果项项数进行显示的选择。
(5)图书管理:管理员登录成功进入管理员后台界面之后,点击左侧菜单栏的图书管理,会显示图书分类,书籍信息。点击书籍分类跳到书籍分类的界面,具体功能是对书籍分类的增删改查。界面的右侧有搜索功能,搜索的条件是跟据分类名称进行搜索。点击操作栏下的修改按钮,跳出模态框,输入要修改的信息,具体的信息修改项有名称,照片,描述;点击删除按钮,把当前的分类删除。页面的右上角是添加分类。点击书籍信息,会查询出图书馆当前的书籍存放信息。在本模块具体为书籍的增删改查。在添加书籍时,必须要输入所有书籍的信息,输入的信息有:名称、作者、分类、出版日期、现馆藏数量、图片。
3.2新风图书管理系统类图
图3-1新风图书管理系统类图
3.3新风图书管理系统活动图
活动图主要阐明了业务用例实现的工作流程,业务工作流程说明了业务为向服务的业务主角提供其所需的价值而必须完成的工作。根据所描述的用例分析,以下就用户借书、用户归回书籍、管理员上架书籍的业务活动进行说明。
3.3.1用户借书活动图
本功能主要是为了让用户实现在线借书的功能,方便用户的同时增加图书馆管理的效率。根据系统的需求,用户借书功能的活动图如图3-2所示。
图3-2用户借书活动图
3.3.2用户归还书籍活动图
本功能主要是实现用户线下归还书籍后,在借书记录上点击归还书籍,实现图书管理员的快速记录操作,增加效率。根据系统的需求,用户归还书籍功能的活动图如图3-3所示。
图3-3用户归还书籍活动图
3.3.3管理员上架书籍活动图
本功能主要实现图书管理员的书籍上架功能,具体的活动图如图3-4所示。
图3-4书籍上架活动图
3.4数据库设计
数据库的作用是作为一个完整系统的数据源支持,设计好一个健壮性更高的数据库至关重要。以下是对图书信息表,图书分类表,用户信息表,图书预约表,图书操作借阅记录表的设计,后台数据库采用MySQL。
1、图书信息表(sys_book),表的详细数据见表3-1。
表3-1 图书信息表
列名 数据类型 是否为空 主外键 描述
id int Not null 主键 图书id
book_name varchar Not null 图书名称
author varchar 图书作者
localtion varchar 馆藏位置
description varchar 图书描述
quantity int 馆藏数量
images varchar 书籍封面
publish_time datetime 出版日期
category_id int 图书分类
2、图书分类表(sys_book_category),表的详细数据见表3-2。
表3-2 图书分类表
列名 数据类型 是否为空 主外键 描述
id int Not null 主键 分类id
category_name varchar Not null 分类名称
images varchar 分类图片
description varchar 分类描述
3、用户信息表(sys_user),表的详细数据见表3-3。
表3-3 用户信息表
列名 数据类型 是否为空 主外键 描述
id int Not null 主键 用户id
username varchar Not null 用户登录名
password varchar Not null 用户登录密码
nick_name varchar 用户昵称
email varchar 验证邮箱
sex int 性别(0:女,1:男)
status int 用户状态(2:未验证邮箱,1:停用,0:正常)
create_time datetime 创建日期
role int 用户角色(0:普通用户(默认) 1:管理员,2:图书管理员)
avatar varchar 头像
4、图书预约表(sys_book_appointment),表的详细数据见表3-4。
表3-4 图书预约表
列名 数据类型 是否为空 主外键 描述
id int Not null 主键 预约id
user_id int Not null 操作人id
book_id int Not null 被操作图书id
operate int 操作类型(0:正在预约,1:成功预约)
appointment_time datetime 创建预约时间
expire_time datetime 预约失效时间(默认为24小时有效时间)
5、图书操作借阅表(sys_book_operate),表的详细数据见表3-5。
表3-5 图书操作借阅表
列名 数据类型 是否为空 主外键 描述
id int Not null 主键 记录id
user_id int Not null 操作人id
book_id int Not null 被操作图书id
operate int 操作类型(0:归还 1:借出)
borrow_time datetime 开始借阅时间
expire_time datetime 借阅到期时间
restore_time datetime 图书归还时间
renew int 续借状态(0:未续借 1:请求续借 2:续借成功)
3.5本章小结
本章首先对新风图书管理系统的用户子系统和管理员子系统进行了系统功能的详细设计,然后画出了新风图书管理系统的类图和部分的活动图,更加直观地展示了新风图书管理系统的各个功能;接下来是对新风图书管理系统的数据库进行设计。
第4章 系统实现
4.1 新风图书管理系统游客/用户界面的功能实现效果
- 游客/用户进入到图书界面的首页会看到的内容,如4-1图所示,可以看到新书上架、图书分类与所有图书;除此之外,游客与用户存在权限的关系,对图书的操作有所不同。
图4-1游客/用户首页
2. 用户借书前提是需要进行登录,如果是游客,则需要先进行注册,填写相关信息,如图4-2。点击注册时需要邮箱激活,如图4-3所示。
图4-2 游客注册界面
图4-3邮箱激活
3.返回登录界面输入登录信息,如图4-4所示,登录成功跳转到图书主界面。
图4-4 用户登录
4.用户可在搜索框搜索指定的书籍,如果馆藏存在该书籍,则显示结果;否则不显示结果。搜索结果如图4-4;然后可以点击书籍图片查看书籍详情,点击借阅就可以发起借阅书籍请求。借阅效果如图4-5。
图4-4 搜索结果
图4-5 书籍借阅
5.借阅完毕之后,可以点击导航栏的借阅记录查看用户借阅的书籍,借阅记录效果如图4-6所示;在操作栏上又两个图标,一个是续借,一个是归还。点击续借会向管理员发起续借书籍的请求,这个需要管理员同意才可成功续借,借阅效果如图4-7所示;点击归还则归还书籍,如图4-8所示。
图4-6 借阅记录
图4-7 续借书籍
图4-8 归还书籍
- 用户预约书籍的前提是图书的馆藏数量为0的时候方可进行预约,预约的步骤与借阅的步骤差不多,预约成功后会在用户的预约记录上可进行查看。预约书籍效果如图4-9所示;预约记录可取消当前的预约,如图4-10所示。
图4-9 预约书籍
**
**
图4-10 取消预约
4.2新风图书管理系统管理员端界面功能实现效果
1.使用管理员账号登录,效果图如图4-11;登录成功后进入系统后台,效果如图4-12。
图4-11管理员登录
图4-12 新风图书管理系统后台
2.处理用户续借的书籍的请求,点击左侧菜单栏的借阅管理,显示所有用户的借阅书籍的记录,点击同意续借就会提示“操作成功”,如果不同意续借,则不需要点击。效果如图4-13所示。
图4-13 续借书籍请求处理
3.系统管理员用户管理角色设置。点击用户管理,在操作栏点击“修改角色”按钮,实现对用户的角色设置,共有三种角色,“普通用户”、“图书管理员”、“系统管理员”,效果如图4-14。系统管理员还有修改用户信息、停用/启动、删除账号的功能,如图4-15所示。
图4-14 系统管理员角色设置
图4-15 系统管理员的修改用户信息、停用/启动、删除账号
4.管理员进行书籍的添加上架功能,点击菜单栏的图书管理的书籍信息,点击“添加图书”按钮,输入相关的信息,点击保存修改即完成书籍的上架。效果如图4-15所示。
图4-15 书籍上架
4.3 本章小结
本章主要是对新风图书管理系统的设计进行实现,给出用户与管理员各个功能的截图以展现系统实现的效果。
第5章 系统测试
5.1 系统测试的目的
系统测试是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方。这种测试可以发现系统分析和设计中的错误。在系统设计和实现过程中检查出来的错误和缺陷需要在系统试运行当中通过系统测试来实现,所以这个阶段是软件开发中必不可少的部分。
5.2 系统测试的意义
在当今的信息时代,一个软件系统的质量是提升一个公司至关重要的媒介之一。因此,即便现在是一个毕设,也要把它细心做好,所以,系统测试是一个不可或缺的阶段。在通过系统测试之后,可以发现系统的难以发现的bug,有利于提升新风图书管理系统的软件质量,使得系统的体验更佳。
5.3 测试用例及结果
本小节不对所有的测试用例的详细实现进行介绍,主要介绍用户与管理员部分功能测试用例结果。
5.3.1用户测试用例及结果
用户测试用例及结果详情如表5-1。
表5-1 用户测试用例及结果表
用例编号 用例名称 测试目的 测试结果
U-1 TestLogin 测试用户登录是否成功进入到图书界面 用户只有输入正确的账号与密码才能登录成功
U-2 TestAppointment 测试用户是否预约借书成功的功能 用户需要登录成功且书籍数量为0时才可以进行预约的操作
U-3 TestBorrow 测试用户借书是否成功的功能 用户点击借阅可以成功借书
U-4 TestReturn 测试用户归还书籍是否成功 用户点击归还可以成功归还书籍
U-5 TestChangePwd 测试用户是否修改密码成功 用户输入两次相同的密码可以修改密码
U-6 TestSelectBook 测试用户/游客搜索书籍是否成功 用户在首页搜索框输入指定的书籍名,若图书馆存有该书籍,则显示;反之则不显示。
U-7 TestRegister 测试游客注册账号是否成功 游客在登录界面点击注册,输入相关信息并最终在邮箱激活可以成功注册账号
5.3.2管理员测试用例及结果
管理员测试用例及结果详情如表5-2。
表5-2 管理员测试用例及结果表
用例编号 用例名称 测试目的 测试结果
U-1 TestLogin 测试管理员登录是否成功进入到新风图书管理系统后台 管理员输入正确的账号与密码能登录成功
U-2 TestAccount 测试管理员是否成功停用/启动用户账号的功能 管理员能成功停用/启动用户的账号
U-3 TestRenew 测试管理员是否成功同意用户续借书籍的功能 管理员点击同意续借书籍,用户能成功续借
U-4 TestAddBook 测试管理员上架书本是否成功 管理员点击添加图书可以实现书本上架
U-5 TestAddCategory 测试管理员添加图书分类是否成功 管理员点击添加分类可以成功实现添加图书分类
U-6 TestChangeBook 测试管理员修改书籍信息是否成功 管理员点击“修改”按钮,并输入要修改的信息,可以实现修改书籍操作
U-7 TestDelBook 测试管理员删除书籍是否成功 管理员点击“删除”按钮,可以实现删除书籍的功能
U-8 TestChangeRole 测试管理员修改用户的角色功能是否成功 管理员点击 “修改角色”按钮,选择角色身份,可以实现修改用户的角色功能
5.4本章小结
系统测试作为重要的检查软件质量的手段,本章主要介绍用户与管理员部分功能测试用例结果。
第6章 结束语
6.1 全文总结
通过这段时间对毕设项目的开发,新风图书管理系统的设计与实现,功能模块上基本实现了。新风图书管理系统在用户界面上设计全白的色调,给人一种简洁的感觉;管理员后台界面设计蓝黑的色调,凸显一种简约美观的效果。整个系统都是以java作为开发语言,同时使用Springboot框架来优化开发流程,简化了开发的复杂程度,在项目数据库设计的时候,经过综合分析,觉得使用MySQL作为新风图书管理系统作为数据支持;前端界面则使用boostrap框架、jQuery配之于后端模板引擎Thymeleaf作为支持。目前,新风图书管理系统在这些工具的支持下基本能运作。
6.2 课题展望
因为初期设计时是想加入如果用户借书归还时书籍存在破损的话,以按破损程度进行收费功能。如果未来有机会和条件的话,基于Springboot的新风图书管理系统会加入支付功能;而且因为没有理清个别功能的需求,在用户续借书籍的功能上做的不够完善,未来有时间会加上不同意续借的功能。
参考文献
[1] 刘全超.基于Java框架技术的计算机文化基础网上教学平台[J].电脑迷,2017(04):91.
[2] 凌方.基于Java的图书管理系统的设计与实现[J]. 计算机光盘软件与应用,2014,21:290+292.
[3] 张剑飞.Java EE开发技术. 哈尔滨工业大学出版社.2013
[4] 黄正宝,张广泉.UML2.0顺序图的XYZ/E时序逻辑语义研究[J].计算机科学.2006,33(8): 249-251.
[5] 王路群.Java高级程序设计.北京:中国水利水电出版社,2006
[6] 姜承尧.MySQL技术内幕.机械工业出版社.2011
[7] 汪赵强.网页制作与JSP技术.机械工业出版社.2010
[8] [美]Rogers Cadenhead. Java编程入门经典.梅兴文译.第4版.北京:人民邮电出版社,2007
[9] Afzel Noore,Nikhil Tungala. Embedding biometric identifiers in 2D barcodes for improved security[J] .Computers & Security,2004,23(20):679-686.
[10] Martin Ngobye Computing Static Slice for Java Programs.2012
致 谢
写到这里,已经是新风图书管理系统的尾声了。一个系统设计的开发与实现需要很多时间的沉淀来完成。系统的开发过程需要他人的帮助,如同学、指导老师以及实习期间认识到公司开发经验丰富的同事。所以,系统的最终开发完毕很感谢他们有形与无形的帮助,但是更要感谢自己,需要独自完成的事情总是孤独的、烦躁的。经过这个新风图书管理系统的开发,我自己也受益良多。
最后,感谢广州大学松田学院为我们提供学习的平台,感谢广大松田计算机科学与技术各个科任老师的辛勤付出。