学位论文基于java的图书管理系统.docx
- 文档编号:24421116
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:47
- 大小:1.78MB
学位论文基于java的图书管理系统.docx
《学位论文基于java的图书管理系统.docx》由会员分享,可在线阅读,更多相关《学位论文基于java的图书管理系统.docx(47页珍藏版)》请在冰豆网上搜索。
学位论文基于java的图书管理系统
大学毕业设计(论文)任务书
学院(直计算机科学与技术时间:
2014年11月15日
学生姓名
指导教师
设计(论文)题目
基于java的图书管理系统
主要研
究内容
1.调查各个学校图书馆管理系统的使用情况
2.研究可行的提升图书管理效率的方案
3.研究开发改进图书管理系统的核心技术手段
研究方法
1.分析开发过程中核心模块
2.分步骤解决开发过程中遇到的问题
3.通过各种途径需找决绝方法
主要技术指标(或研究目标)
主要技术:
servlet、jsp、html、xml、
研究目标:
开发出实用、高效的系统
主要参考文献
[1]石志国,薛为民,董洁.JSP应用教程.北京:
清华大学出版社.北
京交通大学出版社,2004
[2]李曙光.JSP开发实例完全剖析.北京:
中国电力出版社,2006
[3]杨易.JSP高级程序设计.人民邮电出版社,2006
[4]VivekChopra.JSP高级程序设计,机械工业出版社,2001
基于Java的图书管理系统的设计与实现
摘要
本文对图书管理系统的设计与开发过程进行了分析与叙述。
依照系统开发的实际操作步骤,文章从系统概述、系统分析、系统设计和系统实现这四大章节对系统开发过程进行分别阐述。
系统概述中主要进行了课题背景、课题意义和现状分析;系统分析中主要包括了系统设计前的需求分析、业务流程分析、数据流程分析和数据字典分析;而系统设计则是对系统体系结构、各功能模块、数据库结构设计等具体的系统实现过程进行剖析展示,在系统设计章节中有详细的文字解释并配有表图说明。
文章还列举了关键的功能模块实现代码。
本文力求可以为图书管理系统的开发设计找到一种切实可行的解决方案,在分析了目前国内外图书管理系统的现状的基础上,并经过反复摸索和学习研究后,借助编程语言JSP和SQL数据库最终实现了图书管理的开发,并在一系列测试后,达成了人性化、所需功能完善、操作清晰的设计目标。
关键词:
JSP,Servlet,MySQL
LANoflibrarymanagementsystem
Abstract
Inthispaper,bookmanagementsystemdesignanddevelopmentprocessisanalyzedanddescribed.Inaccordancewiththeactualstepsofsystemdevelopment,thearticlefromthesystemoverview,systemanalysis,systemdesignandsystemrealizationofthesefoursectionsofthesystemdevelopmentprocessaredescribed.Systemwerethemainissuesoutlinedinthebackground,meaningandstatusofthesubjectanalysis;systemanalysis,systemdesignincludesapre-needsanalysis,businessprocessanalysis,dataflowanalysisanddatadictionaryanalysis;andsystemdesignisthesystemarchitecture,variousfunctionalmodules,databasestructuredesigntoachievespecificprocesstoanalyzethesystemdisplay,thesystemdesignsectiontoexplaininmoredetailandwithatablediagramshows.Thearticlealsoliststhekeyfunctionmodulecode.
Thispaperseekstobookmanagementsystemfordevelopmentanddesigntofindapracticalsolutionintheanalysisof-Boathomeandabroadonthebasisofthestatusofthesystem,andafterrepeatedexplorationandstudyafterstudy,usingJSPandsoftSQLprogramminglanguageServerdatabaseandultimatelythebookmanagementsystemdevelopment,andinaseriesoftests,reachedauser-friendly,functionalrequirements,operationsdesignedtoclear.
KeyWords:
JSP,Servlet,MySQL
第一章绪论
1.1课题背景、目的及意义
1.1.1课题背景
随着社会的发展,人们对知识的需求也不断地增长。
在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书不但关系到读者求知的方便程度,也关系到图书的发展,因此,开发一套完善的图书管理系统就必不可少了,本文介绍了在Windows7及Java、JSP、SQL、MyEclipse环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发本系统的详细过程,提出实现图书信息管理、资源共享的基本目标,从而推动迈向数字化图书的步伐,并阐述系统结构设计和功能设计,从图书的入库登记到查询浏览,从借书证发放到图书的借阅,形成了一个整体自动化管理模式,从软件工程的角度进行了科学而严谨的阐述。
图书作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书都是初步开始使用,甚至尚未使用计算机进行信息管理。
根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。
数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。
总的来说,缺乏系统,规范的信息管理手段。
尽管有的图书有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是图书管理系统的开发的基本环境。
1.1.2课题目的和意义
在各行各业竞争日益激烈的今天,提高工作效率和工作质量是每个企业必须面临并且必须解决的重大课题。
有了《基于JAVA的图书管理系统》就不需要客户到书城手工查询需要的图书,而只需在自家的电脑前输入查询条件,或通过类别查询,快速而准确的找到需要的图书,大大
加快了查询速度。
《基于JAVA的图书管理系统》不仅可以大量减少人力、物力,降低了成本,而且突破了时间和空间的限制,使得图书交易活动可以在任何时间、任何地点进行,实现24小时营业,不需要营业员,图书管理系统可以被设置成一个自动售货机。
同时,《基于JAVA的图书管理系统》更容易开拓全球市场从而大大提高了效率,对推动《基于JAVA的图书管理系统》未来的发展有着一定的实际意义。
鉴于互联网的优势以及对国内外相关图书管理系统网站现状的研究分析,我决定以基于Web的《基于JAVA的图书管理系统》开发作为我的毕业设计主题。
立足于设计一个在网络平台上运行的集购物、确认和配送等功能于一体的图书管理系统,以小小的力量推动中国互联网的发展。
1.2国内外研究现状
1.2.1国外的研究现状
网上售书这是信息社会发展的必然要求。
国际互联网的开通,为信息社会的飞速发展创造了条件。
在美、日等信息化程度较高的国家和地区,网上图书销售发展速度迅猛。
据InternetWorldStatS的统计,今天的互联网有17亿用户。
而目前的全球人口为67亿,到2020年毫无疑问会有更多的人使用互联网。
美国国家科学基金会预计,到那时互联网的用户数量将接近50亿。
网民队伍的迅速扩充,无疑为网上售书的发展提供了巨大的市场空间。
加上图书因其具有标识清晰、规格统一、特征容易描述、同种商品个体之间无差异等特性而能成为发展电子商务的最为理想的商品类型。
因此,网上售书成为各国发展电子商务的首选目标,国际互联网开通后,各国电子商务网站很大一部分都是网上书店。
只要网络发展没有停止,网上售书的发展就不会停止。
1.2.2国内的研究现状
近年来,随着计算机网络技术的飞速发展,网络技术应用已经相当普及,使得在线借阅成为现实,各种各样的网上图书销售系统层出不穷,国内各大图书商都在创建自己的计算机网上电子商务系统。
随着科学技术的飞速发展,Internet这个昔日少数科学家接触和使用的科研工具已经成了普通百姓都可以触及的大众型媒体传播手段。
第二章可行性分析
2.1社会可行性
随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,网上售书已经成为网上的一股潮流。
相信要不了太长有时间,顾客就可以在网络世界上获得他们在现实世界上可以获得的任何图书。
《基于JAVA的图书管理系统》系统主要目的是进行网上售书,并且严格按照国家法律法规来进行研究和实践,并无法律和政策方面的限制。
2.2技术可行性
本系统采用的是JSP、Servlet和MySQL开发,WindowsXPProfessional操作系统,用Dreamweaver进行前台网页界面设计、采用JDBC方式与后台数据库进行连接,完成数据的添加、修改、删除、查询等功能。
由于JSP、Servlet功能强大,而MySQL灵活易维护在开发方面具有方便快捷、使用灵活的特点,以及目前的广泛实际应用,因此使用JSP、Servlet、MySQL是开发轻平台的最佳组合从而说明本系统在技术方面可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
2.3操作可行性
目前,大多数计算机都能运行该系统,该系统的安装、调试、运行不会改变原计算机系统的设置和布局,并且系统界面简单,提示信息完整,由相关人员指导便能够方便的操作此软件。
2.4系统的技术介绍
2.4.1JavaScript
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。
同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。
它最初由网景公司(Netscape)的BrendanEich设计,是一种动态、弱类型、基于原型的语言,内置支持类。
JavaScript语言与Java语言在语法上比较相似,但随着对JavaScript的深入了解后你会发现,它们说到底是两种语言!
2.4.2JQuery
JQuery是一个兼容多浏览器的JavaScript框架,核心理念是writeless,domore(写得更少,做得更多)。
jQuery在2006年1月由美国人JohnResig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由DaveMethvin率领团队进行开发。
如今,JQuery已经成为最流行的JavaScript框架,在世界前10000个访问最多的网站中,有超过55%在使用JQuery。
JQuery是免费、开源的,使用MIT许可协议。
JQuery的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能。
除此以外,JQuery提供API让开发者编写插件。
其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页。
2.4.3MySQL
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。
MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
自从Oracle公司收购了MySQL后不久,就发行了MySQL的企业版(不再免费)!
2.4.4MVC
MVC即模型-视图-控制器,是XeroxPARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。
最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。
MVC是一种设计模式,它强制性的使应用程序的输入、处理和输出分开。
使用MVC应用程序被分成三个核心部件:
模型、视图、控制器。
它们各自处理自己的任务。
(1)模型
模型表示企业数据和业务规则。
在MVC的三个部件中,模型拥有最多的处理任务。
例如它可能用象EJBs和ColdFusionComponents这样的构件对象来处理数据库。
被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。
由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
(2)视图
视图是用户看到并与之交互的界面。
对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括MacromediaFlash和象XHTML,XML/XSL,WML等一些标识语言和Webservices.如何处理应用程序的界面变得越来越有挑战性。
MVC一个大的好处是它能为你的应用程序处理很多不同的视图。
在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
(3)控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求。
所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何的处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。
综上所述,MVC的处理过程是首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
2.4.5JDBC
JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,同时,JDBC也是个商标名。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。
换言之,有了JDBCAPI,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程
序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用。
同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。
2.4.6Dbutils
CommonDbutils是操作数据库的组件,对传统操作数据库的类进行二次封装,可以把结果集转化成List。
传统操作数据库的类指的是JDBC(javadatabaseconnectivity:
java数据库连接,java的数据库操作的基础API。
)。
Dbutils是java编程中的数据库操作实用工具,小巧简单实用,
特色:
1.对于数据表的读操作,他可以把结果转换成List,Array,Set等java集合,便于程序员操作;
2.对于数据表的写操作,也变得很简单(只需写sql语句)
3.可以使用数据源,使用JNDI,数据库连接池等技术来优化性能--重用已经构建好的数据库连接对象,而不像php,asp那样,费时费力的不断重复的构建和重构这样的对象。
2.4.7C3P0
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。
目前使用它的开源项目有Hibernate,Spring等。
2.5系统开发平台及运行环境
2.5.1系统开发平台
系统的开发是在Tomcat环境下进行的。
Tomcat是一个免费的开源的Servlet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。
Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。
Tomcat的环境主要有以下几方面技术优势:
1.Tomcat中的应用程序是一个WAR(WebArchive)文件。
WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。
2.在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp
目录下,Tomcat会自动检测到这个文件,并将其解压。
3.Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:
处理html页面。
4.Tomcat也可以与其它一些软件集成起来实现更多的功能。
2.5.2运行环境
操作系统:
WindowsXP以上版本。
服务器软件:
Tomcat6.0以上版本。
浏览器:
IE、FireFox、GoogleChrome等。
第三章需求分析
3.1系统功能模块概述和分析
《基于JAVA的图书管理系统》模型是典型的企业级开发实践中最为普遍的企业对客户(B2C)模式,主要包括:
学生注册、用户登陆、搜索查询、读者借书、读者还书、用户退出等基本功能。
此外,本系统也将实现图书管理的后端操作,包括图书入库、图书删除、借图书预约单的处理等功能。
本系统基于JAVAEE技术,在系统的设计与开发过程中严格遵守软件工程的规范,运用软件设计模式,从而减少系统模块间的耦合,力求做到系统的稳定性、可重用性和可扩充性。
《基于JAVA的图书管理系统》主要功能如下:
(1)前台(学生借阅)部分:
用户管理:
学生注册、登录、激活、退出、修改密码;
分类显示:
显示所有1级和2级分类;
图书显示:
按分类查询图书、通过关键字搜索图书、高级搜索图书、查看某本图
书的详细等;
借书单管理:
向借书单中添加图书、修改借书单中图书数量、删除借书单中图书、
我的借书单;
图书预约单管理:
通过借书单中图书生成图书预约单、查看我的图书预约单、查
看某个图书预约单的详细、取消图书预约单。
(2)后台(管理员管理)部分:
管理员:
管理员登录;
分类管理:
查看所有分类、添加1级分类、添加2级分类、修改1级分类、修改2
级分类、删除1级分类、删除2级分类;
图书管理:
按分类搜索图书、高级搜索图书、添加新图书、查看图书详细信息、编
辑图书、删除图书;
图书预约单管理:
按状态搜索图书预约单、查看图书预约单详细信息、取消图书预
约单、确认借出;
3.2系统功能模块设计
根据系统功能分析,可以画出系统的功能模块图。
前台:
用户借书功能图
图3.2.1用户借书功能
后台:
管理员功能图:
图3.2.2管理员功能
3.3数据库分析
信息系统的主要任务是通过大量数据获得管理所需要的信息,这就要求系统本身能够存储和管理大量的数据,而这一功能的实现必须借助大型数据库系统。
本系统的开发选择MySQL作为后台数据库开发工具。
1.概念模型设计
概念模型用于信息世界的建模,与具体的DBMS无关。
为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型。
人们常常首先将现实世界抽象为信息世界,然后再将信息世界转换为机器世界。
也就是说,首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统和具体的DBMS,而是概念级的模型,然后再把模型转换为计算机上某一个DBMS支持的数据模型。
实际上,概念模型是现实世界到机器世界的一个中间层次。
信息世界中包含的基本概念有实体和联系。
(1)实体(entity)
客观存在并可相互区别的事物称为实体。
实体可以是具体的人、事、物,也可以是抽象的概念或联系。
例如,一个学生、一门课、一个供应商、一个部门、一本书、一位读者等都是实体。
(2)联系(relationship)
在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系。
实体内部的联系通常是组成实体的各属性之间的联系。
两个实体型之间的联系可以分为3类,一对一联系,(1:
1);一对多联系(1:
n);多对多联系(m:
n)。
概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示信息世界中的常用概念。
概念模型的表示方法很多,其中最为常用的是P.P.S.Chen于1976年提出的实体,联系方法(Entity-RelationshipApproach)简记为E-R表示法)。
该方法用E-R图来描述现实世界的概念模型,称为实体-联系模型,简称E-R模型。
根据数据流程分析,绘制图书管理系统的全局E-R模型如图所示。
图3.3.1数据库概念模型E-R图
2.数据库表设计
数据库表设计主要是把概念结构设计时设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。
它包括数据项、记录及记录间的联系、安全性和一致性约束等等。
导出的逻辑结构是否与概念模式一致,从功能和性能上是否满足用户的要求,要进行模式评价。
本系统数据库表如下:
(1)读者信息表(t_user)
读者信息表主要用于存储读者信息,主要字段有姓名、性别、年龄、住址、联系方式、借书证号等信息。
表3.3.1读者信息表(t_user)
字段名称
数据类型
主键
是否空
说明
uid
char(32)
Y
N
主键
loginname
varchar(50)
N
N
登录名
loginpass
varchar(50)
N
N
登录密码
varchar(50)
N
N
邮箱地址
status
boolean
N
N
是否激活
activationCode
char(64)
N
N
激活码(唯一)
(2)图书类别信息表(t_catelog)
图书类别信息表主要用于存放图书类别的信息,主要字段包括:
ID,类别名称等。
表3.3.2图书类别信息表(t_catelog)
字段名称
数据类型
主键
是否空
说明
cid
char(32)
Y
N
主键
cname
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学位 论文 基于 java 图书 管理 系统