版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上专心-专注-专业分分 类类 号:号: 学校代码:学校代码: 学学 号:号: 本科生毕业论文本科生毕业论文基于基于 JSPJSP 的图书管理系统的设计与实现的图书管理系统的设计与实现Design and Development of Books Management System Based on JSP所在院所在院( (系系) ): 学生姓名:学生姓名: 指导教师:指导教师: 研究起止日期:研究起止日期: 精选优质文档-倾情为你奉上专心-专注-专业 学位论文独创性声明学位论文独创性声明本人郑重声明:1、坚持以“求实、创新”的科学精神从事研究工作。2、本论文是我个人在导
2、师指导下进行的研究工作和取得的研究成果。3、本论文中除引文外,所有实验、数据和有关材料均是真实的。4、本论文中除引文和致谢的内容外,不包含其他人或其它机构已经发表或撰写过的研究成果。5、其他同志对本研究所做的贡献均已在论文中作了声明并表示了谢意。 作者签名: 日 期: 年 月精选优质文档-倾情为你奉上专心-专注-专业摘摘 要要随着计算机技术的发展以及计算机网络的逐渐普及。图书使用计算机管理成为必然,基于jsp 的图书管理系统应运而生。本系统利用 JSP 技术实现了一个基于 B/S 结构的图书管理系统,以 MySQL 为数据库平台,Tomcat 作为 WEB 服务器,采用 JavaBean、Se
3、rvlet 技术进行开发。图书管理系统是以图书馆为背景,该系统实现了设置模块、读者管理模块、图书管理模块、图书借还模块以及更改口令模块功能,为管理员提供了图书的查询、借阅与图书归还等服务。本文对系统需求进行分析,对系统的数据库进行了设计,并对系统功能模块的详细实现进行了介绍。 关键词:关键词: B/S 结构;JSP 技术;MySql; JavaBean; Servlet精选优质文档-倾情为你奉上专心-专注-专业Abstract With the development of computer technology and the growing popularity of the comput
4、er network. Use computer management became inevitable, based on the JSP library management system arises at the historic moment.This system uses JSP technology implements a book management system based on B/S structure, based on MySQL database platform, Tomcat as a WEB server, JavaBean, Servlet tech
5、nology is adopted to improve the development. Application of book management system is based on the library as the background, System to achieve the setting module, reader management module, books management module, the module and borrowed books change password module function, provides the administ
6、rator with books query, borrow and return books and other services. This article analyze the system requirements, the system database design, and detailed implementation of the system function module are introduced. Key words: B/S structure; JSP; MySql; JavaBean; Servlet 精选优质文档-倾情为你奉上专心-专注-专业目目 录录 2
7、.3.2 系统硬件平台 精选优质文档-倾情为你奉上专心-专注-专业 8 9 精选优质文档-倾情为你奉上专心-专注-专业 精选优质文档-倾情为你奉上专心-专注-专业1.1. 绪论绪论1.11.1 选题背景选题背景随着网络技术的高速发展和计算机应用的普及,利用计算机对图书馆的日常工作进行管理势在必行。虽然目前很多大型的图书馆已经有一整套比较完善的管理系统,但是在一些中小型的图书馆中,大部分工作仍需由手工完成,工作效率比较低,管理员不能及时了解图书馆内各类图书的借阅信息,不便于动态及时地调整图书结构。为了更好的适应当前的读者借阅需求,解决手工管理中存在的许多弊端,越来越多的中小型图书馆正在逐步向计算
8、机信息化管理转变。图书馆的图书管理是一件非常繁杂的工作,建立一套规范的体系来管理图书,不仅可以为图书管理员减轻工作负担,而且提高工作效率,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况,这是非常有必要的。1.21.2 选题目的和意义选题目的和意义 目的:随着科学技术的发展,数字化管理的优势日趋显著。针对中小型图书馆或图书室管理落后的情况,运用计算机的独特优越性设计实现一个图书馆管理系统,可以给图书管理员在图书管理方面提供以下几个优点:迅速检索出受欢迎的图书、查找编辑方便、数据可靠、较大存储量、针对管理员保密性好、
9、使用时间长、成本低等。这些优点很好的提高工作效率,使图书馆管理实用化、正规化。意义:图书管理系统的开发是一项有意义、发展潜力很大的工作,而与计算机在信息处理功能方面的结合使用,更是为图书管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业的飞速发展提供无限潜力。采用计算机管理信息系统已成为图书管理科学化和现代化的重要标志,它给企业管理来了明显的经济效益和社会效益。主要体现在:(1)提高图书管理员管理图书的效率,减少了以往借书流程繁琐,杂乱,周期长的弊端。(2)基于图书管理的全面自动化,可以减少图书信息的添加和维护管理中的漏洞,可以节约不少管理开支,增加企业收入。1.31.3 本论文
10、主要研究内容本论文主要研究内容 本系统采用动态 WEB 开发技术,JSP 用于页面显示部分, JDBC 用于数据库的连接,数据库用于信息的存储。JSP 通过对数据库的数据处理,实现图书馆图书的管理。在 MyEclipse 开发环境下,以 J2EE 为平台,运用 JSP 网络编程语言和 MySQL 数据库完成了 B/S 模式的图书管理精选优质文档-倾情为你奉上专心-专注-专业系统。 本系统主要实现的功能有查询、借阅、信息管理,其中信息管理为重点,包括对图书档案、读者档案、借阅信息等的管理。通过对信息输入、编辑(增加、删除、查询、修改)等功能完成对图书信息、读者信息和借阅信息的操作管理。1.41.
11、4 课题研究的预期结果课题研究的预期结果通过此系统能实现对图书馆书籍、读者资料以及借还书操作的高效管理,系统最终能实现如下功能:系统信息的设置,读者信息和类型的编辑;图书信息和类型的编辑;图书的借阅、续借和归还;图书档案、借阅档案和借阅到期提醒的查询。本课题设计出一个完整的,实用的图书管理系统,并对系统功能详细设计与实现进行了阐述,对系统的流程图、ER 图进行了抽象绘制,并对数据库设计进行了详细设计。1.51.5 本章小结本章小结1介绍了选题的背景;2介绍了选题目的和意义;3对本论文的主要内容进行了概括,课题研究的预期结果进行分析。精选优质文档-倾情为你奉上专心-专注-专业2.2. 系统需求分
12、析系统需求分析随着计算机网络的发展,越来越多的人利用计算机网络实现所需服务,网络已深深影响到人们生活的各个方面。基于 JSP 的图书馆管理系统不仅具有传统图书馆的大部分功能,而且能够满足各类用户的常规与特殊需求,而且操作快捷,实现技术又比较成熟,因此受到人们的喜爱。 该系统主要是为图书管理员设计的,为了方便管理员对图书及读者信息进行管理,对本系统进行了详细的需求分析。管理员不仅可以对图书的档案和读者的档案进行编辑查找,还可以帮助读者对图书进行借阅、续借和归还。管理员还可以根据借阅和归还的时间查询出将要到期的图书,提醒用户归还图书。2.1 系统需求分析系统需求分析正确的需求分析是重要的基础和必要
13、的步骤,它决定了系统是成功还是失败。如果没有进行恰当的需求分析,系统就失去了它的完整意义和价值。为了使本系统能够更好、更完善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统的功能进行细致的分析,这样才能够开发出完整的系统设计。.1 用户需求分析用户需求分析博学图书馆管理系统为管理员建立一个突破时间、突破地域限制的平台,补充因人力造成的不足,提高图书管理的效率。本系统采用超级管理员和一般管理员划分机制,即用户身份为:超级管理员和一般管理员两种,系统对其各自的功能作用进行划分和限定。超级管理员有使用系统所规定的的所有功能的权限;超级管理员可以对一般管理员进行权限设置
14、。.2 功能需求分析功能需求分析博学图书馆管理系统为图书管理员提供了一个非常方便快捷的平台。管理员可以浏览图书借阅排行,对图书和读者的信息进行编辑,管理借阅者图书的借阅、归还和续借操作。系统应该实现的功能如下:系统应该实现的功能如下:1登录模块:登录模块:需要输入管理员名称和密码,进入系统。2系统设置模块:系统设置模块:1)图书馆信息:显示图书馆的一些基本信息,对图书馆信息的添加,修改和删除。2)管理员设置:管理员的权限进行设置、管理员删除和添加管理员。精选优质文档-倾情为你奉上专心-专注-专业3)参数设置:办证费和期限的设置。4)书架设置:书架信息进行查询、修改、删除和添加。
15、3图书管理模块:图书管理模块:1)图书类型管理:查询出所有的图书类型,对图书类型进行添加、修改和删除。2)图书档案管理:查询出所有的图书档案信息,对图书档案信息进行添加、修改和删除。4读者管理模块:读者管理模块:1)读者类型管理:查询出所有的读者类型,对读者类型进行添加、修改和删除。2)读者档案管理:查询出所有的读者档案信息,对读者档案信息进行添加、修改和删除。5图书借还模块:图书借还模块:1)图书借阅:查询并显示读者信息,添加读者借书信息。2)图书续借:查询并显示读者信息,增加图书借阅期限。3)图书归还:查询并显示读者信息,完成图书归还。6系统查询模块:系统查询模块:1)图书档案查询:根据查
16、询条件,查询出图书档案信息。2)图书借阅查询:根据查询条件,查询出图书借阅情况。3)图书到期提醒:根据查询条件,查询出要到期的图书情况。.3 性能需求分析性能需求分析操作简单:本系统应便于一般人的使用,系统不应太复杂和繁琐,因此要求系统的操作尽可能简单易行。实时性:为了展现实时性这个特点,博学图书馆管理系统采用精确的时间,及时更新图书借阅信息和图书排行榜信息。代码可读性好:文中的代码尽可能简洁,易懂。可维护性:本系统设计简洁,具有很好的可维护性。针对性:本系统是针对学校图书馆的管理系统,操作简单,具有一定的针对性。2.2 可行性分析可行性分析可行性分析(Feasibility
17、Analysis)也称为可行性研究,可行性研究的目的就是用最小的代价,在尽可能短的时间内确定问题是否能够解决。为此,有必要在用户的需求基础上提出精选优质文档-倾情为你奉上专心-专注-专业若干种可能的系统实现方案,对每种方案都从技术、经济、操作等方面进行可行性分析。.1 技术可行性分析技术可行性分析技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采用 JSP 开发友好美观的人机界面,便于用户理解、操作。MySQL 用于数据库管理,存储量大,能保持数据的完整性和安全性。因此本系统的开发平台已成熟可行。硬件方面,硬件更新速度越来越快,容量越来越大,
18、可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。.2 经济可行性分析经济可行性分析首先由于现有的 PC 系统的软硬环境都能满足目标系统的运行需要,无需再投入资金购买其他设备。其次 Tomcat 作为 WEB 服务器,MySQL 作为数据库,JSP 作为服务器端脚本解释器。而这三个软件的源码都是开放的,均可在网上自行下载,因此使用这种方式建立网站的成本很低。.3 操作可行性分析操作可行性分析博学图书馆管理系统通过运行实践,其操作基本无误。管理员通过一定的规章制度对数据进行管理和维护,以确保其能够满足用户的需求。本系统在操作上是可行的。综上所述,此
19、系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。2.32.3 开发平台与技术开发平台与技术.1 软件开发平台软件开发平台选择合适的软件对于一个系统的整体性有很大影响,博学图书馆管理系统中软件平台的选择包括操作系统,Web 服务器软件及数据库的选择。本论文的图书馆管理系统的开发框架选择具有代表性的 MVC 框架(JSP 1+ Servlet +JavaBean)进行架构,以 Windows XP 作为操作系统,以 Tomcat 为 WEB 服务器,以 MySQL 为后台数据库,使用 JSP 语言进行程序开发,开发工具包使用 JDK,以
20、实现与数据库的连接和前端浏览器的控制。1.MVC 模型模型MVC 模式将交互式应用分成模型(Model) 、视图(View)和控制器(Controller)三部分,是软件开发过程中比较流行的设计思想。模型是封装应用程序的数据结构和事务逻辑,集中体现应用程序的状态,当数据状态改变时,能够在视图里体现出来。模型是实际进行数据处理的精选优质文档-倾情为你奉上专心-专注-专业计算的地方,它封装了数据和对数据的操作。视图是应用和用户之间的接口,它负责将应用显现给用户和显示模型的状态。控制器负责视图和模型之间的交互,控制对用户输入的响应响应方式和流程,它主要负责两方面的动作:把用户的请求分发到相应的模型;
21、将模型的改变及时反应到视图上。MVC 将这些对象分离以提高灵活性和复用性。MVC 模式的结构如图 2-1 所示:图 2-1 MVC 设计模式的结构图2. B/S 结构结构本系统采用的是 B/S 浏览器/服务器模式,即一种从传统的二层 C/S 模式发展起来的新的网络结构模式。在 B/S 模式中,客户端运行浏览器软件。浏览器访问数据库是向 WEB 服务器提出的要求以超文本形式,WEB 服务器接受客户端请求后,将这个请求转化为 SQL 语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给 WEB 服务器,WEB 服务器再一次将得到的所有结果进行转化
22、,变成 HTML 文档形式,转发给客户端浏览器,以友好的 WEB 页面形式显示出来。如图 2-1 所示。Web BrowserWeb BrowserWeb Browser WEB 服务器 数据库服务器精选优质文档-倾情为你奉上专心-专注-专业图 2-2 B/S 工作模式 3. JDBC JDBC 是使用内嵌式的 SQL,由一组 Java 语言编写的类和接口组成,主要实现三方面的功能:建立与数据库的连接,执行 SQL 声明以及处理 SQL 执行结果。JDBC 可方便地与不同的关系型数据库建立连接,进行相关操作,支持基本的 SQL 功能。4. MySQL 概述概述MySQL2是一个多用户、多线程的
23、 SQL 数据库,是一个客户机/服务器结构的应用,很多中小型网站为降低成本选择 MySQL 是由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点。MySQL 有其独特的优越性:支持多种编译器进行测试,保证源代码的可移植性; 支持多线程,充分利用 CPU 资源;采用优化的 SQL 算法,有效提高查询效果;提供管理、检查、优化数据库操作的管理工具,使得其运用范围更加广泛。 5. ServletServlet3是运行在 Web 服务器端的 Java 应用程序,可以生成动态的 Web 页面,属于客户与服务器响应的中间层(其结构图如 2-3 所示) ,实际上 jsp 在底层就是一个 Servl
24、et。Servlet是有生命周期的:当客户端向 Web 提出第一次 Servlet 请求时,Web 服务器就会实例化一个Servlet,并调用 init()方法;如果已存在 Servlet 实例,则直接使用此实例。请求到达,调用service()方法,service()方法将根据客户端的请求方式来决定调用对应的 doGet()/doPost 方法.当 Servlet 实例从 Web 服务器中消亡时,Web 服务器将会调用 Servlet 的 destroy()方法。 同时由于 servlet 是用 java 编写的,因此是跨平台的。 请求 响应 图 2-3 Servlet 结构图2.3.22.
25、3.2 系统硬件平台系统硬件平台 软硬件平台的选择是本系统建设中遇到的首要问题,不同的软硬件对于系统的整体性能有很大的影响。硬件平台由主机系统、传输介质、网卡和联网设备组成,另外还包括防火墙、网络打印机等附加设备。客户端JspServlet精选优质文档-倾情为你奉上专心-专注-专业不同的硬件平台有不同的优缺点,使用何种硬件是设计过程中最关键的决策之一。本系统在目前的阶段对硬件系统的要求比较低,现在电脑的配置一般都能满足。但是,如果是在投入大规模实际使用时将有较高的硬件要求,而且软件要靠硬件来支撑,软件与硬件结合起来才能完成各种功能,这时,硬件部分也必须考虑。本系统的硬件包括一台 Pentium
26、 4 cpu 以上的微机及兼容的 CPU,512MB 以上(最好 1GB 内存)的内存和 VGA 彩显一台的显示屏。2.4 本章小结本章小结1对系统进行了需求分析,分别从用户需求、系统功能和性能需求三个方面进行全面分析。2对系统进行可行性分析,包括技术可行性、经济可行性和操作可行性分析。精选优质文档-倾情为你奉上专心-专注-专业3.3. 系统总体设计系统总体设计3.1 系统总体架构设计系统总体架构设计根据图书馆管理需求的需求分析,设计出本管理系统有六大功能模块,一是用于设置系统的一些基础参数,主要包括图书馆信息、管理员设置、参数设置、书架设置的系统设置模块;二是用于对读者类型和读者档案信息进行
27、增删改查的读者管理模块;三是用于用于对图书类型和图书信息进行增删改查的图书管理模块;四是用于实现图书的借阅、续借和归还等功能的图书借阅模块;五是用于实现图书和借阅信息的查询,主要包括图书档案查询、图书借阅查询、借阅到期提醒的系统查询模块;六是于修改管理员的密码的更改口令模块。因此,图书馆管理系统的整体架构设计图如 3-1 所示: 图 3-1 系统总体结构图.1 系统设置模块系统设置模块在本模块中包含四个小模块:图书馆信息、管理员信息设置、书架设置和参数设置。系统设置模块的设计结构图如图 3-2 所示。1图书馆信息:显示图书馆的一些基本信息,对图书馆信息进行编辑。2管理员设置:显
28、示图书管理员,对图书管理员进行权限的设置、添加和删除。3书架设置:包括书架名称的添加,修改以及删除功能。4参数设置:对办证的费用和期限进行修改。图书馆管理系统系统设置读者管理图书管理图书借还系统查询图 书 馆 信 息管 理 员 设 置参 数 设 置书 架 设 置读 者 类 型 管 理读 者 档 案 管 理图 书 类 型 管 理图 书 档 案 管 理图 书 借 阅图 书 续 借图 书 归 还图 书 档 案 查 询图 书 借 阅 查 询借 阅 到 期 提 醒更 改 口 令退 出 系 统精选优质文档-倾情为你奉上专心-专注-专业图 3-2 系统设置模块结构图3.1.2 读者管理模块读者管理模块在本模
29、块中包含两个小模块:读者类型管理和读者档案管理。读者管理模块的设计结构图如图 3-3 所示。读者管理读者类型设置添加读者类型读者档案管理删除读者类型添加读者档案删除读者档案修改读者类型修改读者档案系统设置图书馆信息修改图书馆信息书架设置删除图书馆信息添加书架删除书架添加图书馆信息修改书架参数设置管理员设置添加管理员删除管理员修改权限保存参数信息精选优质文档-倾情为你奉上专心-专注-专业图 3-3 读者管理模块结构图1.读者类型管理:包括读者类型的添加和现有读者类型的修改及删除。2.读者档案管理:包括现有读者信息的查询,新读者信息的添加,现有读者信息的修改及删除。3.1.3 图书管理模块图书管理
30、模块在本模块中包含两个小模块:图书类型管理和图书档案管理。读者管理模块的设计结构图如图 3-4 所示。 图 3-4 图书管理模块结构图1.图书类型设置:包括现有图书类型信息的查询,新图书类型的添加和现有图书类型的修改及删除。2.图书档案管理:包括现有图书相关信息的查询,新图书信息的添加和现有图书信息的修改及删除。3.1.4 图书借还模块图书借还模块在本模块中包含两三个小模块:图书借阅、图书续借和图书归还。图书借还模块的设计结构图如图 3-5 所示。图书管理图书类型设置添加图书类型图书档案管理删除图书类型添加图书档案删除图书档案修改图书类型修改图书档案精选优质文档-倾情为你奉上专心-专注-专业图
31、 3-5 图书借还模块结构图1图书借阅:根据读者卡号查询读者信息和借阅信息,再根据图书编号借阅图书。即数据库中插入一条借书记录,该记录包括读者 ID、图书 ID、借出日期、还书期限及相关其它信息。2图书归还:主要功能是输入读者卡号查询读者信息和为归还的图书信息,点击归还超链接,归还图书。3图书续借:完成续借相关功能,输入读者卡号和图书编号,完成续借过程。3.1.5 系统查询模块系统查询模块在本模块中包含两三个小模块:图书档案查询、图书借阅查询和借阅到期提醒。系统查询模块的设计结构图如图 3-6 所示。图书借还图书借阅查询读者信息图书归还图书续借借阅图书查询读者信息续借图书查询读者信息归还图书系
32、统查询图书档案查询图书借阅查询借阅到期查询精选优质文档-倾情为你奉上专心-专注-专业图 3-6 系统查询模块结构图1图书档案查询:根据相应的图书信息对所有书籍进行所需查询。此查询包括:图书编号 、 图书类别 、 图书名称 、 作者 、 出版社及书架 。2图书借阅查询:根据相应的借阅信息进行所需查询。此查询包括:图书编号 、 读者卡号 、 读者名称及借阅时间 。3借阅到期提醒:根据相应的图书信息归还日期进行查看是否到期。3.1.6 更改口令模块更改口令模块在本模块中,主要实现管理员密码的更改功能。3.1.7 其他模块其他模块1首页显示图书借阅排行榜; 2左端显示今日日期时间; 3 最下端显示一些
33、提示信息。3.2 系统流程分析系统流程分析进入本系统首先进行身份验证,本系统设置了两种用户:超级管理员和一般管理员。验证成功后方可进入系统模块根据需要进行相关操作。如图 3-7 所示,用户输入用户名和密码,通过连接数据库,检查正确性,若输入不正确,系统提示重新输入;否则按数据库权限进入相应子系统。精选优质文档-倾情为你奉上专心-专注-专业启动程序输入用户名和密码连接数据库检验正确性判断权限超级管理员进入子系统结束一般管理员YESNO 图 3-7 系统总体流程图 图 3-8 系统子模块流程图 进入相应子系统后(如图 3-8 所示) ,按实际的需求进行功能选择,然后根据功能菜单进一步操作。操作完之
34、后,若需要继续使用子系统的功能,则点击相应的子功能菜单进行操作。3.3 数据库设计数据库设计.1 系统数据权限说明系统数据权限说明本系统有两种用户:超级管理员与一般管理员。根据系统设计和功能模块分析,超级管理员有本系统的所有模块的使用权限,一般管理员有本系统模块中的一个或两个或全部的使用权限。一般管理员的权限需要由超级管理员进行权限设置,方可登录系统进行操作。.2 数据库概念设计数据库概念设计根据图书馆管理系统的功能需求,通过分析数据库,得到相应的数据项和数据结构,设计进入子系统功能选择功能菜单选择输入 / 输出操作是否继续NO返回主界面YES精选优质文档-倾情
35、为你奉上专心-专注-专业出能够满足用户需求的各种实体,为后面的逻辑结构设计打下基础。以下给出几个重要实体 ER图。1图书档案实体图书档案实体包括图书 id、图书编号、书名、类型、作者、译者、出版社、定价、页码、书架、录入时间、操作员和是否删除等属性。图书馆档案实体 E-R 图如下图 3-9 所示。 图 3-9 图书馆档案实体 E-R 图2读者档案实体读者档案实体包括读者 id、姓名、性别、读者卡号、职业、出生日期、有效证件、证件号码、电话、电子邮件、登记日期、操作员、类型和备注等属性。读者档案实体 E-R 图如下图 3-10 所示。 .图 3-10 读者档案实体 E-R 图3借阅档案实体借阅档
36、案实体包括借阅 id、读者卡号、图书编号、借阅时间、应还时间、操作员和是否归还等属性。借阅实体 E-R 图如图 3-11 所示。图书图书编号图书 id书架类型书名作者页码译者读者 id姓名性别证件号码卡号读者出生日期有效证件职业精选优质文档-倾情为你奉上专心-专注-专业图 3-11 借阅档案实体 E-R 图4.归还档案实体归还档案实体包括归还 id、读者卡号、图书编号、归还时间和操作员等属性。归还档案实体 E-R 图如图 3-12 所示。图 3-12 归还档案实体 E-R 图.3 数据库逻辑结构设计数据库逻辑结构设计数据库的逻辑结构设计是在数据库概念结构设计完成后,由数据库概念
37、结构转化而来的。一个符合规范的数据库设计不仅可以在设计的时候让程序设计员逻辑更为清晰,更能让分析程序的人容易理清数据间的关系。本系统数据库采用 MySQL 数据库,系统数据库名称db_library,其中包含 12 张数据表来实现对对数据的存储、调用。1图书信息表(图书 ID,图书名称,图书类型,作者,译者,ISBN 号,价格,出版社,所在书架,入库时间,操作员)2图书类型表(图书类型 ID,名称,可借阅天数)读者卡号图书编号借阅时间借阅 id应还时间借阅是否归还操作员归还读者卡号归还 id归还时间图书编号操作员精选优质文档-倾情为你奉上专心-专注-专业3读者信息表(读者 ID,姓名,性别,读
38、者卡号,读者类型,出生年月,有效证件,证件号码,登记日期,电话,邮箱,操作员)4读者类型表(名称,可借阅图书本数)5图书借阅信息表(图书 ID,读者 ID,借出时间,应还时间,是否归还,操作员)6图书归还信息表(图书 ID,读者 ID,归还时间,操作员)7管理员信息表(管理员名称,密码)8图书馆信息表(图书馆 ID,名称,馆长,电话,地址,邮箱,创建日期,简介)9书架设置表(书架 ID,书架名称)10出版社信息表(ISBN,出版社名称)11参数设置表(参数 ID,办证费,有效期限)12权限表(管理员 ID,系统设置,读者管理,图书管理,图书借还、系统查询)系统逻辑结构设计,如表 4-1 至表
39、4-6 所示。 表 4-1 图书信息表(tb_bookinfo)字段名称属性长度说明barcodeVarchar30图书编号booknameVarchar70书名authorVarchar30作者translatorVarchar30译者ISBNVarchar20出版社priceFloat8,2图书价格bookcase varchar 10图书所在书架 pageInt10图书页数inTimeDATE录入时间operatorVarchar30操作员delTinyint1是否删除typeidInt10类型idInt11key(id 自动编号)图书信息表用于存储图书馆中的图书相关信息,其中的相关信息
40、是在由操作员进行添加完善,此表主要用于图书管理员对馆中图书的。精选优质文档-倾情为你奉上专心-专注-专业表 4-2 图书借阅信息表(tb_borrow)图书借阅信息表用来保存图书借阅信息,方便修改图书借阅信息。表 4-3 图书归还信息表(tb_giveback)字段名称属性长度说明Idint10Key(id 自动编号)readeridint11读者 idbookidint11图书 idbackTimeDATE归还时间operatorvarchar30操作员图书归还信息表用来保存图书归还信息,方便修改图书归还信息。表 4-4 读者信息表(tb_reader)字段名称属性长度说明idInt10Ke
41、y(id自动编号)nameVarchar30姓名sexVarchar4性别barcodeVarchar30读者编号vocationVarchar50职业birthdayDATE出生日期paperTypeVarchar10有效证件paperNOVarchar20证件号码telVarchar20电话EmailVarchar100电子邮件createDateDATE登记日期operatorVarchar30操作员remarkTEXT备注字段名称属性长度说明idint10Key(id自动编号)readeridint10读者 idbookidint10图书 idborrowTimeDATE借书时间bac
42、ktimeDATE应还时间operatorvarchar30操作员IfbackTinytin1是否归还精选优质文档-倾情为你奉上专心-专注-专业typeidInt 11类型图书归还信息表用来保存图书归还信息,方便修改图书归还信息。表 4-5 图书馆信息表(tb_library)字段名称属性长度说明IdInt Unsigned10Key(id 自动编号)LibrarynameVarchar50图书馆名称CuratorVarchar10馆长TelVarchar20电话AddressVarchar100联系地址EmailVarchar100联系邮箱UrlVarchar100图书馆网址createDa
43、teDATE建馆时间IntroduceTEXT图书馆简介图书馆信息表用来保存图书馆信息,方便修改图书馆信息。表 4-6 权限表(tb_purview)字段名称属性长度说明IdInt11Key(管理员 id 号)syssetTinyint1系统设置readersetTinyint1读者管理booksetTinyint1图书管理borrowbackTinyint1图书借还sysqueryTinyint1系统查询权限表用来保存管理员的权限信息,该表中的 id 字段与管理员信息表中的 id 字段相关联。3.43.4 本章小结本章小结1本章介绍了博学图书馆管理系统的总体架构设计,以及各模块实现的主要功能
44、;2根据管理员的权限进行了流程分析;3分析数据库的概念与逻辑结构设计;4分析了系统的开发平台和相关技术。精选优质文档-倾情为你奉上专心-专注-专业4.4. 系统详细设计与实现系统详细设计与实现本章对图书馆管理系统图书借还模块中的图书借还、图书续借和图书归还以及系统查询中的图书档案查询、借阅信息查询和到期提醒查询,给出了详细的实现过程、关键代码说明和效果图。在本章的首页,首先介绍了系统登录的实现,数据库的链接,具体介绍如下所示。4.1 系统登录模块系统登录模块本系统需要先登录才能进入操作模块,进入相应的模块后管理员可进行相关操作,登录时先输入用户名和密码,当点击【登录】按钮后就会对管理员的名称和
45、密码进行验证,若用户名与密码正确,则进入主界面进行相应的模块操作;如果未输入用户名、密码或者输入有误,系统会通过 JavaScript 进行判断,并给予提示信息。系统登陆页面实现效果图如 4-1 所示。图 4-1 系统登录界面关键代码说明(1)在进入主页面之前,首先对输入的数据进行验证。编写自定义的 JavaScript 函数,用于管理员名称和密码的非空判断。function check(form)if (.value=)alert(请输入管理员名称!);.focus();return false; /判断管理员名称是否为空if (form.pwd.valu
46、e=)alert(请输入管理员密码!);form.pwd.focus();return false;/判断管理员密码是否为空精选优质文档-倾情为你奉上专心-专注-专业(2)在验证之前,要对数据库进行连接,在文件 ConnDB.java 进行数据库的连接,关键代码如下:public class ConnDB public Connection conn = null; public Statement stmt = null; public ResultSet rs = null;String url=jdbc:mysql:/localhost:3306/db_library?useUnicod
47、e=true&characterEncoding=utf-8; String username=root; String password=123;public Connection getConnection()/定义getConnection()方法获取连接try Class.forName(com.mysql.jdbc.Driver);conn=DriverManager.getConnection(url,username,password); catch (Exception e) e.printStackTrace();return conn;连接上数据库之后,就调用数据库
48、中的tb_manager表进行匹配。匹配成功之后就进入系统的主界面,匹配失败就跳到error.jsp页面提示你输入的管理员名称或管理员密码有误如图4-2所示。图4-2 登录错误提示图4.2 系统主界面系统主界面管理员通过“系统登录”模块的验证后,可以登录到图书馆管理系统的主界面。系统主界面主要包括 Banner 信息栏、导航栏、排行榜和版权信息 4 部分。其中,导航栏中的功能菜单将根据登录管理员进行显示。例如,系统管理员 mr 登录后,将拥有整个系统的全部功能,因为它是超级管理员,并在 Banner 信息栏显示当前登录的用户。系统主界面实现具体效果图 4-3 所示。精选优质文档-倾情为你奉上专
49、心-专注-专业图 4-3 系统主页面效果图关键代码说明当用户通过验证之后,就进入了 main.jsp 页面,在该页面中实例化一个操作对象 bdao,调用 bookBorrowSort()方法查询借阅的信息并保存在 ArrayList 集合中并返回到 main.jsp 中显示出来。主要代码如下:BorrowDao bdao=new BorrowDao();/实例化BorrowDao的一个对象bdaoArrayList al=bdao.bookBorrowSort();/调用 bdao 中的 bookBorrowSort()方法 ArrayList al = new ArrayList(); /创
50、建并实例化ArraryList对象 BorrowForm form = null;/声明BorrowForm对象 ResultSet rs = conn.executeQuery(sql); /执行查询语句while(rs.next())/查询出借阅的图书信息在系统主界面中,调用了数据库中的 tb_bookinfo、tb_borrow、tb_publishing 和 tb_booktype进行连接查询,将查询到的信息显示在 mian.jsp 页面上。4.3 图书借还模块图书借还模块4.3.1 图书借阅图书借阅登录系统之后,选择“图书借还/图书借阅”命令,进入到图书借阅页面,在该页面中的精选优质
51、文档-倾情为你奉上专心-专注-专业“读者卡号”文本框中输入读者卡号(如:004)后,单击“确定”按钮,系统就会自动检索出该读者的基本信息和未归还的借阅图书信息。如果找到对应的读者信息,就将其显示在页面中。因为图书编号是图书的唯一标识,有可能两个人会编写同一本书,此时输入图书编号之后,单击“确定”按钮,就完成了借书。图书借阅界面的运行结果如图 4-4 所示。图 4-4 图书借阅界面关键代码说明(1)不同类型的读者可以借阅不同的图书,并且该数量由读者类型表 tb_readerType 中的可借数量 number 决定,所以这里编写了自定义的 JavaScript 函数 checkbook(),用于
52、判断当前选择的读者是否还可以借阅新的图书,同时该函数还具有判断是否输入读者卡号的功能,代码如下:function checkbook(form)if(form.barcode.value=) /判断是否输入读者卡号alert(请输入读者卡号!);form.barcode.focus();return;if(form.inputkey.value=)/判断查询关键字是否为空alert(请输入查询关键字!);form.inputkey.focus();return;if(form.number.value-form.borrowNumber.value=0)/判断是否可以再借阅其他图书精选优质文档
53、-倾情为你奉上专心-专注-专业alert(您不能再借阅其他图书了!);return;form.submit(); /提交表单(2)当点击图书借阅这个命令时,首先进入的是 BorrowServlet 类中,调用 ReaderDao 类中的 queryM(readerform)方法查询出读者信息和 BorrowDao 类中的 borrowinfo()方法查询出读者的借阅信息。主要代码如下: readerform.setBarcode(request.getParameter(barcode);/获取读者卡号 ReaderForm reader = (ReaderForm) rdao.queryM(
54、readerform); /调用ReaderDao中的queryM方法查询读者信息 request.setAttribute(readerinfo, reader);/保存读者信息到request中request.setAttribute(borrowinfo,borrowdao.borrowinfo(request.getParameter(barcode);/查询读者的借阅信息在本模块中,将数据库表tb_reader和tb_readerType连接查询出读者信息。根据读者卡号,查询数据表tb_borrow和tb_bookinfo左连接查询出图书借阅信息,再分别和tb_publishing、
55、tb_bookcase连接查询出出版社信息和书架信息。4.3.2 图书续借图书续借登录系统之后,选择“图书借还/图书续借”命令,进入图书续借页面。界面有两个部分的设计,一是查询并显示读者的信息,二是用于显示读者的借阅信息和一个续借的超链接。在该页面中“读者卡号”文本框中输入读者的卡号(如 003) ,单击确定按钮,系统会自动检索出该读者的基本信息和未归还的借阅图书信息。如果找到对应的读者信息,就将其显示在页面中,此时单击“续借”超链接,即可续借指定图书(续借时间为一星期) 。图书续借界面的运行结果如图 4-5 所示。精选优质文档-倾情为你奉上专心-专注-专业图 4-5 图书续借界面关键代码说明
56、(1)在单击“续借”超链接时,还需要将读者卡号和借阅 ID 号一起传到图书续借的 Servlet控制类中,代码如下:ahref=/library/BorrowServlet?action=bookrenew&barcode=&id=续借(2)当点击图书续借这个命令时,它会跳到 BorrowServlet 这个类中,并传递一个action=bookrenew。BorrowServlet 类接收这个 action,并且与现有的 action 匹配,然后跳到与之相匹配的那个方法。调用 ReaderDao 类中的 queryM(readerform)方法查询读者信息和BorrowDao
57、 类中的 borrowinfo()方法查询借阅信息。/图书续借的方法 bookrenew()readerform.setBarcode(request.getParameter(barcode);/获取读者卡号ReaderForm reader = (ReaderForm) rdao.queryM(readerform);/根据读者卡号查询读者信息 request.setAttribute(readerinfo, reader);/保存读者信息到request中 request.setAttribute(borrowinfo,borrowdao.borrowinfo(request.getPa
58、rameter(barcode); /根据读者的卡号调用Dao中的方法查询读者的借阅信息/保存图书续借信息方法 renew()精选优质文档-倾情为你奉上专心-专注-专业 String sql0=SELECT bookid, backtime FROM tb_borrow WHERE id=+id+;/根据借阅 ID 查询图书 ID 的 SQL 语句 String sql1 = select t.days from tb_bookinfo b left join + tb_booktype t on b.typeid=t.id where b.id= +rs1.getInt(1) + ;/获取可
59、借天数的SQL语句String sql = UPDATE tb_borrow SET backtime= + backAddTime + where id= + id + ; /更新归还时间完成续借在本模块中,将数据库表 tb_reader 和 tb_readerType 连接查询出读者信息。根据读者卡号,查询数据表 tb_borrow 和 tb_bookinfo 左连接查询出图书借阅信息,再分别和tb_publishing、tb_bookcase 连接查询出出版社信息和书架信息。.3 图书归还图书归还登录系统之后,选择“图书借还/图书归还”命令,进入图书归还页面。界面有两个部
60、分的设计,一是查询并显示读者的信息,二是用于显示读者的借阅信息和一个归还的超链接。在该页面中“读者卡号”文本框中输入读者的卡号(如 003) ,单击确定按钮,系统会自动检索出该读者的基本信息和未归还的借阅图书信息。如果找到对应的读者信息,就将其显示在页面中,此时单击“归还”超链接,即可归还指定图书,图书归还界面的运行结果如图 4-6 所示。图 4-6 图书归还界面关键代码说明(1)在单击“归还”超链接时,还需要将读者卡号和借阅 ID 号和操作员一起传到图书归还的精选优质文档-倾情为你奉上专心-专注-专业Servlet 控制类中,代码如下:a href=BorrowServlet?action=bookback&barcode=&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年店铺长期租赁合同
- 2024年学校教官生活指导服务协议
- 室内设计师年终总结(30篇)
- 内科护士长的个人总结(3篇)
- 市场推广年度工作计划(3篇)
- 《人口老龄化对商业健康险需求的影响研究》
- 2024工程项目保密合同:共创双赢合作
- 《长笛界的双雄-朗帕尔与高尔威的音乐碰撞》
- 2024年技术咨询与实施合同
- 2024年度体育场馆看台彩钢瓦安装协议
- 《全国技工院校专业目录(2022年修订)》专业主要信息
- EM277的DP通讯使用详解
- 医学考博阅读强化3附答案
- 耐压绝缘测试报告
- 野兽派 beast 花店 调研 设计-文档资料
- 水泵房每日巡视检查表
- 杭州市区汽车客运站临时加班管理规定
- 垫片冲压模具设计毕业设计论文
- 冷库工程特点施工难点分析及对策
- Python-Django开发实战
- 小学道法小学道法1我们的好朋友--第一课时ppt课件
评论
0/150
提交评论