#图书馆借阅系统详细说明书.docx
- 文档编号:30006332
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:20
- 大小:1.21MB
#图书馆借阅系统详细说明书.docx
《#图书馆借阅系统详细说明书.docx》由会员分享,可在线阅读,更多相关《#图书馆借阅系统详细说明书.docx(20页珍藏版)》请在冰豆网上搜索。
#图书馆借阅系统详细说明书
图书借阅管理系统
详细设计说明书
北京交通大学计算机和信息技术学院
思源0802刘作鸣08274046
2010年12月10日
1引言
1.1编写目的
图书借阅管理系统是根据图书馆图书借阅的需求进行编写的。
是为了图书管理员能够更方便的进行管理和读者对图书及自己借阅信息查询的快捷。
对于用户实现1)查询图书的各种信息2)查询本人的借阅信息;对于管理员实现1)查询图书的各种信息2)查询读者的各种信息3)图书入库4)办理借书证5)图书借阅和归还6)逾期未还处理7)挂失处理而编写的。
此设计说明书对系统的设计框架和实现的所有功能进行了详细的阐述,以指导用户高效的使用本系统,同时也为系统的二次开发作为参考。
1.2背景
本图书借阅管理系统是采用JSP技术在给定需求的情况下直接进行软件各项功能的开发。
对于系统的基本功能,自行设计其结构并进行实现。
总的来看,项目属于数据库系统的高级使用开发。
任务由需求方即北京交通大学计算机学院提出,由我方即北京交通大学计算机系学生负责开发实现,通过相应的开发环境从而根据给定的具体的需求而完成项目。
通过实现本系统对于计算机系得学生能够了解更多的关于项目开发的具体的流程以及具体的实现方面法,特别学习和掌握具有实际使用价值的项目的开发过程,为今后从事实际的开发工作奠定基础。
本饭店前台采用B-S结构设计模型,后台程序采用JSP编写操纵MYSQL小型数据库,
客户机可以通过浏览器对系统进行浏览和相应的操作。
1.3定义
1.B-S:
即Brower/Server,浏览器/服务器,客户机上只需装有一个浏览器即可,服务器
装有相应的数据库,通过webServer进行数据的交换等操作
2.JSP:
JavaServerPage动态网页标准
3.MYEclipse:
一种软件开发工具
4.JDBC:
JavaDataBaseConnectivity
5:
My-Sql:
MySQL是一个开放源码的小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
1.4参考资料
《精通JSP》
《JSP网络编程》
《JSP数据库编程》
《Java语言导学》
2系统运行主体说明
2.1主体分类
本系统中运行主体包括以下内容:
图书馆管理员及读者(系统的主要使用者)。
2.2主体描述
2.2.1用户
2.2.1.1用户定义
客户是所有使用本平台使用的使用者,也可称为用户,是本系统的服务对象。
在系统或
相关文档中提到的用户,均视同为客户。
2.2.1.2用户分类
客户按照群体进行分类可分为企业客户(包括企业、事件、政府机关等单位)、集团客
户(包括家庭用户和由个人组成的非企事业和政府机关的群体)、个人客户。
其中企业客户和集团客户可以建立多个子客户,个人客户则为唯一客户。
JSP图书馆借阅系统面向的主要的客户是图书馆管理员及馆内读者也即中小型集团用户。
2.2.1.3用户的管理
客户的管理即用户的管理,图书馆借阅系统是一个独立的系统,系统设有固有管理员账号,
用户通过该账号可建立读者的账号。
管理员账号可以进行1)图书的添加和删除2)帐号的添加和删除工作3)图书和账号信息的查阅4)图书证的遗失登记5)图书的归还出借登记;读者帐号则主要是按照需求完成账号相关借阅信息和图书信息的查询。
3程序系统的结构
详细说明:
功能名称
功能描述
增加读者账号
向数据库内插入读者权限账号
登记遗失账号
从数据库中删除遗失了的读者账号
增加图书
向数据库中插入新的图书信息
登记读者借阅信息
向数据库中插入读者账号借阅图书的信息
删除读者借阅信息
从数据库中删除读者账号借阅图书的信息
读者信息查询
查询各个读者账号的信息
图书信息查询
查询各类图书的信息
3.1系统整体结构关系图
3.2子模块关系图
3.2.1子模块间关系图一
系统登陆和角色识别关系图
3.2.2子模块间关系图二
否
是
3.3系统界面
图书馆借阅系统界面使用JSP生成,编写css文档及left,header,footer文档采用同一的背景风格:
功能菜单为浅灰色,页面头部为深灰色,页面背景颜色为蓝色,简洁大方。
设有欢迎界面,左侧页面中包含角色选择及所有的功能设置。
点击相关功能按钮即可进入相应的功能页,功能页根据所需信息设置相关的表单项。
集合类型的信息采用下拉列表或者信息按钮的方式进行输入。
设计到日期等信息的输入框采用控件的形式输入。
结果一般采用表格的形式输出。
4系统功能描述
4.1登陆模块详细设计
4.1.1功能描述
此模块主要功能是提供用户角色识别和登陆控制,通过登陆不同类型的帐号可以进行不
同权限功能的操作。
4.1.2功能界面
4.1.2.1欢迎界面
4.1.2.2功能界面
4.1.2.2.1读者登录界面
输入正确的读者姓名和id就会显示出该读者的信息表示登陆成功:
输入错误的则返回,不会出现任何信息。
4.1.2.2.2管理员登陆界面
当输入正确的用户名及密码,即会在登陆框下方的页面框显示如下登陆信息:
输入错误的则会出现:
4.1.3详细设计
登陆模块部分,系统的初始状态采用内建帐号的模式,内建管理员账号,建立唯一管理员,管理员可以增加读者帐号。
登陆后,根据不同的角色可以获得不同权限的操作。
设计时,初始的管理员帐号为root,密码为1。
存储读者账号的表如下所示,在登陆时验证读者号和读者姓名是否一致:
表名
Readers
列名
说明
类型定义
空/非空
约束条件
reader-id
读者id
varchar(5)
非空
主键,唯一
reader-name
读者姓名
varchar(20)
非空
sex
性别
varchar
(2)
birthday
出生年月
Date
phone
电话
Int
mobile
移动电话
varchar(11)
card-name
证件类型
varchar(8)
card-id
证件号
varchar(18)
level
读者等级
varchar(6)
day
申请日期
Date
补充说明
用来存放读者的相关信息
4.1.4性能要求
要求:
登陆帐号及密码要通用,易用,便于记忆和输入。
登陆的时间上要求要尽可能的快,应该在用户可以接受的时间范围内。
4.2连接数据库模块详细设计
4.2.1功能描述:
数据库连接采用JDBC中间件实现,连接数据库的部分放于每个需要进行连接的jsp页面中,下面为测试代码和放于每个页面进行数据库连接的相应的功能代码和说明如下:
packagecom.data;
importjava.sql.*;
publicclassConnectdb{
privateConnectionconn;
privateStatementstm;
privateResultSetrs;
publicConnectdb(){
super();
//连接数据库
try{
this.conn=DriverManager.getConnection("jdbc:
mysql:
127.0.0.1:
3306/bookmis","root","1");
this.stm=conn.createStatement();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
publicResultSetexecuteQuery(Stringsql){
try{
this.rs=this.stm.executeQuery(sql);
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
//通用的sql语句执行
returnthis.rs;
}
/**
*@returntheconn
*/
publicConnectiongetConn(){
returnconn;
}
/**
*@paramconntheconntoset
*/
publicvoidsetConn(Connectionconn){
this.conn=conn;
}
/**
*@returnthestm
*/
publicStatementgetStm(){
returnstm;
}
/**
*@paramstmthestmtoset
*/
publicvoidsetStm(Statementstm){
this.stm=stm;
}
/**
*@returnthers
*/
publicResultSetgetRs(){
returnrs;
}
/**
*@paramrstherstoset
*/
publicvoidsetRs(ResultSetrs){
this.rs=rs;
}
}
在jsp中连接数据库的代码段是:
Connectionconn=DriverManager.getConnection("jdbc:
mysql:
//localhost:
3306/bookmis","root","1");
Statementstm=conn.createStatement();
Stringsql="select*fromborrowwhere'"+keyword+"'=borrow.readerid";
ResultSetrs=stm.executeQuery(sql);
4.2.2性能
要求:
要尽可能减少数据操作的次数
连接数据库的时间要尽可能的短
写入数据库的信息是否安全要加以判断
4.3具体功能的模块设计
4.3.1功能描述
读者用户:
1)查询图书的各种信息
2)查询本人的借阅信息
管理员用户:
1)查询图书的各种信息
2)查询读者的各种信息
3)图书入库
4)办理借书证
5)图书借阅
6)图书归还
7)挂失处理
4.3.2性能
要求:
各项功能实现的操作方便,易用
能选择输入的信息尽量选择输入
对输入数据的合法性要进行相应的判断
4.3.3界面描述
读者用户:
1)查询图书的各种信息页面布局
2)查询本人的借阅信息页面布局
管理员用户:
1)查询图书的各种信息页面布局
2)查询读者的各种信息页面布局
3)图书入库页面布局
4)办理借书证页面布局
5)图书借阅页面布局
6)图书归还页面布局
7)挂失处理页面布局
4.3.3功能模块实现方法描述
功能模块需要访问数据库的部分使用
Connectionconn=DriverManager.getConnection("jdbc:
mysql:
//localhost:
3306/bookmis","root","1");
Statementstm=conn.createStatement();
Stringsql="select*fromborrowwhere'"+keyword+"'=borrow.readerid";
ResultSetrs=stm.executeQuery(sql);
特定的SQL语句均使用Stringsql变量进行记录,各部分语句调用举例如下:
图书入库:
Stringsql="insertintobooks(bookid,bookname,author,publishing,categoryid,price,datein,quantityin,quantityout)values('"+bookid+"','"+bookname+"','"+author+"','"+publishing+"','"+categoryid+"','"+price+"','"+datein+"','"+quantityin+"','"+quantityout+"')";
System.out.println(sql);
stm.executeUpdate(sql);
图书查询:
Connectionconn=DriverManager.getConnection("jdbc:
mysql:
//localhost:
3306/bookmis","root","1");
Statementstm=conn.createStatement();
Stringsql="select*frombookswhere"+field+"='"+keyword+"'";
ResultSetrs=stm.executeQuery(sql);
删除出借:
Stringreaderid=request.getParameter("readerid");
Stringbookid=request.getParameter("bookid");
Stringsql="deletefromborrowwherereaderid='"+readerid+"'andbookid='"+bookid+"'";
System.out.println(sql);
stm.executeUpdate(sql);
4.4数据字典
表名
Readers
列名
说明
类型定义
空/非空
约束条件
reader-id
读者id
varchar(5)
非空
主键,唯一
reader-name
读者姓名
varchar(20)
非空
sex
性别
varchar
(2)
birthday
出生年月
Date
phone
电话
Int
mobile
移动电话
varchar(11)
card-name
证件类型
varchar(8)
card-id
证件号
varchar(18)
level
读者等级
varchar(6)
外键
day
申请日期
Date
补充说明
用来存放读者的相关信息
表名
Books
列名
说明
类型定义
空/非空
约束条件
book-id
图书id
varchar(5)
非空
主键,唯一
book-name
图书名称
varchar(20)
非空
author
作者
varchar(20)
publishing
出版社
varchar(20)
category-id
类型
varchar(20)
外键
price
价格
money
quantity-in
入库总量
int
quantity-out
借出
int
quantity-loss
遗失
int
date-in
入库时间
date
补充说明
用来存放图书的相关信息
表名
bookcategory
列名
说明
类型定义
空/非空
约束条件
category-id
图书类型id
varchar(5)
非空
主键,唯一
category-name
图书类型
varchar(10)
非空
补充说明
用来存放图书类型的相关信息
表名
borrow
列名
说明
类型定义
空/非空
约束条件
reader-id
读者id
varchar(5)
非空
主键
book-id
图书id
varchar(5)
非空
主键
date-borrow
借出日期
date
date-return
归还日期
date
loss
遗失
char
(2)
补充说明
用来存放出借的相关信息
表名
lossreporting
列名
说明
类型定义
空/非空
约束条件
reader-id
读者id
varchar(5)
非空
主键
loss-date
遗失日期
date
补充说明
用来存放遗失读者证的相关信息
表名
memberlevel
列名
说明
类型定义
空/非空
约束条件
level
读者等级
varchar(6)
非空
主键
days
最长出借期
int
numbers
可借数量
int
fee
费用
int
补充说明
用来存放出借的相关信息
5未解决的问题
读者的综合查询和图书的复杂查询功能还没有实现,需要后面的进一步改进。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 借阅 系统 详细 说明书