高校图书馆管理系统Word格式文档下载.docx
《高校图书馆管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《高校图书馆管理系统Word格式文档下载.docx(33页珍藏版)》请在冰豆网上搜索。
介于目前学校图书数目剧增,图书信息量也呈暴增的形势,因此对图书管理系统的要求越来越高,图书管理系统也在此基础上有了很大的发展,但是各系统力求使其功能简单明了,而且齐全、易于操作。
1.2图书管理的发展背景和意义
当今计算机及网络技术的飞速发展,计算机应用在全球围日益普及,社会也正快速向信息化社会前进,信息系统的作用也越来越大。
图书馆的图书馆理和借阅管理还停留在纸质的操作上,这样的管理已经不能适应时代的发展,因为浪费了很多的人力和物力,在信息发展的如今,这种传统的管理方法必然被以计算机为基础的信息管理所取代,因此根据图书馆目前的实际情况来开发一套新的图书管理系统是十分必要的。
通过对管理系统模型的研究,提出一构造图书信息管理系统模块的方法,并利用所学的知识,结合其他图书管理业务常识,建立一套有效的图书管理系统,可以减少工作量,将管理工作科学化、规化,提高图书馆管理的工作质量和工作效率。
第二章图书管理系统开发相关技术的介绍
2.1系统的关键技术详细介绍
2.1.1JSP技术
JSP(全称JavaServerPages)是由SunMicrosystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。
JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态所需要的功能。
所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。
JSP与Serverlet一样,是在服务器端执行的。
通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
2.1.2JavaScript技术
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。
同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。
它是一种动态、弱类型、基于原型的语言,置支持类。
2.1.3SQL介绍
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
由于MySQL是开放源代码的,因此任何人都可以在GeneralPublicLicense的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。
大多数人都认为在不需要事务化处理的情况下,MySQL是管理容最好的选择。
第三章系统分析
3.1系统需求分析
长期以来,人们使用传统的人工方式管理图书馆的日常业务,其操作流程比较繁琐。
通过搜集资料,总结出了需求分析的结果,系统应满足一下的需求:
图书馆管理系统是一个供部人员使用的系统。
而图书馆的工作人员也分为两类,一类是普通管理员,一类是超级管理员,根据不同管理员可设置相应的权限。
图书管理系统需要满足图书管理员对图书借阅者借书和还书记录进行操作的权限,在此模块中,图书馆管理员可以为图书借阅者加入借书记录或是还书记录,并生成相应的列表给用户查看和确认。
图书管理员可以浏览、查询、统计、添加借阅图书的基本信息及删除已归还的图书的基本信息,当删除某条图书借阅的基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。
图书馆管理人员功能的信息量大,数据安全性和性要求最高。
本功能实现对图书信息、借阅者信息、读者信息和管理员的信息查看及维护。
图书馆管理员可以浏览、查询、添加、删除、修改图书的基本信息,浏览、查询、添加、删除、修改图书借阅者的基本信息等。
3.2系统功能结构
根据图书馆管理系统的特点,可以将其分为系统设置、读者管理、图书管理、图书借还、系统查询等5个部分,其中各个部分及其包括的具体功能模块如下图所示。
3.3数据流程图
数据流程图是描述实际业务管理系统工作流程的一种图形表示法。
图书管理系统主要是为了对图书,读者基本信息等进行计算机管理。
根据系统的需求分析,画出图书馆管理系统的系统流程图,如下图所示。
3.4可行性分析
通过对该图书馆的各个方面进行了具体的了解之后,现对开发图书管理系统的可行性进行分析。
3.4.1技术可行性
技术可行性包括以下几个方面:
硬件,软件,技术人员。
针对这三个方面可行性都是没有问题的,本系统采用MyEclipse开发工具加MySQL数据库。
目前,数据库利用工具较多,每种工具都具有各自的特点和适用围,因此,在选择数据库时,应考虑数据库应用的特点及使用围,选择最合适的。
3.4.1.1MyEclipse
MyEclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
3.4.1.2MySQL
由于MySQL是一款免费的数据库,用MySQL作后台数据库来学习数据库编程,是非常方便使用的,且简单易学。
一个普通的计算机用户可以很快的掌握它。
3.4.2经济可行性
本图书管理系统能为图书管理者提供准确、及时的信息,对管理者的决策提供有利的支持;
能够提高图书管理者的工作效率,减少手工人员及费用等,这些都是使用系统所带来的间接收益。
同时也促进了学校信息化的进程,提高学校的管理效率。
3.4.3操作可行性
系统采用完全的图形化界面,易于管理,方便管理者查询设备信息,能够满足使用者的要求。
该系统应该提供简单的操作界面,能够快速的实现查书、借书、还书功能。
综上所述,开发图书管理系统在技术上、经济上、操作上都是可行的。
第四章系统总体结构设计
4.1.系统结构设计
图书管理系统包含图书信息编辑、读者管理、查询等功能,该系统执行时,先输入数据,然后根据输入的数据选择执行路径;
购入图书进行登记、编目调用图书信息编辑功能,借书、还书调用功能。
图书馆管理系统属于事务型系统,其读者与管理员间的流图如下图所示:
借书
拒绝借书
还书
借书信息
统计表
系统结构示意图如下:
4.2数据库设计
4.2.1数据需求
通过对系统进行需求分析、系统流程图以及系统功能结构的确定,首先将要记录的信息分类,要记录的信息如下。
(1)读者信息:
包括证号、、联系方式、已借书数目、读者类别和能否借书等。
(2)信息:
包括名称、地址、网址、E-mail等。
(3)书籍信息:
包括书号、定价、和书名等。
(4)借阅信息:
包括借阅日期、应归还日期、能否续借、书号和证号等。
(5)管理者信息:
包括管理者名称、对应密码和对应权限等。
根据这些需要,本系统需要“读者信息”表,“信息”表,“书籍信息”表,“借阅信息”表和“管理者信息”表。
4.2.2数据库概念结构设计
根据规划出的实体有:
图书信息实体、读者信息实体、图书借阅信息实体。
各个实体具体的业务流程图如下:
图2-1读者信息实体E-R图
图2-2图书信息实体E-R图
借阅信息
图2-3借阅信息实体E-R图
4.2.3创建数据库
为了实现图书管理系统对数据的长期存储,并使数据安全。
在MySQL软件中,创建数据库db_librarysys作为本软件保存数据的位置,共包含9表。
下面分别给出这些数据表的概要说明及主要数据表的结构。
管理员基本信息表tb_manager,如表3-1所示。
当管理员登录图书馆管理系统时,需要通过登录窗口验证成功后才能进入系统主页。
管理员信息实体,用于存储管理员的登录名称和登录密码。
表3-1管理员信息表
字段名
数据类型
长度
主键否
描述
id
int
10
是
管理员编号
name
varchar
30
否
管理员名称
PWD
管理员密码
图书馆管理员权限设置表tb_purview,如表3-2所示。
只有系统分配的用户才能操作图书馆管理系统,而用户的权限又各不相同。
表3-2管理员权限设置表
11
sysset
tinyint
1
系统设置
readerset
读者管理
bookset
图书管理
borrowback
图书借还
sysquery
bit
系统查询
读者信息表tb_reader,如表3-3所示。
当有读者借阅图书时,要对读者的各项信息进行记录,以方便归还图书和已借阅图书的历史查询,读者信息实体,用于存储所有借阅图书的读者信息。
表3-3读者信息表
读者编号
20
读者名称
sex
4
性别
barcode
读者条形码
vocation
50
职业
birthday
date
生日
paperType
证件类型
paperNO
证件
tel
email
100
E-mail
createDate
注册日期
图书信息表tb_bookinfo,如表3-4所示。
不同的图书,会有不同的图书信息。
对这些图书信息进行详细的记录,方便了图书的分类和查询。
图书信息实体,用于存储所有图书的相关信息。
表3-4图书信息表
图书条形码
bookname
70
图书名称
typeid
图书类型
author
作者
translator
译者
ISBN
作者名称
price
float
8
图书价格
page
页码
bookcase
10
否
书架
inTime
date
否
入馆时间
operator
操作员
del
借阅次数
图书编号
图书借阅和归还信息表tb_borrow,如表3-5所示。
图书借阅信息实体,用于存储所有图书借阅归还情况的信息,以准确地记录每本图书的借阅归还信息。
表3-5图书借阅表
借阅编号
readerid
bookid
borrowTime
借书时间
backTime
还书时间
ifback
是否归还
书架信息表tb_bookcase,如表3-6所示。
图书馆对图书的分类,通常是将不同类型的图书分别放置在相应类型的书架上。
书架信息实体,用于存储图书馆中所有的书架信息。
表3-6书架信息表
书架编号
书架名称
图书类型信息表tb_booktype如表3-7所示。
图书馆会有不同类型的图书,为了避免图书归类发生混乱,必须建立一个图书类型信息实体,用于存储图书的类型信息。
表3-7图书类型信息表
图书类型编号
typname
类型名称
days
可借天数
图书馆信息表tb_library,如表3-8所示。
每个事物都会有其自身的历史背景,图书馆也不例外。
为了记录图书馆的历史背景及其相关的信息,需要建立一个图书馆信息实体,用于存储图书馆的有关信息。
表3-8图书馆信息表
编号
libraryname
图书馆名称
curator
馆长名称
联系
address
联系地址
电子
url
网址
建馆时间
introduce
text
备注
读者类型信息表tb_readertype,如表3-9所示。
在读者群体中,会有不同的分类,例如借阅图书的读者可能是教师、学生等,所以对读者人群进行有效的分类是至关重要的。
读者类型信息实体,用于存储读者的类型信息。
表3-9读者类型信息表
类型编号
number
可借数量
第五章系统详细设计
本系统的设计的最大的特色是采用了分层的设计思想,系统界面采用Web页面作为表现层和数据粘合层,为了进行一些常用的逻辑处理的需要还创建了业务逻辑层,为了为逻辑处理提供数据有创建了数据层,同时为了数据访问创建了数据模型层。
在本节中示例的功能代码,都比较短并且不具体,那是因为很多功能都封装的功能类库里了,这里说明一下。
具体请看系统源代码。
5.1登录模块设计
如果使用系统就必须先登录到系统,用户通过登录模块登录系统。
具体操作为:
打开浏览器,然后在地址栏中输入localhost:
8080/JspLibrary/,即看到系统首页了。
根据输入用户名及其密码,进入系统。
界面效果如图5-1:
图5-1系统登录界面
主要处理代码如下:
functioncheck(form){
if(form.name.value=="
"
){
alert("
请输入管理员名称!
);
form.name.focus();
returnfalse;
}
if(form.pwd.value=="
请输入密码!
form.pwd.focus();
}
5.2图书馆主界面模块的设计
在该图书馆管理系统主界面中有Banner信息栏(显示当前登录用户,并对页面可以及时刷新)、导航栏包括日常工作(下拉表中有借阅处理、还书处理、图书续借)、读者资料维护(读者类型管理、读者档案管理)、图书资料维护(图书类型设置、图书档案管理)、查询(图书资料查询、借阅历史记录查询、借阅到期提醒)、系统管理(图书馆信息、管理员管理、书架设置)、更改口令、退出系统。
系统首页主要显示了图书借阅排行榜。
利于查看借阅情况,读者对哪些图书感兴趣,便于管理图书。
图书馆主界面如下图5.2所示:
图5-2图书馆管理系统主界面
主要代码如下:
if(coll_book!
=null&
&
!
coll_book.isEmpty()){
Iteratorit_book=coll_book.iterator();
inti=1;
intdegree=0;
Stringbookname="
;
Stringtypename="
Stringbarcode_book="
Stringbookcase="
Stringpub="
Stringauthor="
Stringtranslator="
Floatprice=newFloat(0);
while(it_book.hasNext()&
i<
6){
BorrowFormborrowForm=(BorrowForm)it_book.next();
bookname=borrowForm.getBookName();
barcode_book=borrowForm.getBookBarcode();
typename=borrowForm.getBookType();
degree=borrowForm.getDegree();
bookcase=borrowForm.getBookcaseName();
pub=borrowForm.getPubName();
author=borrowForm.getAuthor();
price=borrowForm.getPrice();
5.3 日常工作功能模块的实现
日常功能模块主要有借书处理,还书处理,图书续借三个模块。
5.3.1借书处理
主要是用来图书的借阅功能,在页面上输入读者的编号,就能查询读者的借阅情况。
如果要借阅哪本书,再提供借阅的图书编号之后,确定之后图书借阅就成功了。
其操作界面如下图:
图5.3借图书之前操作界面
图5.4借图书之后操作界面
如果读者要借的书不存在或者读者的借书量已经超过了能够借阅的最大数量时,则借阅不能成功。
其主要设计代码如下:
functioncheckreader(form){
if(form.barcode.value=="
请输入读者条形码!
form.barcode.focus();
return;
form.submit();
functioncheckbook(form){
}
if(form.inputkey.value=="
请输入查询关键字!
form.inputkey.focus();
}
if(form.number.value-form.borrowNumber.value<
=0){
您不能再借阅其他图书了!
}
5.3.2还书处理
与借书过程差不多,在面页中输入读者的编号,就能看到已借阅的图书信息,选择你要归还的图书,图书管理员将信息记录下来,其操作界面如下图:
5.5还图书之前操作界面
图5.6还图书之后操作界面
本次操作归还两本《打算》,完成成功。
其主要代码如下:
5.3.3图书续借
如果你借了一本书发现到期了之后,如果你想要到保有这本书,就可以向图书管理员提供你要续借的书名,由图书管理员操作完成,其操作界面如下图:
5.7图书续借操作界面
5.4 读者资料维护功能模块的实现
读者资料维护有两个功能模块,分别为读者类型管理和读者信息管理。
读者类型管理设置不同类型能够借阅图书的最大数量不一样,读者信息管理则是记录读者相关的信息,并且可以对这些信息进行添加、删除、修改等功能。
其各自操作界面如下所示:
5.4.1读者类型管理功能界面
图5.8读者类型管理操作界面
点击界面上的“添加读者类型信息”,出现图5.9,可以增加类型名称和其对应的借书数目;
点击“修改”,可以修改学生类型名称和其对应的借书数目;
点击“删除”