基于JavaWeb的图书管理系统的设计与实现毕业论文Word格式文档下载.docx
《基于JavaWeb的图书管理系统的设计与实现毕业论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于JavaWeb的图书管理系统的设计与实现毕业论文Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
ssociety.
Keywords:
Librarymanagementsystem;
Javalanguage;
digitaloffice;
security
1绪论
1.1研究背景
从古到今,信息的录入,存储,检索都受制于社会生产力的发展,不仅仅浪费大量的人力资源还需要浪费大量的社会物资,并且不能长时间的保留,信息检索随着时间的跨度呈几何级的难于检索,并且如果对有些数据进行核对校验或者分析统计,需要用到的时间还有人力更是不可估计。
但是随着计算机网络的发展,这些事情都不再是痛点,计算机语言的发展就是对传统行业各个方面进行了变革,尤其是信息管理方面。
比如计算机各个系列各种型号,多种适配,哪些零件可以与其他零件进行组合,哪些不可以,这些如果是传统行业会弄成好多本书籍进行记录,但是通过软件的信息录入整合,程序进行判断,可以有效的提升效率。
在这样的背景下,各行各业都在梳理自己的信息管理流程和需求。
本设计就是在这样的环境下,针对图书借阅设计的图书管理系统,用来解决图书借阅信息管理问题的痛点和难点,让图书借阅信息管理变得更加高效节能。
1.2目的和意义
开发这套系统的目的,就是让不同的人员对不同的信息进行录入,查询,汇总,分析,让职责更明了,权限更清晰,职能更细致,响应更及时。
能快速提升信息检索效率,只需要输入自己想要的条件进行查询汇总,就能及时的得到信息,能快速的应对市场反应提升各个部门的协作效率,信息的存储更加的安全,不在害怕水火,信息备份更简便,只需要设计数据库定时备份,定时迁移,数据存储和数据迁移的成本微乎其微。
如果还用之前的信息管理模式,就会发现在市场上失去了竞争力,在同行业内失去了先进性,负担更重,前进更缓慢。
使用更先进的互联网信息管理模式,数据可以及时的进行处理,可以根据数据处理结果进行更直观更明锐的判断,在提升自我竞争力的同时也能节能环保,为社会绿化人类的美好家园增加了贡献。
1.3论文结构安排
本文对图书管理系统的设计开发过程分为7个部分进行介绍。
其中包括绪论部分,系统开发技术部分,系统分析,设计,实现,测试都会作为一个章节进行说明。
第1章绪论:
这部分是论文的开头,主要介绍系统的背景,介绍系统的开发意义。
第2章相关技术:
这部分主要针对系统开发的技术进行说明,主要有语言介绍,数据库介绍等。
第3章系统分析:
这部分主要还是根据用户的操作需要,分析系统功能,也会分析系统是否值得开发的可行性问题。
第4章系统设计:
这部分是在功能分析的层面上,进行更深层次的分析,设计,最终的设计成果是数据库结构与E-R图的设计,和功能结构图的设计。
第5章系统实现:
这部分是程序开发的重点,主要还是依靠过硬的编程知识实现系统的功能。
第6章系统测试:
这部分主要还是检验程序的合格性,各项指标,比如功能,性能,界面等是否达标。
第7章结论:
这部分主要总结设计工作,并对未来工作进行展望。
2相关技术
2.1Mysql数据库
MYSQL数据库是由瑞典的一家名称为MySQL-AB的公司开发出一款延续至今的关系型数据库,接着被数据库公司老大Oracle给收购了,之前好多人认为Oralce公司收购之后会雪藏,然后把道路让给Oracle公司的拳头产品也就是Oracle数据库,没想到的是Oracle公司后续支持mysql数据库让它成为了公司另一个拳头产品,与Oracle市场定位完全不同,使Oracle公司在数据库行业的市场占有率遥遥领先,发展的越来越好。
MYSQL数据库有自带的客户端管理工具,比如SQLYon,或者是nativeformysql,或者是mysql-font,这些都是很友好的MySQL使用工具,可以视图化处理相关数据。
虽然某些模块是收费的版本,但是作为课题来讲,免费功能是完全满足程序的需要,还有就是他的安装配置方面很简单,学习起来也是遵循于SQL语法的,网上也有充足的学习资料可以进行随时随地的学习,所以最终选择的数据库就是MYSQL数据库。
2.2B/S架构
程序开发架构方面的选择没有太多,一般就分为B/S架构和C/S架构,这两种架构模式代表着目前主流的架构模式,都是根据各种场景进行抽象化处理的设计。
在生活中比较常见。
比如国内各大互联网厂商都在B/S架构和C/S架构上进行全方位的部署。
C/S架构就是一个是客户端,一个是服务端,客户端需要安装到访问介质上,比如腾讯的QQ,英雄联盟,穿越火线等游戏软件或者各大手机上安装的各种APP,只要是需要安装软件才能访问指定资源的统统称为C/S架构。
B/S架构拥有C/S架构无法比拟的优势,那就是不挑剔平台,因为现在的操作平台都有浏览器,比如谷歌,edge,火狐,IE,各大PC版本的浏览器也不忽视手机端的,也都有占有率。
通过各种浏览器然后进行网络访问,不挑剔介质,现在各种网络也比较流畅,所以开发选用B/S架构有种水到渠成的理由,后期的维护跟新,只需要对服务端的服务器上进行操作就行,用户是没有感觉的,也不需要用户去进行操作的,如果是C/S架构,每次更新不管是服务端还是客户端,都要进行更新,非常不好用。
2.3MyEclipse开发工具
JAVA语言流行至今,学习期间也就是一个文件一个文件的学习,比如所有的语言开始都是输出一个HelloWorld作为一个开始,JAVA开发需要用到JDK作为开发而运行又需要JRE环境,每一次每个Java文件都需要编译成对应的字节码文件,也就是class文件,这样如果文件很少,也感觉不出来麻烦,但是如果项目大,文件多,还用手动编译手动拷贝,很容易工作出现纰漏,所以这些操作就需要用些集成的开发工具来代替人的操作。
Java公司自己开发的Java使用软件在市场上一直不被认可,都没有eclipse这种开发工具好用,但是eclipse开发工具虽然是开源的,但是好多插件好多组件都需要人为的手动进行调整配置,对于初学者来讲,只需要关注Java程序逻辑即可的事情反而变得越来越麻烦,不利于后续Java人员的喜爱,于是MyEclipse软件就应用而生了,它在eclipse的基础上集成了一些常用的插件,集成有JDK,如果JDK不符合要求,直接在里面进行配置选择JDK安装的目录即可,不需要配置环境变量,大量的节约了操作时间。
并且在一些框架方面,可以有效的生成模板代码,让程序开发人员的注意力更集中,对于程序的部署也就一键操作。
本程序开发就用到了MyEclipse软件作为开发Java的工具。
2.4Tomcat
服务器
对于开发Java程序的人员来讲,Tomcat服务器一般都是第一次接触,之所以不使用其他的诸如IIS服务器或者Apache服务器,是因为IIS对微软的开发语言比较友好,而Apache服务器对静态的HTML有很好的优势,只有Tomcat服务器属于小巧玲珑形,比较适合Java开发时使用。
Tomcat对于Java项目用到的Servlet和JSP技术可以很好的匹配。
再说,Tomcat是开源的,开源免费就是王道,能够很好的支持Javaweb项目,如果没有太多的要求的话,Tomcat就是首选。
Tomcat跟随Java的成长一起发展,目前有很多版本,Tomcat对JRE环境也有对应的版本支持需求。
一般情况下,Tomcat服务器是Javaweb程序开发首选,tomcat服务器是Apache服务器的扩展,myeclise就集成的有Tomcat服务器,如果Tomcat服务器版本无法满足需求,也可以另外配置相应的Tomcat服务器,目前Tomcat版本已经发展到了tomcat9这个版本了。
3系统分析
3.1系统可行性分析
在初步确定设计的课题之后,首先就需要对该课题的可行性问题进行思考,通常程序的开发是一个长期并对专业知识要求较高的任务。
在决定制作之前,要进行充分的分析与考虑,对其进行可行性分析也是衡量程序的投入成本与产生的效益问题,假如投入成本远远大于产生的效益,那么此程序就可以不用进行制作了,只有当其产生的效益远远大于投入的成本时,并可以确定程序是可以制作出来,以及使用中并不存在操作困难的前提下,才可以将程序的开发提上议程。
3.1.1时间可行性分析
首先此程序的制作主要是学院的统一安排,所以在时间上,学院给出的时间以及安排的各个时间节点对应的配套任务都可以保证程序的开发如期完成。
也就是说只要跟随学院的时间安排进行设计制作作品,是可以完成开发任务的。
3.1.2技术可行性分析
此程序是作为计算机专业学生的一个毕业答辩项目,它运用到的专业知识,大学期间,学校老师都已经讲授过,并且也在学习期间以及期末考核中,老师们安排了一些类似课程设计这样的作业,本人也通过这些作业进行了练习,也知晓程序的设计流程,也熟悉软件环境的安装,通过平时的实践,本人也具备一定的开发基础以及经验,并具备一定的学以致用的能力。
因此,此程序开发在技术上准备充分,开发确实可行!
3.1.3经济可行性分析
通过对程序制作中需要花费的资金进行分析,可以得出此程序无需考虑资金投入问题。
首先程序制作涉及到软件以及硬件环境都有现成的资源,硬件环境就是一台可以上网的笔记本,也可以是学院的图书馆的机房里面的电脑,软件环境也能从各大浏览器进行下载安装,无论软件还是硬件上所需要的资源都不需要资金投入。
对于程序完成制作之后,在使用者的使用期间,此程序还会节省人工成本,节省时间成本,并给使用者带来较客观的收益。
3.1.4操作可行性分析
首先程序的功能都会显示在程序的操作主界面,并显示在比较明显的位置,并且程序功能都有相应的导航条进行导航,点击程序的各个功能导航条,会进入相应的操作界面,从这个角度来看,可以得出的信息就是,该程序的操作逻辑并不复杂,就算生活中的普通用户操作该程序,也能根据程序里面的功能提示进行操作。
因此,程序的运行使用是可以进行的。
总而言之,此程序从技术角度分析可以进行开发,从时间角度分析,预留时间完全够用,从操作角度分析,程序的操作难度较低,使用者可以顺利操作等,因此,程序也就可以投入人力与时间进行制作。
3.2系统性能分析
有了对程序的功能进行的分析,也不能漏掉对程序的性能进行分析,程序的性能优良,就可以让使用者在使用程序完成数据处理任务时,还可以产生一定的程序依赖性。
本次对于该程序提出的性能要求就是,程序的功能是依照现有的用户需求进行设计的,假设把时间往后推移四五年,相信用户的需求就不仅仅是现在提出来的需求了,肯定会额外增加许多新的功能,因为在早期,由于用户需求还有程序开发者的技术水平的影响,早期的程序大都只是简单的增加,删除,以及数据更新等,并不存在数据的分析功能,比如数据统计等。
然而,现在科学也在进步,开发技术也在迭代更新,开发者的开发经验以及开发技能也得到提升,所以程序的功能就变得多了起来,目前市面上的许多程序大多都具备数据分析与统计的功能。
因此,对于一般系统的开发或者对于旧系统的更新等,都需要涉及到升级,一个是性能上保持优越,另一个是功能上保持更加齐全等,这些都需要在原来的系统上进行改变,并达到升级的目的,所以,任何可开发程序都要模块化,也都要具备可扩展性,并且在进行程序功能扩展时,不能够对程序原有功能产生影响,也不能对程序的整体结构产生影响。
一个稳定性强,并可迭代升级的程序,在满足使用者日常操作需求的同时,也能更好应对当前时代的变化。
3.3系统流程分析
流程图更能反映程序处理信息的逻辑,本部分内容对程序的流程进行说明。
信息添加流程:
本程序在数据的录入上,是基于可视化的操作,用户根据页面提示填写信息,添加信息的流程(见下图)主要还是逻辑判断,判断输入的信息合理,程序数据库才会保存数据。
图3.1信息添加流程图
信息修改流程:
有了数据的添加,就会出现数据信息的修改的情况,毕竟人为录入数据也会有粗心大意的时候,所以程序设置的修改功能,主要还是帮助用户更高效地更正程序数据,保持数据的正确性与可用性。
信息修改的流程(见下图)也是需要进行验证判断。
图3.2信息修改流程图
信息查询流程:
程序后台存放的数据很多,当用户需要某种信息时,不可能再去一行行寻找,所以查询功能的设置也是必要的,相应的程序查询流程(见下图)也是需要检验用户填写的查询条件的合理性与可靠性。
图3.3信息查询流程图
3.4系统功能分析
当从可行性角度分析了程序开发可以进行时,就需要根据用户操作需求进行调研,进行分析,并需要大量查找相应资料,为分析并确定程序的功能做好准备。
此部分内容就对程序使用者的功能进行分析说明。
管理员操作程序的功能主要在后台,使用用例图说明其功能更加直观(管理员用例图会在下图展示)。
管理员在登录程序后,可以管理读者资料,添加图书类别与图书信息,并可在后期统一管理添加的图书类别与图书信息,管理员对读者借阅信息进行添加,读者归还图书也需要管理员在后台处理图书归还信息。
图3.5管理员用例图
读者操作程序的功能主要在后台,使用用例图说明其功能更加直观(读者用例图会在下图展示)。
读者在登录程序后,先要根据图书类别搜索图书信息,读者需要借阅的图书可以在管理员的帮助下,实现借阅,读者在个人后台查看借阅的信息以及归还最终日期,读者可以自行在个人后台的我的借阅信息模块主动归还图书。
图3.6读者用例图
4系统设计
程序的系统设计阶段任务比较重,需要具体设计程序功能,也需要设计存储数据的数据库。
本章节最终要出具程序功能结构图,E-R图,还有设计的数据表结构的信息表。
4.1系统功能结构设计
在使用用例图绘制管理员的功能之后,需要对管理员的功能进行更加细致的设计,也是为下阶段的系统实现做好准备。
设计管理员的功能使用结构图展示(见下图)。
图4.1管理员功能结构图
在使用用例图绘制读者的功能之后,需要对读者的功能进行更加细致的设计,也是为下阶段的系统实现做好准备。
设计读者的功能使用结构图展示(见下图)。
图4.2读者功能结构图
4.2数据库设计
程序在投入使用期间,每天都会产生庞大的数据量,这些数据并不是存放在程序里面,而是选用了专门的数据管理工具来保存信息,这个工具就是数据库,为了让所选数据库更好的服务于开发的程序,就要对这个数据库创建相应的数据库文件,并进行规则设计,让数据库在应对程序的各种数据处理请求时可以及时进行反馈。
4.2.1数据库E-R图
在分析出并设计好程序的相关功能之后,还有一个比较重要的设计任务,就是参照程序的功能设计出此程序的数据库,这部分内容一方面包括了对于数据库E-R图的设计与绘制,另一方面包括了对数据库创建表格,并设计各个表的结构。
说到E-R图的绘制,市场上也有很多绘制其的软件,它们大都提供了E-R图的基本表示符号,所以通过鼠标的选择与拖拽就可以完成初步的绘制,由于使用习惯的问题,本人更加倾向于微软的Visio,对PowerDesigner建模工具,还有对比较受欢迎的Navicat等工具接触较少,为了如期提交作品,这里就不再花费额外的时间去学习一些E-R图的建模工具了,仅仅使用常用的,比较熟悉的Visio工具就行了。
E-R图的代表符号有3种,第一种是矩形符号,专门表示实体的,第二种是椭圆符号,专门代表矩形实体的属性,第三种是菱形符号,专门代表各个矩形实体当中的某种联系。
(1)此数据库设计了管理员实体,它对应的E-R图(见下图)需要使用Visio工具绘制。
图4.7管理员实体E-R图
(2)此数据库设计了读者实体,它对应的E-R图(见下图)需要使用Visio工具绘制。
图4.8读者实体E-R图
(3)此数据库设计了图书实体,它对应的E-R图(见下图)需要使用Visio工具绘制。
图4.9图书实体E-R图
(4)此数据库设计了图书借阅实体,它对应的E-R图(见下图)需要使用Visio工具绘制。
图4.10图书借阅实体E-R图
(5)各个实体,它们之间具有的关系会在下图展示。
图4.11系统E-R图
4.2.2数据库表结构
存储程序数据需要一定的规则进行,这样才可以确保后期在对数据库的数据进行使用时,可以使用一定的规则进行查询并显示出来。
数据库里面的每个表的结构设计都是不一样的,但是都包含了字段名,字段对应的数据类型,以及数据类型的长度值等。
每当设计好一个数据表结构时,在程序运行中,就会依照这样的表结构依次存储数据,所以在程序进行数据添加时,也会对应在数据表中写入数据,程序进行数据更新时,也会在对应数据表中更改对应数据,程序执行删除功能时,也会在对应数据表中清除相应的数据。
所以,每当使用者在执行功能时,都会在操作界面查看实时变化的数据,这些数据同样也是在数据库当中进行变化,最后会把数据库当中的已经发生变化的信息同步显示在程序操作界面。
所以,数据表的结构的设计一定要多花时间进行思考。
设计出最优秀的结构,不仅提高数据存储效率,缩短查询时间,也让程序处理的数据的整体性能得到提升。
表4.1管理员信息表
列名
说明
类型
长度
主键
非空
userId
编号
int
30
Y
userName
用户名
Varchar2
N
userPw
密码
表4.2图书信息表
book_id
book_name
名称
book_zuozhe
作者
book_chubanshe
出版社
book_chubanriqi
出版日期
Date
book_isbm
书号
book_price
定价
catelog_id
类别编号
10
表4.3读者信息表
user_id
user_realname
姓名
user_sex
性别
user_age
年龄
user_address
地址
user_tel