摘 要
当下,如果还依然使用纸质文档来记录并且管理相关信息,可能会出现很多问题,比如原始文件的丢失,因为采用纸质文档,很容易受潮或者怕火,不容易备份,需要花费大量的人员和资金来管理用纸质文档存储的信息,最重要的是数据出现问题寻找起来很麻烦,并且修改也困难,如果还这样操作会造成很大的资源浪费和经济损失。所以,对于本课题研究的图书馆书库信息的管理就需要有一款软件来代替手工操作,因此图书馆书库管理系统就应运而生。
图书馆书库管理系统运用的工具包括Eclipse,Tomcat以及Navicat等。该系统可以实现图书信息管理,借阅记录管理,公告管理,出入库管理,用户管理等功能。
图书馆书库管理系统就是采用目前最流行的互联网应用思维,让信息处理变得更加高效,并且处理结果更加的符合预期,只要是关于数据管理方面,不管是添加还是修改,以及数据维护甚至是数据迁移,都可以达到更快更安全的要求。
关键词:图书馆书库管理系统;图书信息;借阅记录;出入库
Abstract
At present, if paper documents are still used to record and manage related information, there may be many problems, such as the loss of original documents, because paper documents are easily damped or afraid of fire, not easy to back up, and require a lot of personnel. and funds to manage the information stored in paper documents, the most important thing is that it is very troublesome to find problems with the data, and it is difficult to modify. Therefore, for the management of library library information in this subject, there needs to be a software to replace manual operation, so the library library management system came into being.
The tools used by the library library management system include Eclipse, Tomcat and Navicat. The system can realize the functions of book information management, borrowing record management, announcement management, storage management, user management and so on.
The library library management system adopts the most popular Internet application thinking to make information processing more efficient, and the processing results are more in line with expectations, as long as it is about data management, whether it is adding or modifying, and data maintenance or even data Migration can achieve faster and safer requirements.
Key Words:Library library management system; book information; borrowing records;
目 录
第1章 绪论 1
1.1 选题动因 1
1.2 目的和意义 1
1.3 论文结构安排 2
第2章 开发环境与技术 3
2.1 Tomcat 简介 3
2.2 Eclipse简介 3
2.3 Navicat简介 4
2.4 Vue框架 4
第3章 系统分析 5
3.1 可行性分析 5
3.1.1 经济可行性 5
3.1.2 技术可行性 5
3.1.3 操作可行性 5
3.2 系统流程分析 6
3.3 系统性能分析 7
3.4 系统功能分析 8
第4章 系统设计 11
4.1 布局设计原则 11
4.2 功能结构设计 12
4.3 数据库设计 13
4.3.1 数据库E-R图设计 13
4.3.2 数据库表结构设计 16
第5章 系统实现 20
5.1 管理员功能实现 20
5.1.1 图书管理 20
5.1.2 出入库管理 20
5.1.3 用户管理 21
5.1.4 借阅记录管理 21
5.1.5 公告信息管理 22
5.2 用户功能实现 22
5.2.1 图书查看 22
5.2.2 借阅记录管理 23
5.2.3 公告信息查看 23
第6章 系统测试 25
6.1 系统测试方法 25
6.2 功能测试 25
6.2.1 登录功能测试 25
6.2.2 图书查询功能测试 26
6.3 测试结果分析 26
结 论 27
参考文献 28
致 谢 29
第1章 绪论
1.1 选题动因
到现在为止,互联网已经进入了千家万户,最普通的平民百姓也有属于自己的智能设备,计算机各种技术的储备也是相当的丰富,并且实现也是没有难度,各行各业,包括一些个人,也积极拥抱互联网时代的到来,也可以说是互联网时代的到来把人们都给包在互联网之中。从刚开始的政府办公,国家企业的开头使用,到如今的老百姓都能用上,别说那些普通企业了。计算机就是有这样的魅力,互联网被称为浪潮不是浪得虚名的。采用计算机技术,开发一些软件,实现软件所在的目的,这是一个常理,这个基础的常理缩短了地域之间的联系,提高了地域竞争水准,减低了人力成本和数据存储成本。本课题研究的图书馆书库管理系统,也是采用了计算机技术,该系统能够提高图书馆书库信息数据的检索速度,使用起来非常的方便。
1.2 目的和意义
在图书馆书库管理系统实际操作中,使用者会发现使用起来相当的方便,并且对数据的管理者来讲,也能及时的获得自己想要的数据,对整个数据的所有者能提供强大的帮助,图书馆书库管理系统从操作者的角度出发,不管是在数据的接收以及传递,以及处理结果,都有一个很明显的要求,对有效数据的处理,并且形成集合,并且对有效数据集合进行固定化处理,可以得到更有效的数据,有了图书馆书库管理系统,让管理层不至于把大量的人力和财力资源消耗在数据处理整合方面,完全可以让不知疲倦的计算机来进行,不仅投入减低,并且产出也不少。互联网时代就是如此,顺之者昌,响应互联网时代,不至于说可以乘风破浪,起码可以降低直接淘汰出局的几率。图书馆书库管理系统的出现是顺应时代的。
1.3 论文结构安排
图书馆书库管理系统的论文结构将从6个章节进行阐述。具体结构安排如下:
第1章:本章节对本课题的选题动因,本课题的研究目的和意义进行说明。
第2章:本章节对本课题需要运用的环境和技术进行说明。
第3章:本章节对本课题性能,功能进行分析,对系统开发的经济,技术等条件是否可行进行说明。
第4章:本章节对本课题具体的功能进行设计,同时也对系统的数据库进行E-R图设计以及数据表设计。
第5章:本章节对实现的功能的运行效果图进行展示,同时对系统的功能进行说明。
第6章:本章节对系统功能上的测试进行说明,对测试的结果进行分析。
第2章 开发环境与技术
图书馆书库管理系统需要提前对功能进行调查分析,并且根据分析结果进行技术上的辩证,可以选择更合理的开发技术以及开发工具。
2.1 Tomcat 简介
只要学习Java Web项目就不得不学习Tomcat。Tomcat是一种免费的开源的一种Java Web项目的容器,完美继承了 Apache服务器的特性,并且里面添加可以自动化运行的Java Web组件,让Java Web项目可以完全的运行到Tomcat里面。对于特大型项目来讲,直接用Tomcat会造成启动变慢,处理有限等,所以对项目进行了前后端分离技术,但是对于需要称不上特大型的项目来讲,普通的大中型项目用Tomcat作为Java Web项目的运行容器是完全够资格的。最重要的是Tomcat完全跟着Java EE,每一次Java EE的升级,Tomcat都会有着对应的版本出现,版本更新速度是非常快的。更新速度快,代表着有技术方面的支持,值得用户使用的,让用户更加信赖Tomcat产品。
2.2 Eclipse简介
Eclipse这款开发工具最最重要的特点就是免费,不管是用来开发任何的东西,哪怕用来教学或者是生产,只要是能带了商业价值的生产都可以免费使用,这一点对于IDEA或者MyEclipse来讲,是非常的具有前瞻性的。免费的也许有很多不足,但是就是因为免费,所以很多人愿意贡献自己的力量,让这款免费的工具可以拥有更多的插件,用起来更加的舒心。可以这么说,Eclipse就是Java语言开发行业的鼻祖,只要是学过Java的人,对Eclipse没有不熟悉的。Eclipse操作起来非常的方便,可以不用安装,直接解压了就可以使用,并且可以在不同的操作系统上面都可以安装到对应的版本。Eclipse是真的不要钱,免费,下载就能用,这么多年以来长期占领着Java开发市场的半壁江山。Eclipse可以在官网上进行捐款,捐款可以支持Eclipse进一步发展,也可以不捐款直接使用,一切随心,不会强求。Eclipse真的是一款良心Java生产工具。
2.3 Navicat简介
Navicat是一款管理数据库的软件。众所周知,所有的数据库只是以特定的存放格式进行存放的,访问也需要特定的接口以及语句进行访问。如果访问数据库都用各种命令,不仅仅是开发效率上会大大的降低,并且看起来也不舒服,对于某些数据或者数据库来讲这样并不友好,如何对数据库进行友好的访问到现在为止,不同的数据库厂商都推出了适合自己数据库的管理工具,但是有一点就是,数据库厂商推出之后,只要能用就行,并没有符合人体工程学,所有的数据库厂商推出的数据库管理工具都是免费的,所以并没有对于数据库管理工具进行过多的优化,用起来相当的不友好,并且各个数据库工具是不能通用的,这一点数据库厂商肯定不会去做匹配其他数据库的管理工具,所以Navicat就应运而生,可以采用Navicat管理各种各样的数据库,可以同时访问各种数据库并且通过不同的连接进行访问,还可以访问不同电脑的数据库,页面操作简单,美观大方,用起来很好用,并且占用电脑资源很小,很适合作为替代其他数据库厂商推出的数据库管理工具使用。
2.4 Vue框架
Vue框架因为是纯JavaScript开发的模式,只需要通过浏览器就可以进行解析,不需要增加服务端的处理压力。Vue框架最典型的就是渐进式显示模式,举一个小小的例子,如果一个商店一些商品的库存或者价格不变,会急速的显示,如果一处地方进行变换,那么只要引用到这个变化数据的所有数据都会自动变化,让数据显示的实时性大大的增加,让用户使用起来更加的友好。对开发者而言,Vue框架非常好理解,编写起来能极大的减少DOM的相关操作,让页面渲染更加的有层次。当前端不在需要关注一些不必要的操作的时候,能让程序开发人员的注意力都能集中到业务逻辑方面,这样从这一个方面又能极大的提高了开发效率。所以Vue框架这个火爆是有原因的。
第3章 系统分析
通过对系统的功能进行具体分析,可以参考已经发表过的具有参考价值的文章作为对比,这样能把功能分析的很透彻,并且也会因为功能的分析而对性能也有大致的了解,并且可以预测性能,实现性能分析的结果。
3.1 可行性分析
系统的设计必须符合正常逻辑,所以设计之处,也需要从其他方面来论证其可行性。
3.1.1 经济可行性
开发图书馆书库管理系统,存在经济上面的支持,必须经济上的支持才可以有序进行,比如是否需要额外购买开发工具,购买开发电脑,或者从开发技术上是否是免费开源,达到的效果上面是否支出与收入不匹配,这些都需要进行分析。由于开发本系统,开发技术开源且稳定,电脑用正在使用的电脑就能满足,不需要太多的经济支出就可以达到目的,经济可行性通过。
3.1.2 技术可行性
图书馆书库管理系统软件主要用到的一些工具,而这些工具正好在学校就使用过,并且网上有很多免费的并且符合的开发工具,技术方面也学过,并且有图书馆的资源和网络资源可以充分利用。所以在技术角度上面来分析是可以的。
3.1.3 操作可行性
操作方面分为开发过程,实现过程,项目具体操作流程。这些因为都学过,并且有其他的项目流程作为参考。总体实现一般就是用户的登录相关,权限分配,基础数据的变更体现。让不同的角色有不同的操作界面,符合正确角色定位,使用者在操作上面并不会感觉到很突兀,影响操作流程。所以操作方面是可以的。
通过以上不同角度的分析,最后论证分析了可行性是没有问题的,完全可以进行后续步骤。
3.2 系统流程分析
操作逻辑是一个可以用画图工具展示的,因为数据在录入过程中的不可见,只能看到返回结果,所以把流程画成图可以更好的理解其中的顺序。
在系统的各项操作中,其他的录入环节,会对操作者具体操作的每条信息都会提出验证要求,比如不能为空,只能是汉字,以及其他的要求等,这些都在前端需要编写清楚,达到友好提示的目的,有效的帮助操作人员理解操作。具体数据的流程如下面的图所示。当操作员输入信息后,点击提交后台就会接收操作员提交的信息,并且提前编写好的逻辑会继续验证,如果数据合格就存入到数据库里并且返回成功提示,这样一个录入环节就达到了设计要求。
图3.1 添加信息流程图
有时候录入的一些数据可能需要修改,修改就是纠正之前的操作,所以修改数据必须是先把想要修改的数据从数据库里获取出来,然后在这个之上进行修改,修改数据也有相应的操作流程。
图3.2 修改信息流程图
数据的查询是在任何程序上都是一个常规的操作,面对的数据量不一样,想要获取想要的数据时间也不一样,都是尽快的获取自己想要的结果,所以数据查询就需要有个查询条件作为查询关键词,这样可以更好的获取符合关键词的数据。
图3.3 查询信息流程图
3.3 系统性能分析
关于图书馆书库管理系统从性能需求方面来分析,主要从五个角度分析。五个角度分别从设计的实用性,设计的操作性,设计的安全性,设计的适应性和维护性这五个角度来进行分析。
首先分析第一点,设计的实用性。本设计的目的就是让管理员可以综合的处理各种基础信息,并且有相应的权限来进行操作,达到数据同步,集中管理的目的,并且可以让用户处理用户相关信息,符合设计的既定目标,达到使用效果。
其次分析第二点,设计的操作性。开发出来的系统必须有操作性,如果操作起来丢三落四,出现各种不符合流程的操作,那么就是不符合设计规则的,设计的操作性必须符合人体工程学使用原则,从上到下,从左到右,让操作起来更加的有逻辑性,不需要不符合逻辑的页面数据体验和操作流程,让设计的操作性体现出来,看到操作界面就会有相应的下一步理解。
再次是安全性,虽然从任何角度来讲,安全性应该放到第一位,但是有些时候安全性是在数据量大并且数据重要的前提下才会对数据的安全性来进行设计,正常的软件使用过程只要数据设计合理,并且目标单一,让黑客不屑于或者付出不成正比的情况下,安全性自然可以稍微降低一点,毕竟面对的使用群体决定了安全性的强度。本设计主要是从毕业设计的角度出发,增加一点数据校验的安全性就行,没必要设置硬件防火墙之类的资源,所以安全性上面也是符合的。
再次是适应性。适应性主要是面对各种平台的操作系统,目前本设计的开发可以使用本人电脑进行开发,服务器可以架设到任何地方,并且有对应的服务器软件版本。而用户方面只需要能上网,有最新版本的浏览器进行支持即可,所以适应性是相当不错的。
最后是分析维护性。这一点只需要维护服务端代码即可,每次服务端代码维护都可以先把服务器停止,然后在开发电脑上进行测试,最后测试无误再在服务器上进行部署,维护性并不会增加多少成本。
3.4 系统功能分析
当设计人员通过参考各种文献以及其他类似项目的调研后,就会对项目具体的功能进行分析,这样有的放矢可以更快的设计程序的功能。
图书馆书库管理系统的操作者有管理员,分析的管理员功能将使用用例图进行展示。图3.4展示了管理员用例图。管理员管理用户,管理图书出入库,图书基本信息以及图书的借阅记录。
图3.4 管理员用例图
图书馆书库管理系统的操作者有用户,分析的用户的功能将使用用例图进行展示。图3.5展示了用户用例图。用户可以查询图书,借阅图书,在借阅记录管理模块对借阅的图书进行归还。
图3.5 用户用例图
第4章 系统设计
在系统设计环境,业务的处理逻辑和数据的设计逻辑虽然是重中之重,但是这些都是用户看不见摸不着的,用户也只是能看到部署好的项目运行起来的结果,所以用户对界面布局以及界面功能比较看重。所以说,如今只要是开发网站不仅仅是需要懂一点页面设计就行,也需要懂得UI设计的人群。传统的网页设计其实就是换几个颜色,放几张图片,然后来充实操作页面,让操作页面不至于太单调,但是互联网发展至今,开发也越来越精细化,用户越来越挑剔,还用凑合方式来进行程序开发,已经是属于落后的状态了。
4.1 布局设计原则
布局不是传统的把页面分分类,输入和显示页面,调整调整间距这些笼统的说法了,布局设计也是有一定的原则的。
首先,布局一定要清晰合理。布局的清晰不是说图片清晰或者文字清晰,而是说用户在使用过程中,看到导航的布局,就能明白所有功能模块都可以在导航里寻找,打开一个页面,就能知道重要与不重要的资料,必须与不必须的填写,甚至是输入的格式是什么规格,都可以让用户使用的时候一目了然。因为界面是有限的,所以说布局是相当重要的一点设计原则。
其次,布局的体现要符合大众审美,比如说导航,尽量都是网页的上方或者左侧。如果把导航放到网页下方或者右方,这些代码都是可以实现,但是不符合正常人的思维定向。现代人的读写习惯都是从上而下,从左到右的阅读方式,人们身体和心灵已经习惯了这种方式,如果布局到其他方向首先用户会感到新颖,但是却不会买账,因为操作几遍后就会不习惯。
最后,布局也要考虑这个软件是用来做什么的,常用这个软件的人员的年龄划分,性别划分,以及职业划分。划分了使用人群,就可以对背景进行调色填充,如果是长时间用电脑的人群尽量设计的有护眼功能,不至于看一会眼睛就受不了,尽量要区分长时间使用和短时间使用的背景,这一点很重要。
综上所述,系统设计需要考虑方方面面,布局设计也是需要精细化考虑,系统设计需要考虑太多,但是实现却不能弄得操作上太复杂,系统设计尽量的要满足用户需要,提高用户满意度。
4.2 功能结构设计
在基于系统功能分析的基础之上,开始对系统的详细功能进行设计,最终将使用结构图的形式对设计的结果进行展示。
管理员具备的详细功能将参照最终的设计结果,即图4.1所示的管理员功能结构图。其中管理员管理用户,管理图书出入库,图书基本信息以及图书的借阅记录。
图4.1 管理员功能结构图
用户具备的详细功能将参照最终的设计结果,即图4.2所示的用户功能结构图。其中用户可以查询图书,借阅图书,在借阅记录管理模块对借阅的图书进行归还。
图4.2 用户功能结构图
4.3 数据库设计
数据库的选用方面肯定要选一个市场反应比较好,性价比比较高的数据库,不能凭空想象数据库,要结合程序设计的需求来选择对应的数据库。目前来讲,市面上常用的关系型数据库足够达到需求。
4.3.1 数据库E-R图设计
想好更好的设计出数据库使用效果,那么就要对数据的存放格式以及存放关系作出调查和梳理,所以通过分析E-R图之间的数据实体关系是最好不过的。而设计数据库E-R图是有下面几点好处:
第一点:数据的冗余是一件很恐怖的事情,所以要对有些数据进行冗余筛选;
第二点:防止内存溢出,数据量太大,需要提前做好预测并且设定好规则;
第三点:数据库一定要完整,非完整数据也只是数据垃圾而已,没有任何作用;
第四点:提高数据检索性能;
这节主要是描述对系统的E-R模型的设计,数据存储格式的判断,实现的方法,用户的需要,这些都要统一,不能想当然。并且各个模型中间的关系尤其要突出。
(1)把图书具备的属性通过属性图进行展示,绘制的属性图见图4.4。
图4.4 图书实体属性图
(2)把用户具备的属性通过属性图进行展示,绘制的属性图见图4.5。
图4.5 用户实体属性图
(3)把借阅记录具备的属性通过属性图进行展示,绘制的属性图见图4.6。
图4.6 借阅记录实体属性图
(4)把管理员具备的属性通过属性图进行展示,绘制的属性图见图4.7。
图4.7 管理员实体属性图
(5)上述实体间关系见图4.8。
图4.8 实体间关系E-R图
4.3.2 数据库表结构设计
数据库设计必须符合规范,那就是三大范式,这样能确保数据的合理:
第一范式:保证表之间的字段关系不存在混淆的描述,必须描述准确,并且单一,不能分解;
第二范式:在上述的满足条件上,主键的设计必须要在固定的列上,不能忽前忽后;
第三范式:继续满足上个条件,保证每个字段都可以根据主键获取到,并且在一个数据表里体现。
所以说,三个范式是一脉相承的,不是说零碎的,从第一个范式上就会发现,第一个永远是基础,后面的设定就是后者的实现必须在前面范式的基础之上的要求,这些设计可以最大化的减少数据冗余,提高数据库运行效率。
表4.1 借阅记录表
字段 注释 类型 空
id (主键) 主键 int(11) 否
yonghu_id 借阅用户 int(200) 是
tushu_id 借阅书 int(200) 是
jieyue_time 借阅时间 timestamp 是
huanshu_time 最晚还书时间 timestamp 是
jieyue_types 借阅状态 int(200) 是
create_time 创建时间 timestamp 是
表4.2 公告信息表
字段 注释 类型 空
id (主键) 主键 int(11) 否
news_name 公告标题 varchar(200) 是
news_types 公告类型 int(11) 是
news_photo 公告图片 varchar(200) 是
insert_time 公告时间 timestamp 是
news_content 公告详情 text 是
create_time 创建时间 timestamp 是
表4.3 图书表
字段 注释 类型 空
id (主键) 主键 int(11) 否
tushu_bianhao 图书编号 varchar(200) 是
tushu_name 图书名称 varchar(200) 是
tushu_zuozhe 作者 varchar(200) 是
tushu_photo 图书封面 varchar(200) 是
tushu_types 图书类型 int(200) 是
chubanshe_types 出版社 int(200) 是
tushu_new_money 单价 decimal(10,2) 是
tushu_time 出版日期 timestamp 是
tushu_kucun_number 图书库存 int(200) 是
tushu_jieyue 可借阅天数 int(200) 是
tushu_content 详情信息 text 是
create_time 创建时间 timestamp 是
表4.4 出入库表
字段 注释 类型 空
id (主键) 主键 int(11) 否
tushu_churu_inout_uuid_number 出入库流水号 varchar(200) 是
tushu_churu_inout_name 出入库名称 varchar(200) 是
tushu_churu_inout_types 出入库类型 int(11) 是
tushu_churu_inout_content 备注 text 是
insert_time 添加时间 timestamp 是
create_time 创建时间 timestamp 是
表4.5 出入库详情表
字段 注释 类型 空
id (主键) 主键 int(11) 否
tushu_churu_inout_id 出入库 int(11) 是
tushu_id 图书 int(11) 是
tushu_churu_inout_list_number 操作数量 int(11) 是
insert_time 操作时间 timestamp 是
create_time 创建时间 timestamp 是
表4.6 管理员表
字段 注释 类型 空
id (主键) 主键 bigint(20) 否
username 用户名 varchar(100) 否
password 密码 varchar(100) 否
role 角色 varchar(100) 是
addtime 新增时间 timestamp 否
表4.7 用户表
字段 注释 类型 空
id (主键) 主键 int(11) 否
username 账户 varchar(200) 是
password 密码 varchar(200) 是
yonghu_name 用户姓名 varchar(200) 是
yonghu_photo 头像 varchar(255) 是
sex_types 性别 int(11) 是
yonghu_phone 联系方式 varchar(200) 是
yonghu_id_number 用户身份证号 varchar(200) 是
xibie_types 系别 int(11) 是
banji_types 班级 int(11) 是
yonghu_email 邮箱 varchar(200) 是
yonghu_uuid_number 图书证号 varchar(200) 是
jieyueshuliang 可借阅数量 int(11) 是
yonghu_delete 假删 int(11) 是
create_time 创建时间 timestamp 是
第5章 系统实现
下面主要是对系统实现的功能进行描述,一般在系统实现阶段只算是一个粗略的功能实现,可能符合开发人员的设计预期,但是对于具体使用者来讲还是需要其他人进行发现的,所以这个环节是很有必要进行描述的。
5.1 管理员功能实现
5.1.1 图书管理
实现图书管理功能,其界面运行的效果图见图5.1。在该界面,管理员修改,删除,查询图书信息,对图书信息进行新增等。
图5.1 图书管理界面
5.1.2 出入库管理
实现出入库管理功能,其界面运行的效果图见图5.2。在该界面,管理员对图书入库,出库,对图书的出入库信息进行修改,查询,删除,管理员点击查看列表详情按钮就可以查看图书出入库的详情信息。
图5.2 出入库管理界面
5.1.3 用户管理
实现用户管理功能,其界面运行的效果图见图5.3。在该界面,管理员新增用户,需要设置用户对图书的借阅数量信息,登记班级信息,联系方式,邮箱等信息,可以在本界面直接删除用户的资料。
图5.3 用户管理界面
5.1.4 借阅记录管理
实现借阅记录管理功能,其界面运行的效果图见图5.4。在该界面,管理员主要是增删改查用户的图书借阅记录信息。
图5.4 借阅记录管理界面
5.1.5 公告信息管理
实现公告信息管理功能,其界面运行的效果图见图5.5。在该界面,管理员需要每天发布公告,在本界面对公告进行管理,包括修改,删除。
图5.5 公告信息管理界面
5.2 用户功能实现
5.2.1 图书查看
实现图书查看功能,其界面运行的效果图见图5.6。在该界面,用户可以查询图书,查看图书详情,图书的信息包括出版社,图书库存,可借阅天数等信息。
图5.6 图书查看界面
5.2.2 借阅记录管理
实现借阅记录管理功能,其界面运行的效果图见图5.7。在该界面,用户可以新增图书借阅信息,已经借阅的图书如果没有进行归还,用户自己可以在本界面进行对应图书的归还操作。
图5.7 借阅记录管理界面
5.2.3 公告信息查看
实现公告信息查看功能,其界面运行的效果图见图5.8。在该界面,用户登录系统就能在后台每天查看管理员发布的公告。
图5.8 公告信息查看界面
第6章 系统测试
系统测试的含义并不是说只要有了系统测试就不需要程序员自己测试,程序员开发过程中,因为面对的是不断的编码,一个模块一个模块的编写,甚至有些模块不是自己编写的,在整个程序测试中,程序员是必须要自己测试自己写的代码的,如果程序员不自己测试自己写的代码,那么代码的存在是没有意义的。程序员自己测试只是属于系统测试中的第一个环节而已,后续需要专业的测试人员继续测试。
6.1 系统测试方法
系统测试的环节有很多要求,并且有不同的测试方式,有模块测试,整体测试,验收测试,回归测试等。以下内容着重描述不同的测试方法。
模块测试:就是单元测试,每个模块每个功能,分别测试,有问题就反馈。
整体测试:就是集成测试,是模块测试的后续,只要是一个模块相关联的模块,全部测试,这样的好处就是不会漏掉任何一个关联模块。
验收测试:这个是甲方人员所负责的,主要是验收的,自然有验收的方法,可外包第三方测试公司,也可以自己派人测试。
回归测试:测试出问题就修改问题,但是为了避免出现新的问题,所以继续新一轮的测试。只有不断的回归测试,才能把整个程序完美的测试出来,让问题更少,让开发和测试变得更加统一。
6.2 功能测试
既然程序开发好了,那么必备的测试功能是必不可少的,必须测试合格的程序才算是符合正常使用要求的程序,所以测试也是一项很重要的任务。
6.2.1 登录功能测试
系统的登录是首先要测试的环节,虽然系统登录在各个软件上都有这个操作,看起来微不足道,其实也是用户访问的最基本的安全操作,必须登录才算是合法用户。测试结果如下:
表6.1 登录功能测试表
功能 数据输入 预期的结果 实际的结果 测试结果
管理员登录 用户名:保持为空
密码:保持为空 系统弹出提示信息:用户名不能为空 提示用户名不能为空 合格
管理员登录 用户名:kkk
密码:保持为空 系统弹出提示信息:密码不能为空 提示密码不能为空 合格
管理员登录 用户名:kkk
密码:mmm 系统弹出提示信息:用户名或密码错误 提示用户名或密码错误 合格
管理员登录 用户名:kkk
密码:kkk 系统弹出提示信息:成功登录 提示成功登录 合格
6.2.2 图书查询功能测试
系统功能里面关于数据录入成功后,有查询模块的功能必须要测试查询,查询功能必须根据提前设定好的条件来进行查询,如果符合设定的条件会查询出来结果,不符合就不会出现结果。
表6.2 图书查询功能测试表
功能 数据输入 预期的结果 实际的结果 测试结果
图书查询 图书名称:保持为空 系统弹出提示信息:图书名称不能为空 提示图书名称不能为空 合格
图书查询 图书名称:%&* 系统弹出提示信息:数据格式有误 提示数据格式有误 合格
图书查询 图书名称:唐诗三百首 显示出查询的结果 显示出查询的结果 合格
6.3 测试结果分析
整个测试流程完毕后,从测试功能结果上看,图书馆书库管理系统的功能完全符合设计的要求。从运行结果上看,能保证整天运行,并且运行过程中也没有发现运行异常。从性能消耗结果上看,符合预期消耗,并没有过多的消耗其他服务器资源。系统可以在用户操作违规时能正常提示用户,让用户正常操作,这个机制是相当友好的,一方面避免了用户的野蛮操作,也平复了用户的情绪,让用户有机会改正。整个操作页面和操作流程都符合现代人的操作行为习惯。本系统可以正常上线,可以让用户使用,解决用户生产中面临的问题。
结 论
当毕业设计完成的那一刻,浑身舒坦,并不是说那种无事一身轻的感觉,而是通过这三四个月夜以继日废寝忘食的钻研,终于出现了自己想要的结果。就像一个农夫辛勤劳作终于丰收的喜悦一样。在这个期间,有很多事情,开阔了自己的眼界,在网络上也遇到了很多前辈,对自己有很大的帮助,最应该感谢的人就是自己的导师,有时候导师一句话就能影响整体的开发进度。
图书馆书库管理系统的完成,让我发现在学校里面学的知识很广,在校学习的知识都是基础中的基础,而没有这些基础,可能在网上想要搜索的内容都不理解。在学校学的知识是综合性的,并且每门课程的作用都学到了,当在具体操作过程中发现也只是操作熟练度的问题而已,万变不离其宗,当知道一门技术出现的目的和存在的意义,进而就会发现其中的优点并且能尽快的学习,这就是上大学的好处所在。做完毕业设计更能体会到一句话,那就是实践与理论相结合,在计算机领域,必须先有理论,再有实践,毕竟计算机专业算一门应用性的学科,开发一个项目必须要先有预期,解决什么样的问题,采用什么样的方法,这些都很科学。当项目完成回头一看,就发现自己的学习能力和思维能力提高了很多。
毕业设计按照科学方法进行设计并且完成,在完成后也发现了很多不足,比如毕业设计受限于眼界的限制,对于实际上的分析只是写了大概,具体完成什么样的功能,这些都与商业程序是有很大的区别的,商业程序更复杂更严谨,并且结构也都是最新的架构,与网上的前辈考虑的问题相比,感觉有些问题的确考虑的比较少,也许这就是实际操作中的经验问题。在以后的日子里,将会选择自己喜欢的技术努力的学习,进入一片更广阔的天地。
参考文献
[1]胡素娟.基于Java图书管理系统的设计与实现[J].信息记录材料,2021,22(12):161-163.
[2]刘雍,王哲河,焦赛美,杨波.基于C语言的图书管理系统设计研究[J].信息与电脑(理论版),2021,33(20):87-89.
[3]伍德雁.Tomcat应用系统乱码问题研究[J].电脑知识与技术,2018(22):693-695.
[4]杨樟,王征.Tomcat 7的安装和管理[J].办公自动化,2014(07):61-62+60.
[5]胡莉萍.Tomcat+JSP+MySQL整合配置初探[J].中国科技信息,2015(05):102-103.
[6]沈毅,房春荣,陈振宇.一个面向逻辑覆盖优先级的Eclipse插件[J].计算机与数字工程,2013,41(06):939-942+1012.
[7]李金萍,程满玲.Eclipse的应用发展[J].电脑编程技巧与维护,2016(16):31-32+58.
[8]赵光亮,舒小松.Navicat for MySQL平台中的SQL语言分析与应用[J].无线互联科技,2017(19):74-75.
[9]王宇博.SQL语言中的索引技术的使用技巧[J].智库时代,2019(16):264+268.
[10]朱庆国.计算机应用技术和信息管理的整合分析[J].网络安全技术与应用,2019(10):6-7.
[11]尹希垚.软件开发信息管理系统设计及应用[J].电子技术与软件工程,2019(19):53-54.
[12]韩禄.计算机软件开发中影响软件质量的因素[J].信息与电脑(理论版),2020,32(18):114-116.
[13]浦天宏.计算机软件开发设计的难点和对策[J].信息与电脑(理论版),2020,32(18):117-119.
[14]Benymol Jose,Sajimon Abraham.Performance analysis of NoSQL and relational databases with MongoDB and MySQL.2020,24(Pt 3):2036-2043.
[15]Dragos-Paul Pop,Adam Altar.Designing an MVC Model for Rapid Web Application Development[J].Procedia Engineering,2017.
致 谢
制作毕业设计这段时间又像回到了高考前夕的那段岁月,每天都充满激情,整天都斗志昂然,当整个项目完成的那一瞬间,心情多重天。一方面有一种淡淡的成就感,另一方面有也有淡淡的失落,但更有的就是信心的坚定。
成就感就是经过这几个月的忙碌,让设计的项目可以正常运行了,每一个模块和每一个功能都是一个一个的去实现的,这个过程中少不了感谢我的导师,每当思路混淆都有导师的耐心指导,每次导师说一句能顶上网上搜半天,因为网上好多言语都似是而非自相矛盾,不知道该相信谁,导师说了之后自己去实际操作,按照导师的说法,往往都能成功,说实话,仅仅靠自己靠百度,是完不成毕业设计的,没有导师就没有我的这个项目的成果。从项目开始的选题到项目的结束,导师的每一次指导都让我的耳目一新,让我重生斗志,再次感谢我的学校,再次感谢我的导师,我是真心感谢!
毕设制作过程中,肯定少不了同学的帮忙,大家都是从网上找资料,每个人的理解不一样,没有同学的帮忙,少不了把每个操作过程中的坑都踩一遍,大家都在做设计,有很多坑他们有的都踩过了能及时的帮助我,而我有时候也帮助别人,大大的提高了效率,避免了很多操作过程中的未知问题,我非常的感谢有这么一群小伙伴们,俗话说良师益友,我统统具备,感谢他们这么些年的陪伴,真心感谢!
即将离开校园,将要步入社会,去实现自己的理想,报效父母,报效祖国,感谢我的大学,感谢我的导师,感谢我的同学,回忆这几年,还真没有仔细的观看自己的校园,绕着自己的校园漫步,每一寸土地都去丈量,发现了校园真的好美,每一个笑容都是那么的灿烂,在这样的氛围之中,心中淡淡的疏离之感产生,我要走出校园了,以后这里仅仅是我的母校,感谢母校的关怀,让我在走的时候还能体会到什么是快乐时光。
再次感谢母校,感谢导师,感谢同学!