基于jsp的图书管理系统的设计与实现.doc_第1页
基于jsp的图书管理系统的设计与实现.doc_第2页
基于jsp的图书管理系统的设计与实现.doc_第3页
基于jsp的图书管理系统的设计与实现.doc_第4页
基于jsp的图书管理系统的设计与实现.doc_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分分 类类 号:号: 学校代码:学校代码: 学学 号:号: 本科生毕业论文本科生毕业论文 基于基于 JSPJSP 的图书管理系统的设计与实现的图书管理系统的设计与实现 Design and Development of Books Management System Based on JSP 所在院所在院( (系系) ): 学生姓名:学生姓名: 指导教师:指导教师: 研究起止日期:研究起止日期: II 学位论文独创性声明学位论文独创性声明 本人郑重声明: 1、坚持以“求实、创新”的科学精神从事研究工作。 2、本论文是我个人在导师指导下进行的研究工作和取得的研究成果。 3、本论文中除引文外,所有实验、数据和有关材料均是真实的。 4、本论文中除引文和致谢的内容外,不包含其他人或其它机构已经发 表或撰写过的研究成果。 5、其他同志对本研究所做的贡献均已在论文中作了声明并表示了谢意。 作者签名: 日 期: 年 月 II 摘摘 要要 随着计算机技术的发展以及计算机网络的逐渐普及。图书使用计算机管理成为必然,基于 jsp 的图书管理系统应运而生。 本系统利用 JSP 技术实现了一个基于 B/S 结构的图书管理系统,以 MySQL 为数据库平台, Tomcat 作为 WEB 服务器,采用 JavaBean、Servlet 技术进行开发。图书管理系统是以图书馆为 背景,该系统实现了设置模块、读者管理模块、图书管理模块、图书借还模块以及更改口令模 块功能,为管理员提供了图书的查询、借阅与图书归还等服务。本文对系统需求进行分析,对 系统的数据库进行了设计,并对系统功能模块的详细实现进行了介绍。 关关键词键词: : B/S 结构;JSP 技术;MySql; JavaBean; Servlet III Abstract With the development of computer technology and the growing popularity of the computer 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 technology 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 administrator 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 IV 目目 录录 1. 绪论1 1.1 选题背景.1 1.2 选题目的和意义.1 1.3 本论文主要研究内容.1 1.4 课题研究的预期结果.2 1.5 本章小结.2 2. 系统需求分析3 2.1 系统需求分析.3 2.1.1 用户需求分析.3 2.1.2 功能需求分析.3 2.1.3 性能需求分析.4 2.2 可行性分析.4 2.2.1 技术可行性分析.4 2.2.2 经济可行性分析.5 2.2.3 操作可行性分析.5 2.3 开发平台与技术.5 2.3.1 软件开发平台.5 2.3.2 系统硬件平台.7 2.4 本章小结.7 3. 系统总体设计8 3.1 系统总体架构设计.8 3.1.1 系统设置模块.8 3.1.2 读者管理模块.9 3.1.3 图书管理模块10 3.1.4 图书借还模块10 3.1.5 系统查询模块11 3.1.6 更改口令模块12 3.1.7 其他模块12 V 3.2 系统流程分析12 3.3 数据库设计13 3.3.1 系统数据权限说明13 3.3.2 数据库概念设计13 3.3.3 数据库逻辑结构设计15 3.4 本章小结18 4. 系统详细设计与实现.19 4.1 系统登录模块19 4.2 系统主界面20 4.3 图书借还模块21 4.3.1 图书借阅21 4.3.2 图书续借23 4.3.3 图书归还25 4.4 系统查询模块26 4.4.1 图书档案查询26 4.4.2 图书借阅查询28 4.4.3 借阅到期提醒29 4.5 本章小结30 5. 系统测试.31 5.1 测试要点31 5.2 测试用例31 5.2.1 登录模块测试31 5.2.2 图书管理模块测试32 5.2.3 读者管理模块测试32 5.2.4 图书借还模块测试33 5.2.5 系统查询模块测试34 5.3 本章小结34 6. 总结与展望.35 6.1 设计总结35 VI 6.2 展望35 致 谢.36 参考文献.37 2014 届本科毕业论文 1 1.1. 绪论绪论 1.11.1 选题背景选题背景 随着网络技术的高速发展和计算机应用的普及,利用计算机对图书馆的日常工作进行管理 势在必行。虽然目前很多大型的图书馆已经有一整套比较完善的管理系统,但是在一些中小型 的图书馆中,大部分工作仍需由手工完成,工作效率比较低,管理员不能及时了解图书馆内各 类图书的借阅信息,不便于动态及时地调整图书结构。为了更好的适应当前的读者借阅需求, 解决手工管理中存在的许多弊端,越来越多的中小型图书馆正在逐步向计算机信息化管理转变。 图书馆的图书管理是一件非常繁杂的工作,建立一套规范的体系来管理图书,不仅可以为图书 管理员减轻工作负担,而且提高工作效率,使图书管理工作规范化,系统化,程序化,避免图 书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情 况,这是非常有必要的。 1.21.2 选题目的和意义选题目的和意义 目的:随着科学技术的发展,数字化管理的优势日趋显著。针对中小型图书馆或图书室管 理落后的情况,运用计算机的独特优越性设计实现一个图书馆管理系统,可以给图书管理员在 图书管理方面提供以下几个优点:迅速检索出受欢迎的图书、查找编辑方便、数据可靠、较大 存储量、针对管理员保密性好、使用时间长、成本低等。这些优点很好的提高工作效率,使图 书馆管理实用化、正规化。 意义:图书管理系统的开发是一项有意义、发展潜力很大的工作,而与计算机在信息处理 功能方面的结合使用,更是为图书管理带来前所未有的改变,它可以带来意想不到的效益,同 时也会为企业的飞速发展提供无限潜力。采用计算机管理信息系统已成为图书管理科学化和现 代化的重要标志,它给企业管理来了明显的经济效益和社会效益。主要体现在: (1)提高图书管理员管理图书的效率,减少了以往借书流程繁琐,杂乱,周期长的弊端。 (2)基于图书管理的全面自动化,可以减少图书信息的添加和维护管理中的漏洞,可以节 约不少管理开支,增加企业收入。 1.31.3 本论文主要研究内容本论文主要研究内容 本系统采用动态 WEB 开发技术,JSP 用于页面显示部分, JDBC 用于数据库的连接,数据 库用于信息的存储。JSP 通过对数据库的数据处理,实现图书馆图书的管理。在 MyEclipse 开发 环境下,以 J2EE 为平台,运用 JSP 网络编程语言和 MySQL 数据库完成了 B/S 模式的图书管理 2014 届本科毕业论文 2 系统。 本系统主要实现的功能有查询、借阅、信息管理,其中信息管理为重点,包括对图书档案、 读者档案、借阅信息等的管理。通过对信息输入、编辑(增加、删除、查询、修改)等功能完 成对图书信息、读者信息和借阅信息的操作管理。 1.41.4 课题研究的预期结果课题研究的预期结果 通过此系统能实现对图书馆书籍、读者资料以及借还书操作的高效管理,系统最终能实现 如下功能:系统信息的设置,读者信息和类型的编辑;图书信息和类型的编辑;图书的借阅、 续借和归还;图书档案、借阅档案和借阅到期提醒的查询。 本课题设计出一个完整的,实用的图书管理系统,并对系统功能详细设计与实现进行了阐 述,对系统的流程图、ER 图进行了抽象绘制,并对数据库设计进行了详细设计。 1.51.5 本章小结本章小结 1介绍了选题的背景; 2介绍了选题目的和意义; 3对本论文的主要内容进行了概括,课题研究的预期结果进行分析。 2014 届本科毕业论文 3 2.2. 系统需求分析系统需求分析 随着计算机网络的发展,越来越多的人利用计算机网络实现所需服务,网络已深深影响到 人们生活的各个方面。基于 JSP 的图书馆管理系统不仅具有传统图书馆的大部分功能,而且能 够满足各类用户的常规与特殊需求,而且操作快捷,实现技术又比较成熟,因此受到人们的喜 爱。 该系统主要是为图书管理员设计的,为了方便管理员对图书及读者信息进行管理,对本系 统进行了详细的需求分析。管理员不仅可以对图书的档案和读者的档案进行编辑查找,还可以 帮助读者对图书进行借阅、续借和归还。管理员还可以根据借阅和归还的时间查询出将要到期 的图书,提醒用户归还图书。 2.1 系统需求分析系统需求分析 正确的需求分析是重要的基础和必要的步骤,它决定了系统是成功还是失败。如果没有进 行恰当的需求分析,系统就失去了它的完整意义和价值。为了使本系统能够更好、更完善地被 设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统的功能进行细致的分析, 这样才能够开发出完整的系统设计。 .1 用户需求分析用户需求分析 博学图书馆管理系统为管理员建立一个突破时间、突破地域限制的平台,补充因人力造成 的不足,提高图书管理的效率。 本系统采用超级管理员和一般管理员划分机制,即用户身份为:超级管理员和一般管理员 两种,系统对其各自的功能作用进行划分和限定。超级管理员有使用系统所规定的的所有功能 的权限;超级管理员可以对一般管理员进行权限设置。 .2 功能需求分析功能需求分析 博学图书馆管理系统为图书管理员提供了一个非常方便快捷的平台。管理员可以浏览图书 借阅排行,对图书和读者的信息进行编辑,管理借阅者图书的借阅、归还和续借操作。 系统应该实现的功能如下:系统应该实现的功能如下: 1登录模块:登录模块:需要输入管理员名称和密码,进入系统。 2系统设置模块:系统设置模块: 1)图书馆信息:显示图书馆的一些基本信息,对图书馆信息的添加,修改和删除。 2)管理员设置:管理员的权限进行设置、管理员删除和添加管理员。 3)参数设置:办证费和期限的设置。 2014 届本科毕业论文 4 4)书架设置:书架信息进行查询、修改、删除和添加。 3图书管理模块:图书管理模块: 1)图书类型管理:查询出所有的图书类型,对图书类型进行添加、修改和删除。 2)图书档案管理:查询出所有的图书档案信息,对图书档案信息进行添加、修改和删除。 4读者管理模块:读者管理模块: 1)读者类型管理:查询出所有的读者类型,对读者类型进行添加、修改和删除。 2)读者档案管理:查询出所有的读者档案信息,对读者档案信息进行添加、修改和删除。 5图书借还模块:图书借还模块: 1)图书借阅:查询并显示读者信息,添加读者借书信息。 2)图书续借:查询并显示读者信息,增加图书借阅期限。 3)图书归还:查询并显示读者信息,完成图书归还。 6系统查询模块:系统查询模块: 1)图书档案查询:根据查询条件,查询出图书档案信息。 2)图书借阅查询:根据查询条件,查询出图书借阅情况。 3)图书到期提醒:根据查询条件,查询出要到期的图书情况。 .3 性能需求分析性能需求分析 操作简单:本系统应便于一般人的使用,系统不应太复杂和繁琐,因此要求系统的操作尽 可能简单易行。 实时性:为了展现实时性这个特点,博学图书馆管理系统采用精确的时间,及时更新图书 借阅信息和图书排行榜信息。 代码可读性好:文中的代码尽可能简洁,易懂。 可维护性:本系统设计简洁,具有很好的可维护性。 针对性:本系统是针对学校图书馆的管理系统,操作简单,具有一定的针对性。 2.2 可行性分析可行性分析 可行性分析(Feasibility Analysis)也称为可行性研究,可行性研究的目的就是用最小 的代价,在尽可能短的时间内确定问题是否能够解决。为此,有必要在用户的需求基础上提出 若干种可能的系统实现方案,对每种方案都从技术、经济、操作等方面进行可行性分析。 2014 届本科毕业论文 5 .1 技术可行性分析技术可行性分析 技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。 本系统采用 JSP 开发友好美观的人机界面,便于用户理解、操作。MySQL 用于数据库管理,存储 量大,能保持数据的完整性和安全性。因此本系统的开发平台已成熟可行。硬件方面,硬件更 新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满 足本系统所需。 .2 经济可行性分析经济可行性分析 首先由于现有的 PC 系统的软硬环境都能满足目标系统的运行需要,无需再投入资金购买其 他设备。其次 Tomcat 作为 WEB 服务器,MySQL 作为数据库,JSP 作为服务器端脚本解释器。而 这三个软件的源码都是开放的,均可在网上自行下载,因此使用这种方式建立网站的成本很低。 .3 操作可行性分析操作可行性分析 博学图书馆管理系统通过运行实践,其操作基本无误。管理员通过一定的规章制度对数据 进行管理和维护,以确保其能够满足用户的需求。本系统在操作上是可行的。 综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。 因此系统的开发是完全可行的。 2.32.3 开发平台与技术开发平台与技术 .1 软件开发平台软件开发平台 选择合适的软件对于一个系统的整体性有很大影响,博学图书馆管理系统中软件平台的选 择包括操作系统,Web 服务器软件及数据库的选择。 本论文的图书馆管理系统的开发框架选择具有代表性的 MVC 框架(JSP 1+ Servlet +JavaBean)进行架构,以 Windows XP 作为操作系统,以 Tomcat 为 WEB 服务器,以 MySQL 为后 台数据库,使用 JSP 语言进行程序开发,开发工具包使用 JDK,以实现与数据库的连接和前端浏 览器的控制。 1.MVC 模型模型 MVC 模式将交互式应用分成模型(Model) 、视图(View)和控制器(Controller)三部分, 是软件开发过程中比较流行的设计思想。模型是封装应用程序的数据结构和事务逻辑,集中体 现应用程序的状态,当数据状态改变时,能够在视图里体现出来。模型是实际进行数据处理的 计算的地方,它封装了数据和对数据的操作。视图是应用和用户之间的接口,它负责将应用显 2014 届本科毕业论文 6 现给用户和显示模型的状态。控制器负责视图和模型之间的交互,控制对用户输入的响应响应 方式和流程,它主要负责 两方面的动作:把用户 的请求分发到相应的模 型;将模型的改变及时 反应到视图上。MVC 将这 些对象分离以提高灵活 性和复用性。MVC 模式的结 构如图 2-1 所示: 图 2-1 MVC 设计模式的结构图 2. B/S 结构结构 本系统采用的是 B/S 浏览器/服务器模式,即一种从传统的二层 C/S 模式发展起来的新的网 络结构模式。在 B/S 模式中,客户端运行浏览器软件。浏览器访问数据库是向 WEB 服务器提出 的要求以超文本形式,WEB 服务器接受客户端请求后,将这个请求转化为 SQL 语法,并交给数据 库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果 返回给 WEB 服务器,WEB 服务器再一次将得到的所有结果进行转化,变成 HTML 文档形式,转发 给客户端浏览器,以友好的 WEB 页面形式显示出来。如图 2-1 所示。 Web Browser Web Browser Web Browser WEB 服务器 数据库服务器 2014 届本科毕业论文 7 图 2-2 B/S 工作模式 3. JDBC JDBC 是使用内嵌式的 SQL,由一组 Java 语言编写的类和接口组成,主要实现三方面的功 能:建立与数据库的连接,执行 SQL 声明以及处理 SQL 执行结果。JDBC 可方便地与不同的关系 型数据库建立连接,进行相关操作,支持基本的 SQL 功能。 4. MySQL 概述概述 MySQL2是一个多用户、多线程的 SQL 数据库,是一个客户机/服务器结构的应用,很多中 小型网站为降低成本选择 MySQL 是由于其体积小、速度快、总体拥有成本低,尤其是开放源码 这一特点。MySQL 有其独特的优越性:支持多种编译器进行测试,保证源代码的可移植性; 支 持多线程,充分利用 CPU 资源;采用优化的 SQL 算法,有效提高查询效果;提供管理、检查、 优化数据库操作的管理工具,使得其运用范围更加广泛。 5. Servlet Servlet3是运行在 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-3 Servlet 结构图 .2 系统硬件平台系统硬件平台 软硬件平台的选择是本系统建设中遇到的首要问题,不同的软硬件对于系统的整体性能有 很大的影响。硬件平台由主机系统、传输介质、网卡和联网设备组成,另外还包括防火墙、网 络打印机等附加设备。 不同的硬件平台有不同的优缺点,使用何种硬件是设计过程中最关键的决策之一。本系统 客户端 Jsp Servlet 2014 届本科毕业论文 8 在目前的阶段对硬件系统的要求比较低,现在电脑的配置一般都能满足。但是,如果是在投入 大规模实际使用时将有较高的硬件要求,而且软件要靠硬件来支撑,软件与硬件结合起来才能 完成各种功能,这时,硬件部分也必须考虑。 本系统的硬件包括一台 Pentium 4 cpu 以上的微机及兼容的 CPU,512MB 以上(最好 1GB 内 存)的内存和 VGA 彩显一台的显示屏。 2.4 本章小结本章小结 1对系统进行了需求分析,分别从用户需求、系统功能和性能需求三个方面进行全面分析。 2对系统进行可行性分析,包括技术可行性、经济可行性和操作可行性分析。 2014 届本科毕业论文 8 3.3. 系统总体设计系统总体设计 3.1 系统总体架构设计系统总体架构设计 根据图书馆管理需求的需求分析,设计出本管理系统有六大功能模块,一是用于设置系统 的一些基础参数,主要包括图书馆信息、管理员设置、参数设置、书架设置的系统设置模块; 二是用于对读者类型和读者档案信息进行增删改查的读者管理模块;三是用于用于对图书类型 和图书信息进行增删改查的图书管理模块;四是用于实现图书的借阅、续借和归还等功能的图 书借阅模块;五是用于实现图书和借阅信息的查询,主要包括图书档案查询、图书借阅查询、 借阅到期提醒的系统查询模块;六是于修改管理员的密码的更改口令模块。因此,图书馆管理 系统的整体架构设计图如 3-1 所示: 图 3-1 系统总体结构图 .1 系统设置模块系统设置模块 在本模块中包含四个小模块:图书馆信息、管理员信息设置、书架设置和参数设置。系统 设置模块的设计结构图如图 3-2 所示。 1图书馆信息:显示图书馆的一些基本信息,对图书馆信息进行编辑。 2管理员设置:显示图书管理员,对图书管理员进行权限的设置、添加和删除。 3书架设置:包括书架名称的添加,修改以及删除功能。 4参数设置:对办证的费用和期限进行修改。 图书馆管理系统 系统设置读者管理图书管理图书借还系统查询 图 书 馆 信 息 管 理 员 设 置 参 数 设 置 书 架 设 置 读 者 类 型 管 理 读 者 档 案 管 理 图 书 类 型 管 理 图 书 档 案 管 理 图 书 借 阅 图 书 续 借 图 书 归 还 图 书 档 案 查 询 图 书 借 阅 查 询 借 阅 到 期 提 醒 更 改 口 令 退 出 系 统 2014 届本科毕业论文 9 图 3-2 系统设置模块结构图 3.1.2 读者管理模块读者管理模块 在本模块中包含两个小模块:读者类型管理和读者档案管理。读者管理模块的设计结构图 如图 3-3 所示。 图 3-3 读者管理模块结构图 读者管理 读者类型设置 添加读者类型 读者档案管理 删除读者类型 添加读者档案 删除读者档案 修改读者类型 修改读者档案 系统设置 图书馆信息 修改图书馆信息 书架设置 删除图书馆信息 添加书架 删除书架 添加图书馆信息 修改书架 参数设置 管理员设置 添加管理员 删除管理员 修改权限 保存参数信息 2014 届本科毕业论文 10 1.读者类型管理:包括读者类型的添加和现有读者类型的修改及删除。 2.读者档案管理:包括现有读者信息的查询,新读者信息的添加,现有读者信息的修改及删 除。 3.1.3 图书管理模块图书管理模块 在本模块中包含两个小模块:图书类型管理和图书档案管理。读者管理模块的设计结构图 如图 3-4 所示。 图 3-4 图书管理模块结构图 1.图书类型设置:包括现有图书类型信息的查询,新图书类型的添加和现有图书类型的修改 及删除。 2.图书档案管理:包括现有图书相关信息的查询,新图书信息的添加和现有图书信息的修改 及删除。 3.1.4 图书借还模块图书借还模块 在本模块中包含两三个小模块:图书借阅、图书续借和图书归还。图书借还模块的设计结 构图如图 3-5 所示。 图书管理 图书类型设置 添加图书类型 图书档案管理 删除图书类型 添加图书档案 删除图书档案 修改图书类型 修改图书档案 2014 届本科毕业论文 11 图 3-5 图书借还模块结构图 1图书借阅:根据读者卡号查询读者信息和借阅信息,再根据图书编号借阅图书。即数据 库中插入一条借书记录,该记录包括读者 ID、图书 ID、借出日期、还书期限及相关其它信息。 2图书归还:主要功能是输入读者卡号查询读者信息和为归还的图书信息,点击归还超链 接,归还图书。 3图书续借:完成续借相关功能,输入读者卡号和图书编号,完成续借过程。 3.1.5 系统查询模块系统查询模块 在本模块中包含两三个小模块:图书档案查询、图书借阅查询和借阅到期提醒。系统查询 模块的设计结构图如图 3-6 所示。 图 3-6 系统查询模块结构图 图书借还 图书借阅 查询读者信息 图书归还 图书续借 借阅图书 查询读者信息 续借图书 查询读者信息 归还图书 系统查询 图书档案查询 图书借阅查询 借阅到期查询 2014 届本科毕业论文 12 1图书档案查询:根据相应的图书信息对所有书籍进行所需查询。此查询包括:图书编 号 、 图书类别 、 图书名称 、 作者 、 出版社及书架 。 2图书借阅查询:根据相应的借阅信息进行所需查询。此查询包括:图书编号 、 读者 卡号 、 读者名称及借阅时间 。 3借阅到期提醒:根据相应的图书信息归还日期进行查看是否到期。 3.1.6 更改口令模块更改口令模块 在本模块中,主要实现管理员密码的更改功能。 3.1.7 其他模块其他模块 1首页显示图书借阅排行榜; 2左端显示今日日期时间; 3 最下端显示一些提示信息。 3.2 系统流程分析系统流程分析 进入本系统首先进行身份验证,本系统设置了两种用户:超级管理员和一般管理员。验证 成功后方可进入系统模块根据需要进行相关操作。如图 3-7 所示,用户输入用户名和密码,通 过连接数据库,检查正确性,若输入不正确,系统提示重新输入;否则按数据库权限进入相应 子系统。 2014 届本科毕业论文 13 启动程序 输入用户 名和密码 连接数据库 检验正确性 判断权限 超 级 管 理 员 进入子系统 结束 一 般 管 理 员 YES NO 图 3-7 系统总体流程图 图 3-8 系统子模块流程图 进入相应子系统后(如图 3-8 所示) ,按实际的需求进行功能选择,然后根据功能菜单进一 步操作。操作完之后,若需要继续使用子系统的功能,则点击相应的子功能菜单进行操作。 3.3 数据库设计数据库设计 .1 系统数据权限说明系统数据权限说明 本系统有两种用户:超级管理员与一般管理员。根据系统设计和功能模块分析,超级管理 员有本系统的所有模块的使用权限,一般管理员有本系统模块中的一个或两个或全部的使用权 限。一般管理员的权限需要由超级管理员进行权限设置,方可登录系统进行操作。 .2 数据库概念设计数据库概念设计 根据图书馆管理系统的功能需求,通过分析数据库,得到相应的数据项和数据结构,设计 进入子系统 功能选择 功能菜单选择 输入 / 输出操作 是否继续 NO 返回主界面 YES 2014 届本科毕业论文 14 出能够满足用户需求的各种实体,为后面的逻辑结构设计打下基础。以下给出几个重要实体 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 所示。 图书 图书编号 图书 id 书架 类型 书名 作者 页码 译者 读者 id 姓名 性别 证件号码 卡号 读者 出生日期 有效证件 职业 2014 届本科毕业论文 15 图 3-11 借阅档案实体 E-R 图 4.归还档案实体 归还档案实体包括归还 id、读者卡号、图书编号、归还时间和操作员等属性。归还档案实 体 E-R 图如图 3-12 所示。 图 3-12 归还档案实体 E-R 图 .3 数据库逻辑结构设计数据库逻辑结构设计 数据库的逻辑结构设计是在数据库概念结构设计完成后,由数据库概念结构转化而来的。 一个符合规范的数据库设计不仅可以在设计的时候让程序设计员逻辑更为清晰,更能让分析程 序的人容易理清数据间的关系。本系统数据库采用 MySQL 数据库,系统数据库名称 db_library,其中包含 12 张数据表来实现对对数据的存储、调用。 1图书信息表(图书 ID,图书名称,图书类型,作者,译者,ISBN 号,价格,出版社, 所在书架,入库时间,操作员) 2图书类型表(图书类型 ID,名称,可借阅天数) 3读者信息表(读者 ID,姓名,性别,读者卡号,读者类型,出生年月,有效证件,证件 读者卡号 图书编号 借阅时间 借阅 id 应还时间借阅 是否归还操作员 归还 读者卡号 归还 id归还时间 图书编号 操作员 2014 届本科毕业论文 16 号码,登记日期,电话,邮箱,操作员) 4读者类型表(名称,可借阅图书本数) 5图书借阅信息表(图书 ID,读者 ID,借出时间,应还时间,是否归还,操作员) 6图书归还信息表(图书 ID,读者 ID,归还时间,操作员) 7管理员信息表(管理员名称,密码) 8图书馆信息表(图书馆 ID,名称,馆长,电话,地址,邮箱,创建日期,简介) 9书架设置表(书架 ID,书架名称) 10出版社信息表(ISBN,出版社名称) 11参数设置表(参数 ID,办证费,有效期限) 12权限表(管理员 ID,系统设置,读者管理,图书管理,图书借还、系统查询) 系统逻辑结构设计,如表 4-1 至表 4-6 所示。 表 4-1 图书信息表(tb_bookinfo) 字段名称属性长度说明 barcodeVarchar30图书编号 booknameVarchar70书名 authorVarchar30作者 translatorVarchar30译者 ISBNVarchar20出版社 priceFloat8,2图书价格 bookcase varchar 10图书所在书架 pageInt10图书页数 inTimeDATE录入时间 operatorVarchar30操作员 delTinyint1是否删除 typeidInt10类型 idInt11key(id 自动编号) 图书信息表用于存储图书馆中的图书相关信息,其中的相关信息是在由操作员进行添加完 善,此表主要用于图书管理员对馆中图书的。 2014 届本科毕业论文 17 表 4-2 图书借阅信息表(tb_borrow) 图书借阅信息表用来保存图书借阅信息,方便修改图书借阅信息。 表 4-3 图书归还信息表(tb_giveback) 字段名称属性长度说明 Idint10Key(id 自动编号) readeridint11读者 id bookidint11图书 id backTimeDATE归还时间 operatorvarchar30操作员 图书归还信息表用来保存图书归还信息,方便修改图书归还信息。 表 4-4 读者信息表(tb_reader) 字段名称属性长度说明 idInt10Key(id自动编号) nameVarchar30姓名 sexVarchar4性别 barcodeVarchar30读者编号 vocationVarchar50职业 birthdayDATE出生日期 paperTypeVarchar10有效证件 paperNOVarchar20证件号码 telVarchar20电话 EmailVarchar100电子邮件 createDateDATE登记日期 operatorVarchar30操作员 remarkTEXT备注 typeidInt 11类型 图书归还信息表用来保存图书归还信息,方便修改图书归还信息。 字段名称属性长度说明 idint10Key(id自动编号) readeridint10读者 id bookidint10图书 id borrowTimeDATE借书时间 backtimeDATE应还时间 operatorvarchar30操作员 IfbackTinytin1是否归还 2014 届本科毕业论文 18 表 4-5 图书馆信息表(tb_library) 字段名称属性长度说明 IdInt Unsigned10Key(id 自动编号) LibrarynameVarchar50图书馆名称 CuratorVarchar10馆长 TelVarchar20电话 AddressVarchar100联系地址 EmailVarchar100联系邮箱 UrlVarchar100图书馆网址 createDateDATE建馆时间 IntroduceTEXT图书馆简介 图书馆信息表用来保存图书馆信息,方便修改图书馆信息。 表 4-6 权限表(tb_purview) 字段名称属性长度说明 IdInt11Key(管理员 id 号) syssetTinyint1系统设置 readersetTinyint1读者管理 booksetTinyint1图书管理 borrowbackTinyint1图书借还 sysqueryTinyint1系统查询 权限表用来保存管理员的权限信息,该表中的 id 字段与管理员信息表中的 id 字段相关联。 3.43.4 本章小结本章小结 1本章介绍了博学图书馆管理系统的总体架构设计,以及各模块实现的主要功能; 2根据管理员的权限进行了流程分析; 3分析数据库的概念与逻辑结构设计; 4分析了系统的开发平台和相关技术。 2014 届本科毕业论文 19 4.4. 系统详细设计与实现系统详细设计与实现 本章对图书馆管理系统图书借还模块中的图书借还、图书续借和图书归还以及系统查询中 的图书档案查询、借阅信息查询和到期提醒查询,给出了详细的实现过程、关键代码说明和效 果图。在本章的首页,首先介绍了系统登录的实现,数据库的链接,具体介绍如下所示。 4.1 系统登录模块系统登录模块 本系统需要先登录才能进入操作模块,进入相应的模块后管理员可进行相关操作,登录时 先输入用户名和密码,当点击【登录】按钮后就会对管理员的名称和密码进行验证,若用户名 与密码正确,则进入主界面进行相应的模块操作;如果未输入用户名、密码或者输入有误,系 统会通过 JavaScript 进行判断,并给予提示信息。系统登陆页面实现效果图如 4-1 所示。 图 4-1 系统登录界面 关键代码说明 (1)在进入主页面之前,首先对输入的数据进行验证。编写自定义的 JavaScript 函数,用于管 理员名称和密码的非空判断。 function check(form) if (.value=“) alert(“请输入管理员名称!“);.focus();return false; /判断管理员名称是否为空 if (form.pwd.value=“) alert(“请输入管理员密码!“);form.pwd.focus();return false; /判断管理员密码是否为空 (2)在验证之前,要对数据库进行连接,在文件 ConnDB.java 进行数据库的连接,关键代码 如下: 2014 届本科毕业论文 20 public class ConnDB public Connection conn = null; public Statement stmt = null; public ResultSet rs = null; String url=“jdbc:mysql:/localhost:3306/db_library?useUnicode=true 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; 连接上数据库之后,就调用数据库中的tb_manager表进行匹配。匹配成功之后就进入系 统的主界面,匹配失败就跳到error.jsp页面提示你输入的管理员名称或管理员密码有误如图 4-2所示。 图4-2 登录错误提示图 4.2 系统主界面系统主界面 管理员通过“系统登录”模块的验证后,可以登录到图书馆管理系统的主界面。系统主界 面主要包括 Banner 信息栏、导航栏、排行榜和版权信息 4 部分。其中,导航栏中的功能菜单将 根据登录管理员进行显示。例如,系统管理员 mr 登录后,将拥有整个系统的全部功能,因为它 是超级管理员,并在 Banner 信息栏显示当前登录的用户。系统主界面实现具体效果图 4-3 所示。 2014 届本科毕业论文 21 图 4-3 系统主页面效果图 关键代码说明 当用户通过验证之后,就进入了 main.jsp 页面,在该页面中实例化一个操作对象 bdao,调 用 bookBorrowSort()方法查询借阅的信息并保存在 ArrayList 集合中并返回到 main.jsp 中显示 出来。主要代码如下: BorrowDao bdao=new BorrowDao();/实例化BorrowDao的一个对象bdao ArrayList al=bdao.bookBorrowSort();/调用 bdao 中的 bookBorrowSort()方法 ArrayList al = new ArrayList(); /创建并实例化 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 图书借阅图书借阅 登录系统之后,选择“图书借还/图书借阅”命令,进入到图书借阅页面,在该页面中的 “读者卡号”文本框中输入读者卡号(如:20140505000004)后,单击“确定”按钮,系统就 会自动检索出该读者的基本信息和未归还的借阅图书信息。如果找到对应的读者信息,就将其 2014 届本科毕业论文 22 显示在页面中。因为图书编号是图书的唯一标识,有可能两个人会编写同一本书,此时输入图 书编号之后,单击“确定”按钮,就完成了借书。图书借阅界面的运行结果如图 4-4 所示。 图 4-4 图书借阅界面 关键代码说明 (1)不同类型的读者可以借阅不同的图书,并且该数量由读者类型表 tb_readerType 中的可 借数量 number 决定,所以这里编写了自定义的 JavaScript 函数 checkbook(),用于判断当前选择的 读者是否还可以借阅新的图书,同时该函数还具有判断是否输入读者卡号的功能,代码如下: 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 2014 届本科毕业论文 23 (2)当点击图书借阅这个命令时,首先进入的是 BorrowServlet 类中,调用 ReaderDao 类 中的 queryM(readerform)方法查询出读者信息和 BorrowDao 类中的 borrowinfo()方法查询出读者 的借阅信息。主要代码如下: readerform.setBarcode(request.getParameter(“barcode“);/获取读者卡号 ReaderForm reader = (ReaderForm) rdao.queryM(readerform); /调用 ReaderDao中的queryM方法查询读者信息 request.setAttribute(“readerinfo“, reader);/保存读者信息到request中 request.setAttribute(“borrowinfo“,borrowdao.borrowinfo(request.getPar ameter(“barcode“);/查询读者的借阅信息 在本模块中,将数据库表tb_reader和tb_readerType连接查询出读者信息。根据读者卡号, 查询数据表tb_borrow和tb_bookinfo左连接查询出图书借阅信息,再分别和 tb_publishing、tb_bookcase连接查询出出版社信息和书架信息。 4.3.2 图书续借图书续借 登录系统之后,选择“图书借还/图书续借”命令,进入图书续借页面。界面有两个部分的 设计,一是查询并显示读者的信息,二是用于显示读者的借阅信息和一个续借的超链接。在该 页面中“读者卡号”文本框中输入读者的卡号(如 20140505000003) ,单击确定按钮,系统会自 动检索出该读者的基本信息和未归还的借阅图书信息。如果找到对应的读者信息,就将其显示 在页面中,此时单击“续借”超链接,即可续借指定图书(续借时间为一星期) 。图书续借界面 的运行结果如图 4-5 所示。 图 4-5 图书续借界面 2014 届本科毕业论文 24 关键代码说明 (1)在单击“续借”超链接时,还需要将读者卡号和借阅 ID 号一起传到图书续借的 Servlet 控制类中,代码如下: /获取读者卡号 ReaderForm reader = (ReaderForm) rdao.queryM(readerform);/根据读者卡号 查询读者信息 request.setAttribute(“readerinfo“, reader);/保存读者信息到request中 request.setAttribute(“borrowinfo“,bo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论