图书馆管理系统毕业论文.docx
- 文档编号:4821720
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:24
- 大小:433.72KB
图书馆管理系统毕业论文.docx
《图书馆管理系统毕业论文.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统毕业论文.docx(24页珍藏版)》请在冰豆网上搜索。
图书馆管理系统毕业论文
河南科技学院新科学院
2012届本科毕业论文(设计)
二叉排序树在图书信息检索中的应用研究
学生姓名:
朱珂潮
所在院系:
新科学院信工系
所学专业:
计算机科学与技术
导师姓名:
朱艳丽
完成时间:
2012年5月10日
二叉排序树在图书信息检索中的应用研究
摘要
随着关系数据库技术的应用越来越广泛,二叉树算法、结构化查询语言等研究对数据库查询有着实际的意义。
本文提出了一种用二叉排序树来表示关系表的方法,来提高图书信息的查询效率。
本文使用JSP程序设计语言、MyEclipse开发工具和MySQL数据库进行开发一套图书管理系统,并重点阐述基于二叉排序树算法的信息检索模块的实现过程,通过比较测试,实现了相应的功能,满足了系统需求,达到了系统设计的预期目标,提高了工作效率。
本系统中包含5个功能模块:
综合检索,登录管理,读者管理,图书管理和图书借还。
此系统既克服传统检索方式的工作量大、效率低下,又能够使图书查询工作快捷化,规范化,真正实现图书管理的方便化。
关键词:
二叉排序树,图书管理系统,JSP,信息检索
THEAPPLICATIONOFBINARYSORTTREEINTHEBOOKINFORMATIONRETRIEVAL
Abstract
Withtheapplicationofrelationaldatabasetechnologyismoreandmoreextensive,binarytreealgorithm,andstructuredquerylanguageresearchhaspracticalmeaningfordatabasequeries.Thispaperputsforwardakindofbinarysorttreetorepresentarelationshipchartandimprovethelibraryinformationqueryefficiency.
ThispaperusedJSPprogramminglanguage,MyEclipsedevelopmenttoolsandMySQLdatabasetodevelopabooksmanagementsystem.Itfocusesonbinarysortedtreealgorithmappliedininformationretrievalinthelibrarymanagementsystem,anddesignsdetailedtheinformationretrievalmoduleinsystem,bycomparisontests,itrealizesthecorrespondingfunctionandmeetsthesystemrequirements,andreachesthetargetofsystemdesign,improvesworkefficiency.Thissystemcontains5functionalmodules:
integratedsearch,logmanagement,readermanagement,bookmanagementandcirculationofbooks.Thissystemistoovercomelargeworkloadandlowefficiencyofthetraditionalway,anditalsocouldmakebooksearchworkfast,standardized,andrealizetheconvenienceofbookmanagementtruly.
Keywords:
Binarysorttree,bookmanagementsystems,JSP,informationretrieval
1.绪论
1.1目前图书管理系统存在的问题
(1)检索速度慢、效率低
目前大多数的图书馆系统采用的是B/S(浏览器/服务器)结构的管理软件,其数据库表的查询操作大部分使用的是顺序查找法,即从第一行记录顺序的查找到满足查询条件的记录,这种查找方法算法简单,对表结构无任何要求。
但是当数据量的很大时,查找的时间复杂度很大,查找效率会很低。
(2)借书、还书工作量大
借书、还书频率越大,说明图书馆的作用越大。
然而随之而来的大量的借书、还书登记、实存图书的更新等处理工作,其工作量之大,往往是人工操作所难以胜任的,而且经常会出现这样那样的差错。
1.2课题意义
随着计算机的广泛应用,其逐步成为现代化的标志。
图书馆或者一些企业内部,甚至是书店,在正常运行过程中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息、还书信息。
因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆或者企业内部对图书存销的自动化的管理,用结构化系统分析与设计的方法,建立一套有效的图书信息管理系统,既可以减轻工作,将工作科学化、规范化,提高图书馆信息管理工作的质量,又能够更快速的满足读者的要求,提高各种工作的效率,现对其设计相应的系统,以达到上述的目的[1]。
为此,本文介绍了基于二叉排序树的图书管理系统的设计。
图书管理系统的主要功能是实现图书馆图书的借阅和归还管理。
除了这些核心功能外,还包括一些基本和辅助功能,它们是:
登录设计、读者管理、图书管理、综合检索。
1.3主要任务
(1)用二叉排序树算法实现查询优化;
(2)实现图书馆对所藏图书的按书名、ISDN等多方面的查询,最大的方便读者对所需图书的查询;
(3)建立图书馆外借读者数据库,方便工作人员对读者进行有效管理;
(4)实现图书馆对新书入库,旧书注销的简单处理,方便进货;
1.4论文的工作和安排
本次设计的目标是,开发一个基于二叉排序树应用的图书管理系统。
借助该系统,管理员通过快捷可靠的数据库管理,方便的管理图书馆的信息资料,规范化的管理读者用户,设定不同用户权限,方便读者的使用,最终达到提高图书馆资源利用效率的目的。
论文设计和实现了图书管理系统,可以根据用户的不同权限,对图书馆的的各种信息进行添加、删除、修改或查询操作。
论文分为五个部分:
第一章即本章绪论,简述图书管理系统这个课题的背景情况以及开发本系统的意义。
第二章为设计可行性与开发环境概述,概述了本课题研究、设计、开发中使用的工作环境,设计、开发平台,以及实现的软件开发技术。
第三章为系统分析与总体设计,本章中根据系统需要实现的功能,设计了图书信息、读者信息、留言信息、图书借阅信息、读者类型信息等表。
第四章为详细设计,详细描述了本系统中各模块的设计情况,并给出了系统总体界面的设计方案。
为程序设计与编码各主要功能模块的实现方法和部分关键代码,同时提供了个主要界面运行的参考图片,以更直观了解系统的实现情况。
第五章为软件测试,测试系统功能实现并对测试结果进行记录分析。
第六章为结束语,为此次毕业设计做一个总结,总结所获得的经验和体会。
2.设计可行性与开发环境概述
本章详细的概述了本课题研究、设计、开发中使用的工作环境,设计、开发平台,以及实现的软件开发技术。
2.1可行性分析
采用现代化统一的计算机信息网站系统,能够有效优化图书馆管理系统,使其高效的发挥最大作用,能够迅捷的为读者提供相应的服务。
开发本系统技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。
本系统采用JSP开发出友好美观的人机界面,便于用户理解、操作。
数据库管理系统采用MySQL,它能够处理大量数据,同时保持数据的完整性、安全性。
因此本系统的开发平台已成熟可行。
硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。
2.2开发环境简介
2.2.1MyEclipse
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
J2EE模型,WEB开发工具,EJB开发工具,应用程序服务器的连接器,J2EE项目部署服务,数据库服务,MyEclipse整合帮助。
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse结构上的这种模块化,可以让我们在不影响其它模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
2.2.2Tomcat
Tomcat服务器是一个免费的开放源代码的Web应用服务器。
它是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
2.2.3MySQL
MySQL主要目标是快速、健壮和易用。
最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。
MySQL是一个真正的多用户、多线程SQL数据库服务器。
SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。
MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。
MySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。
由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。
2.3开发技术概述
2.3.1JSP技术
JavaServerPages技术是一个纯Java平台的技术,它主要用来产生动态网页内容。
在传统的网页HTML文件中加入Java程序片段和JSP标记,就构成了JSP网页。
Web服务器接收到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。
JSP是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全、快速和跨平台的动态网页。
JSP在多个方面加速了动态的Web页面的开发:
程序写一次,到处可以运行。
JSP在设计时,充分考虑到应用平台的无关性。
依赖于Java的可移植性,JSP得到目前许多流行操作平台的支持,可在Apache、NetScape、IIS等服务器上执行。
执行速度快。
JSP页面只需编译一次转化为Java字节代码,其后一直驻留于服务器内存中,加快了对JSP页面的响应速度。
若不考虑JSP页面第一次编译所花的时间,则JSP的响应速度要比ASP快得多。
Java的优势。
JSP技术是用Java语言作为脚本语言的。
跨平台、成熟、健壮、易扩充的Java技术使得开发人员的工作在其他方面也变得容易和简单。
Java语言通过提供防止内存泄漏的方法,在内存管理方面大显身手。
加之,JSP为应用程序提供了更为健壮的意外事件处理机制,充分发挥了Java的优势。
JSP标签可扩充性和跨平台的可重用性。
JSP技术能够使开发者扩展JSP标签得以应用,JSP开发者能定制标签库,大大减少对脚本语言的依赖。
由于定制标签技术,使网页制作者降低了制作网页和向多个网页扩充关键功能的复杂程度。
JSP组件(企业Javabeans,JavaBeans或定制的JSP标签)都是跨平台可重用的。
Javabeans和企业Javabeans组件可以访问传统的数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。
2.3.2JDBC
JDBC由一组Java语言编写的类和接口组成,使用内嵌式的SQL,主要实现三方面的功能:
建立与数据库的连接,执行SQL声明以及处理SQL执行结果。
JDBC支持基本的SQL功能,使用它可方便地与不同的关系型数据库建立连接,进行相关操作,并无需再为不同的DBMS分别编写程序[10]。
3.系统分析与总体设计
3.1系统分析
3.1.1系统目标
本系统主要建立一个基于B/S模式的图书管理系统,其中检索模块应用二叉排序树算法实现,可以通过使用系统的两种用户类型操作来实现:
(1)对于读者在本系统的应用下可实现按照多种方式(如:
书名,编号,ISDN)查询图书馆的书籍,借阅图书,归还图书,并且能够查询自己的借阅图书情况。
(2)对于图书馆管理员能够实现方便的对图书进行查询,方便的进行读者借阅情况查询,方便的进行借书还书处理等,便捷的对图书信息进行添加、修改、删除,分类管理等操作,对读者信息进行相关添加,修改,分类管理等操作。
3.1.2图书管理系统总体结构图
绘制系统结构图的过程,实际上就是对系统功能模块进行分解设计的过程。
系统结构图将会使用户能直观的了解系统的结构模式,理解系统的各个功能的结构,能更好地方便用户使用和理解整个系统。
本系统的结构图如下:
图书管理系统
管理员登录
用户登录
图书信息维护
用户信息维护
系统信息维护
借阅归还操作
个人信息查询
图书信息查询
借书记录查询
图3-1系统的结构图
根据需求分析的结果,按照“低耦合、高内聚”的原则,本系统将划分为以下主要功能模块:
综合检索功能模块,登录功能模块,读者管理功能模块,图书管理功能模块和图书借还功能模块。
3.1.3用户类和用户特性
图书借阅管理系统是一个基于B/S模式的对图书馆进行高效率管理的应用系统,它的用户主要是读者和图书管理员,学生通过该系统进行图书查询进而对自己需要的图书进行借阅及自己的借阅情况进行查询,图书管理员则通过本系统实现对图书及读者的高效管理[2]。
两类用户的具体描述如下表所示:
表3-1用户具体描述
用户类
描述
读者
读者是该系统的重要的使用角色,他们通过登录该系统,可以查询自己需要的图书信息,也可以查询自己得借阅情况。
图书管理员
图书管理员是该系统的另一个重要使用者,图书管理员通过该系统进行图书的增加,修改,删除,分类管理等操作,实现对读者借阅归还图书的方便操作,实现对系统中图书,读者,读者借阅情况的查询,信息更改维护等操作,管理读者类型等图书馆的基本操作。
3.2总体设计
3.2.1功能描述
图书管理系统的主要任务是实现读者迅速检索查询,方便借阅归还图书,图书管理员高效的完成系统的各项基本操作,图书管理系统要完成一下功能:
(1)登录
读者、图书管理员进入该系统必须登录,身份验证正确了才可以进入该系统。
(2)综合检索功能
对图书可以通过分类检索,查询相关图书信息。
(3)用户管理功能
对用户进行添加,修改,删除等操作。
(4)查询功能
对图书馆的图书信息,借阅信息,读者用户等信息进行查询。
3.2.2管理员详细功能描述
(1)用户管理功能
对用户的类型和用户档案进行管理,包括添加,修改,删除用户类型和用户用户的相关信息,管理不同类型用户借阅图书的数量。
(2)图书管理功能
包括对图书信息的管理,可以增加,修改,删除图书,丰富具体图书的信息,对不同图书进行分类操作。
3.2.3用户详细功能描述
查询图书信息功能主要包括:
对图书馆图书信息进行查询,对自己当前借阅书籍进行查询,对图书归还到期进行查看。
4.详细设计
4.1后台数据库的创建
数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节对数据库的设计进行专门阐述。
数据库是数据管理的最新技术。
十多年来数据库管理系统已从专用的应用程序发展成为通用的系统软件。
由于数据库具有数据结构化,最低冗余度,较高的程序与数据独立性,易于扩充,易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。
因此不仅大型计算机及中小型计算机,甚至微型机都配有数据库管理系统[6]。
数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。
数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。
数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理。
整个系统所包括的信息有图书信息、读者信息、留言信息、图书借阅信息、读者类型信息。
可将这些信息抽象为下列系统所需要的数据项和数据结构:
(1)图书信息(图书编号,图书名称,作者,书柜号,ISBN,出版社,借阅状态)
(2)用户信息(学号,姓名,性别,角色,院系,班级,年级,毕业时间,图书卡号)
(3)管理员信息(账号,密码,)
(4)图书借阅记录(图书编号,读者ID,借出时间,类别,图书卡号,标签,应还时间)
4.1.1数据的导入
面对六万条的数据记录,本设计使用Excel中的CONCATENATE(text1,text2,...)函数,将几个文本字符串合并为一个文本字符串。
H2=CONCATENATE("insertintot_bookinfovalues('",A2,"','",B2,"','",C2,"','",D2,"','",E2,"','",F2,"');")。
然后,选中H列整列复制,生成t_bookinfo表数据的插入语句。
4.1.2数据库各信息表的结构设计
(1)图书信息表
图书信息表主要用于存储图书馆中所藏图书的相关信息,其中的相关信息是在图书入库时由操作员进行添加完善,此表主要用于用户和管理员对馆中图书的查询,系统用户根据图书的属性进行查询,便可得知图书的其他相关信息。
表的具体结果如下:
表3-1图书信息表t_bookinfo
字段名称
数据类型
字段长度
是否为空
说明
bookId
varchar
30
No
Key
bookName
varchar
40
No
书名
author
varchar
20
No
作者
Press
varchar
40
No
出版社
ISBN
varchar
40
No
bookCaseld
varchar
40
No
书柜号
(2)用户信息表
用户信息表的设计是为了图书馆管理员对用户进行管理,其中用户ID,不同类型证件的号码都是唯一的,是用户在借阅图书时需要输入对用户身份进行识别的信息。
表的具体结构设计如下:
表3-2用户信息表t_studentinfo
字段名称
数据类型
字段长度
是否为空
说明
stu_id
varchar
40
No
Key
name
varchar
20
No
姓名
sex
varchar
10
No
性别
role
varchar
10
No
角色
yuanxi
varchar
30
No
院系
Stu_class
varchar
20
Yes
班级
grade
varchar
30
No
年级
graduation
varchar
30
Yes
毕业日期
library_card_id
varchar
40
No
图书卡号
(3)图书借阅信息表
该表的设计是用于对读者借阅图书进行管理,表中图书ID属性是对借阅图书的唯一性识别标识,用户ID号记录借阅的相应读者,表的具体结构设计如下:
表3-3图书借阅信息表check_out_info
字段名称
数据类型
字段长度
是否为空
说明
check_out_id
varchar
10
No
Key
stu_id
varchar
10
No
(外键)
Book_id
varchar
10
No
(外键)
classifier
varchar
20
No
借出时间
Last_op
Varchar
30
no
suoshuhao
varchar
20
No
应归还时间
4.2二叉排序树检索的实现
二叉排序树(BinarySortTree)又称二叉查找树。
它或者是一棵空树;或者是具有下列性质的二叉树:
(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;
(3)左、右子树也分别为二叉排序树;
本模块实现的是基于二叉排序树的图书检索功能,是本设计的核心部分。
它是按图书名称进行检索的,从数据库中拿到所有的图书信息,根据图书名称构建成一棵完整的二叉排序树。
由此需要将图书名转化成拼音再提取首字母作为关键字然后由此进行构建树。
以“mmmmmmmmm”为根节点,进行插入。
4.2.1二叉排序树的构建
二叉树数据存储结构在本系统中以对象的形式表现:
其中类Binarytree是一个二叉树对象,BinarytreeNode类对应的是二叉树节点,类Binarytree只需要持有一个根结点BinarytreeNode对象即可。
publicclassBinaryTree{
privateBinaryTreeNoderoot;
}
而BinarytreeNode类需持有一个Book对象(用于存储节点的图书信息),一个List
publicclassBina
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 管理 系统 毕业论文