基于JSP的图书管理系统的设计与实现.docx
《基于JSP的图书管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于JSP的图书管理系统的设计与实现.docx(38页珍藏版)》请在冰豆网上搜索。
![基于JSP的图书管理系统的设计与实现.docx](https://file1.bdocx.com/fileroot1/2022-12/31/a1155859-6c3a-4a38-9e52-039c1c89ba99/a1155859-6c3a-4a38-9e52-039c1c89ba991.gif)
基于JSP的图书管理系统的设计与实现
分类号:
学校代码:
学号:
本科生毕业论文
基于JSP的图书管理系统的设计与实现
DesignandDevelopmentofBooksManagementSystemBasedonJSP
所在院(系):
学生姓名:
指导教师:
研究起止日期:
学位论文独创性声明
本人郑重声明:
1、坚持以“求实、创新”的科学精神从事研究工作。
2、本论文是我个人在导师指导下进行的研究工作和取得的研究成果。
3、本论文中除引文外,所有实验、数据和有关材料均是真实的。
4、本论文中除引文和致谢的内容外,不包含其他人或其它机构已经发表或撰写过的研究成果。
5、其他同志对本研究所做的贡献均已在论文中作了声明并表示了谢意。
作者签名:
日期:
年月
摘要
随着计算机技术的发展以及计算机网络的逐渐普及。
图书使用计算机管理成为必然,基于jsp的图书管理系统应运而生。
本系统利用JSP技术实现了一个基于B/S结构的图书管理系统,以MySQL为数据库平台,Tomcat作为WEB服务器,采用JavaBean、Servlet技术进行开发。
图书管理系统是以图书馆为背景,该系统实现了设置模块、读者管理模块、图书管理模块、图书借还模块以及更改口令模块功能,为管理员提供了图书的查询、借阅与图书归还等服务。
本文对系统需求进行分析,对系统的数据库进行了设计,并对系统功能模块的详细实现进行了介绍。
关键词:
B/S结构;JSP技术;MySql;JavaBean;Servlet
Abstract
Withthedevelopmentofcomputertechnologyandthegrowingpopularityofthecomputernetwork.Usecomputermanagementbecameinevitable,basedontheJSPlibrarymanagementsystemarisesatthehistoricmoment.
ThissystemusesJSPtechnologyimplementsabookmanagementsystembasedonB/Sstructure,basedonMySQLdatabaseplatform,TomcatasaWEBserver,JavaBean,Servlettechnologyisadoptedtoimprovethedevelopment.Applicationofbookmanagement systemisbasedonthe libraryasthebackground, Systemtoachievethesettingmodule,readermanagementmodule,booksmanagementmodule,themoduleandborrowedbookschangepasswordmodulefunction,providestheadministratorwithbooksquery,borrowandreturnbooksandotherservices.Thisarticleanalyzethesystemrequirements,thesystemdatabasedesign,anddetailedimplementationofthesystemfunctionmoduleareintroduced.
Keywords:
B/Sstructure;JSP;MySql;JavaBean;Servlet
1.绪论
1.1选题背景
随着网络技术的高速发展和计算机应用的普及,利用计算机对图书馆的日常工作进行管理势在必行。
虽然目前很多大型的图书馆已经有一整套比较完善的管理系统,但是在一些中小型的图书馆中,大部分工作仍需由手工完成,工作效率比较低,管理员不能及时了解图书馆内各类图书的借阅信息,不便于动态及时地调整图书结构。
为了更好的适应当前的读者借阅需求,解决手工管理中存在的许多弊端,越来越多的中小型图书馆正在逐步向计算机信息化管理转变。
图书馆的图书管理是一件非常繁杂的工作,建立一套规范的体系来管理图书,不仅可以为图书管理员减轻工作负担,而且提高工作效率,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况,这是非常有必要的。
1.2选题目的和意义
目的:
随着科学技术的发展,数字化管理的优势日趋显著。
针对中小型图书馆或图书室管理落后的情况,运用计算机的独特优越性设计实现一个图书馆管理系统,可以给图书管理员在图书管理方面提供以下几个优点:
迅速检索出受欢迎的图书、查找编辑方便、数据可靠、较大存储量、针对管理员保密性好、使用时间长、成本低等。
这些优点很好的提高工作效率,使图书馆管理实用化、正规化。
意义:
图书管理系统的开发是一项有意义、发展潜力很大的工作,而与计算机在信息处理功能方面的结合使用,更是为图书管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业的飞速发展提供无限潜力。
采用计算机管理信息系统已成为图书管理科学化和现代化的重要标志,它给企业管理来了明显的经济效益和社会效益。
主要体现在:
(1)提高图书管理员管理图书的效率,减少了以往借书流程繁琐,杂乱,周期长的弊端。
(2)基于图书管理的全面自动化,可以减少图书信息的添加和维护管理中的漏洞,可以节约不少管理开支,增加企业收入。
1.3本论文主要研究内容
本系统采用动态WEB开发技术,JSP用于页面显示部分, JDBC用于数据库的连接,数据库用于信息的存储。
JSP通过对数据库的数据处理,实现图书馆图书的管理。
在MyEclipse开发环境下,以J2EE为平台,运用JSP网络编程语言和MySQL数据库完成了B/S模式的图书管理系统。
本系统主要实现的功能有查询、借阅、信息管理,其中信息管理为重点,包括对图书档案、读者档案、借阅信息等的管理。
通过对信息输入、编辑(增加、删除、查询、修改)等功能完成对图书信息、读者信息和借阅信息的操作管理。
1.4课题研究的预期结果
通过此系统能实现对图书馆书籍、读者资料以及借还书操作的高效管理,系统最终能实现如下功能:
系统信息的设置,读者信息和类型的编辑;图书信息和类型的编辑;图书的借阅、续借和归还;图书档案、借阅档案和借阅到期提醒的查询。
本课题设计出一个完整的,实用的图书管理系统,并对系统功能详细设计与实现进行了阐述,对系统的流程图、ER图进行了抽象绘制,并对数据库设计进行了详细设计。
1.5本章小结
1.介绍了选题的背景;
2.介绍了选题目的和意义;
3.对本论文的主要内容进行了概括,课题研究的预期结果进行分析。
2.系统需求分析
随着计算机网络的发展,越来越多的人利用计算机网络实现所需服务,网络已深深影响到人们生活的各个方面。
基于JSP的图书馆管理系统不仅具有传统图书馆的大部分功能,而且能够满足各类用户的常规与特殊需求,而且操作快捷,实现技术又比较成熟,因此受到人们的喜爱。
该系统主要是为图书管理员设计的,为了方便管理员对图书及读者信息进行管理,对本系统进行了详细的需求分析。
管理员不仅可以对图书的档案和读者的档案进行编辑查找,还可以帮助读者对图书进行借阅、续借和归还。
管理员还可以根据借阅和归还的时间查询出将要到期的图书,提醒用户归还图书。
2.1系统需求分析
正确的需求分析是重要的基础和必要的步骤,它决定了系统是成功还是失败。
如果没有进行恰当的需求分析,系统就失去了它的完整意义和价值。
为了使本系统能够更好、更完善地被设计出来,就必须先进行调查研究。
在系统调查的基础上,对新系统的功能进行细致的分析,这样才能够开发出完整的系统设计。
2.1.1用户需求分析
博学图书馆管理系统为管理员建立一个突破时间、突破地域限制的平台,补充因人力造成的不足,提高图书管理的效率。
本系统采用超级管理员和一般管理员划分机制,即用户身份为:
超级管理员和一般管理员两种,系统对其各自的功能作用进行划分和限定。
超级管理员有使用系统所规定的的所有功能的权限;超级管理员可以对一般管理员进行权限设置。
2.1.2功能需求分析
博学图书馆管理系统为图书管理员提供了一个非常方便快捷的平台。
管理员可以浏览图书借阅排行,对图书和读者的信息进行编辑,管理借阅者图书的借阅、归还和续借操作。
系统应该实现的功能如下:
1.登录模块:
需要输入管理员名称和密码,进入系统。
2.系统设置模块:
1)图书馆信息:
显示图书馆的一些基本信息,对图书馆信息的添加,修改和删除。
2)管理员设置:
管理员的权限进行设置、管理员删除和添加管理员。
3)参数设置:
办证费和期限的设置。
4)书架设置:
书架信息进行查询、修改、删除和添加。
3.图书管理模块:
1)图书类型管理:
查询出所有的图书类型,对图书类型进行添加、修改和删除。
2)图书档案管理:
查询出所有的图书档案信息,对图书档案信息进行添加、修改和删除。
4.读者管理模块:
1)读者类型管理:
查询出所有的读者类型,对读者类型进行添加、修改和删除。
2)读者档案管理:
查询出所有的读者档案信息,对读者档案信息进行添加、修改和删除。
5.图书借还模块:
1)图书借阅:
查询并显示读者信息,添加读者借书信息。
2)图书续借:
查询并显示读者信息,增加图书借阅期限。
3)图书归还:
查询并显示读者信息,完成图书归还。
6.系统查询模块:
1)图书档案查询:
根据查询条件,查询出图书档案信息。
2)图书借阅查询:
根据查询条件,查询出图书借阅情况。
3)图书到期提醒:
根据查询条件,查询出要到期的图书情况。
2.1.3性能需求分析
操作简单:
本系统应便于一般人的使用,系统不应太复杂和繁琐,因此要求系统的操作尽可能简单易行。
实时性:
为了展现实时性这个特点,博学图书馆管理系统采用精确的时间,及时更新图书借阅信息和图书排行榜信息。
代码可读性好:
文中的代码尽可能简洁,易懂。
可维护性:
本系统设计简洁,具有很好的可维护性。
针对性:
本系统是针对学校图书馆的管理系统,操作简单,具有一定的针对性。
2.2可行性分析
可行性分析(FeasibilityAnalysis)也称为可行性研究,可行性研究的目的就是用最小的代价,在尽可能短的时间内确定问题是否能够解决。
为此,有必要在用户的需求基础上提出若干种可能的系统实现方案,对每种方案都从技术、经济、操作等方面进行可行性分析。
2.2.1技术可行性分析
技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。
本系统采用JSP开发友好美观的人机界面,便于用户理解、操作。
MySQL用于数据库管理,存储量大,能保持数据的完整性和安全性。
因此本系统的开发平台已成熟可行。
硬件方面,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。
2.2.2经济可行性分析
首先由于现有的PC系统的软硬环境都能满足目标系统的运行需要,无需再投入资金购买其他设备。
其次Tomcat作为WEB服务器,MySQL作为数据库,JSP作为服务器端脚本解释器。
而这三个软件的源码都是开放的,均可在网上自行下载,因此使用这种方式建立网站的成本很低。
2.2.3操作可行性分析
博学图书馆管理系统通过运行实践,其操作基本无误。
管理员通过一定的规章制度对数据进行管理和维护,以确保其能够满足用户的需求。
本系统在操作上是可行的。
综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。
因此系统的开发是完全可行的。
2.3开发平台与技术
2.3.1软件开发平台
选择合适的软件对于一个系统的整体性有很大影响,博学图书馆管理系统中软件平台的选择包括操作系统,Web服务器软件及数据库的选择。
本论文的图书馆管理系统的开发框架选择具有代表性的MVC框架(JSP[]+Servlet+JavaBean)进行架构,以WindowsXP作为操作系统,以Tomcat为WEB服务器,以MySQL为后台数据库,使用JSP语言进行程序开发,开发工具包使用JDK,以实现与数据库的连接和前端浏览器的控制。
1.MVC模型
MVC模式将交互式应用分成模型(Model)、视图(View)和控制器(Controller)三部分,是软件开发过程中比较流行的设计思想。
模型是封装应用程序的数据结构和事务逻辑,集中体现应用程序的状态,当数据状态改变时,能够在视图里体现出来。
模型是实际进行数据处理的计算的地方,它封装了数据和对数据的操作。
视图是应用和用户之间的接口,它负责将应用显现给用户和显示模型的状态。
控制器负责视图和模型之间的交互,控制对用户输入的响应响应方式和流程,它主要负责两方面的动作:
把用户的请求分发到相应的模型;将模型的改变及时反应到视图上。
MVC将这些对象分离以提高灵活性和复用性。
MVC模式的结构如图2-1所示:
图2-1MVC设计模式的结构图
2.B/S结构
本系统采用的是B/S浏览器/服务器模式,即一种从传统的二层C/S模式发展起来的新的网络结构模式。
在B/S模式中,客户端运行浏览器软件。
浏览器访问数据库是向WEB服务器提出的要求以超文本形式,WEB服务器接受客户端请求后,将这个请求转化为SQL语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给WEB服务器,WEB服务器再一次将得到的所有结果进行转化,变成HTML文档形式,转发给客户端浏览器,以友好的WEB页面形式显示出来。
如图2-1所示。
图2-2B/S工作模式
3.JDBC
JDBC是使用内嵌式的SQL,由一组Java语言编写的类和接口组成,主要实现三方面的功能:
建立与数据库的连接,执行SQL声明以及处理SQL执行结果。
JDBC可方便地与不同的关系型数据库建立连接,进行相关操作,支持基本的SQL功能。
4.MySQL概述
MySQL[]是一个多用户、多线程的SQL数据库,是一个客户机/服务器结构的应用,很多中小型网站为降低成本选择MySQL是由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点。
MySQL有其独特的优越性:
支持多种编译器进行测试,保证源代码的可移植性; 支持多线程,充分利用CPU资源;采用优化的SQL算法,有效提高查询效果;提供管理、检查、优化数据库操作的管理工具,使得其运用范围更加广泛。
5.Servlet
Servlet[]是运行在Web服务器端的Java应用程序,可以生成动态的Web页面,属于客户与服务器响应的中间层(其结构图如2-3所示),实际上jsp在底层就是一个Servlet。
Servlet是有生命周期的:
当客户端向Web提出第一次Servlet请求时,Web服务器就会实例化一个Servlet,并调用init()方法;如果已存在Servlet实例,则直接使用此实例。
请求到达,调用service()方法,service()方法将根据客户端的请求方式来决定调用对应的doGet()/doPost方法.当Servlet实例从Web服务器中消亡时,Web服务器将会调用Servlet的destroy()方法。
同时由于servlet 是用java编写的,因此是跨平台的。
请求
响应
图2-3Servlet结构图
2.3.2系统硬件平台
软硬件平台的选择是本系统建设中遇到的首要问题,不同的软硬件对于系统的整体性能有很大的影响。
硬件平台由主机系统、传输介质、网卡和联网设备组成,另外还包括防火墙、网络打印机等附加设备。
不同的硬件平台有不同的优缺点,使用何种硬件是设计过程中最关键的决策之一。
本系统在目前的阶段对硬件系统的要求比较低,现在电脑的配置一般都能满足。
但是,如果是在投入大规模实际使用时将有较高的硬件要求,而且软件要靠硬件来支撑,软件与硬件结合起来才能完成各种功能,这时,硬件部分也必须考虑。
本系统的硬件包括一台Pentium 4 cpu 以上的微机及兼容的CPU,512MB以上(最好1GB内存)的内存和VGA 彩显一台的显示屏。
2.4本章小结
1.对系统进行了需求分析,分别从用户需求、系统功能和性能需求三个方面进行全面分析。
对系统进行可行性分析,包括技术可行性、经济可行性和操作可行性分析。
3.系统总体设计
3.1系统总体架构设计
根据图书馆管理需求的需求分析,设计出本管理系统有六大功能模块,一是用于设置系统的一些基础参数,主要包括图书馆信息、管理员设置、参数设置、书架设置的系统设置模块;二是用于对读者类型和读者档案信息进行增删改查的读者管理模块;三是用于用于对图书类型和图书信息进行增删改查的图书管理模块;四是用于实现图书的借阅、续借和归还等功能的图书借阅模块;五是用于实现图书和借阅信息的查询,主要包括图书档案查询、图书借阅查询、借阅到期提醒的系统查询模块;六是于修改管理员的密码的更改口令模块。
因此,图书馆管理系统的整体架构设计图如3-1所示:
图3-1系统总体结构图
3.1.1系统设置模块
在本模块中包含四个小模块:
图书馆信息、管理员信息设置、书架设置和参数设置。
系统设置模块的设计结构图如图3-2所示。
1.图书馆信息:
显示图书馆的一些基本信息,对图书馆信息进行编辑。
2.管理员设置:
显示图书管理员,对图书管理员进行权限的设置、添加和删除。
3.书架设置:
包括书架名称的添加,修改以及删除功能。
4.参数设置:
对办证的费用和期限进行修改。
图3-2系统设置模块结构图
3.1.2读者管理模块
在本模块中包含两个小模块:
读者类型管理和读者档案管理。
读者管理模块的设计结构图如图3-3所示。
图3-3读者管理模块结构图
1.读者类型管理:
包括读者类型的添加和现有读者类型的修改及删除。
2.读者档案管理:
包括现有读者信息的查询,新读者信息的添加,现有读者信息的修改及删除。
3.1.3图书管理模块
在本模块中包含两个小模块:
图书类型管理和图书档案管理。
读者管理模块的设计结构图如图3-4所示。
图3-4图书管理模块结构图
1.图书类型设置:
包括现有图书类型信息的查询,新图书类型的添加和现有图书类型的修改及删除。
2.图书档案管理:
包括现有图书相关信息的查询,新图书信息的添加和现有图书信息的修改及删除。
3.1.4图书借还模块
在本模块中包含两三个小模块:
图书借阅、图书续借和图书归还。
图书借还模块的设计结构图如图3-5所示。
图3-5图书借还模块结构图
1.图书借阅:
根据读者卡号查询读者信息和借阅信息,再根据图书编号借阅图书。
即数据库中插入一条借书记录,该记录包括读者ID、图书ID、借出日期、还书期限及相关其它信息。
2.图书归还:
主要功能是输入读者卡号查询读者信息和为归还的图书信息,点击归还超链接,归还图书。
3.图书续借:
完成续借相关功能,输入读者卡号和图书编号,完成续借过程。
3.1.5系统查询模块
在本模块中包含两三个小模块:
图书档案查询、图书借阅查询和借阅到期提醒。
系统查询模块的设计结构图如图3-6所示。
图3-6系统查询模块结构图
1.图书档案查询:
根据相应的图书信息对所有书籍进行所需查询。
此查询包括:
‘图书编号’、‘图书类别’、‘图书名称’、‘作者’、‘出版社’及‘书架’。
2.图书借阅查询:
根据相应的借阅信息进行所需查询。
此查询包括:
‘图书编号’、‘读者卡号’、‘读者名称’及‘借阅时间’。
3.借阅到期提醒:
根据相应的图书信息归还日期进行查看是否到期。
3.1.6更改口令模块
在本模块中,主要实现管理员密码的更改功能。
3.1.7其他模块
1.首页显示图书借阅排行榜;
2.左端显示今日日期时间;
3. 最下端显示一些提示信息。
3.2系统流程分析
进入本系统首先进行身份验证,本系统设置了两种用户:
超级管理员和一般管理员。
验证成功后方可进入系统模块根据需要进行相关操作。
如图3-7所示,用户输入用户名和密码,通过连接数据库,检查正确性,若输入不正确,系统提示重新输入;否则按数据库权限进入相应子系统。
图3-7系统总体流程图图3-8系统子模块流程图
进入相应子系统后(如图3-8所示),按实际的需求进行功能选择,然后根据功能菜单进一步操作。
操作完之后,若需要继续使用子系统的功能,则点击相应的子功能菜单进行操作。
3.3数据库设计
3.3.1系统数据权限说明
本系统有两种用户:
超级管理员与一般管理员。
根据系统设计和功能模块分析,超级管理员有本系统的所有模块的使用权限,一般管理员有本系统模块中的一个或两个或全部的使用权限。
一般管理员的权限需要由超级管理员进行权限设置,方可登录系统进行操作。
3.3.2数据库概念设计
根据图书馆管理系统的功能需求,通过分析数据库,得到相应的数据项和数据结构,设计出能够满足用户需求的各种实体,为后面的逻辑结构设计打下基础。
以下给出几个重要实体ER图。
1.图书档案实体
图书档案实体包括图书id、图书编号、书名、类型、作者、译者、出版社、定价、页码、书架、录入时间、操作员和是否删除等属性。
图书馆档案实体E-R图如下图3-9所示。
图3-9图书馆档案实体E-R图
2.读者档案实体
读者档案实体包括读者id、姓名、性别、读者卡号、职业、出生日期、有效证件、证件号码、电话、电子邮件、登记日期、操作员、类型和备注等属性。
读者档案实体E-R图如下图3-10所示。
.
图3-10读者档案实体E-R图
3.借阅档案实体
借阅档案实体包括借阅id、读者卡号、图书编号、借阅时间、应还时间、操作员和是否归还等属性。
借阅实体E-R图如图3-11所示。
图3-11借阅档案实体E-R图
4.归还档案实体
归还档案实体包括归还id、读者卡号、图书编号、归还时间和操作员等属性。
归还档案实体E-R图如图3-12所示。
图3-12归还档案实体E-R图
3.3.3数据库逻辑结构设计
数据库的逻辑结构设计是在数据库概念结构设计完成后,由数据库概念结构转化而来的。
一个符合规范的数据库设计不仅可以在设计的时候让程序设计员逻辑更为清晰,更能让分析程序的人容易理清数据间的关系。
本系统数据库采用MySQL数据库,系统数据库名称db_library,其中包含12张数据表来实现对对数据的存储、调用。
1.图书信息表(图书ID,图书名称,图书类型,作者,译者,ISBN号,价格,出版社,所在书架,入库时间,操作员)
2.图书类型表(图书类型ID,名称,可借阅天数)
3.读者信息表(读者ID,姓名,性别,读者卡号,读者类型,出生年月,有效证件,证件号码,登记日期,电话,邮箱,操作员)
4.读者类型表(名称,可借阅图书本数)
5.图书借阅信息表(图书ID,读者ID,借出时间,应还时间,是否归还,操作员)
6.图书归还信息表(图书ID,读者ID,归还时间,操作员)
7.管理员信息表(管理员名称,密码)
8.图书馆信息表(图书馆ID,名称,馆长,电话,地址,邮箱