java - 图书管理系统之需求分析篇(SpringBoot + Vue)自学使用
图书借阅管理系统需求分析和功能划分
前言:此项目需求为网络查找资源,仅仅为自己学习使用。
1 项目提出
随着计算机的普及和信息技术的发展,人们的生活发生了日新月异的变化,各类计算机软件逐渐渗透到了社会的每个角落,大大地改善了人们的生活质量,提高了人们的工作效率。在高校中,图书借阅是学生获取知识的一个很重要的途径,如何既能方便学生借书,又能减轻图书馆管理人员的工作负担,高效地完成图书借阅管理工作,是一件非常重要的事情。
A高校拥有一个小型图书馆,为全校师生提供学习、阅读的空间。近几年来,随着生源的不断扩大,图书馆的规模也随之扩大,图书数量也相应地打量增加,有关图书借阅的各种信息成倍增加。面对如此巨大的信息量,图书馆管理人员很难支撑,因此,学校领导决定建立一套合理实用的图书借阅管理系统软件,以对校内的图书借阅信息进行统一、集中的管理。
2 需求分析
图书借阅管理系统,能够实现计算机化的图书借阅管理,能够提供方便快速的图书信息检索功能和便捷的图书借阅和归还功能,并且能够对图书信息和读者信息进行管理,方便管理员和读者的借阅处理。要求系统具备以下特点:
(1)操作简单,易用。
(2)数据存储可靠,具备较高的处理效率。
(3)系统安全、稳定。
(4)开发技术先进、功能完备、扩展性强。
2.1功能需求分析
本系统主要实现对图书馆图书借阅信息的管理,主要管理读者信息、图书信息、借阅与归还信息、系统用户的信息。
(1)读者信息管理:能够对读者的基本信息进行管理,包括新增读者,如学校新来一名教师,想要借书,就必须先添加读者信息;读者信息的修改,如学生转到别的专业,此时要修改学生的基本信息;删除读者的信息,比如某个学生中途退学了,可以将其信息删除。查询读者的信息,比如有同学拾到了一张借阅卡,卡上有学生的编号,通过此号来查询学生的联系电话,从而可以找到学生。
(2)图书信息管理:能够对图书的基本信息进行管理,包括新增图书,学校每年会购进新书,此时需要将新书的信息录入系统中;图书信息的修改,如学生借书后将图书丢失,此时需要修改图书的总数量,使总数减1;删除图书,学校在购进新书的同时,每年会对过期的图书进行清理,不再提供借阅,此时就需要将这些图书的信息从系统中删除。查询图书的信息,比如要查看有哪些是Java相关的书籍或者指定ISBN号的图书等。
(3)图书借阅信息管理:能够对图书的借阅信息进行记录,包括读者信息、图书信息、借阅时间等信息。
(4)图书归还信息管理:能够对图书的借阅信息进行记录,包括读者信息、图书信息、归还时间、是否超期、罚金等信息。
(5)系统用户信息管理:能够对系统用户的信息进行管理,包括增加新的系统操作用户,对当前系统用户的密码进行修改,以及删除某一用户。
根据上述功能需求,本系统具体的功能模块图如下图所示:
本系统功能分为读者信息管理模块、图书信息管理模块、图书借阅管理模块、基础信息维护模块和用户管理模块。
(1)读者信息管理:包括读者信息添加和读者信息查询与修改功能。用户登录成功之后,可以浏览所有读者的信息,也可以检索特定读者的信息;同时,可以对读者信息进行维护,包括增加、删除及修改。具体信息包括读者类型、读者姓名、出生日期、性别、电话、所在院系、注册日期等。
(2)图书信息管理:包括图书信息添加和图书信息查询与修改功能。用户登录成功之后,可以浏览所有图书信息和检索特定图书的信息;也可以对图书信息进行维护。包括添加图书、删除图书以及修改图书信息。具体信息包括:图书ISBN、图书名称、作者、出版社、出版日期、印刷次数、单价、图书类别等。
(3)图书借阅管理:包括图书借阅和图书归还功能。图书借阅功能,先输入读者的编号,然后输入要借阅的图书的信息,记录系统当前时间即借阅时间;图书归还功能,输入读者的编号,选择其名下已借阅的图书,判断当前日期即归还日期与借阅日期的差值是否超过了规定的期限,计算罚金,从而进行图书的归还操作。具体信息包括:借阅日期、归还日期、罚金。由于要计算罚金,故需要知道该读者的读者类型,根据类型判断其可借图书天数、可借图书数量等。
(4)基础信息维护:包括图书类别设置、读者类别设置及罚金设置。图书类别设置,可以对图书的类别进行增加、删除、修改和查询;读者类别设置可以对读者的类别进行增加、删除、修改和查询;罚金设置,可以指定超期一天的罚金标准。
(5)用户管理:包括修改密码、用户添加和删除。修改密码,是指当前用户修改自己的密码;用户添加和删除,是对新增和去除系统用户时对用户信息的维护。
根据上述功能的描述,系统的管理员即操作用户 需要先登录,然后才能使用系统的各项功能,会涉及相应的信息。具体的图书借阅管理系统的流程图如下图所示:
2.2数据库需求分析
根据以上功能分析,涉及到的数据如下:
读者姓名、出生日期、性别、电话、所在院系、注册日期、读者类型(可借阅天数、可借阅数量)等。
图书ISBN、图书名称、作者、出版社、出版日期、印刷次数、单价、图书类别等
读者、所借图书、借阅时间、归还日期、罚金
用户名、密码
3.系统概要设计
3.1 数据库设计
3.1.1 数据库概念结构设计
读者实体:读者编号、读者姓名、出生日期、性别、电话、所在院系、注册日期
读者类型:读者类型编号、读者类型名称、可借阅天数、可借阅数量
图书实体:图书编号ISBN、图书名称、作者、出版社、出版日期、印刷次数、单价、图书类型
图书类型:图书类型编号、图书类型名称
用户:用户编号、用户名、密码
3.1.2 数据库逻辑结构设计
(1)图书(图书编号ISBN,图书类型编号,图书名称,作者,出版社,出版日期,印刷次数,单价)
(2)图书类型(图书类型编号,图书类型名称)
(3)读者(读者编号,读者类型编号,姓名,年龄,性别,电话,所在系部,注册日期)
(4)读者类型(读者类型编号,读者类型名称,最多可借图书数量,最长可借图书天数)
(5)用户(用户编号,用户名,密码)
(6)图书借阅(读者编号,图书编号,借阅日期,归还日期,罚金)
3.1.3数据库物理结构设计
数据库管理系统选择SQLServer,根据SQLServer特点,设计数据表如下:
表1 读者信息表 reader
字段名 |
类型 |
长度 |
是否为空 |
描述 |
readerid |
char |
8 |
否 |
读者编号(主键) |
type |
int |
|
是 |
读者类型编号 |
name |
char |
20 |
是 |
读者姓名 |
age |
int |
|
是 |
年龄 |
sex |
char |
4 |
是 |
性别 |
phone |
char |
11 |
是 |
联系电话 |
dept |
varchar |
20 |
是 |
所在系部 |
regdate |
date |
|
是 |
注册日期 |
表2 读者类型表readertype
字段名 |
类型 |
长度 |
是否为空 |
描述 |
id |
int |
|
否 |
读者类型编号(主键) |
typename |
varchar |
20 |
是 |
读者类型名称 |
maxborrownum |
int |
|
是 |
最多可借阅图书数量 |
limit |
int |
|
是 |
最长可借阅图书天数 |
表3 用户表 users
字段名 |
类型 |
长度 |
是否为空 |
描述 |
id |
int |
|
否 |
用户编号(主键) |
name |
varchar |
20 |
是 |
用户名称 |
password |
varchar |
20 |
是 |
用户密码 |
表4 图书信息表 book
字段名 |
类型 |
长度 |
是否为空 |
描述 |
ISBN |
char |
10 |
否 |
图书的ISBN(主键) |
typeid |
int |
|
是 |
图书类型编号 |
bookname |
varchar |
30 |
是 |
图书名称 |
author |
varchar |
30 |
是 |
作者 |
publish |
varchar |
30 |
是 |
出版社 |
publishdate |
date |
|
是 |
出版日期 |
publishtime |
int |
|
是 |
印刷次数 |
unitprice |
money |
|
是 |
单价 |
表5 图书类型表booktype
字段名 |
类型 |
长度 |
描述 |
id |
int |
|
图书类型编号(主键) |
typename |
varchar |
30 |
图书类型名称 |
表6 图书借阅表borrowbook
字段名 |
类型 |
长度 |
是否为空 |
描述 |
readerid |
char |
8 |
否 |
读者编号(组合主键) |
ISBN |
char |
10 |
否 |
图书ISBN(组合主键) |
borrowdate |
date |
|
是 |
借阅日期 |
returndate |
date |
|
是 |
归还日期 |
fine |
money |
|
是 |
罚金 |