1、 毕 业 论 文(设 计) 作 者 : 周宇轩 学 号: 078201043 系 部 : 信息科学与工程系 专 业 : 计算机科学与技术 题 目 : 小型 图书馆管理系统 的设计与实现 指导老 师 陈鑫 讲师 提交日 期 南京大学金陵学院 毕业论文 (设计 ) i 小型 图书馆管理系统 的设计与实现 摘 要 图书馆管理系统是典型的信息管理系统 ,能够灵活地进行图书馆管理,从而提高图书馆工作效率, 实现图书馆工作的 信息化。 传统的 C/S 架构的图书馆管理系统虽然在数据处理上效率较高,但是每一台客户机都需要安装客户端,而 B/S 结构只需要有浏览器 就可以实现。本文 通过分析运用 B/S 结构
2、、 J2EE 技术以及 MYSQL+TOMCAT 后台,设计出 具有登录,图书借阅,图书归还,图书预借,图书续借,图书推荐,个人用户管理,借书卡用户增删,超期记录删除,图书检索功能 功能的小型图书馆管理系统的过程 。 从而 探索 使用 B/S 架构的图书馆管理系统提高图书馆工作效率的可行性。 测试表明 ,该系统正确地实现了规约说明中规定的功能 。 关键词: 图书馆管理系统; servlet; 数据管理; B/S 架构 南京大学金陵学院 毕业论文 (设计 ) ii The design and realize of library manage system for small library
3、ABSTRACT The library manage system is a typical MIS.This system can be used flexibly on library manage to raise the efficiency of library and achieve informationization of the library.Compared with the traditionnal systems based on B/S structure, the systems based on C/S structure have higher effici
4、ency in date manage.But the client computers have to be install the client program, and the systems based on B/S structure only need a browser.This paper via analyse the process of the design of library manage system for small library which use J2EE technic,MYSQL as datebase and TOMCAT as server.Thi
5、s system have following function:login, borrow book,return book, book reserve,book relet,book commend,individual manage,add or delete user and delete overtime register,and use the anlyse to explore the feasibility of use library manage system based on B/S structure to raise the efficiency of library
6、. The testing procedure shows that all the requirements in the specification have been implemented correctly. Keywords:library manage system; servlet; date manage; B/S structure 南京大学金陵学院 毕业论文 (设计 ) iii 目 录 摘 要 . i ABSTRACT . ii 第一章 绪 论 . 1 1.1 引言 . 1 1.2 研究背景 . 1 1.2.1 C/S 图书管理系统现状 . 1 1.2.2 B/S 图书管
7、理系统现状 . 1 1.3 研究内容和目的 . 2 1.4 本文主要内容 和组织 . 2 第二章 开发基础 . 3 第三章 需求分析 . 5 第四 章 系统设计 . 11 4.1 概要 设计 . 11 4.1.1 结构设计 . 11 4.1.2 数据库设计 . 12 4.1.3 页面设计 . 13 4.2 详细 设计 . 15 第 五 章 系统测试 . 25 第六 章 结论 . 31 6.1 本文的主要工作 . 31 6.2 进一步的功能工作 . 31 致谢 . 32 参考文献 . 33 南京大学金陵学院 毕业论文 (设计 ) 第一章 绪 论 1.1 引言 随着网络技术的快速发展 ,计算机技术
8、的发展 ,计算机价格的不断下降,书籍的大量出版,利用计算机对图书馆的日常工作进行管理的条件已 经成熟。虽然目前很多大型的图书馆已经有一整套比较完善的管理系统 ,但是在一些中小型的图书馆中 ,虽然书籍较少,但由于大部分工作仍需要手工完成 ,工作起来效率比较低 ,管理员不能及时了解图书馆内各类图书的借阅情况 ,读者需要的图书难以在短时间内找到 ,不便于动态及时地调整图书结构。为了更好地适应当前读者的借阅需求 ,解决手工管理中存在的许多弊端 ,利用计算机进行图书馆日常管理已经是是在必行,目前越来越多的中小型图书馆正在逐步向计算机信息化管理转变。 1.2 研究 背景 1.2.1 C/S 图书管理系统现
9、状 在大中型图书馆中,大 量的书籍决定着使用计算机系统进行管理已经是必须的措施,所以无论是国内还是国际上,都有着不少 C/S 结构的图书馆管理系统,甚至国际上有不少著名的图书馆管理软件公司。虽然由于国内起步较晚,开发基本依靠研究机构,开发人员流动频繁,持续性开发存在难度,而且没有完全进入商业领域,系统的稳定性和安全性与国外相比存在一定的差距。但是由于借鉴了国外的先进经验和技术,基本的图书馆业务管理方面(采访,编目,流通,期刊管理,咨询等)与国外差距很小,又融合国内图书馆管理上的特点,所以在处理中文刊物上具有一定的优势。总体来说,国外的大 型图书馆管理系统已经基本发展成熟了,而国内已经基本发展成
10、熟,再经过一段时间的发展,也能达到国外的发展水平。 1.2.2 B/S 图书管理系统现状 同时随着网络技术的的发展,网络传输速度越来越快,除了比较成熟的 C/S 系统, B/S系统也开始发展起步。相对于 C/S 系统, B/S 系统由于使用者只要使用浏览器即可完成各项操作,使得系统变得简单,特别适合于非计算机人员使用,而过往限制着 B/S 系统的网络速度的瓶颈已经被打破,使得 B/S 系统的发展也更加的迅速。一般的图书馆管理员并没有太多的计算机专业知识,所以相对于 C/S 系统, B/S 系统对于他们更加的适合。而且中小型图书馆特别是小型图书馆很可能面临着经费不足的问题,而 C/S 结构的图书
11、馆管理系统所采用的服务器一般是使用 UNIX系统的小型机,价格一般以十万为单位,对于大中型图书馆价格并不南京大学金陵学院 毕业论文 (设计 ) 算什么,而对于中小型图书馆特别是小型图书馆来说确是一笔不小的开支。同时小型图书馆的藏书量一般不多,这使得使用一般的服务器甚至普通微机已经成为可行,而即使是一般服务器价格也只有两,三万元,一般用于做服务器的微机则很少能超过万元,即使是小型图书馆也能够承受。但同时, B/S结构是近几年刚刚兴起的,在技 技术成 熟度及软件设计、开发人员的掌握水平来看, C/S 技术 比 B/S 技术 更成熟、更可靠 。所以虽然 B/S 结构相对于小型图书馆比较便捷,但是这类
12、系统也才刚刚起步。 对于图书馆的管理而言, B/S 架构的 图书馆管理系统 与 C/S架构的图书馆管理系统相比,除了 需要做到的 C/S 架构可以完成的功能 以外,要能够 在除了必须经由图书馆管理员处理的方面之外 与读者进行互动。最基本的功能就是应该能够使读者不用为了寻找需要的书籍只能够使用图书馆内有限的几台查询机器进行查询或者自己一个一个书架漫无目的的搜寻,而是要使读者 依靠任何一台能够与网络互连的互 联网,在图书馆网站开放的任何时间对书籍进行搜寻。同时也要能分担一部分图书馆管理员的工作,比如图书续借预借一类的工作就可以依靠网络操作由用户自行解决。 1.3 研究内容和目的 本文 的研究目标是
13、:运用现代图书馆管理理论,配合计算机系统,通过实验, 设计出一个可以在小型图书馆使用的 B/S 架构图书馆管理系统 。 系统需要具有图书借阅、图书归还、图书预借、图书续借等图书馆基本功能。其中图书预借、图书续借之类的不涉及实体书的功能要能够在不用图书馆管理员的帮助下,读者通过登录以后就可以自行完成。 本文 研究的主要内容是 设计并实 现一个 B/S 结构的小型图书馆管理系统,本系统具有登录,图书借阅,图书归还,图书预借,图书续借,图书推荐,个人用户管理,借书卡用户增删,超期记录删除,图书检索功能。 1.4 本文主要内容 和组织 本文将从软件工程的角度, 在 需求分析 分析方面 , 将通过用例图
14、,活动图展示本系统所拥有的功能和各项功能的简单流程,概要 设计方面 配合界面截图, UML图 阐述该 系统的结构,数据库里的数据结构以及面向访问者的系统页面,详细设计方面配合程序流程图具体阐述各个模块的输入输出和算法,在测试部分进 行一系列的测试以对该系统进行检查。 在最后, 将对本系统的开发进行一个总结,提出存在的问题和进一步的工作。 南京大学金陵学院 毕业论文 (设计 ) 第 二 章 开 发 基 础 本图书管理系统在前台界面方面使用了 HTML 语言。选用 HTML 语言是因为该语言是网络的通用语言, 它 的简易性使得编写非常的灵活方便, 允许网页制作人建立文本与图片相结合的复杂页面 ,同
15、时可扩展性使得便于修改时进行扩展。而且这种语言具有良好的平台无关性,这使得 这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。 最关键的一点是,这种语言有着大量的所见即所得类型的编译器,可以随时确认编写的网页是否正确,而不是彻底编 好后才能进行检查 【 1】 。 后台服务器 软件 选用的是 Apache tomcat6.0,选用这个服务器是因为系统中有 Java代码需要依靠 tomcat 进行 解释。同时 Apache 服务器是一个开源的优质服务器,很多人对它不断地进行修补和更新,功能强大的同时系统简单,速度快,性能稳定,所以绝大多数的网站都使用它来作为服务器软件。该服务
16、器同时也是一个轻量级应用服务器,非常适合用于中小型系统或者访问用户不多的时候,并且方便用于调试 Servlet【 2】【 3】 。 数据库方面由于系统不需要 存储太多的数据,所以数据库选择了小型关系型 数据库MySQL。 MySQL 是一个开源软件,具有体 积小、速度快、总体拥有成本低 的特点,用于处理中小型系统中的数据是非常良好的选择。同时它也对 多种 语言专门开发了 用于 连接数据库的 API【 4】 。 前台与后台数据的交互则使用了 J2EE 的 servlet 技术实现,这是 一种服务器端的 Java 应用程序,具有独立于平台和协议的特性 ,可以生成动态的 Web 页面。 它担当客户请
17、求( Web浏览器或其他 HTTP 客户程序)与服务器响应( HTTP 服务器上的数据库或应用程序)的中间层。 Servlet 是位于 Web 服务器内部的服务器端的 Java 应用程序,与传统的从命令行启动的 Java 应用程序不同, Servlet 由 Web 服务器进行加载, 本系统中就是由包含了 Servlet 的Java 虚拟机的 tomcat 进行的加载 【 5】 。 与在传统上用于实现这些功能的 CGI(Common Gateway Interface 公共网关接口 )相比, Servlet 效率更高,同时由于 Java 的跨平台特性, Servlet 也具有着良好的可移植性,从
18、而更节省投资。 在系统开销方面, CGI 中每个请求都要启动一个新的进程 ,如果 CGI 执行时间比较短的话,启动进程的开销就很可能超过执行所 花的时间。而在 Servlet 中,每个请求都是由Java 线程处理。 在传统 CGI 中,如果有 N 个并发的对同一 CGI 程序的请求,则该 CGI 程序南京大学金陵学院 毕业论文 (设计 ) 的代码在内存中重复装载了 N 次;而对于 Servlet,处理请求的是 N 个线程,只需要一份 Servlet类代码。在性能优化方面, Servlet 也比 CGI 有着更多的选择。 在使用方面程度方面由于 Servlet提供了大量的实用工具例程,例如自动地
19、解析和解码 HTML 表单数据、读取和设置 HTTP 头、处理 Cookie、跟踪会话状态等所以也是 Servlet 更胜一筹。而 Java 功能强大的特点也被 Servlet所继承, Servlet 能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现 【 5】 。 南京大学金陵学院 毕业论文 (设计 ) 第 三 章 需 求 分 析 软件需求分析是软件生存期的一个重要阶段,是软件开发项目得以成功的基础。其最根本的任务是确定为了满足用户的需要软件系统必须做什么。 在本部分,本文将阐述设计的这个系统具有哪些功能,这些功能能做到什么,这些功能的实现步骤是什么, 功能的具体算法将在详细设
20、计里进行实现。 用户权限是一个系统的重要部分,只要用户都具有正确的权限,才能保证系统的安全性。本系统中的用户分为三种,权限最少的是 游客,就是没有进行任何登录的访问者,所以拥有的权限也仅限于浏览图书馆与本系统介绍和查询图书。如果要拥有更多的权限就必须有读者账户或者管理员账户可以进行登陆。 最普遍的是读者,是使用系统的图书馆里的登记用户,在本系统中除了具有游客的所有权限以及基本的在管理员帮助下进行图书的借还,改写个人密码以外,也能进行图书的续期、预借,如果发现自己需要的书籍图书馆没有收录,也能够进行推荐。 权限最大的是管理员,负责图书馆的管理,拥有管理员账户的人自身也有自己的读者账户。由于是独有
21、的管理用账号,所以不能使用这个账号借书以及查 询书籍。能够完成的功能有用户的增删,用户状态的改写,帮助读者进行借书还书。 系统用例图如下: 图 3-1 系统用例图 南京大学金陵学院 毕业论文 (设计 ) 如图所示, 这些身份具 以下功能 : 查询 功能 :具有查询权限的用户 (游客和读者) 可以通过作者,书名(可以只输入书面前 N个字查询), 俩 个条件 中 任意一个查询图书 是否被图书馆收藏 ,并可选择显示全部符合条件的图书或者只显示未被借出的图书。 本功能活动图如下: 个人管理 功能 : 所有系统都必然具有的 功能 , 账号登录后 可以修改个人密码, 用户名 (管理员账户没有 用户名 ,只能修改自身密码 ) 。不同 读者 账户个人密码在账户被管理员建立时默认为同一个, 用户名 默认为借书卡号 。 本功能活动图如下: 图 3-2 游客或借书卡用户图书查询活动图 图 3-3 管理员个人资料修改活动图