1、 基于 JSP 的学校图书馆管理系统的设计与实现 井冈山大学毕业设计 I JINGGANGSHAN UNIVERSITY 本科毕业论文(设计) 题目 基于 JSP 的学校图书馆管理系统的设计与实现 学 院 电子与信息工程学院 专 业 软件工程 班 级 2008 级软件工程本 (1)班 姓 名 蔡长炜 学 号 80914029 指导教师 郭于明 起讫时间 2012.1 2012.5 基于 JSP 的学校图书馆管理系统的设计与实现 井冈山大学毕业设计 II 摘 要 二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。如何获取信息?图书是我们最好的获取信息的方式,但由
2、于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来。迫使人们起用新的管理方法来管理图书,如何把图书管理员从繁重的工作中解脱出 来呢? 图书馆管理系统是学校管理机制中的重要组成部分,通过对图书馆管理系统的运行管理机制进行调查研究,开发了此图书馆系统。本系统中实现了学校图书管理事务中的常用基本问题以及相关统计工作。本系统中包含 6 个功能模块:读书借阅,读者管理,图书管理,系统查询,系统设置和更改口令。 本系统使用 jsp 进行网页界面的设计,使用 MVC 设计模式,采用了开源框架 Struts,它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。
3、本系统中通过 JDBC 驱动和数据库进行无缝连接,后端的数据库是 MySQL,也是一个开源的数据库系统,该数据库具有较高的完整性,一致性和安全性。 关键词 :图书馆管理 MySQL JSP Struts Abstract 21 centuries is resources that information that society, social most in conduct and actions in information, will become the strategy resources cause the extensive concern in people.How to o
4、btain the information?Books is work that the way that we obtain the information bestly, but collect and keep to have great capacity the big increment because of the library books, make traditional books managing person increasingly heavy to get up.Forcing people rises to manage the books with the ne
5、w management method, howing to set free out the books the managing person from the heavy work? The management system of the library takes an important role in the administration of school organization. I desigen the system after the thorough investigations about the library management systems mechan
6、ism. This system contains with six functional modules: book borrowing, reader management, booksmanagement , system query, system setting, and change the password. The system is contrived with Java Server Pages Techonolege as well as Struts, the software design mode of MVC with open source framework
7、techonolege, which makes this system have the advantages of efficiently designed with beauteous and friendly interface . This system use jdbc driver to connect the mysql database server, which is also an open source database system for its users. The batabase was desigend with highly integrity, secu
8、rity, and consistency. Keyword: Library Management MySQL JSP Struts 基于 JSP 的学校图书馆管理系统的设计与实现 井冈山大学毕业设计 III 目 录 第 1章 绪论 . - 1 - 1.1.1 图书管理的现状 . - 1 - 1.1.2 现有图书馆管理系统现状 . - 2 - 1.2 选题的目的及意义 . - 3 - 1.3 课题研究的主要内容 . - 3 - 第 2章 系统开发工具及相关技术 . - 4 - 2.1 JSP 技术 . - 4 - 2.2 JDBC . - 4 - 2.3 Servlet . - 5 - 2.
9、4 MySQL . - 5 - 2.5 TOMCAT . - 5 - 2.6 MyEclipse . - 5 - 2.7 B/S 结构 . - 6 - 2.8 本章总结 . - 6 - 第 3章 系统需求分析 . - 7 - 3.1 可行性分析 . - 7 - 3.1.1 技术可行性 . - 7 - 3.1.2 经济可行性 . - 7 - 3.2 系统实现的目标 . - 8 - 3.3 系统功能分析 . - 8 - 3.4 系统流程图分析 . - 8 - 3.5 开发及运行的环境 . - 9 - 3.5.1 硬件环境 . - 9 - 3.5.2 软件环境 . - 9 - 3.6 设计模式分析
10、. - 10 - 第 4章 系统 设计 . - 11 - 4.1 系统功能设计 : . - 11 - 4.1.1 总体功能设计 . - 11 - 4.1.2“图书借还”模块设计 . - 12 - 4.1.3“读者管理”模块设计 . - 12 - 4.1.4“图书管理”模块设计 . - 13 - 4.1.5“系统查询”模块设计 . - 13 - 基于 JSP 的学校图书馆管理系统的设计与实现 井冈山大学毕业设计 IV 4.1.6“系统设置”模块设计 . - 14 - 4.1.7“更改口令”模块设计 . - 14 - 4.1.8 其他功能设计 . - 14 - 4.2 系统数据库设计 . - 14
11、 - 4.2.1 数据总体结构设计 . - 14 - 4.2.2 图书信息表结构设计 . - 16 - 4.2.3 图书类型信息表结构设计 . - 16 - 4.2.4 读者信息表结构设计 . - 17 - 4.2.5 读者类型信息表结构设计 . - 17 - 4.2.6 图书借阅信息表结构设计 . - 18 - 4.2.7 图书归还信息表结构设计 . - 18 - 4.2.8 管理员信息表结构设计 . - 18 - 4.2.9 图书馆信息表结构设计 . - 19 - 4.2.10 书架信息表结构设计 . - 19 - 4.2.11 出版社信息表结构设计 . - 20 - 4.2.12 权限信
12、息表结构设计 . - 20 - 第 5章 系统实现 . - 21 - 5.1 数据库操作类的实现 . - 21 - 5.2 登录模块实现 . - 23 - 5.3 图书馆主界面模块的实现 . - 24 - 5.4 图书借还功能模块的实现 . - 26 - 5.5 读者 管理 功能模块的实现 . - 30 - 5.6 图书管理功能模块的实现 . - 34 - 5.7 系统查询功能模块的实现 . - 39 - 5.8 系统管理功能模块的实现 . - 43 - 第六章 软件测试 . - 48 - 6.1 软件测试的方法与步骤 . - 48 - 6.2 测试用例设计与测试用例的运行过程及测试结果分析
13、. - 49 - 6.2.1 模块测试 . - 49 - 6.2.2 集成测试 . - 50 - 6.2.3 验收测试 . - 51 - 6.3 评价 . - 51 - 第七章 总结 . - 52 - 致 谢 . - 53 - 参考文献 . - 54 - 基于 JSP 的学校图书馆管理系统的设计与实现 第 1 章 绪论 随着计算机技术的发展以及计算机网络的逐渐普及, Internet 英特网成为人们查找信息的重要场所。二十一世纪是信息的时代,所以信息的交换和信息流通显得特别重要。因此,图书馆使用计算机来管理成为必然。 图书馆在正常运营中总是面对大量的读者信息,书籍信息以及由两者相 互作用产生的
14、借书信息,还书信息。因此图书管理信息化是发展的必然趋势。用结构化系统分析与设计的方法,建立一套有效的图书信息管理系统,可以减轻工作,将工作科学化、规范化,提高了图书馆信息管理的工作质量,因此根据图书馆目前实际的管理情况开发一套图书馆管理系统是十分必要的。 1.1 课题现状分析 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其 对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系
15、统的开发是系统管理的前提。 基于上面,有必要建立一个基于 JSP 的图书馆管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。 1.1.1 图书管理的现状 一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书管理系统广泛使用之前,借书和还书过程主要依靠手工。 一个 最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信
16、息。这样借书过程就完成了。还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。 随着近年来信息技术及计算机网络技术的不断发展, 图书馆也先从传统的图书馆发展到自动化图书馆,再发展到今天的数字图书馆,这些变化使得图书馆的形象越来越现代化,人们查找资料也更加方便。对 于一些小图书馆基于 JSP 的学校图书馆管理系统的设计与实现 和一些图书室来说,由于工作人员比较少,长期以来 , 作为图书馆的主要工作 图书借阅一直未能很好地开展。在平常的图书借阅工作中, 由于大部分读者不熟悉图书馆藏书,且对图书排架分类的不了解,往往花费很长时间
17、才能找到其所需的书。为提高管理效率,更好地为读者服务,利用已有的办公局域网络条件,将馆藏书籍做成基于 JSP 的查询系统,实现图书在一个单位的网络内甚至 Internet 上查询,可使图书查询和借阅变得更加方便快捷,从而使图书室的工作效率得到明显提高 。 传统的图书管理模式其最大的特点是手工 。 首先要把买来的图 书资料登记到资料本上,再给每本书分类贴上标签 及制作和标签相对应的图书分类卡片,最后把图书分类卡片按类别分别放置在文件柜里。 对于有 学生(教师)证 的 学生(教师) 来说还要对 他们资料作一定的记录。并且在人们来借书的时候,首先 持证件者 要去 存放图书分类卡片的文件柜里查找想借的
18、书是否在架,如果卡片存在,再按照图书 分类 卡片在相应的 书架上找到需要的图书,然后 登记持证件者的借还书时间 和 在 书签条上写下 借还书 记录, 之后把 借书 证留在那里;还书的时候相对应的消去出借记录;这样做起来比较麻烦比较费时间。 传统图书管理的特点是 一直以来,中小 型书店、中小学的小型图书馆及各高校图书馆和资料室使用传统的人工方式管理图书档案、会员档案。这种管理方式存在着诸多缺点,如:手续繁琐、工作量大、效率低下、出错率高等,同时给对大量资料的查询、更新及维护都带来不少困难。 1.1.2 现有图书 馆 管理系统 现状 在试用了一些个图书管理系统和查阅了大量相关资料文献的基础上,发现
19、那些系统在几个方面已经不符合时代的要求,由于设计人员及其所用的工具的不同,再加上图书管理系统设计的时间也不一样,所用具体场合也有区别,因此在功能上除了图书资料管理所需的基本功能之外也有所不同。经过比 较总结他们都实现了以下图书 馆 管理的基本功能: 1、图书检索模块:是图书管理系统的重要模块之一,是读者快速查询图书的途径。2、图书管理模块:是图书管理员操作模块,读者是无权进入的。由借出图书登记、归还图书登记和续借图书登记子模块构成。 3、数据维护模块:是由图书管理员控制的模块,它由增加、修改和删除读者,增加、修改删除图书,浏览修改读者、浏览修改图书等程序组成。 4、数据统计模块:由读者统计、图
20、书统计、借出图书分类统计、到期末归还图书读者统计几部分组成。这些系统解决了以前的那种管理方式所存在着的诸如手续繁琐、工作 量大、效率低下、出错率高等缺点,设计出的系统能使读者快速检索到自己喜爱的书,图书管理员能减轻工作量。 但是鉴于开发工具和开发当时的科技发展水平所限,再加上历史发展到今天,人们的生活环境已经发生了改变,大家对于图书查询这方面的要求也更高。如在一个局域网内,大家希望能在本台电脑上就能查找自己想要的图书,就需要网络化的联机查询系统。 基于 JSP 的学校图书馆管理系统的设计与实现 1.2 选题的目的及意义 目的: 随着 社会的进步,信息技术的广泛应用,数字化管理的优势日趋显著。
21、针对中小型图书馆或图书室管理落后的情况,设计实现一个图书信息管理系统,通过与计算机的结合 使用对中小型图书馆或图书室的各种图书信息进行管理可以给管理员和用户带来以下不同的方便:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作效率,也是图书馆等部门管理科学化、正规化的重要标志之一。而且计算机管理的成本不断降低。因此,开发一套这样的中小型图书管理软件已经很有必要,并且实现研究服务于实践的原则。 意义:图书馆管理系统是一项非常有意义的开发工作,其发展的潜力巨大,现今 最好的办法 就 是 使 用计算机操作的 图书馆 管理系统来实现对 图书馆 的管理,这就为
22、 图书馆管理系统提供了 市场需要 , 而 图书馆 管理系统在现代社会是最热门的行业, 国际上在线图书管理系统前景看好,而国内的在线图书,数量上也有了新的增长。数字图书,各学校的电子图书室等在线图书的出现,证明了在线图书管理系统的前景是好的。它的建立使图书馆管理摆脱传统摆脱用 手工操作 ,实现通过互连网而进行的远程图书借阅,其发展前景将是非常深远的。 1.3 课题研究的主要内容 本 次毕业设计 能够实现动态站点的开发与维护的技术 JSP 。 JSP 用于页面显示部分, JDBC 用于存取数据库,数据库用于数据存储。 JSP 通过对数据库的数据处理,实现 图书馆书 籍的管理 。 本系统主要采用的是
23、 B/S 结构,由于传统 C/S 结构存在灵活性差、升级困难、维护工作量大等缺陷,已较难适应当前信息技术与网络技术发展的需要。随着 WEB 技术的日益成熟, Browse/Server(简称 B/S)结构已成为取代 Browser/Server(简称C/S)结构的一种全新技术。采用该结构软件的优势在于: (1)无须开发客户端软件,维护和升级方便; (2)可跨平台操作,任何一台机器只要装有 WWW 浏览器软件,均可作为客户机来访问系统; (3)具有良好的开放性和可扩充性; (4)保证系统的安全性,有效地适应了当 前用户对管理信息系统的新需求。因此该结构在管理信息系统开发领域中获得飞速发展,成为应
24、用软件研制中一种流行的体系结构。 在 MyEclipse 开发环境下,以 J2EE 为平台,运用 JSP 网络编程语言和 Struts 框架和MySQL 数据库完成了 B/S 模式的图书馆管理系统。 网站主要实现的功能有查询、借阅、信息管理,其中信息管理为重点,包括图书信息管理、读者信息管理、管理员信息管理等。 通过对信息输入、编辑(增加、删除、查询、修改)等功能完成对图书信息数据库、用户信息数据库的操作管理。 基于 JSP 的学校图书馆管理系统的设计与实现 第 2 章 系统开发工具及相关技术 2.1 JSP 技术 JavaServer Pages 技术是一个纯 Java 平台的技术,它主要用
25、来产生动态网页内容。在传统的网页 HTML 文件中加入 Java 程序片段和 JSP 标记,就构成了 JSP 网页。 Web服务器接收到访问 JSP 网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML 格式返回给客户。 JSP 是基于 Java Servlet 以及整个 Java 体系的 Web 开发技术,利用这一技术可以建立先进、安全、快速和跨平台的动态网页。 JSP 在多个方面加速了动态的 Web 页面的开发: 程序写一次,到处可以运行。 JSP 在设计时,充分考虑到应用平台的无关性。依赖于 Java 的可移植性, JSP 得到目前许多流行操作平台的支持,可在 Apache、
26、NetScape、IIS 等服务器上执行。 执行速度快。 JSP 页面只需编译一次转化为 Java 字节代码,其后一直驻留于服务器内存中,加快了对 JSP 页面的响应速度。若不考虑 JSP 页面第一次编译所花的时间,则JSP 的响应速度要比 ASP 快得多。 Java 的优势。 JSP 技术是用 Java 语言作为脚本语言的。跨平台、成熟、健壮、易扩充的 Java 技术使得开发人员的工作在其他方面也变得容易和简单。 Java 语言 通过提供防止内存泄漏的方法,在内存管理方面大显身手。加之, JSP 为应用程序提供了更为健壮的意外事件处理机制,充分发挥了 Java 的优势。 JSP 标签可扩充性
27、 和 跨平台的可重用性 。 JSP 技术能够使开发者扩展 JSP 标签得以应用, JSP 开发者能定制标签库,大大减少对脚本语言的依赖。由于定制标签技术,使网页制作者降低了制作网页和向多个网页扩充关键功能的复杂程度。 JSP 组件(企业Javabeans, JavaBeans 或定制的 JSP 标签)都是跨平台可重用的。 2.2 JDBC JDBC 由一组 Java 语言编写的类和接 口组成,使用内嵌式的 SQL,主要实现三方面的功能:建立与数据库的连接,执行 SQL 声明以及处理 SQL 执行结果。 JDBC 支持基本的 SQL 功能,使用它可方便地与不同的关系型数据库建立连接,进行相关操作
28、,并无需再为不同的 DBMS 分别编写程序 。 基于 JSP 的学校图书馆管理系统的设计与实现 2.3 Servlet Servlet 是是 JAVA 2.0 中新增的一个全新功能。 它 是与 Applet 相对应的, Applet 是运行在客户端的浏览器,而 Servlet 是运行在服务器端的。 JAVA Servlets 是运行在请求/面向请求服务器上的模块 。 也就是说: servlet 能 够象 CGI 脚本一样扩展 WEB 服务器功能,但是 servlet 占用很少密集资源,当一个服务器装载 servlet 时, 它运行 servlet 的 init 方法 . 这个方法不能反复调用,
29、一旦调用就是再装载 servlet. 直到服务器调用 destroy 方法卸载 servlet 后才能再调用 .每个新的 CGI 要求在服务器上新增一个进程。如果多个用户并发地访问该程序,这些进程将消耗该 Web 服务器所有的可用资源,并且系统性能降低到极其低下的地步。有很多用 CGI 脚本编制的一些站点由于访问量剧增,性能迅速下降,这是 CGI 脚本一个 缺点。 同时由于 servlet 是用 java 编写的,因此是跨平台的。 2.4 MySQL MySQL 是一个多用户、多线程的 SQL 数据库,是一个客户机 /服务器结构的应用,它由一个服务器守护程序 mysqld 和很多不同的客户程序和库组成。 MySQL 的快速和灵活性足以满足一个网站的信息管理工作。 因为许可证的灵活,任何人