web图书管理系统报告.docx
《web图书管理系统报告.docx》由会员分享,可在线阅读,更多相关《web图书管理系统报告.docx(46页珍藏版)》请在冰豆网上搜索。
![web图书管理系统报告.docx](https://file1.bdocx.com/fileroot1/2022-12/16/8fb5edbc-1ace-47aa-a331-406b3a8a8801/8fb5edbc-1ace-47aa-a331-406b3a8a88011.gif)
web图书管理系统报告
题目:
图书管理系统的设计与开发
年级:
2010级计算机信息管理
组长:
赵文德(4010212060)
组员:
王智超(4010212036)
马丽亚(4010212025)
郭玲玲(4010212008)
张金超(4010212052)
赵蒙蒙(4010212058)
第一章:
系统概述
随着网络技术的高速发展,计算机应用的普及,利用计算机对图书馆的日常工作进行管理势在必行。
当今时代是飞速发展的信息时代。
在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了管理好图书馆信息而设计的。
本系统是一个典型的基于Web的信息管理系统,实现在线图书管理,从而提高处理效率、简化处理步骤、加快处理速度。
1.1开发环境的搭建
1.1.1开发工具
开发工具包JDK:
jdk1.6.0_17
Web服务器tomcat:
apache-tomcat-6.0.26
Web浏览器:
IE
Eclipse:
eclipse-SDK-3.6.2-win32
Mysql:
mysql-5.1.50-win32
1.1.2.搭建开发环境
(1)安装JDK
提示:
安装完JDK之后重在配置环境变量。
Setpath=;ProgramFilse\Java\jdk1.6.0\bin
Setclasspath=.;ProgramFilse\Java\jdk1.6.0\lib
(2)安装tomcat
提示:
tomcat的默认端口是“8080”所以在访问tomcat时需要在访问地址中设置此端口号。
(3)解压缩Eclipse
提示:
如果没有安装JDK就无法完成Eclipse的安装。
1.2.项目开发的准备工作
1.2.1集成Eclipse和Tomcat
(1)在Eclipse中单击“窗口”→“首选项”打开“首选项”窗口。
(2)再打开“服务器”→“运行时环境”。
(3)单击添加按钮添加Tomcat服务器,弹出“新建服务器运行时”窗口。
(4)选择“Apache”→"ApacheTomcatv6.0"。
(5)选择Tomcat目录,单击“完成”按钮。
1.2.2完善web项目开发所需配置
(1)为Eclipse指定web浏览器
在Eclipse中单击“窗口”→“首选项”,依次打开“常规”→“web浏览器”进行配置。
第二章:
系统设计
2.1系统开发思想
由于前台的图书馆网站是一个仅供浏览,查询,和资料共享的开放性场所,如果要对图书资料和读者资料进行管理,实现借书,还书的网络化操作,实现对网站信息的及时更新,让读者在借书或还书后,可以通过网站查询自己的借还书信息,一个面向管理员的后台部分是必不可少的。
但是,后台的管理与操作不是一个简单的过程,管理员会要在多个项目之间进行交替操作,倘若每进行一步操作就在前台与后台之间进行切换,特别像借书还书这样的日常操作是相当频繁的,不但容易造成许多操作失误,而且也会造成不可想象的安全隐患。
因此,为了既能方便的对前台的数据进行更新和控制,同时实现图书馆管理的完善性等诸多功能,又能让所有相关操作集中,便捷,最大程度的方便工作人员对图书馆的管理,我们考虑应该把所有要完成的这些部分的功能独立为一个系统进行管理。
在这个系统中,所有的功能都模块化,在分工上相对独立,这样就更便于操作和维护。
总之,一个框架式的图书借阅管理系统是整个图书管理系统的最重要的部分,在它里面的各项功能在形式上应相互独立,但在内容上是互相关联的。
2.2 需求分析
图书借阅管理系统需要满足图书馆工作人员和图书馆管理人员的需求。
2.2.1.图书馆工作人员的需求是:
(1)可以浏览、查询、添加、删除、修改、统计图书的基本信息;
(2)可以浏览、查询、添加、删除、修改、统计读者的基本信息;
(3)可对图书借阅者的借书和还书要求进行操作;
(4)浏览、查询、统计图书馆的借阅信息;
(5)进行办借书卡、销卡等处理;
2.2.2.图书馆管理人员的需求是:
除了可以满足一般工作人员的需求外,还应当具有:
(1)系统维护功能,维护系统的正常运行;
(2)数据备份与恢复:
提供图书信息、读者信息、借阅信息的备份与恢复功能。
2.3 系统功能模块划分
图2.1图书借阅管理系统功能模块框图
2.4系统数据库设
2.4.1数据库的概念设计
实体book的图如下2.1
图2.1
实体borrow的图如下2.2
图2.2
实体card的图如下2.3
图2.3
实体provide_book的图如下2.4
图2.4
实体reader的图如下2.5
图2.5
实体req_number的图如下2.6
图2.6
实体关系图如下图2.7
图2.7
2.4.2图书管理系统物理模型
本系统所有数据均存放于一个数据库(Library库),在此数据库基础上建立了如下表:
(1)请购单表结构
表名
请购单(want_book)
属性名
别名
类型
长度
说明
编号
wno
char
10
主键
书号
ISBN
char
13
书名
title
varchar
50
作者
authors
varchar
50
出版社
press
varchar
25
用途
useness
varchar
100
用书日期
use_date
date
估价
est_price
decimal
要求数量
req_number
int
申请人
applicant
varchar
10
createtablewant_book(wnochar(10),ISBNchar(13),titlevarchar(50),authorsvarchar(50),pressvarchar(25),usenessvarchar(100),use_datedate,est_pricedecimal,req_numberint,applicantvarchar(10),primarykey(wno,ISBN));
(2)供书信息表结构
表名
供书信息(provide_book)
属性名
别名
类型
长度
说明
供书单位
provider
varchar
50
主键
书号
ISBN
char
13
书名
title
varchar
50
作者
authors
varchar
50
出版社
press
varchar
25
出版日期
pub_date
date
价格
price
decimal
createtableprovide_book(providervarchar(50),ISBNchar(13),titlevarchar(50),authorsvarchar(50),pressvarchar(25),pub_datedate,pricedecimal,primarykey(provider));
(3)预定信息表结构
表名
预定信息(order_book)
属性名
别名
类型
长度
说明
订单编号
ono
char
10
主键
供书单位
provider
varchar
50
书号
ISBN
char
13
预定日期
order_date
date
预定数量
order_number
int
金额
amount_money
decimal
createtableorder_book(onochar(10),providervarchar(50),ISBNchar(13),order_datedate,order_numberint,amount_moneydecimal,primarykey(ono));
(4)书目信息表结构
表名
书目信息(book)
属性名
别名
类型
长度
说明
书号
ISBN
char
13
主键
书名
title
varchar
50
作者
authors
varchar
50
原作者
orig_authors
varchar
50
出版社
press
varchar
25
用途
useness
varchar
100
出版日期
pub_date
date
购书日期
buy_date
date
价格
price
decimal
藏书总量
total_num
int
当前库存量
stocked_num
int
主题标目
subject
varchar
50
丛书
serial
varchar
50
版次
edition
int
分类号
category
varchar
50
种次号
sub_class
varchar
50
载体形态
form
varchar
50
标志
flag
varchar10
createtablebook(ISBNchar(13),titlevarchar(50),authorsvarchar(50),pressvarchar(25),usenessvarchar(100),pub_datedate,buy_datedate,pricedecimal,total_numint,stocked_numint,subjectvarchar(50),serialvarchar(50),editionint,categoryvarchar(50),sub_classvarchar(50),formvarchar(50),flagvarchar(10),primarykey(ISBN));
(5)馆藏信息表结构
表名
馆藏信息(stored_book)
属性名
别名
类型
长度
说明
藏书编号
bno
char
10
主键
书号
ISBN
char
13
索书号
SID
varchar
30
馆藏地址
stocked_add
varchar
30
应归还日期
due_date
date
状态
status
char
10
预约标志
preserved
varchar
20
createtablestored_book(bnochar(10),ISBNchar(13),SIDvarchar(30),stocked_addvarchar(30),due_datedate,statuschar(10),preservedvarchar(20),primarykey(bno));
(6)读者表结构
表名
读者(reader)
属性名
别名
类型
长度
说明
身份证号码
PID
char
18
主键
姓名
name
varchar
20
性别
gender
char
1
出生日期
birth_date
date
工作单位
unit
varchar
100
部门
department
varchar
100
身份
rank
varchar
30
通讯地址
address
varchar
255
电话
phone
varchar
20
E-mail
e_mail
varchar
100
附注
note
varchar
255
标志
flag
varchar
10
{null,毕业,调离,撤销}
createtablereader(PIDchar(18),namevarchar(20),genderchar
(1),birth_datedate,unitvarchar(100),departmentvarchar(100),rankvarchar(30),addressvarchar(255),phonevarchar(20),e_mailvarchar(100),notevarchar(255),flagvarchar(10),primarykey(PID));
(7)借书记录表结构
表名
借书记录(borrow)
属性名
别名
类型
长度
说明
借书卡号
cno
char
10
主键
藏书编号
PID
char
18
借书日期
borrow_date
date
归还日期
return_date
date
createtableborrow(cnochar(10),PIDchar(18),borrow_datedate,return_datedate,primarykey(cno,PID));
(8)借阅卡表结构
表名
借书卡(card)
属性名
别名
类型
长度
说明
卡号
cno
char
10
主键
身份证号码
PID
char
18
外键
办卡日期
start_date
date
挂销日期
end_date
date
标志
flag
varchar
10
{null,挂失,注销}
createtablecard(cnochar(10),PIDchar(18),start_datedate,end_datedate,flagvarchar(20),primarykey(cno),foreignkey(PID)referencesreader(PID));
2.5系统界面风格设计
图2.2图书借阅管理系统界面
第三章:
模块测试
3.1采编管理模块测试
3.1.1图书预订测试
操作实现代码如下
packagenet.smile.servlet;
importjava.io.IOException;
importjava.io.PrintWriter;
importjava.text.DateFormat;
importjava.text.SimpleDateFormat;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importnet.smile.bean.OrderBook;
importnet.smile.bean.ProvideBook;
importnet.smile.bean.WantBook;
importnet.smile.util.DBUtil;
publicclassOrderBookServletextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doPost(request,response);
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setCharacterEncoding("gb2312");
response.setContentType("text/html,charset=gb2312");
PrintWriterout=response.getWriter();
out
.println("
DOCTYPEHTMLPUBLIC\"-//W3C//DTDHTML4.01Transitional//EN\">");
out.println("");
out.println("
AServlet");
out.println("
");
//取得页面参数的值
Stringisbn=request.getParameter("isbn");
Stringtitle=request.getParameter("title");
Stringauthors=request.getParameter("authors");
Stringpress=request.getParameter("press");
Stringuse=request.getParameter("use");
Stringusedate=request.getParameter("usedate");
Stringestprice=request.getParameter("estprice");
Stringreqnum=request.getParameter("reqnum");
Stringappl=request.getParameter("appl");
Stringono=request.getParameter("ono");
Stringwno=request.getParameter("wno");
// 如果没有任何页面向本页面传递过参数,那么上述11个参数的值将被置为null
// 根据此可以判断出是否第一次进入该页面
if(wno!
=null){
WantBookwantBook=newWantBook();
ProvideBookprovideBook=newProvideBook();
OrderBookorderBook=newOrderBook();
wantBook.setApplicant(appl);
wantBook.setAuthors(authors);
wantBook.setEstPrice(Double.parseDouble(estprice));
wantBook.setIsbn(isbn);
wantBook.setPress(press);
wantBook.setPress(press);
wantBook.setReqNumber(Integer.parseInt(reqnum));
wantBook.setTitle(title);
wantBook.setUse(use);
//DateFormatdf=newSimpleDateFormat("yyyy-MM-dd");
//wantBook.setUseDate(df.parse(usedate));
wantBook.setWno(wno);
try{
DBUtil.orderBook(wantBook,provideBook,orderBook);
out.print("");
out.print("
定单编号 | "+ono+" |
");
out.print("
供货商 | "+provideBook.getProvider() +" |
");
out.print("
图书编号 | "+isbn+" |
");
out.print("
预定日期 | "+orderBook.getOrdDate() +" |
");
out.print("
预定数目 | "+reqnum+" |
");
out.print("
金额 | "+orderBook.getAmountMoney() +" |
");
out.print("");
}catch(Exceptione){
//TODOAuto-generatedcatchblock
out.print(e.getMessage());
out.print("ERROR");
}
// 在页面上输出相应的预订信息
}
out.println("");
out.println("");
out.flush();
out.close();
}
}
3.1.2编目入库测试
操作实现代码如下:
packagenet.smile.servlet;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importnet.smile.bean.Book;
importnet.smile.bean.StoreBook;
importnet.smile.util.DBUtil;
publicclassAddBookServletextendsHttpServlet{