【基于JAVA的图书管理系统设计14000字(论文)】_第1页
【基于JAVA的图书管理系统设计14000字(论文)】_第2页
【基于JAVA的图书管理系统设计14000字(论文)】_第3页
【基于JAVA的图书管理系统设计14000字(论文)】_第4页
【基于JAVA的图书管理系统设计14000字(论文)】_第5页
已阅读5页,还剩58页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于JAVA的图书管理系统设计摘要数字化图书管理系统有非常好的前景,如今国内的在线图书馆,数量也在快速上涨,取代了大多数小型的实体书店。数字及电子化图书室等在线图书的出现,证明图书数字化的具有普遍认同性。随着人类技术的发展突飞猛进,数字化技术迅速占领了各行业各领域的市场,教育也面临着信息技术的挑战。科学技术日新月异的进步,不断刷新着我们的见识给我们带来视觉感官上的新体验,日益完备成熟的IT行业和计算机技术,其潜藏的强大功能已是人们津津乐道的话题。针对信息化社会的今天,人们开始将更多的资料数据录入计算机,这样既能减少以往数据过多带来的管理问题,又能加快对目标数据的索引速度,减少阅读者的查找困难,加大读者的使用舒适度,增加读者的人均借阅量。基于此,本文设计了一个JSP技术,以Java作为开发语言,MySQL作为数据库,采用Tomcat作为Web服务器,Eclipse开发工具,实现了一个基于Web的图书管理系统。关键词:图书管理系统;MySQL数据库;JAVA;JSP目录TOC\o"1-3"\h\u1.概论 31.1系统设计的背景 31.2系统设计目的及意义 31.3系统设计的研究方法 42.相关技术和开发环境 62.1相关技术 62.2开发环境 73.需求分析和可行性分析 103.1需求分析 103.2可行性分析 114.系统设计 124.1总体功能设计 124.2数据库E-R图设计 124.3数据库表设计 135.系统实现 175.1系统页面设计 175.2管理员后台登录及各功能 185.2.1管理员登录 185.2.2管理员信息管理 205.2.3员工信息管理 215.2.4考勤信息管理 235.2.5工资信息管理 255.2.6公告信息管理 265.2.7学历信息管理 285.2.8部门信息管理 295.2.9考核信息管理 315.3员工登录及各功能 335.3.1管理员登录 335.3.2信息查看 355.3.3个人信息管理 366.系统测试 407.结论 48参考文献 50概论1.1系统设计的背景伴随着社会的进步和计算机的发展,对于图书管理来说,要逐渐从以前传统的管理方法,即依靠人工来进行对人员、图书的管理方法转变到用现有的技术,即数据库、计算机、网络来管理的方式,这种方式更加科学和系统。用计算机来管理的优点有,可以提高管理者的工作效率和减少不必要人工错误等,这样一来,我们就可以节省时间,将更多的的时间投入到生产中去,这便是图书管理的关键。对于传统的人工管理方法存在许多缺点,比如繁琐的管理操作:借还书记录需要手工记录,后期修改难度大:修改某条记录需要伴随着修改很多记录,特别容易出错,效率低等,这样会影响人员的正常工作从而增加了不必要的麻烦。随着计算机技术和网络技术的发展,实现图书管理的自动化,这逐渐成为一种必要趋势。一方面,这种自动化的管理方式会大大减轻从事管理工作的人的工作量,同时,也提高了管理效率,还能保证了正确。另一方面,也间接的保证了使用方正常的运转。所以,设计一套图书管理系统,十分必要也具有市场前景。由于计算机的发展,软件开发行业也在不断壮大,从经济上来说,开发一套图书管理系统成本不是很高,并且由于计算机软硬件的不断迭代,从兼容性方面来说,基本可以实现大规模部署部。因此,基于web的图书管理系统开发成本低的同时还能满足市场需求,并且,对软硬件要求不高,不需要特定的设备,只要有一台Windows系统的计算机,就可以安装运行软件。在这种大的环境下,基于web的图书管理系统应运而生。这种方式不仅能减轻图书管理者的工作量,同时也是最高效、准确的工具,可以减少投入,节约成本。所以,越来越多图书馆、学校、企业及政府单位开始使用图书管理系统。鉴于以上考虑,我们将开发一款基于web的图书管理系统系统。1.2系统设计目的及意义近年来,随着读者数量不断扩大,图书馆的规模也随之扩大,图书数量也相应地大量增加,有关图书的各种信息成倍增加。面对如此庞大的信息量,决定使用一套合理、有效、规范、实用的图书馆管理系统,对图书信息和相关人员信息进行统一、集中的管理。随着读者数量的增加和图书数量的增多,管理图书及人员会变得越来越庞大和困难。信息的处理和变更尤为重要,这对于管理图书的人员来说都至关重要,所以图书管理系统应该为用户提供快速处理信息的办法。为了加快信息处理速度,提高办公效率,开发一套图书管理系统可以提高使用方的经济效益。随着社会进步和发展,开发这样一套管理系统,是一件很有必要的事情。图书管理的对象是图书的相关信息以及相关人员的信息。由于图书数量多,人员数量大,信息复杂,人工处理困难。传统的,靠人工记录的管理方法,效率低、容易出错、更新麻烦等各样的缺点,所以用计算机技术对图书及人员进行管理就能有效解决这些问题,能够极大的提高图书管理的效率。图书管理是一项重要内容,随着时代的进步和科技的发展,图书管理的一个重要内容就是如何管理好图书和相关人员。图书管理系统成为国内外众多学校、企业、政府单位必须的产品。规范化的图书管理有利于适用方充分利用人力资源和财力资源,同时方便人员对图书信息和读者的借书、还书、个人信息的查看与管理。有了图书管理系统将方便使用方对图书和相关人员进行管理,也大大减轻了图书管理部门的工作压力。目前,图书管理存在着问题,管理方式落后,这是导致企管理效率低的主导因素。效率低无疑会对各个管理者造成很大的损失。但很多学校、企业、政府单位依旧利用人工进行管理,觉得图书管理不重要,这样做降低了它们对资源的利用,会遏制发展并产生不好的影响。显然基于纸和笔的图书管理不再实用。总体来说这种管理方式缺乏系统化、规范化的管理手段,使得计算机资源没有得到实际应用。因此,开发一个图书馆管理系统,开发宗旨是实现图书管理的系统化、规范化和自动化,达成图书资料集中、统一管理的目标。本课题将设计并开发一个基于web的图书管理系统。该系统可以规范的进行图书及相关人员的管理,大大减轻了管理部门的工作压力,能高效、系统的对图书和相关人员经行管理。1.3系统设计的研究方法该图书管理系统采用JSP技术,以Java作为开发语言,MySQL作为数据库,采用Tomcat作为Web服务器,其开发主要包括后台数据库的搭建和前端应用程序的开发两个方面。开发流程大致为:首先根据调查研究所形成需求分析。再根据需求分析来对数据库和数据表进行设计,保证其合理,规范,符合系统要求;前端开发时需要以模块为单位,逐个完成,最后将所有模块进行整合,调试,进行测试,以保证所有功能可以正常的完成。2.相关技术和开发环境2.1相关技术本节主要介绍了开发本系统所用到的相关技术,其中包括JSP、Java等。1.JSP网站服务平台。SunMicrossystems提出,并且与许多公司合作,开发了一个动态的网络技术标准。JSP和ASP的技术相似,包括传统的HTML文件,JSP标签等。JSP文件的后缀称为.JSP。如果一个网站应用程序由JSP开发,那么它就是多方面的,可以在Linux下运行,也可以在其他操作系统运行。JSP语法,就像Servlet,在服务器上运行。通常返回的是HTML文件,所以客户可以查看它,换句话说,有一个浏览器就可以查看它。JSP技术使用Java语言来生成XML标签和scripttlets类,也可以创建动态的网页逻辑。该网站也可以用tags和scriptlets。JSP区分网页逻辑和网页设计,支持结构复用,并使Web应用程序能够快速的,简单的被开发。JSP:(JavaServerPages)是一个动态的网页技术。JavaServlet是JSP的技术基础,一个大的Web应用程序,的需要JavaServlet和JSP共同完成。JSP有Java技术做靠背,可以独立于平台,安全可靠。2.JavaJava是一种高级语言。1995年,斯坦福大学网络公司(StanfordUniversityNetwork)推出了Java。随着Java技术的发展,网站开发的首选语言是逐渐变成了Java。Java简单易学,面向对象,安全可靠的特点,并且与平台无关的特性。所谓与平台无关,是指java语言编写的程序,可以运行在多个系统平台。实现运行原理是:只要该系统可以安装适当的java虚拟机。java程序将在虚拟机上运行。Java5.0后主要有:J2EE版本的Java2平台企业版,J2SE版本(标准版本),Java2平台的标准版,J2ME版本和J2ME版本的Java2平台Micro版三个选项。J2EE版本(Java2平台企业版),在jdk5.0版本后称为JAVAEE。该技术系统包括Servlet,jsp等技术。主要用于网络应用程序的开发。J2SE(Java2平台标准版),在jdk5.0版本后称为JAVASE,是java的基础。J2ME(Java2平台小型版),在jdk5.0版本以后称为JAVAME,该技术多应用于一些电子产品的嵌入式开发,以前,它被应用在手机开发中。但现在,随着智能手机的发展,这项技术已经落后,不再用于开发移动应用程序。java程序的运行机制是:首先编译生成.clsss文件,然后运行该文件。2.2开发环境本节主要介绍了本系统的开发环境,在开发过程中主要用到的工具在下文做了一个详细的介绍。1.EclipseEclipse是Google特别推荐的开发工具。Eclipse是一个开源、基于Java,可扩展的开发平台。而它本身就只是一组框架和服务,但是通过插件可以构建开发环境。比较好的一点是,Eclipse有一个插件集,插件集包括Java开发工具。大多数用户更喜欢使用eclipse作为开发工具,但目标并不局限于此。为了那些希望扩大其应用范围的软件开发人员,设计了PDE。使他们能够集成到eclipse。由于所有的eclipse元素都是模块,所有的开发人员都有相同的机会使用eclipse提供的模块,对此,还给使用者建立了一个连贯和综合的开发环境。这种平等和一致性并不仅仅限于Java开发工具。虽然它是由Java开发的,它的应用不限于Java;例如,插件,支持的编程语言,如C/C+,COBOL和PHP。该框架也可以作为其他类型的非软件应用程序的基础,如,作为一个内容管理系统。一个突出的例子,基于Eclipse应用程序是IBMRationalSoftwareArchitect,这是IBMJava系列开发的基础。2.MySQL数据库MySQL是一个关系型数据库,由瑞典MySQL

AB公司开发,目前属于Oracle公司。因为它是一个先进的关系型数据库,所以它是最受欢迎的数据库之一。因为它在不同的表中存储数据,而不是在一个大库里,所以导致它的处理速度很快并且灵活。MySQL被分为个人和商业版本,规模小、速度快和成本低是它的特色,由于它的优良性能,可以为开发创造一个有利的开发的环境。3.Tomcat服务器Tomcat服务器是一个开源的Web应用服务器,同时也是免费的。它是Jakarta项目中的一个核心项目,由Apache、Sun等共同开发而成。因为Sun的参与和支持,所以,Servlet和JSP总是能在Tomcat中得到体现。Tomcat技术的不断发展,它的性能及其稳定,并且免费,也是一个特别常见的服务器,深受大家喜欢,并得到了一些专业软件人员的认可,这是目前最受欢迎的服务器之一。广大程序员都喜欢Tomcat,它有占用系统资源小,扩展性好等特点,又有应用系统中经常使用的功能。而且,还在不断改良和完善。Tomcat是应用服务器,但是,是轻量级的。如果是小系统或者同时用的人不多的情况下使用效果比较好。这也是JSP程序开发,程序调试的最好的选择。对于刚开始接触的人来说,如果有一台配置了Apache服务器的计算机,它可以满足HTML的访问要求。Tomcat是Apache服务器的扩展,与Apache不同的是,它可以独立运行,所以tomcat可以是作为独立的程序单独运行。设置没有问题的情况下,Apache处理了HTML页面服务,Tomcat执行了两部分,JSP页面和Servlet。除此之外,Tomcat和其他Web服务器一样,比如IIS、Apache等,都能处理HTML,另外,Servlet和JSP容器,是Tomcat的默认模式是独立的Servlet容器。Tomcat和Apache服务器下班相比,静态HTML处理能力Apache服务器较弱。3.需求分析和可行性分析3.1需求分析目前,我国已经有较为成熟的图书管理系统的成品。但是,它们基本上采用了C/S模式来进行设计与开发。虽然C/S模式和B/S模式一样,都是具有功能强大、易于操作、安全性高等特点的系统,但是C/S模式的图书管理系统和B/S模式的相比,仍然存在许多缺点,比如不能重用、维护难度较高等等,而B/S模式图书管理系统就不存在这些问题,B/S的图书管理系统较为方便,系统的维护、更新十分方便。在国外,图书管理系统也比较普遍,而功能也是大相径庭,都具有图书管理、人员信息管理、借还书几率管理等模块。系统规模有大有小,这样一来就可以给不同行业、不同规模的使用方服务。随着读者的增多和图书的增加,越来越多的学校、企业、政府单位开始通过计算机技术进行图书管理。综上所述,本课题设计的JSP的图书管理系统采用的是B/S模型结构,具有图书管理管理、读者管理、借还书观管理等众多功能,同时还具有易于操作、安全性高、界面美观、方便维护等优点,可以适用于不同规模、不同行业等特点。根据所述需求,该系统主要有普通读者与管理员两种角色可以分别操作系统。普通读者角色:登录功能:实现普通读者登录系统。注册功能:实现游客注册成为普通读者身份。密码修改功能:实现修改账号密码。借书功能:实现借书操作。还书功能:实现还书操作。个人信息管理:实现修改个人信息。个人信息查看:实现查看个人信息。图书信息查询:实现查询图书信息。借阅信息查看:实现查看已借阅图书的信息。借阅历史查看:实现查看借还图书记录。管理员角色:登录功能:实现管理员登录系统。密码修改功能:实现修改账号密码。还书功能:实现管理员对读者所借书进行还书操作。图书信息管理:实现对图书信息添加、修改、删除管理。读者信息管理:实现对读者信息添加、修改、删除管理。图书分类信息管理:实现对图书分类信息添加、修改、删除管理。借阅信息查看:实现对读者借书信息的查看。归还信息查看:实现对读者还书信息的查看。个人信息管理:实现修改个人信息。个人信息查看:实现查看个人信息。3.2可行性分析技术上的可行性分析:该系统对于所需软硬件设备性能要求一般,现有的软硬件设备性能足以满足系统功能的需要。操作上的可行性:我选择Eclipse作为前端的开发根据,MySQL作为数据库开发工具,利用其高效的开发环境能迅速开发出此服务系统。经济上的可行性分析:该系统开发所需要的软硬件设备费用要求不高,容易实现。

4.系统设计4.1总体功能设计根据实际需求,本系统要设计与实现的是一个JSP的图书管理系统,在设计时,不仅要有美好的用户界面,还要便于用户的操作。系统分为普通读者登录与管理员登录,普通读者登录后可以查寻自己的想要借的书,也可以借书库中的书,到规定时间还书等,也可以修改自己的个人信息等等。管理与登录系统后,可以进行普通读者管理、图书管理等,查看借还记录等操作。系统的功能结构图如下图4-1所示:图4-1系统功能结构图4.2数据库E-R图设计根据需求分析,该系统具有三个实体,分别是管理员、普通读者、书。根据三个实体之间的关系,得出实体E-R图如图4-2所示。图4-2实体E-R图4.3数据库表设计根据数据库E-R图和三个实体与各自的属性,利用MySQL关系型数据库管理系统。为该系统建立一个数据库,其中包含下列数据表:用户表(admin),其属性有编号、姓名、账号、密码、邮箱、手机号、身份、可借天数、最大可借数。用于存放用户详细信息的用户表(admian)。表中的字段aid表示用户的ID,是表的主键,字段name记录用户的真实姓名,username记录用户账号,password记录登录密码,email记录用户邮箱,phone记录用户手机号,status记录用户身份,lend_num记录可借天数,max_num记录最大可借数。用户表如下表4-1所示:表4-1用户表字段类型最大长度是否主键是否为空aidint11是否usernamevarchar20否否namevarchar20否是passwordvarchar64否是emailvarchar255否是phonevarchar20否是statusint2否是lend_numint11否是max_numint11否是图书信息(book),其属性有编号、书名、图书号、作者、出版社、图书类型、总数量。员工信息表(book)中,bid表示图书编号,name表示图书名,card为图书号,autho为图书作者名,num为图书总数,press记录图书出版社,type记录图书类型。图书信息表如下表4-2所示:表4-2图书信息表字段类型最大长度是否为主键是否为空bidInt11是否nameVarchar205否否cardVarchar205否否authoVarchar205否是numInt11否否pressVarchar205否是typeVarchar255否是图书类型表(booktype),其属性有编号、图书类型名。图书类型表(booktype),tid表示编号,name表示图书类型名。图书类型表如下表4-3所示。表4-3图书类型表字段类型最大长度是否为主键是否为空tidInt11是否nameVarchar20否否借还信息表(history),其属性有借还信息编号、用户编号、图书编号、图书号、书名、用户名、用户账号、借书时间、还书时间。借还信息表(history),其中字段hid表示借还信息编号,aid表示用户编号,bid用于记录图书编号,card用于记录图书号,bookname用于表示书名,adminname表示用户账号,username表示用户名,begintime表示借书时间,endtime表示还书时间。借还信息表如下表4-4所示。表4-4借还信息表字段类型最大长度是否为主键是否为空hidInt11是否aidInt11否是bidInt11否是cardchar255否是booknamechar255否是adminnamechar255否是usernamechar255否是begintimechar255否是endtimechar255否是

5.系统实现5.1系统页面设计系统首页运行截图页面如下图5-1所示。图5-1系统首页点击“注册”按钮,游客可以注册成为普通读者,如下图5-2所示。图5-2注册页面以管理员身份登录系统后菜单界面截图如下图5-3所示。图5-3管理员菜单界面管理员可以根据自己的需要选择相应的菜单进行下一步操作。当要点击图书管理时,该菜单界面如下图5-4所示。图5-4图书管理菜单如图所示在菜单中有添加、删除、修改、查找字样的按钮,点击相应按钮则可以进行相应的增删改查操作。当以普通读者身份登录系统后菜单界面截图如下图5-5所示。图5-5普通读者登录系统界面普通读者点击介于历史菜单时,界面截图如下图5-6所示。图5-6我的信息菜单界面5.2管理员后台登录及各功能管理员用户可以通过后台来登录系统,对系统进行操作,登录系统后,还可以根据需求来对其他模块进行操作。5.2.1管理员登录管理员登录模块主要实现管理员用户通过该页面输入用户名和密码,点击登录按钮,实现登录系统。管理员登录模块流程图如下图5-7所示。图5-7管理员登录模块流程图管理员登录系统界面图如下图5-8所示。图5-8管理员登录系统界面登录判断的相关代码以及相关注释如下:protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //登录的判断 PrintWriterout=response.getWriter(); request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); //获取账号和密码 Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); AdminDaouserdao=newAdminDao(); //对账号和密码进行判断 booleanresult=userdao.Login_verify(username,password); HttpSessionsession=request.getSession(); //判断输入正确 if(result){ AdminBeanadminbean=newAdminBean(); AdminDaoadmindao=newAdminDao(); //更加账号和密码查找出读者的信息 adminbean=admindao.getAdminInfo(username,password); //将aid存入session中 session.setAttribute("aid",""+adminbean.getAid()); //设置session的失效时间 session.setMaxInactiveInterval(6000000); //根据status的值来判断是管理员,还是读者,status=1为读者 if(adminbean.getStatus()==1){ response.sendRedirect("/books/index2.jsp"); }else{ response.sendRedirect("/books/admin.jsp"); } }else{ //没有找到对应的账号和密码,返回重新登录 session.setAttribute("state","密码错误"); response.sendRedirect("/books/login.jsp"); } }}5.2.2管理员个人信息修改管理员个人信息修改主要实现管理员对自己信息的修改操作,是系统的基础模块,进行该操作时,管理员将要修改的个人信息填入对应的位置,点击“修改”按钮,即可完成修改个人信息操作。管理员个人信息修改流程图如下图5-9所示。图5-9管理员信息管理流程图管理员信息管理模块界面图如下图5-10所示图5-10管理员信息管理模块界面其相关代码如下: Stringname=request.getParameter("name"); Stringemail=request.getParameter("email"); Stringphone=request.getParameter("phone"); //修改输入的信息到数据表中 admindao.updateUser(adminbean.getAid(),adminbean.getUsername(),adminbean.getPassword(),name, email,phone,adminbean.getLend_num(),adminbean.getMax_num()); response.sendRedirect("/books/"+url+".jsp");5.2.3管理员密码修改管理员密码修改功能是个人信息管理中比较重要的一个功能,主要实现管理员个人密码的修改,点击“密码修改”按钮后,将旧密码和新密码输入相应位置,系统验证旧密码是否正确,以确保是管理员本人操作,验证正确时,将新密码作为管理员登陆密码,即为修改成功,反之,修改不成功流程图如下图5-11所示。图5-11员工信息管理流程图管理员密码修改界面图如下图5-12所示。图5-12管理员密码修改功能界面图管理员密码修改功能相关代码://修改密码 if(tip==1){ //获取到输入的旧密码,新密码 Stringpassword=request.getParameter("password"); Stringpassword2=request.getParameter("password2"); //获取读者数据表中的密码 Stringold_password=adminbean.getPassword(); //对旧密码进行比较,如果相同就修改,不相同就直接退出 if(old_password.equals(password)){ admindao.updateUser(adminbean.getAid(),adminbean.getUsername(),password2,adminbean.getName(), adminbean.getEmail(),adminbean.getPhone(),adminbean.getLend_num(),adminbean.getMax_num()); response.sendRedirect("/books/"+url+".jsp"); }else{ out.write("<scripttype='text/javascript'>alert('passworderror');location.href='"+url +".jsp';</script>"); }5.2.4图书信息管理图书信息管理是图书管理系统中重要的功能之一,实现管理员对图书信息的管理,进入该菜单后,管理员可以对图书信息进行操作,主要有添加新图书、按书名查询图书、修改图书信息、删除图书信息操作,管理员按实际需求选择相应的操作,进行操作之后,系统自动更新数据库,并进行保存。图书信息管理模块流程图如下图5-13所示。图5-13图书信息管理模块流程图图书信息管理模块界面图如下图5-14所示。图5-14图书信息管理模块界面增加图书功能相关代码:protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub// doGet(request,response); //设置编码类型 request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); //获取要添加图书的信息 Stringcard=request.getParameter("card"); Stringname=request.getParameter("name"); Stringtype=request.getParameter("type"); Stringautho=request.getParameter("autho"); Stringpress=request.getParameter("press"); intnum=Integer.parseInt(request.getParameter("num")); BookDaobookdao=newBookDao(); //调用函数,存入图书 bookdao.addBook(card,name,type,autho,press,num); response.sendRedirect("/books/admin_book.jsp"); }5.2.5普通读者信息管理普通读者信息管理是图书管理系统中重要的功能之一,实现管理员对普通读者信息的管理,进入该菜单后,管理员可以对普通读者信息进行操作,主要有添加新普通读者、修改普通读者信息、删除普通读者信息操作,管理员按实际需求选择相应的操作,进行操作之后,系统自动更新数据库,并进行保存。普通读者信息管理模块流程图如下图5-15所示。图5-15普通读者信息管理模块流程图普通读者信息管理模块界面图如下图5-16所示。图5-16普通读者信息管理模块界面普通读者信息管理模块相关代码如下:protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub// doGet(request,response); //修改读者的信息 request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); Stringname=request.getParameter("name"); Stringemail=request.getParameter("email"); Stringphone=request.getParameter("phone"); intlend_num=Integer.parseInt(request.getParameter("lend_num")); intmax_num=Integer.parseInt(request.getParameter("max_num")); intaid=Integer.parseInt(request.getParameter("aid")); AdminDaouserdao=newAdminDao(); userdao.updateUser(aid,username,password,name,email,phone,lend_num,max_num);response.sendRedirect("/books/admin_user.jsp"); }5.2.6图书分类管理图书分类管理是图书管理系统中重要的功能之一,实现管理员对图书分类的管理,进入该菜单后,管理员可以对图书分类进行操作,主要有添加新的图书分类、修改图书分类、删除图书分类操作,管理员按实际需求选择相应的操作,进行操作之后,系统自动更新数据库,并进行保存。图书分类管理模块流程图如下图5-17所示。图5-17公告信息管理模块流程图图书分类管理模块界面图如下图5-18所示。图5-18图书分类管理模块界面图书分类管理模块相关代码:protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub// doGet(request,response); //设置编码类型 request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); //获取图书分类的名称 Stringname=request.getParameter("name"); TypeDaotypedao=newTypeDao(); //调用函数存入图书分类信息 typedao.addBookType(name); response.sendRedirect("/books/admin_booktype.jsp"); }5.2.7图书借阅信息管理图书借阅信息管理是图书管理系统中不可或缺的一个功能,该功能主要实现管理员查看图书借阅记录,能清晰的看出哪个读者借了哪本书,实际借阅日期和规定归还日期,管理员也可以对已经借出去的书进行归还操作,并更新数据库进行保存。图书借阅信息管理模块流程图如下图5-19所示。图5-19图书借阅信息管理模块流程图图书借阅信息管理模块界面图如下图5-20所示。图5-20图书借阅信息管理模块界面图书借阅信息管理模块相关代码如下:protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub// response.getWriter().append("Servedat:").append(request.getContextPath()); //设置编码类型 request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); BookDaobookdao=newBookDao(); //为了区分借书和还书的功能,设置tip,tip为1,表示借书 inttip=Integer.parseInt(request.getParameter("tip")); if(tip==1){ //获取图书id intbid=Integer.parseInt(request.getParameter("bid")); HttpSessionsession=request.getSession(); AdminBeanadmin=newAdminBean(); //获取到存入session的aid读者id Stringaid=(String)session.getAttribute("aid"); AdminDaoadmindao=newAdminDao(); //通过aid获取到读者的信息 admin=admindao.get_AidInfo2(aid); //将借阅记录存入数据表 bookdao.borrowBook(bid,admin); response.sendRedirect("/books/select.jsp"); }else{ //还书功能,获取借阅记录的hid inthid=Integer.parseInt(request.getParameter("hid")); /** *还书在管理员和读者界面都有,为了区分,设置了show字段,show为1表示读者界面 */ intshow=Integer.parseInt(request.getParameter("show")); //调用还书函数,改变status字段 bookdao.borrowBook2(hid); if(show==1){ response.sendRedirect("/books/borrow.jsp"); }else{ response.sendRedirect("/books/admin_borrow.jsp"); } } }5.2.8图书归还历史查看图书归还历史查看功能是为了实现管理员查看图书借阅历史信息而设计的,是图书管理系统中应有的功能,方便管理员查看图书借阅信息,便于了解普通读者的活跃度和图书受欢迎情况,便于对图书需求数量和普通读者活跃度进行了解,生成表单。图书归还历史模块流程图如下图5-21所示。图5-21部门信息管理模块流程图部门信息管理模块界面图如下图5-22所示。图5-22部门信息管理模块界面生成表单相关代码:<divclass="row"> <divclass="col-lg-12"> <tableid="data_list"class="tabletable-hovertable-bordered" cellspacing="0"width="100%"> <thead> <tr> <th>图书号</th> <th>图书名称</th> <th>读者账号</th> <th>读者名称</th> <th>借阅日期</th> <th>还书日期</th> </tr> </thead> <!在此插入信息--> <% ArrayList<HistoryBean>bookdata=newArrayList<HistoryBean>(); bookdata=(ArrayList<HistoryBean>)request.getAttribute("data"); if(bookdata==null){ BookDaobookdao=newBookDao(); bookdata=(ArrayList<HistoryBean>)bookdao.get_HistoryListInfo2(0); } for(HistoryBeanbean:bookdata){ %> <tbody> <td><%=bean.getCard()%></td> <td><%=bean.getBookname()%></td> <td><%=bean.getAdminname()%></td> <td><%=bean.getUsername()%></td> <td><%=bean.getBegintime()%></td> <td><%=bean.getEndtime()%></td> </tbody> <% } %> </table> </div> </div>5.3普通读者登录及各功能普通读者用户可以通过账号密码登录系统,并根据需求操作系统,例如借书,修改个人信息,修改密码等5.3.1普通读者登录普通读者登录模块主要实现普通读者通过该页面输入用户名和密码,点击登录按钮,实现登录系统。普通读者登录模块流程图如下图5-23所示。图5-23员工登录模块流程图员工登录系统界面图如下图5-24所示。图5-24管理员登录系统界面登录判断的相关代码如下:protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //登录的判断 PrintWriterout=response.getWriter(); request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); //获取账号和密码 Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); AdminDaouserdao=newAdminDao(); //对账号和密码进行判断 booleanresult=userdao.Login_verify(username,password); HttpSessionsession=request.getSession(); //判断输入正确 if(result){ AdminBeanadminbean=newAdminBean(); AdminDaoadmindao=newAdminDao(); //更加账号和密码查找出读者的信息 adminbean=admindao.getAdminInfo(username,password); //将aid存入session中 session.setAttribute("aid",""+adminbean.getAid()); //设置session的失效时间 session.setMaxInactiveInterval(6000000); //根据status的值来判断是管理员,还是读者,status=1为读者 if(adminbean.getStatus()==1){ response.sendRedirect("/books/index2.jsp"); }else{ response.sendRedirect("/books/admin.jsp"); } }else{ //没有找到对应的账号和密码,返回重新登录 session.setAttribute("state","密码错误"); response.sendRedirect("/books/login.jsp"); } }}5.3.2普通读者个人信息修改功能普通读者个人信息修改主要实现普通读者对自己信息的修改操作,是系统的基础模块,进行该操作时,普通读者将要修改的个人信息填入对应的位置,点击“修改”按钮,即可完成修改个人信息操作。普通读者个人信息修改流程图如下图5-25所示。图5-25普通读者个人信息管理流程图普通读者个人信息管理模块界面图如下图5-26所示图5-26普通读者个人信息管理模块界面其相关代码如下: Stringname=request.getParameter("name"); Stringemail=request.getParameter("email"); Stringphone=request.getParameter("phone"); //修改输入的信息到数据表中 admindao.updateUser(adminbean.getAid(),adminbean.getUsername(),adminbean.getPassword(),name, email,phone,adminbean.getLend_num(),adminbean.getMax_num()); response.sendRedirect("/books/"+url+".jsp");5.3.3普通读者个人密码修改功能普通读者密码修改功能是个人信息管理中比较重要的一个功能,主要实现普通读者个人密码的修改,点击“密码修改”按钮后,将旧密码和新密码输入相应位置,系统验证旧密码是否正确,以确保是普通读者操作,验证正确时,将新密码作为普通读者登陆密码,即为修改成功,反之,修改不成功流程图如下图5-27所示。图5-27普通读者密码修改功能流程图普通读者密码修改界面图如下图5-28所示。图5-28普通读者密码修改功能界面图普通读者密码修改功能相关代码://修改密码 if(tip==1){ //获取到输入的旧密码,新密码 Stringpassword=request.getParameter("password"); Stringpassword2=request.getParameter("password2"); //获取读者数据表中的密码 Stringold_password=adminbean.getPassword(); //对旧密码进行比较,如果相同就修改,不相同就直接退出 if(old_password.equals(password)){ admindao.updateUser(adminbean.getAid(),adminbean.getUsername(),password2,adminbean.getName(), adminbean.getEmail(),adminbean.getPhone(),adminbean.getLend_num(),adminbean.getMax_num()); response.sendRedirect("/books/"+url+".jsp"); }else{ out.write("<scripttype='text/javascript'>alert('passworderror');location.href='"+url +".jsp';</script>"); }}5.3.3图书信息查询功能图书信息查询功能是图书馆里系统中不可或缺的一个功能,主要实现普通读者查询自己想要了解的图书信息,普通读者在系统内选择图书查询菜单,在页面中相应位置输入图书名字,点击“查询”按钮,即可查询自己想要的书,书库里有该书信息是,在表格内显示相应的信息,反之,不显示。图书信息查询功能流程图如下图5-29所示:图5-29图书信息查询功能流程图图书信息查询界面图如下图5-30所示图5-30图书信息查询界面图图书信息查询国内相关代码如下:/** *获取单个图书的信息,根据传入的bid来查找,返回一个BookBean数据类型 *@parambid *@return */ publicBookBeanget_BookInfo(intbid){ BookBeantag=newBookBean(); Connectionconn=DBUtil.getConnectDb(); Stringsql="select*frombookwherebid="+bid; PreparedStatementstm=null; ResultSetrs=null; try{ stm=conn.prepareStatement(sql); rs=stm.executeQuery(); while(rs.next()){ tag.setBid(rs.getInt("bid")); tag.setName(rs.getString("name")); tag.setCard(rs.getString("card")); tag.setType(rs.getString("type")); tag.setAutho(rs.getString("autho")); tag.setPress(rs.getString("press")); tag.setNum(rs.getInt("num")); } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }finally{ DBUtil.CloseDB(rs,stm,conn); } returntag;}5.3.4图书借阅功能图书借阅功能是图书管理系统中必要的一个功能,主要为了实现普通读者借阅图书,当普通读者查找到自己想要借阅的图书之后,点击操作栏中“借阅”按钮,即可实现借阅图书操作,系统会更新数据库,生成普通读者的借阅信息,图书数量也会相应减少。图书借阅功能流程图如下图5-30所示:图5-30图书借阅功能流程图图书借阅功能界面图如下图5-31所示图5-31图书借阅功能界面图图书借阅功能相关代码如下:protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub// response.getWriter().append("Servedat:").append(request.getContextPath()); //设置编码类型 request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); BookDaobookdao=newBookDao(); //为了区分借书和还书的功能,设置tip,tip为1,表示借书 inttip=Integer.parseInt(request.getParameter("tip")); if(tip==1){ //获取图书id intbid=Integer.parseInt(request.getParameter("bid")); HttpSessionsession=request.getSession(); AdminBeanadmin=newAdminBean(); //获取到存入session的aid读者id Stringaid=(String)session.getAttribute("aid"); AdminDaoadmindao=newAdminDao(); //通过aid获取到读者的信息 admin=admindao.get_AidInfo2(aid); //将借阅记录存入数据表 bookdao.borrowBook(bid,admin); response.sendRedirect("/books/select.jsp"); }5.3.5归还图书功能归还图书功能是图书管理系统中必不可少的一个功能,主要为了实现普通读者借阅图书后归还所设计,当普通读者在借阅信息中看到自己已经借阅的图书信息后,点击操作栏中“还书”按钮,即可实现归还图书操作,系统会更新数据库,生成普通读者的借阅信息,图书数量也会相应增加。归还图书功能流程图如下图5-31所示:图5-31归还图书功能流程图归还图书功能界面图如下图5-32所示图5-32归还图书功能界面图图书借阅功能相关代码如下:else{ //还书功能,获取借阅记录的hid inthid=Integer.parseInt(request.getParameter("hid")); /** *还书在管理员和读者界面都有,为了区分,设置了show字段,show为1表示读者界面 */ intshow=Integer.parseInt(request.getParameter("show")); //调用还书函数,改变status字段 bookdao.borrowBook2(hid); if(show==1){ response.sendRedirect("/books/borrow.jsp"); }else{ response.sendRedirect("/books/admin_borrow.jsp"); }5.3.6图书归还历史查看图书归还历史查看功能是为了实现普通读者查看自己图书借阅历史信息而设计的,是图书管理系统中应有的功能,方便普通读者查看图书借阅和归还信息,生成表单。图书归还历史模块流程图如下图5-33所示。图5-33图书归还信息查看模块流程图部门信息管理模块界面图如下图5-34所示。图5-34部门信息管理模块界面生成表单相关代码:<divclass="row"> <divclass="col-lg-12"> <tableid="data_list"class="tabletable-hovertable-bordered" cellspacing="0"width="100%"> <thead> <tr> <th>图书号</th> <th>图书名称</th> <th>读者账号</th> <th>读者名称</th> <th>借阅日期</th> <th>还书日期</th> </tr> </thead> <% ArrayList<HistoryBean>bookdata=newArrayList<HistoryBean>(); bookdata=(ArrayList<HistoryBean>)request.getAttribute("data"); if(bookdata==null){ BookDaobookdao=newBookDao(); bookdata=(ArrayList<HistoryBean>)bookdao.get_HistoryListInfo(0,aid); } for(HistoryBeanbean:bookdata){ %> <tbody> <td><%=bean.getCard()%></td> <td><%=bean.getBookname()%></td> <td><%=bean.getAdminname()%></td> <td><%=bean.getUsername()%></td> <td><%=bean.getBegintime()%></td> <td><%=bean.getEndtime()%></td> </tbody> <% } %> </table> </div> </div>6.系统测试系统测试目的:通过测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。系统测试的意义:系统测试是保证所设计的系统质量和可靠性的关键步骤,是对系统开发过程中的分析系统设计和实施的最后复查,测试出每个功能模块中所存在的缺陷及潜在错误有利于提高整个系统的完整性及可靠性。以下测试是对本系统即基于web的图书管理系统的各功能模块设计的测试用例:6.1登录功能测试功能特性:管理员身份和普通读者登录。测试目的:验证是否输入合法信息,允许合法登陆测试结果:实现了允许合法登陆,阻止非法登陆的目的。登录模块是使用系统的开始,登录模块测试包括管理员身份和普通读者登录,测试用例如下表6-1所示表6-1登录模块测试用例登录模块测试用例管理员登录员工登录操作期望结果测试结果操作期望结果测试结果输入账号admin输入密码123,点击登录成功登录,进入系统成功输入账号gblw输入密码114111,点击登录成功登录,进入系统成功不输入任何数据点击登录在用户名栏弹出请填写该字段成功不输入任何数据点击登录在用户名栏弹出请填写该字段成功输入账号admin输入密码000,点击登录密码错误成功输入账号gblw输入密码000,点击登录密码错误成功(1)当输入正确的账号和密码时,点击登录,成功进入系统,如下图6-1所示:图6-1登录进系统界面(2)当不输入任何数据时,在账号栏弹出请填写此字段,如图6-2所示:图6-2用户名或者密码为空时的界面(3)当密码输入错误时,点击登录按钮,系统提示“密码错误”的信息。如图6-3所示:图6-3密码输入错误时的界面6.2游客注册成普通读者功能功能特性:游客注册成普通读者身份。测试目的:验证游客注册成普通读者身份功能是否正常。测试结果:可正常注册。注册功能是图书管理系统中游客成为普通读者的必要功能,需要测试注册功能。测试用例如图6-2所示表6-2注册功能测试用例注册功能操作期望结果测试结果点击注册按钮弹弹出新页面成功填写相应信息点击注册注册成功成功用新注册账号登陆系统可正常登陆成功点击注册按钮,弹出新界面如图6-4所示图6-4注册界面添加注册信息点击提交下图6-5所示图6-5添加信息后界面(3)用新账号登陆系统,测试截图如下图6-6图6-6注册后登陆6.3读者信息管理模块测试功能特性:增删改查操作。测试目的:验证管理员对读者信息增删改功能是否正常。测试结果:增删改功能均正常。读者信息管理模块是系统的基本模块,需要测试添加新读者信息,修改删除现有读者信息和查看详细信息等功能。测试用例如图6-3所示表6-3读者信息管理模块测试用例添加功能操作期望结果测试结果输入读者账号为test1的新读者的所有信息,保存显示该条新信息成功修改功能操作期望结果测试结果修改读者账号为test1的读者的邮箱为123@,保存修改成功,显示修改后信息成功删除功能操作期望结果测试结果删除读者账号为xbwyz的信息删除成功,不再显示成功查看详情功能操作期望结果测试结果查看所有读者的完整信息可完整查看成功(1)输入读者账号为test1的新读者的所有信息测试界面如下图6-7所示图6-7添加后界面(3)修改读者账号为test1的读者的邮箱为123@,测试截图如下图6-8图6-8修改后界面(4)删除读者账号为xbwyz的信息,删除成功后截图如下图6-9所示图6-9删除后界面(5)查看所有读者的完整信息,截图如下图6-10所示图6-10查看详细界面6.4图书信息管理模块测试功能特性:增删改查操作。测试目的:验证管理员对图书信息增删改查功能是否正常。测试结果:增删改查功能均正常。图书信息管理模块是系统的重要模块之一,负责管理图书,需要测试按条件查询图书信息,添加新图书资信息,修改删除现有图书信息和查看所有同事详细信息等功能。测试用例如下图6-3所示表6-3图书信息管理模块测试用例查询功能操作期望结果测试结果输入书名上下五千年查看图书信息显示书名为上下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论