图书管理系统.docx
《图书管理系统.docx》由会员分享,可在线阅读,更多相关《图书管理系统.docx(28页珍藏版)》请在冰豆网上搜索。
![图书管理系统.docx](https://file1.bdocx.com/fileroot1/2022-12/8/3a0f16e3-34c0-428b-9ee1-2c583cad1ddf/3a0f16e3-34c0-428b-9ee1-2c583cad1ddf1.gif)
图书管理系统
目录
一、系统分析2
1.1需求分析2
1.1.1文字描述:
2
1.1.2数据流图:
2
1.2功能分析3
二、数据库设计3
2.1数据库概念结构设计3
2.2数据库逻辑结构设计4
三、系统设计6
3.1用户登录模块8
3.2书目借阅模块9
3.3书目归还模块10
3.4书目预约模块11
3.5书目续借模块11
3.6书目检索模块12
3.7系统管理模块13
四、系统实现14
4.1书籍检索界面效果如下图所示:
14
4.2图书预约界面效果如下图所示:
16
4.3图书续借界面效果如下图所示:
17
4.4系统管理界面效果如下图所示:
18
4.5图书管理界面效果如下图所示:
18
五、总结及展望19
一、
系统分析
1.1需求分析
1.1.1文字描述:
基于WEB的图书借阅及管理系统
1.必须持有借书卡的用户才能借书。
2.所有用户都可以搜索图书(可按多种条件搜索,如作者,出版社,书名),显示在网页上的图书要有详细信息(书的信息,是否在馆,在哪个借阅处)。
3.图书管理员可以添加图书,修改图书,删除图书等,可以进行图书进货,图书报废处理。
4.图书管理员处理用户的借书及还书操作。
5.系统管理员可以添加用户,为用户分配借书卡号,设置默认密码;可以删除用户。
6.用户以借书卡考号和密码可以登录读者信息系统,读者信息系统中显示该用户的图书借阅历史,目前在借图书(包括图书信息,到期信息等);可以显示用户的基本信息,如姓名,职务(教工或学生),邮箱等。
用户可以对自己的基本信息进行修改。
1.1.2数据流图:
1.2功能分析
程序功能模块图如下:
本系统功能实现分为三个模块:
系统管理模块、图书管理模块、和用户查询模块。
系统管理模块主要实现对图书馆藏地信息的添加、修改、删除操作,普通用户和图书管理员的添加与删除,以及系统数据的整理和维护。
图书管理模块功能为书籍信息的维护操作,供图书管理员使用。
主要实现书籍信息、书籍类别的添加、删除与修改,且图书管理员可以查看读者预约书籍,并处理读者的借书、还书及欠款缴纳操作。
用户查询模块中,所有用户都有查询馆内图书的权限,用户凭借书卡号可以登录查看个人图书借阅情况,并修改个人信息,可以执行图书的预约和续借操作,所有用户的欠款信息将发布在该模块中。
二、数据库设计
2.1数据库概念结构设计
根据需求分析可以规划出的实体有:
图书管理员信息实体、图书信息实体、书籍借阅实体、用户信息实体。
实体之间关系的E-R图,实体之间关系如下图所示:
2.2数据库逻辑结构设计
表1:
用户信息数据表(user_Info)
字段名
含义
类型
注释
usernumber
文本,主键
varchar2(20)
系统管理员为用户分配,用于图书借阅和个人信息维护
username
读者姓名
varchar2(20)
password
密码
varchar2(20)
用户密码,登录判断
sex
性别
varchar2(20)
check(sexin('男','女'))
telphone
电话
varchar2(20)
position
职位
varchar2(20)
email
电子邮件
varchar2(20)
useraddr
家庭住址
varchar2(30)
postcode
邮政编码
varchar2(10)
grade
借阅级别
varchar2(10)
判断用户借书数目
startdate
办证日期
date
enddate
失效日期
date
errorstatus
处罚标志
varchar2(5)
check(errorstatusin('0','1'))
paystatus
欠款标志
varchar2(5)
check(paystatusin('0','1'))
currentbook
目前借阅数
number
totalbook
历史借阅数
number
del_check
删除标志
varchar2(10)
check(del_checkin('是','否'))
表2:
图书管理员信息数据表(bookadmin)
字段名
含义
类型
注释
adnumber
文本,主键
varchar2(20)
图书管理员的登录证件号
adname
姓名
varchar2(20)
adpassword
密码
varchar2(30)
用户密码,登录判断
adsex
性别
varchar2(10)
check(adsexin('男','女'))
adtel
电话
varchar2(20)
adaddr
住址
varchar2(30)
ademail
电子邮件
varchar2(20)
del_check
删除标志
varchar2(10)
check(del_checkin('是','否'))
表3:
图书信息数据表(book)
字段名
含义
类型
注释
bookID
文本,主键
varchar2(20)
图书ID号,唯一标志每本馆藏书目,相同书名不同ID号
checkID
索书号
varchar2(20)
索书号,相同书名同一索书号
bookname
书目名称
varchar2(20)
author
作者
varchar2(20)
publish
出版社
varchar2(20)
publishdate
出版日期
varchar2(20)
categoryID
所属目录ID号
varchar2(10)
参照category表,图书所属类别
topic
主题词
varchar2(50)
joindate
入馆日期
date
即书目录入日期
addrID
所在馆藏地ID号
varchar2(10)
参照bookaddr表,图书所在地
book_check
是否在馆标志
varchar2(10)
馆内是否收藏
borrow_status
是否可借标志
varchar2(30)
用户是否可借
del_check
删除标志
varchar2(10)
check(del_checkin('是','否'))
表4:
图书类别信息数据表(category)
字段名
含义
类型
注释
categoryID
文本,主键
varchar2(10)
所属目录ID号
content
类别名称
varchar2(20)
addrID
所在馆藏地ID号
varchar2(10)
参照bookaddr表,图书所在地
del_check
删除标志
varchar2(10)
check(del_checkin('是','否'))
表5:
图书馆藏地信息数据表(bookaddr)
字段名
含义
类型
注释
addrID
文本,主键
varchar2(10)
所在馆藏地ID号
bookaddr
馆藏地名称
varchar2(30)
description
详细描述
varchar2(50)
del_check
删除标志
varchar2(10)
check(del_checkin('是','否'))
表6:
图书借阅信息数据表(user_book)
字段名
含义
类型
注释
usernumber
文本,主键
varchar2(20)
借书卡号,参照user_Info表;图书ID号,参照book表,二者为联合主键,标志读者借阅情况
bookID
文本,主键
varchar2(20)
borrowDate
借阅日期
date
backDate
归还日期
date
continue_check
续借标志
varchar2(10)
check(continue_checkin('是','否'))
in_check
借阅中标志
varchar2(10)
check(in_checkin('是','否'))
表7:
图书预约信息数据表(user_order)
字段名
含义
类型
注释
usernumber
文本,主键
varchar2(20)
借书卡号,参照user_Info表;图书ID号,参照book表,二者为联合主键,标志读者预约情况
bookID
文本,主键
varchar2(20)
orderbegin
预约开始日期
date
orderend
预约结束日期
date
order_check
预约标志
varchar2(10)
check(order_checkin('是','否'))
表8:
违章欠款信息数据表(user_error)
字段名
含义
类型
注释
usernumber
文本,主键
varchar2(20)
借书卡号,参照user_Info表;图书ID,参照book表,二者为联合主键,标志读者违章欠款情况
bookID
文本,主键
varchar2(20)
error_check
违章标志
varchar(5)
pay_check
欠款标志
varchar(5)
check(pay_checkin('是','否'))
三、系统设计
本系统功能实现分为三个模块:
系统管理模块、图书管理模块、和用户查询模块。
实现所有功能模块所涉及的公用类类包括:
编号
类名
功能说明
1
DbCon
封装数据库连接及操作类
2
ChineseFilter
解决中文乱码的过滤器
3
QueryDaoImpl
封装所有数据的查询操作
(1)DbCon类
该类的功能:
数据库连接及关闭。
返回值
方法名
功能
参数说明
Connection
getConnection()
连接数据源
returnconn
ResultSet
executeQuery(Stringsql)
执行数据库查询语句
returnresult
ResultSet
executeUpdate(Stringsql)
执行数据库插入、删除语句
returnresult
void
close()
关闭数据库
(2)ChineseFilter类
该类的功能:
编码转换。
返回值
方法名
功能
参数说明
void
init(FilterConfigconfig)
过滤器初始化
void
doFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)
编码转换
void
destroy()
过滤器销毁
(3)QueryDaoImpl类
该类的功能:
所有数据的查询操作。
返回值
方法名
功能
参数说明
ArrayList
listAlluser()
显示所有用户信息
adduserad
ArrayList
listAlladmin()
显示所有管理员信息
addadminad
ArrayList
listAllbook()
显示所有书籍信息
addbookad
ArrayList
listcategory()
显示所有类别信息
categoryad
ArrayList
listbookaddr()
显示所有馆藏地信息
bookaddrad
ArrayList
listAlluserbook()
显示所有用户借阅信息
addbookdeal
ArrayList
listAlluserorder()
显示所有用户预约信息
addbookdeal
ArrayList
listAllbookdeal(Stringid)
显示指定用户的在借书籍
addbookdeal
ArrayList
listAllhistory(Stringid)
显示指定用户的历史借阅书籍信息
addbookdeal
ArrayList
findByAuthor(Stringname,
Stringkey,Stringamount,Stringmodel,Stringresult,Stringlist)
按条件查询并显示图书信息
addbookad
ArrayList
findByNumber(Stringnumber)
按借书卡号显示用户信息
adduserad
ArrayList
findByadnumber(Stringnumber)
按证件号显示管理员信息
addadminad
ArrayList
findByBookID(Stringid)
按图书ID号显示书籍信息
addbookad
ArrayList
findByBookname(Stringname)
按书目名称显示书籍信息
addbookad
ArrayList
findBycategoryIDAll(Stringid)
按类别ID信息类别信息
categoryad
ArrayList
findByBookaddrID(Stringid)
按馆藏地ID显示馆藏地
bookaddrad
String
findByorder(Stringnumber,
Stringbookid)
显示指定用户、指定书目的预约状态
无
int
inbookcheck(Stringcheckid)
按索书号显示可借书籍数目
无
int
totalbookcheck(Stringcheckid)
按索书号显示所有在馆书籍数目
无
3.1用户登录模块
用户登录分为普通读者、图书管理员和系统管理员登录。
其中系统管理员本系统预设一位,通过Servlet实现其登录控制。
普通读者和图书管理员登录通过读取数据库信息进行权限控制。
文件结构图以普通读者为例如下所示:
用户登录模块jsp页面列表如下表所示:
jsp文件名
功能
login.jsp
登陆界面
check.jsp
登录用户检测界面
userinfo.jsp
用户信息显示界面
实现该功能模块所涉及的重要类包括:
编号
类名
功能说明
1
adduser
封装用户数据类
2
AccountDaoImpl
普通用户和图书管理员登录验证
(1)AccountDaoImpl类
该类的功能:
普通用户和图书管理员登录验证。
返回值
方法名
功能
参数说明
boolean
check(Stringname,Stringpw)
普通读者登录验证
无
boolean
admincheck
(Stringname,Stringpw)
图书管理员登录验证
无
3.2书目借阅模块
书目借阅模块jsp页面列表如下表所示:
jsp文件名
功能
bookborrow.jsp
录入借书卡号和图书ID号
bookborrow1.jsp
借阅处理及成功界面
实现该功能模块所涉及的重要类包括:
编号
类名
功能说明
1
addbookdeal
封装用户借阅信息数据类
2
BookdealDaoImpl
读者借书、还书等操作的处理类
3
QueryDaoImpl
所有数据的查询操作
(1)BookdealDaoImpl类
该类的功能:
读者借书、还书等操作的处理。
返回值
方法名
功能
参数说明
int
borrowbook()
借书处理
addbookdealamin
void
backbook()
还书处理
addbookdealamin
void
backbook1()
更新归还的书籍和还书的用户的信息
addbookdealamin
void
orderbook(Stringid,Stringbookid)
图书预约处理
addbookdealamin
void
pay(Stringerror)
用户违章罚款处理
addbookdealamin
int
continuebook
(Stringid,Stringbookid)
图书续借处理
addbookdealamin
3.3书目归还模块
书目归还模块jsp页面列表如下表所示:
jsp文件名
功能
bookback.jsp
录入借书卡号和图书ID号
bookback1.jsp
归还处理及成功界面
实现该功能模块所涉及的重要类包括:
编号
类名
功能说明
1
addbookdeal
封装用户借阅信息数据类
2
BookdealDaoImpl
读者借书、还书等操作的处理类
(1)BookdealDaoImpl类
该类的功能:
读者借书、还书等操作的处理。
返回值
方法名
功能
参数说明
int
borrowbook()
借书处理
addbookdealamin
void
backbook()
还书处理
addbookdealamin
void
backbook1()
更新归还的书籍和还书的用户的信息
addbookdealamin
void
orderbook(Stringid,Stringbookid)
图书预约处理
addbookdealamin
void
pay(Stringerror)
用户违章罚款处理
addbookdealamin
int
continuebook
(Stringid,Stringbookid)
图书续借处理
addbookdealamin
3.4书目预约模块
书目预约模块jsp页面列表如下表所示:
jsp文件名
功能
orderbook.jsp
查看书籍信息,选择预约操作
order.jsp
预约处理及成功界面
实现该功能模块所涉及的重要类包括:
编号
类名
功能说明
1
addbookdeal
封装用户借阅信息数据类
2
BookdealDaoImpl
读者借书、还书等操作的处理类
3
QueryDaoImpl
所有数据的查询操作
(1)BookdealDaoImpl类
该类的功能:
读者借书、还书等操作的处理。
返回值
方法名
功能
参数说明
int
borrowbook()
借书处理
addbookdealamin
void
backbook()
还书处理
addbookdealamin
void
backbook1()
更新归还的书籍和还书的用户的信息
addbookdealamin
void
orderbook(Stringid,Stringbookid)
图书预约处理
addbookdealamin
void
pay(Stringerror)
用户违章罚款处理
addbookdealamin
int
continuebook
(Stringid,Stringbookid)
图书续借处理
addbookdealamin
3.5书目续借模块
书目续借模块jsp页面列表如下表所示:
jsp文件名
功能
mybook.jsp
显示个人在借图书,执行续借处理
continue.jsp
续借处理及成功界面
实现该功能模块所涉及的重要类包括:
编号
类名
功能说明
1
addbookdeal
封装用户借阅信息数据类
2
BookdealDaoImpl
读者借书、还书等操作的处理类
(1)BookdealDaoImpl类
该类的功能:
读者借书、还书等操作的处理。
返回值
方法名
功能
参数说明
int
borrowbook()
借书处理
addbookdealamin
void
backbook()
还书处理
addbookdealamin
void
backbook1()
更新归还的书籍和还书的用户的信息
addbookdealamin
void
orderbook(Stringid,Stringbookid)
图书预约处理
addbookdealamin
void
pay(Stringerror)
用户违章罚款处理
addbookdealamin
int
continuebook
(Stringid,Stringbookid)
图书续借处理
addbookdealamin
3.6书目检索模块
书目检索模块jsp页面列表如下表所示:
jsp文件名
功能
research.jsp
录入检索关键字并选择检索条件
resultbook.jsp
查询结果显示界面
nobook.jsp
未命中提示界面
实现该功能模块所涉及的重要类包括:
编号
类名
功能说明
1
addbook
封装馆藏图书数据类
3
QueryDaoImpl
所有数据的查询操作
3.7系统管理模块
系统管理模块主要实现对图书馆藏地信息的添加、修改、删除操作,普通用户和图书管理员的添加与删除,以及系统数据的整理和维护。
该模块功能应用struts实现,文件结构图以馆藏地修改为例,如下所示:
系统管理模块jsp页面列表如下表所示:
jsp文件名
功能
addaddr.jsp
馆藏地信息录入
addaddr1.jsp
馆藏地信息录入成功界面
addadmin.jsp
图书管理员信息录入
addadmin1.jsp
图书管理员信息录入成功界面
adduser.jsp
读者信息录入
adduser1.jsp
读者信息录入成功界面
deladdr.jsp
馆藏地信息删除
deladdr1.jsp
馆藏地信息删除成功界面
deladmin.jsp
图书管理员信息删除
deladmin1.jsp
图书管理员信息删除成功界面
deluser.jsp
读者信息删除
deluser1.jsp
读者信息删除成功界面
实现该功能模块所涉及的重要类包括:
编号
类名
功能说明
1
bookaddr
封装馆藏地信息数据类
2
addadmin
封装图书管理员信息数据类
3
adduser
封装用户信息数据类
4
BookaddrDaoImpl
添加、删除、修改馆藏地信息的类
5
UserDaoImpl
添加、删除用户信息的类
6
QueryDaoImpl
所有数据的查询操作
(1)BookaddrDaoImpl类
该类的功能:
添加、删除、修改