10284032 孔令宇 图书借阅管理系统实验报告.docx
- 文档编号:25025593
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:29
- 大小:862.42KB
10284032 孔令宇 图书借阅管理系统实验报告.docx
《10284032 孔令宇 图书借阅管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《10284032 孔令宇 图书借阅管理系统实验报告.docx(29页珍藏版)》请在冰豆网上搜索。
10284032孔令宇图书借阅管理系统实验报告
图书借阅管理系统
实验报告
北京交通大学计算机与信息技术学院
计科1006班孔令宇
2012年12月21日
目录
1引言3
1.1编写目的3
1.2背景3
1.3定义3
1.4参考资料4
2需求分析4
2.1系统目标4
2.1.1管理员和读者的操作4
2.1.2系统中应包含的信息5
2.1.3完整性约束5
2.1.4认证与交互5
2.2数据流图7
3概要设计10
3.1系统总体流程结构设计10
3.2系统ER图10
3.3系统各模块详细功能设计概要说明11
4详细设计14
4.1数据库设计14
4.1.1数据库表设计14
4.2登陆模块详细设计15
4.2.1程序描述15
4.2.2流程逻辑16
4.2.3功能16
4.2.4性能17
4.2.5输入项17
4.2.6输出项17
4.3用户模块详细设计18
4.3.1程序描述18
4.3.2流程逻辑19
4.3.3功能19
4.4管理员模块详细设计20
4.4.1程序描述20
4.4.2流程逻辑21
4.4.3功能21
5用户使用说明26
5.1设备26
6实验总结27
1引言
1.1编写目的
在完成数据库系统原理课程作业——图书借阅管理系统的设计和实现后,本实验报告对图书借阅管理系统的各个功能都作了详细的描述与细致地分析。
根据对需求的分析,以及了解不同用户、管理员对图书借阅系统的要求,该软件详细设计说明书细化了系统应该具有的功能,这样可以保证软件的开发符合相应用户的需求,有助于新用户对本系统的使用。
1.2背景
该图书借阅管理系统是将数据库技术及应用软件开发有机结合成一体,同时强调系统的可操作性以及结构设计与实现,这个系统是基于数据库系统的简单应用开发,图书借阅管理系统采用B-S结构设计模型,不同的用户可以通过浏览器对系统的不同部分进行浏览与相应的操作。
系统性质为管理信息系统(MIS)。
图书借阅管理系统采用会员制管理,系统功能应包含用户身份认证、查询图书信息、查询个人信息、查询读者信息、图书登记入库、办理借书证、图书借阅、图书归还、逾期未还处理、挂失处理等功能,系统界面力求简洁、易用,在标准化的基础上考虑界面的美观和新颖。
1.3定义
B/S
Browser/Server,浏览器/服务器,客户机上只需装有一个浏览器即可,服务器装有相应的数据库,通过WebServer进行数据的交换等操作。
在图书借阅管理系统中,用MyEclipse6.5自带的TomCat做服务器;
JSP
JavaServerPages
servlet
一种服务器端的Java应用程序
MyEclipse6.5
Java语言软件开发工具,JSP开发工具,可以开发相应的软件;
SQLServer2008
微软商业数据库
JDBC
(JavaDataBaseConnectivity,java数据库连接)一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,由一组用Java语言编写的类和接口组成,提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序.
JavaScript
一种面向对象的动态类型的区分大小写的客户端脚本语言.
1.4参考资料
《数据库系统概论》
《ServletJSP深入详解》
《JSP程序设计》
2需求分析
2.1系统目标
该图书借阅管理系统是为了使得计算机科学与技术专业的学生对软件开发的整个过程有更详细的了解,同时对于开发过程中文档的规范要求有一定了解,通过此系统的完成增强学生的编程能力,也可以提高学生们具体软件开发的知识,提高其竞争能力。
此图书借阅管理系统在功能上与许多图书馆正在应用的系统类似,是根据图书馆的实际管理需求进行编写的,为图书馆管理员及广大读者提供便利。
管理员可以通过该系统完成对会员,对图书以及对管理员本身三方面的增删改查操作,读者在注册成为会员后,会员可以通过该系统进行图书借阅、查询、报失等操作。
本系统的开发是完全独立的开发环境,运用myeclipse开发软件实现,数据库使用SQLServer2008。
测试浏览器为IE或搜狗浏览器,在服务器端装有本系统软件,通过浏览器即可实现其应用的功能。
其目标是希望能够可以实现对数据库管理的相应功能。
2.1.1管理员和读者的操作
目标
简要说明
对系统的用户身份进行认证
分为管理员和普通用户
图书入库
办理借书证
用户注册为会员后,以系统自动生成读者编号的方式实现
完成图书借阅
获取图书和读者的相关信息
维护图书和读者信息
借书证挂失
图书挂失
2.1.2系统中应包含的信息
(1)使用该系统的管理员和读者的密码和身份
(2)每本图书的信息如下:
图书编号,书名,作者,出版社,单价,类别,版次,页数等
其中,类别包括计算机技术,自然科学,医学,农林,建筑,科普和通信
(3)每个读者的信息:
读者的编号,姓名,性别,出生日期,证件名称,证件号码,会员等级,办证日期,联系电话,手机号码等
其中,不同级别会员的最长出借天数不同,分别为普通30天,银卡60天和金卡90天。
(4)读者的借阅、归还、过期和挂失信息
2.1.3完整性约束
(1)图书编号和读者编号唯一;
(2)读者借阅的图书一定是系统中提供的图书;
(3)读者遗失的图书一定是本人借阅的图书;
(4)已遗失的图书不能再被借阅;
(5)遗失图书数量不能超过馆藏图书数量;
(6)出借天数由会员级别决定。
2.1.4认证与交互
1.认证
管理员和读者通过自己的用户名和口令登录自己相应的操作界面
2.读者交互:
(1)查询图书的各种信息(按书名查,按图书类别查,按作者,按出版社查,可提供选择和输入两种方式,支持模糊查询)
(2)查询本人的借阅信息(列出本人所有借阅历史信息(六个月内,一年内)和当前借阅信息(未还)
3.管理员交互:
(1)查询图书的各种信息(支持模糊查询)
(2)查询读者的各种信息
(3)图书入库
(4)办理借书证
(5)图书借阅和归还
(6)逾期未还处理
(7)图书挂失处理
(8)图书证挂失
2.2数据流图
2.3数据字典
1.表:
book_category描述:
图书类别表
数据项:
属性名
描述
主键
类型
大小
取值域
category_id
类别编号
是
varchar
5
category
类别名称
否
varchar
10
2.表:
books描述:
图书表
数据项:
属性名
描述
主键
类型
大小
取值域
book_id
图书编号
是
varchar
5
book_name
书名
否
varchar
50
author
作者
否
varchar
20
publish
出版社
否
varchar
20
price
单价
否
money
category_id
类别
否
varchar
5
quantity_out
出借数
否
int
quantity_in
入库数
否
Int
data_in
入库日期
否
date
quantity_loss
遗失书
否
smallint
3.表:
borrow描述:
借阅表
数据项:
属性名
描述
主键
类型
大小
取值域
reader_id
读者编号
是
varchar
5
book_id
图书编号
是
Varchar
5
date_borrow
出借日期
否
date
date_return
应还日期
否
date
loss
丢失日期
否
char
2
4.表:
loss_reporting描述:
会员证挂失表
数据项:
属性名
描述
主键
类型
大小
取值域
reader_id
读者编号
是
varchar
5
loss_date
挂失日期
否
date
5.表:
administrator描述:
管理员表
属性名
描述
主键
类型
大小
取值域
ad_id
管理员编号
是
varchar
20
password
密码
否
varchar
20
6.表中英文名:
member_level中文名:
会员级别表
属性名
描述
主键
类型
大小
取值域
level
会员级别
是
varchar
6
day
最长出借天数
否
smallint
numbers
最多借书册数
否
smallint
fee
会费
否
smallint
7.表中英文名:
readers中文名:
读者表
属性名
描述
主键
类型
大小
取值域
reader_id
读者编号
是
varchar
5
reader_name
读者姓名
否
varchar
20
sex
性别
否
char
2
‘男’‘女’
birthday
出生日期
否
date
card_name
证件
否
varchar
8
card_id
证件编号
否
varchar
18
level
会员级别
否
varchar
6
day
办证日期
否
date
phone
电话号
否
int
mobile
手机号
否
varchar
11
password
密码
否
varchar
10
3概要设计
3.1系统总体流程结构设计
根据读者和管理员不同权限,总体系统流程结构如下图所示:
3.2系统ER图
3.3系统各模块详细功能设计概要说明
根据系统需求分析将用户分为不同权限得到如下的具体功能设计:
详细说明:
功能名称
简要说明
登录模块
读者登录
管理员登录
管理员
操作模块
查询读者
查询图书
图书入库
办理图书证
图书遗失处理
图书归还
逾期未还
图书借阅
冻结账户
读者
操作模块
确认信息
查询借阅历史
图书信息查询
1、登录认证:
a.登录需要用户名、密码以及用户类型,只有用户名和密码同时正确,才可进入系统对应的欢迎界面;如果登录信息有错则提示相应出错信息.
b.如果用户试图不通过登录认证而直接进入系统,则强制其先进入登录认证页面进行登录
2、读者可使用功能
在登录认证为读者身份后进入读者操作页面,读者的主界面,提供各个功能的介绍。
a.检索图书:
可根据书名、作者、出版社、类别进行检索,支持模糊查询和高级检索.检索结果将以列表的形式呈现给读者.
b.确认本人基本信息:
可查看读者的注册时填写的所有基本信息.
c.查询本人借阅历史:
可查看本人六个月、一年内的详细借阅历史,同时可以查看读者尚未归还的图书.
3、管理员可使用功能
在登录认证为图书借阅管理员后进入图书管理员管理页面
a.查询图书:
包括查看馆藏图书和借阅图书,以列表的形式显示书名跟图书编号,可点击相应图书来查看此图书的详细信息.
b.查询读者:
可根据读者ID、用户名进行检索,检索到满足条件的读者后,可点击相应链接来查询读者的详细基本信息和和借阅历史.也可通过此界面来冻结读者,即挂失读书证。
c.图书入库:
提供的图书信息包括图书名、作者、出版社、图书类别、价格、数量,图书的编号由系统自动分配,入库时间由系统自动获取,系统都将给出是否成功的提示信息.
d.办理图书证:
读者在系统提供的对话框中填入:
姓名、性别、生日、电话、手机、证件类型、证件号码、级别,办证日期由系统自动获取,办证结果将会给予用户回馈.
e.图书挂失:
需提供读者证号和图书编号,系统提示是否成功.
f.逾期未还处理:
以列表的形式显示逾期未还图书的图书号、图书名、读者号、读者名、借阅日期、应还日期.
g.图书借阅:
需提供借书证编号和图书编号两项信息,借阅日期由系统自动获取,应还日期由系统根据当前读者的级别计算得出,归还日期暂时为空,系统提示是否成功。
h.借书证挂失:
在b.查询读者中实现,用户勾取相应的读者,即可给读者挂失,挂失日期由系统自动获取,登系统提示是否成功。
4详细设计
4.1数据库设计
4.1.1数据库表设计
根据数据字典和ER图,可建立七张表分别为:
读者表
图书表
借阅表
图书类别表
会员级别表
挂失表
管理员表
4.2登陆模块详细设计
4.2.1程序描述
本程序是进入整个图书管理系统的入口,通过读者自己的选择,使不同权限的用户进入不同的界面。
如果用户试图不通过登录认证而直接进入系统,则强制其先进入登录认证页面进行登录
登陆界面:
4.2.2流程逻辑
4.2.3功能
登录认证:
1.根据用户身份的选择,登录成功后跳转到相应控制页面.
2.如果用户不存在或密码错误则提示相应的信息.
注:
如果用户试图跳过登录认证页面而进入系统,则系统强制用户进入登录认证页面,只有认证成功后才可以进入系统进行相应操作.
4.2.4性能
●正确的识别有权限的用户
●若登陆失败,给出相应错误提示
4.2.5输入项
名称
标识
数据类型
有效范围
输入方式
安全保密
用户名
Username
String
10字符以内
键盘录入
否
密码
Password
String
10字符以内
键盘录入
是
身份
Type
String
“普通用户”或“管理员”
鼠标选择
否
4.2.6输出项
用户进入对应的欢迎界面:
读者欢迎界面:
管理员欢迎界面:
4.3用户模块详细设计
4.3.1程序描述
本程序为读者操作模块,读者登录成功,进入读者操作主页面(默认为索引页面).
界面如下所示:
4.3.2流程逻辑
4.3.3功能
读者登录成功,进入读者主页面(索引界面).
1.检索图书
可根据图书名、作者、出版社、类别进行检索,支持模糊查询.
点击检索后跳转到相应的图书列表页面:
图书列表包含的信息包括书名、类别、作者、出版社和余量.
点击索引中的“确认”则跳转到图书检索页面.
2.查询借阅历史
该功能用于显示用户半年内、一年内的借阅历史和尚未归还的图书.
点击索引中的“借阅历史”,则显示这三种信息(默认显示为所有历史,用户需根据自己的需要改变).
3.查询个人信息
该功能用于显示读者的详细信息,包括读者ID、姓名、性别、生日、手机号、电话号码、证件类型、证件号码、会员级别、办证时间.用户针对自己的真实信息经行对比。
点击索引中的“个人信息”,则显示该列表.
4.4管理员模块详细设计
4.4.1程序描述
本程序为管理员操作模块,管理员登录成功后,进入管理员管理主页面(默认为索引页面).
界面如下所示:
4.4.2流程逻辑
4.4.3功能
1.查询读者
管理员可以按读者编号和读者姓名两种方式查询读者并查看相应读者的详细.
姓名支持模糊查询,检索结果列表的形式显示符合条件读者的详细信息.
点击“查询读者”进入查询读者界面:
2.冻结账户(挂失借书证)
借书证挂失需要提供读者号或者读者名字,在查询到该读者后,管理员勾取相应的对话框,点击“挂失”,在后台执行对数据库表的更改操作.
更改结果(是否成功)将会呈现给管理员.
3.查询图书
管理员通过该项功能查看馆藏图书的相关信息.
点击主页面的“查询图书”,进入查询图书的索引,进入选择式查询
输入相应的信息,点击“确认”,则显示出相应图书的信息,提供四种查询方式:
书名、书号、作者、出版社。
点击一本图书的编号后,显示该图书的详细信息.
点击输入检索:
可通过多种方式的组合查询图书。
4.图书入库
该功能用于录入新书信息,包括图书名、作者、出版社、图书类别、价格和入库数量.该页面主要包含图书的各种信息输入框和两个按钮,管理员点击“提交”后,在后台执行对数据库表的更改操作.
更改结果(是否成功)将会呈现给管理员.
5.办理借书证
在提供姓名、性别、生日、电话、手机、证件类型、证件号码、级别的情况下,创建一个新的读者账户.管理员点击“提交”后,在后台执行对数据库表的更改操作.
更改结果(是否成功)将会呈现给管理员.
6.图书借阅
图书借阅需要提供书号和读者号。
管理员点击“确认”后,在后台执行对数据库表的更改操作.
更改结果(是否成功)将会呈现给管理员.
7.图书归还
图书借阅需要提供书号和读者号。
管理员点击“确认”后,在后台执行对数据库表的更改操作.
更改结果(是否成功)将会呈现给管理员.
8.逾期未还处理
用一个页面列出未还读者逾期未还的图书信息,包括图书号、读者号、借阅日期、应还日期.
9.图书丢失
图书挂失需要提供读者号和图书号,管理员点击“ReportLost”后,在后台执行对数据库表的更改操作。
更改结果(是否成功)将会呈现给管理员。
5用户使用说明
5.1设备
开发环境的配置
类别
配置
计算机硬件
CPUintelcorei5,硬盘320G,内存2G
软件
Myeclipse,Tomcat,JDK,SQLServer2008,Win7
网络通信
系统服务器与客户机在一个网络内
其他
运行环境的配置
类别
标准配置
计算机硬件
CPUintelcorei5,硬盘320G,内存2G
软件
数据库服务器为SQLServer2008;Web服务器端采用Tomcat;客户端为IE9.0以上。
网络通信
系统服务器与客户机在一个网络内
其他
6实验总结
在传统的HTML页面文件中加入java程序片和JSP标签就构成了一个JSP页面文件,简单地说,一个JSP页面除了普通的HTML标记符外,再使用标记符号“<%”,“%>”加入Java程序片。
因此在进行数据库设计前我花了一段时间学习HTML和JSP语言。
搭建实验环境也是一个很重要的步骤。
在安装MyEclipse、Tomcat以及与数据库相连的环节中,我遇到了不少问题,例如数据库用户无法登陆,Tomact端口8080被占用等问题。
我通过借助老师、同学的经验和自己查阅资料寻找解决办法。
在运用JSP进行数据库设计功能时,我采取的策略是编写一个JSP页面记录用户输入的信息(参数),在另一个JSP中读取用户输入的信息(参数)与数据库中的数据进行比对和判断,根据判断条件向用户反馈相应的页面。
例如在登陆模块中,我编写了login.jsp,其作用是让用户选择用户类型、输入用户名和密码,用
在login_config.jsp中,用request.getParameter("")语句获取login.jsp中传递的参数,根据传递的参数判断用户类型以及是否是合法的用户,并将根据判断结果跳转页面到login_success.jsp或login_fail.jsp。
并且用session.setAttribute("",)语句来储存用户提交的信息,已被后续JSP调用。
在登陆模块编写好后,图书借阅管理系统的其他功能模块,例如读者信息查阅,借阅图书,增加新的读者等,便可参照登陆模块进行设计。
在设计的过程中,遇到了中文显示出现乱码的情况,根据查阅相关书籍,在代码中添加:
Stringstr=request.getParameter("");
byteb[]=str.getBytes(“ISO-8859-1”);
str=newString(b);
语句可以解决此问题。
在完成了图书管理系统的设计之后,我初步了解了JSP和HTML编程的过程,加深了对SQL语句运用方法的理解,提高了我自主学习的能力。
通过本次课程设计,我收获颇丰。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10284032 孔令宇 图书借阅管理系统实验报告 图书 借阅 管理 系统 实验 报告