图书馆管理信息系统设计.docx
- 文档编号:15361284
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:30
- 大小:604.72KB
图书馆管理信息系统设计.docx
《图书馆管理信息系统设计.docx》由会员分享,可在线阅读,更多相关《图书馆管理信息系统设计.docx(30页珍藏版)》请在冰点文库上搜索。
图书馆管理信息系统设计
系统分析与设计报告
——图书馆管理系统
姓名:
曾进、熊西平
学号:
1021030231、1021030214
班级:
10210302班
专业:
信息管理与信息系统
学院:
理学院
指导教师:
刘伦(讲师)、郭名静(讲师)
完成时间:
2013年11月03日
目录
系统分析报告2
一、问题定义说明书3
二、需求调研方法和结果3
三、拟建设方案可行性研究4
四、新系统的逻辑模型4
(1)组织结构图4
(2)业务流程图5
(3)顶层数据流程图5
(4)数据字典5
(5)数据库表之间关系8
系统设计说明书9
一、网络拓扑结构图9
二、层次模块结构图9
三、系统各功能模块设计:
9
(1)用户信息查询模块9
(2)图书信息查询10
(3)归还信息10
(4)添加用户信息10
(5)修改用户信息11
(6)书籍信息查询11
(8)E--R图12
(9)系统设计甘特图12
系统总结报告13
一、模块设计13
(1)借书模块13
(2)还书模块18
二、测试的方法与结果22
三、系统完成情况23
四、实际工作开发进度24
五、系统评估24
系统分析报告
一、问题定义说明书
1、项目名称:
图书管理信息系统
2、背景:
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。
根据调查得知,他们以前对信息管理的主要方式是基于文本,表格等纸介质的手工处理,对于图书借阅情况(如借书天数,超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限,以及借阅天数等用人工计算,手抄进行。
数据处理工作量大,容易出错。
由于数据繁多,容易丢失,且不易查找。
总的来说,缺乏系统规范的信息管理手段。
尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基于环境。
3、项目目标:
主要提供管理员管理图书和用户资料,工作人员为用户办理借书和还书手续,普通用户查看图书库存情况等基本功能
4、项目范围:
硬件:
客户端利用东华理工现有PC设备(2006年以前购置的设备客户方予以更换);网络设备由东华理工大学网络中心提供支持,其中客户方提供新服务器2台;
软件:
基于客户方提供的Windows2003/XP操作系统,并由**公司负责项目系统开发以及后台数据库的搭建(数据库软硬件均由客户方提供);
项目总费用不超过50万元(人民币)。
5、初步设想:
(1)普通用户输入账号密码登陆系统,可以进行图书的查询、图书借阅的查询。
a、对图书的查询支持多字段。
(比如:
可以按图书号查、出版社查等等)
b、对图书借阅的查询。
(可以查询借了哪些书,哪些书是已经还了的)
(2)管理员进入系统,可以进行图书管理和用户管理。
a、图书管理包括对图书的增删改查操作
b、用户管理也是相应的增删改查操作
6、项目开发时间:
自项目合同签订日期起,2个月内完成设计开发和试运行工作,后期维护3个月。
2、需求调研方法和结果
初步调查是在“图书馆”的最高层进行的,系统分析员站在高层观察“图书馆”的现状,分析系统的运营情况。
初步调查主要由两部分组成:
一般调查和信息需求调查。
前者包括了解“图书馆”的内部环境和管理目标,调查分析“图书馆”的业务流程,明确进行改造的需求以及确定系统目标和主要功能;后者是初步调查的主要内容,调查组织系统的工作职责和各职能部门所要处理的数据。
用户的需求可分为三个方面:
一方面是图书馆工作人员通过图书管理系统来管理各类图书,使得图书馆的各项工作能够有序地进行,从而满足学生的需求;二方面是学生们能通过该系统来查询图书馆中的各类图书,来确定自已需要的书籍的借阅情况,为借阅做好准备;三方面是对图书馆数据库管理的需求,数据库在系统中扮演着极其重要的角色,所以能对系统数据库进行安全和全面地管理也成为了图书管理者的一个重要需求。
3、拟建设方案可行性研究
方案一:
利用java,jsp,数据库等技术构建基于web的图书馆管理系统。
方案二:
利用java,数据库等技术构建图书管理系统应用程序。
方案比较:
方案一更强调便捷,可以通过互联网直接访问,但稳定性方面略有不足:
方案二更关注于稳定性,以及功能的健壮性,但要先安装应用程序,方便性不及方案一。
经过调研比较作为一个比较小型的管理系统,用户更在意方便性。
故最终选择方案一。
技术可行性:
利用java,jsp,数据库技术完全可构建一个小型管理信息系统。
经济可行性:
可以方便学生借阅,实现信息化、科学化管理,具有一定经济价值。
操作可行性:
本系统可快速被学生,管理人员掌握。
4、新系统的逻辑模型
(1)组织结构图
(2)业务流程图
(3)顶层数据流程图
(4)数据字典
读者信息表用于存储读者的相关信息,如:
借书证号,密码,姓名,性别,出生时间等。
表的结构如下表
读者信息表
字段名
类型与宽度
是否主键
是否允许空值
说明
借书证号
char(6)
√
×
密码
varchar(20)
×
×
姓名
char(8)
×
×
性别
bit
×
×
1表示男,0表示女
出生时间
date
×
×
专业
char(12)
×
×
借书量
int
×
×
小于等于5,默认为0
照片
varbinary(MAX)
×
√
备注
varchar(200)
×
√
联系方式
XML
×
√
借阅表用于存储借出图书的相关信息,如:
借书证号,ISBN,图书ID,借书时间,应还时间。
表的结构如下表
借阅表
字段名
类型与宽度
是否主键
是否允许空值
说明
借书证号
char(6)
×
×
ISBN
char(18)
×
×
图书ID
char(10)
√
×
借书时间
datetime
×
×
应还时间
datetime
×
×
图书信息表用于存储图书相关的信息,如:
ISBN,书名,作译者,出版社,出版年月,价格等。
表的结构如下表
图书信息表
字段名
类型与宽度
是否主键
是否允许空值
说明
ISBN
char(18)
√
×
出版物的代码
书名
char(40)
×
×
作译者
char(16)
×
×
出版社
char(30)
×
×
出版年月
char(10)
×
√
价格
float
×
×
复本量
int
×
×
库存量=复本量已经借阅的数目。
当借一本书时,图书的库存量应减1;当还一本书时,图书的库存量应加1
库存量
int
×
×
分类号
char(18)
×
√
内容提要
varchar(200)
×
√
封面照片
varbinary(MAX)
×
√
图书借出表用于存储图书借出的相关信息,如:
图书ID,ISBN,是否借出。
表的结构如下表
图书借出表
字段名
类型与宽度
是否主键
是否允许空值
说明
图书ID
char(10)
√
×
前4位为出版年份,后6位为图书的编号
ISBN
char(18)
×
×
是否借出
bit
×
×
0表示未借出,1表示借出
还书记录便用于存储图书归还的相关信息,如:
编号,借书证号,ISBN,图书ID,借书时间等。
表的结构如下表
还书记录表
字段名
类型与宽度
是否主键
是否允许空值
说明
编号
Int
√
×
起始值为1,增量为1
借书证号
char(6)
×
×
ISBN
char(18)
×
×
图书ID
char(10)
×
×
借书时间
Datetime
×
×
还书时间
Datetime
×
×
管理员表用于存储管理员的相关信息,如:
角色名,密码,备注。
表的结构如下表4-6所示
管理员表
字段名
类型与宽度
是否主键
是否允许空值
说明
角色名
nchar(10)
√
×
密码
nchar(10)
×
×
备注
nchar(10)
×
×
(5)数据库表之间关系
数据库表关系图用于表示数据库中表与表之间关系,关系图如下图4-6所示:
图4-6数据库表关系图
系统设计说明书
一、网络拓扑结构图
2、层次模块结构图
3、系统各功能模块设计:
模块名称,功能描述,输入,输出,程序流程图
(1)用户信息查询模块
(2)图书信息查询
(3)归还信息
(4)添加用户信息
(5)修改用户信息
(6)书籍信息查询
(8)E--R图
(9)系统设计甘特图
系统总结报告
一、模块设计
(1)借书模块
publicclassBorrowServletextendsHttpServlet{
UserDaoImpudi=newUserDaoImp();
BookDaoImpbdi=newBookDaoImp();
BorrowDaoImpbordi=newBorrowDaoImp();
PublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doPost(request,response);
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Stringop=request.getParameter("op");
if(op.equals("sel"))//borrowuser查询用户jsp
{
StringuserName=request.getParameter("txtName");
if(userName==null){
userName="";
}
StringuserSex=request.getParameter("txtSex");
StringuserCardId=request.getParameter("txtCardId");
StringuserTel=request.getParameter("txtTel");
StringregisterDate=request.getParameter("txtregisterDate");
StringregisterDate2=request.getParameter("txtregisterDate2");
List
if(list.size()!
=0)
{
Stringcurrentpage=request.getParameter("page");
intcurrentPage=0;
if(currentpage==null){
currentPage=1;
}else{
currentPage=Integer.parseInt(currentpage);
}
Pagepage=Page.getPage(currentPage,list.size());
List
request.setAttribute("userName",userName);
request.setAttribute("userSex",userSex);
request.setAttribute("userCardId",userCardId);
request.setAttribute("userTel",userTel);
request.setAttribute("registerDate",registerDate);
request.setAttribute("registerDate2",registerDate2);
request.setAttribute("page",page);
request.setAttribute("userListAll",user);
request.getRequestDispatcher("../borrow/BorrowUser.jsp").forward(request,response);
}
else
{
request.setAttribute("msg","TIP--根据您提供的信息无法查到相关的数据,请重新输入查询信息!
!
");
request.getRequestDispatcher("../borrow/BorrowUser.jsp").forward(request,response);
}
}
if(op.equals("user"))//borrowuser传值jsp跳转按钮("选择");
{System.out.println("zhe01");
StringuserId=request.getParameter("userId");
System.out.println(userId);
Useruser=udi.selectUser(userId);
StringuserName=user.getUserName();
//Stringstring=newString(userName.getBytes("iso-8859-1"),"utf-8");
HttpSessionsession=request.getSession();
session.setAttribute("userName",userName);
session.setAttribute("userId",userId);
request.getRequestDispatcher("../borrow/BorrowBook.jsp").forward(request,response);
}
if(op.equals("bor"))//borrrowbook查询表单jsp
{
StringbookName=request.getParameter("txtbookName");
StringbookAuthor=request.getParameter("txtbookAuthor");
StringbookPub=request.getParameter("txtbookPub");
StringbookPrice=request.getParameter("txtbookPrice");
StringbookPrice2=request.getParameter("txtbookPrice2");
StringbookSum=request.getParameter("txtbookSum");
StringbookSum2=request.getParameter("txtbookSum2");
StringbookCount=request.getParameter("txtbookCount");
StringbookCount2=request.getParameter("txtbookCount2");
List
if(list.size()!
=0)
{
Stringcurrentpage=request.getParameter("page");
intcurrentPage=0;
if(currentpage==null){
currentPage=1;
}else{
currentPage=Integer.parseInt(currentpage);
}
Pagepage=Page.getPage(currentPage,list.size());
List
request.setAttribute("bookName",bookName);
request.setAttribute("bookAuthor",bookAuthor);
request.setAttribute("bookPub",bookPub);
request.setAttribute("bookPrice",bookPrice);
request.setAttribute("bookPrice2",bookPrice2);
request.setAttribute("bookSum",bookSum);
request.setAttribute("bookSum2",bookSum2);
request.setAttribute("bookCount",bookCount);
request.setAttribute("bookCount2",bookCount2);
request.setAttribute("page",page);
request.setAttribute("borListAll",book);
request.getRequestDispatcher("../borrow/BorrowBook.jsp").forward(request,response);
}
else
{
request.setAttribute("msg","TIP--根据您提供的信息无法查到相关的数据,请重新输入查询信息!
!
");
request.getRequestDispatcher("../borrow/BorrowBook.jsp").forward(request,response);
}
}
if(op.equals("bt"))//borrrowbook提交表单jsp
{
inti=0,j=0;
HttpSessions=request.getSession();
StringuserId=(String)s.getAttribute("userId");//会话数据
HttpSessionsession=request.getSession();
Useruser1=(User)session.getAttribute("name");//会话数据
StringuserOperator=user1.getUserId();
String[]Id=request.getParameterValues("checkbox");//表单数据
StringbackLateTime=request.getParameter("txtbackTime");//表单数据
if(Id!
=null&&backLateTime!
=""){
DatebackTime=null;
try{
backTime=getDate(backLateTime,"dd-MM月-yy");
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
DatesystemDate=newDate();//系统日期
intisBack=0;//是否归还默认0
for(j=0;j { Bookbook=bdi.selectBook(Id[j]); StringbookName=book.getBookName();//通过bookId查找书名 Useruser=udi.selectUser(userId); StringborrowId=user.getBorrowId(); System.out.println(); Borrowborrow=newBorrow(borrowId,userId,Id[j],bookName,systemDate,backTime,userOperator,isBack); i=bordi.insertBorrow(borrow); if(i>0)//更新库存 { Bookbook1=bdi.selectBook(Id[j]); book1.setBookCount(book1.getBookCount()-1); bdi.updateBook(book1); } if(i==0) { request.setAttribute("msg1",""); request.getRequestDispatcher("../borrow/BorrowBook.jsp").forward(request,response); break; } } if(i>0){ request.setAttribute("msg1",""); request
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 管理信息系统 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)