学号
《JavaWeb 程序设计》
课程设计报告
题 目 :
图书管理系统
专 业 :
班 级 :
姓 名 :
指导教师:
成 绩 :
计算机学院
2018 年 5 月 31 日
目录
1 引言 ...................................................................... 1
2 需求分析 .................................................................. 1
2.1 系统概述 ............................................................. 1
2.2 功能分析 .............................................................1
2.3 数据模型分析 .........................................................2
3 系统结构 .................................................................. 3
3.1 总体结构 .............................................................3
3.2 数据库设计 ...........................................................3
4 设计与实现 ................................................................ 8
4.1 模块结构设计与接口设计 ............................................... 8
4.2 模块界面及关键代码 ..................................................12
5 系统测试 ................................................................. 22
5.1 测试记录与分析 ......................................................22
5.2 问题思考与调试 ......................................................23
6 总结 ..................................................................... 24
7 参考文献 ................................................................. 24
计算机学院《JavaWeb 程序设计》课程设计报告
1 引言
计算机信息处理系统的引进已彻底改变了许多系统的经营管理模式。图书管
理系统是学校管理机制中的重要组成部分,通过对图书管理系统的运行管理机制
进行调查研究,开发了此图书系统。本系统中解决了学校图书管理事务中的常用
基本问题以及相关统计工作。本系统中包含 6 个功能模块:系统设置,读者管理,
图书管理,图书借还,系统查询和更改口令。本系统使有 jsp 进行网页界面的设
计,使用 MVC 设计模式,采用了开源框架 Struts,它采用了当今软件设计的最新
技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。本系统中
通过 JDBC 驱动和数据库进行无缝连接,后端的数据库是 sqlserver,也是一个
开源的数据库系统,该数据库具有较高的完整性,一致性和安全性。
2 需求分析
2.1 系统概述
该系统主要建立一个基于 B/S 模式的图书馆借阅管理系统,面对当起很多小
型图书管理仍是人工管理带来的检索速度慢,效率低,借阅归还图书量大,图书统
计工作量大,藏书不能完成及时更新的问题,该系统可以对跟系统的三个用户类
型的使用实现:
(1)对于读者在本系统的应用下可实现按照各种方式(如:书名,编号,作者)
查询图书馆的藏书请客,方便的借阅图书,续借图书,归还图书,能够查询自己的
借阅图书情况。
(2)对于图书馆工作人员能够实现方便的对图书进行查询,方便的进行读者
借阅情况查询,方便的进行借书还书处理等,便捷的对图书信息进行添加、修改、
删除,分类管理等操作,对读者信息进行相关添加,修改,分类管理等操作。
(3)对于系统管理员可以对图书馆信息修改更新操作,对系统用户进行添加、
修改、删除、权限设置等操作,对图书馆的办证参数进行修改维护等操作功能
2.2 功能分析
1、模型概述
图书借阅管理系统的主要任务是实现读者迅速检索查询,方便借阅归还图书,
图书管理员高效的完成系统的各项基本操作,系统管理员是管理用户设置权限等
操作,从图 2.1 可以看出图书借阅管理系统要完成一下功能:
(1) 登录:
读者、图书管理员,系统管理员进入该系统必须登录,身份验证正确了才可
以进入该系统,以不同身份进入该系统所对应的系统使用权限是不同的。
(2) 系统设置功能:
系统管理员可以设置图书馆相关的参数信息。
(3)用户管理功能:
对系统用户进行添加,修改,删除,权限设置等操作。
(4)查询功能:
对图书馆的馆藏图书,借阅历史,读者用户等信息进行查询。
(5)其他功能
系统管理员可以修改自己的密码,并且拥有其他用户所拥有的所有功能。
1
计算机学院《JavaWeb 程序设计》课程设计报告
2、功能模型
图书管理员详细功能描述
读者管理功能:
对读者的类型和读者档案进行管理,包括添加,修改,删除读者类型和读者用
户的相关信息,管理不同类型读者借阅图书的数量。
图书管理功能:
包括对图书类型和具体图书信息的管理,可以增加,修改,删除图书,丰富具
体图书的信息,对不同图书进行分类操作。
图书借阅功能:
可以完成对读者借阅,续接和还书的操作。
系统查询功能:
查询图书相关资料,借阅历史和借阅到期题型.
修改密码功能:
可以修改自己的登录密码。
读者详细功能描述
(1) 修改登陆密码:
修改自己的登录密码。
(2) 查询功能:
对图书馆图书信息进行查询,对自己当前借阅书籍进行查询。
用户管理
(from Use Case View)
系统设置
(from Use Case View)
系统管理员
(from Use Case View)
系统管理
(from Use Case View)
借阅管理
(from Use Case View)
读者
(from Use Case View)
...)
登录
(from Use Case View)
系统查询
(from Use Case View)
读者信息管理
(from Use Case View)
借还管理
归还管理
(from Use Case View)
(from Use Case View)
图书管理员
(from Use Case View)
读者管理
(from Use Case View)
图书管理
(from Use Case View)
续借管理
(from Use Case View)
图书类型管理
(from Use Case View)
读者类型管理
(from Use Case View)
图书信息管理
(from Use Case View)
图 1 功能模型图
2.3 数据模型分析
在这里使用 E-R 图描述了图书借阅管理系统的数据模型。图 2 图书借阅管理
系统 E-R 图描述了该系统所涉及到的实体以及他们之间的关系。具体结构如图 2
所示。
2
计算机学院《JavaWeb 程序设计》课程设计报告
图 2 系统 E-R 图
3 系统结构
3.1 总体结构
(1)概述
该系统在 Windows98/2000/XP 环境下,主要采用 JSP 开发工具,MySQL 数据
库来设计,开发过程与成果应符合 GB/T 11457-1995 软件工程术语,GB/T
8567-1988 计算机软件产品开发文件编制指南等。
(2)总体结构
系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各
个功能的结构,能很好地方便用户使用和理解整个系统。本系统的结构图如图 3
所示。根据需求分析的结果,按照“低耦合、高内聚”的原则,本系统将划分为
以下主要功能模块:系统管理员功能模块,读者管理功能模块,图书管理功能模
块,图书借还功能模块;系统查询功能模块。
图 3 系统总体结构图
3.2 数据库设计
数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它
是建立数据库应用系统的核心问题。整个系统所包括的信息有图书信息、读者信
息、留言信息、图书借阅信息、图书归还信息、系统用户信息、读者类型信息。
3
计算机学院《JavaWeb 程序设计》课程设计报告
可将这些信息抽象为下列系统所需要的数据项和数据结构:
(1)图书信息(编号,图书名称,图书类型,作者,译者,ISBN 号,价格,
出版社,所在书架,入库时间,操作员)
(2)图书类型(编号,名称,可借阅天数)
(3)读者信息(编号,姓名,性别,条形码,读者类型,出生年月,有效证
件,证件号码,登记日期,电话,邮箱,操作员)
(4)读者类型(名称,可借阅图书本数)
(5)图书借阅信息(图书编号,读者 ID,借出时间,应还时间,是否归还,
操作员)
(6)图书归还信息(图书编号,读者 ID,归还时间,操作员)
(7)用户(编号,用户名称,密码)
(8)图书馆信息(编号,名称,馆长,电话,地址,邮箱,创建日期,简介)
图书馆参数信息(编号,办证费用,有效期限)
图书信息表结构设计
图书信息表主要用于存储图书馆中所藏图书的相关信息,其中的相关信息是
在图书入库时由操作员进行添加完善。表的具体结构如表 1 所示。
表 1 图书信息表 tb_bookinfo
字段名称
数据类型 字段长度
是否为空
barcode
varchar
bookname
varchar
author
varchar
translator
varchar
ISBN
varchar
30
70
30
30
20
price
float
8,2
bookcase
varchar
press
varchar
intime
date
10
70
operator
varchar
30
4
No
No
Yes
Yes
No
No
No
No
No
No
说明
Key
作者
译者
图书价格
图书所在书架
出版社
图书入库时间
操作员
计算机学院《JavaWeb 程序设计》课程设计报告
page
int
10
Yes
图书页码
图书类型信息表结构设计
该表的设计主要是方便对图书的分类,和对图书的查询,在实际应用中图书
管理员就是根据图书类型的不同将之分列在不同的书架,以方便读者的借阅寻找,
其中可借阅天数项设置了不同类型图书的借阅期限,可根据图书的具体情况进行
不同的维护管理,表的具体结构设计如表 2 所示。
表 2 图书类型信息表 tb_booktype
字段名称
数据类型
字段长度
是否为空
ID
int
bookname
varchar
days
int
10
30
10
No
No
No
说明
Key
可借阅天数
读者信息表结构设计
读者信息表的设计是为了图书馆管理员对读者进行管理,其中读者 ID,不同
类型证件的号码都是唯一的,是读者在借阅图书时需要输入对读者身份进行识别
的信息,读者类型信息决定了读者一次性可借阅的图书的数量,注册时间可用于
查询计算读者身份有效的期限,操作员是为了便于对信息才操作的查询。表的具
体结构设计如表 3 所示。
表 3 读者信息表 tb_reader
字段名称
数据类型
字段长度
是否为空
Id
int
name
varchar
sex
varchar
barcode
varchar
readertype
varchar
tel
varchar
10
20
4
30
11
20
e-mail
varchar
100
5
No
No
No
No
No
Yes
Yes
说明
Key
读者类型
电话
计算机学院《JavaWeb 程序设计》课程设计报告
paperType
varchar
PaperNO.
Varchar
10
20
birthday
date
intime
date
operator
varchar
30
No
No
Yes
No
No
证件类型
证件号码
登记时间
操作员
读者类型信息表结构设计
此表的设计是为了对不同身份的读者进行分类方便读者的管理,其中可借阅
图书数量的属性设定,是根据读者需求的不同对起权限进行的设置,用于规定不
同类型读者一次可借阅的图书数量,表的具体结构设计如表 4 所示。
表 4 读者类型信息表 tb_readertype
字段名称
数据类型
字段长度
是否为空
说明
ID
int
readername
varchar
number
int
10
50
4
No
No
No
Key
可借图书本数
图书借阅信息表结构设计
该表的设计是用于对读者借阅图书进行管理,表中图书 ID 属性是对借阅图
书的唯一性识别标识,读者 ID 号记录借阅的相应读者,结出时间记录了相应的归
还时间,以及归还时是否超时,操作员是对借阅进行操作的人员的记录方便日后
的查询,是否归还标识可查询当起读书是否被归还,表的具体结构设计如表 5 所
示。
表 5 图书借阅信息表 tb_borrow
说明
Key
字段名称
数据类型
字段长度
是否为空
ID
int
readerID
varchar
bookID
int
No
No
No
10
10
10
6