基于WEB的图书信息管理系统的设计与实现_第1页
基于WEB的图书信息管理系统的设计与实现_第2页
基于WEB的图书信息管理系统的设计与实现_第3页
基于WEB的图书信息管理系统的设计与实现_第4页
基于WEB的图书信息管理系统的设计与实现_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

摘要本世纪以来,信息技术的高速发展使得人们的生活越来越便利,信息化成为了现在社会的一种主流,图书管理的信息化也是如此。原来的人工管理,工作流程复杂、需求工作人员数量较大、管理结构复杂等等问题逐渐暴露无遗,造成了人力资源、物力资源、财力资源的极大浪费。作为图书管理员,需要手工对图书进行图书类别管理、图书信息管理、借阅信息管理等等,这些工序非常麻烦,而且容易出错,也会给读者带来不适。因此,需要一套图书信息管理系统来解决这些问题。基于WEB的图书信息管理系统主要实现的功能有:用户登录、借书登记、还书登记、罚款管理、图书资料管理、读者资料管理、图书信息查询、读者信息查询、借阅记录查询、罚款记录查询、数据备份和恢复等。本系统的开发是采用基于WEB的B/S构架和JAVA编程技术,使用MyEclipse开发工具以及SQLSERVER数据库存储数据。关键词:图书信息管理;B/S模式;数据库;JAVAPAGEPAGE33一、前言(一)选题背景及意义 图书信息管理系统是学校和社会管理体制重要的一环,图书代表着一个区域或者学校的文化标志,因为图书能够丰富我们的生活,带给我们重要的学习交流资源。社会的前进与发展,使得资源高效率使用越来越受到人们的关注,图书信息管理也提出这样的要旨,因此图书信息管理系统越来越受到大众的青睐。随着人们知识水平档次的升高,图书馆成为寻常生活中不能欠缺的一部分,图书信息管理也变得艰巨而重要,需要可靠的图书信息管理系统对图书进行有效的管理。传统的图书管理方式有很多不足的地方,例如:需要的管理人员较多、工作量较大、书籍资料的保存和查询复杂、容易出现纰漏、错后不易更改等。图书信息管理系统是一套非常科学的现代化管理系统,它是现代图书管理工具中一个非常重要的组成部分,实现了图书管理由传统向现代化的转变。现代化的图书信息管理系统,采纳基于计算机的信息管理技术,已经成为了图书管理的主流,可以给图书馆的图书管理工作带来极大便利。近年来,随着计算机软件的发展,图书信息管理技术的发展逐渐变得科学成熟,它使得图书管理变得简单有条理。开发本系统的主要目的在于解决图书管理人员工作复杂、管理人员众多、借阅者寻找书籍较难等问题,使管理变得科学方便有效,查询变得简单迅速,从而实现了图书资源的共享,增强了图书资源的流动。(二)国内外研究现状 早在20世纪50年代,美国海军武器中心就入手研究信息处理技术,并开始研究自动分类、自动索引和其他技术,图书信息管理系统由此开始发展。从二十世纪七十年代后期开始,图书馆自动化系统从一个功能转变为综合管理系统。20世纪90年代,网络技术的发展带动了国外图书信息管理系统的迅速发展。近年来,国外图书信息管理系统正向着网络化、标准化、开放化等方向飞速发展,采用C/S多层次结构,支持多种通用平台,以WEBOPAC为中心,构筑信息门户,走向新的道路。20世纪70年代中期,中国图书馆信息管理系统开始兴起,起初只模仿国外,引进国外设备和系统进行转型。在后来的发展过程中,较长的一段时间停留在单机水平,网络化程度较低。进入90年代,计算机网络迅速发展,各类专业广域网投入使用。在90年代中期,我国相继研发了几个大型图书信息管理系统,例如:由同济图联科技有限公司开发的图书馆自动化系统TLLAS;由深圳图书馆开发的全套图书馆自动化集成系统ILAS;由金盘软件开发的新一代图书自动化管理软件GDLISXP等。因而,开发基于WEB的图书信息管理系统具有十分重要的意义。(三)论文的研究内容 本图书信息管理系统是以图书管理为目标,系统主要功能为解决读者和图书管理员对于图书信息管理的问题而研发,拟解决一下问题:(1)图书管理员在管理图书时的现状怎么样,遇到过一些什么问题?(2)期待图书信息管理系统具备哪些功能?(3)结合实际问题具体分析,给出问题的解决方法,实现完善图书信息管理系统的各项功能。通过社会调查和分析,了解到目前图书管理员在管理图书信息的时候,希望有一套简单易懂,功能齐全,便于管理的系统。针对描述的问题,本系统研发了普通用户模块和管理员模块,普通用户可以注册登录系统,查询借阅所需要的图书,管理员登录管理图书信息和普通用户信息,减少了管理员面对游客和普通用户只查询不借阅图书的情况进行不必要的工作,也能够方便游客和普通用户对于需求的图书进行查询。本论文对图书信息管理系统进行了详细的描述和总结。(四)论文的组织结构本论文一共分为五章进行描述。第一章:前言。重点介绍选题的研究背景和国内外图书信息管理系统的现状,并对论文研究的内容和组合架构进行介绍。第二章:系统分析。了解图书信息管理系统的用户要求、用户行为,并画出用户用例图,结尾介绍了系统的开发环境。第三章:系统总体设计。简要设计图书信息管理功能模块、总体结构以及对重要的场景进行分析。第四章:数据库设计。通过分析图书信息管理系统的E-R图表,设计了系统表结构和数据库的物理实现。第五章:系统详细设计与测试。本章节对图书信息管理系统所有模块的详细的设计过程进行了描述,截取了体统的主要实现的界面。最后是结论。对研发图书信息管理系的过程、心得和收获进行总结和概括。二、系统分析(一)可行性分析可行性分析是考察开发体系的主要内容和支撑条件,具有可预测性,可靠性和科学性,在系统开发前进行可行性分析是非常必要的,也是早期开发的重要组成部分。这对于确保合理使用资源和避免浪费非常重要。这也是一旦开始就成功执行项目的必要保证。图书信息管理系统的建设是一个复杂的项目,开发时间长,可行性研究也更加必要,更加复杂和困难。我在前一段时间对系统进行了调查和分析,具体如下面四个方面的可行性分析。1.技术可行性分析本系统主要技术为JAVASERVERPAGES、SQLSERVER、JAVASCRIPT,此类技术成熟稳定,并且兼容性能优越,完全可以满足图书信息管理系统的开发。所以,本系统具有高度的可行性。2.经济可行性分析结合实际,本系统研发所需要的硬件和软件以及环境都已经具备,避免了此方面的经济投入。而且本系统是本人独自完成,所以在运营成本上的支出也非常之少,同时市场上图书信息充足,获取信息途径较广,节约了大量的物资成本。综上本系统在经济上是完全可行的。3.社会可行性分析本系统的研发没有触犯法律法规是合法的一套系统,而且在伦理道德方面也是不触及的。在当前信息技术的快速发展中,计算机技术和软件技术更新对公司或组织来说完全是可能的,也是图书管理应用这种先进管理技术所必需的,它对于图书行业的发展有着积极的作用。图书信息管理对传统的图书管理理念有着正确引导系和促进,所以社会上是绝对可行的。4.操作可行性分析该系统简单方便,以用户和管理员为中心。实施后的系统美观大方,易于使用,界面清晰,一些不懂计算机的人多练习操作都可以正常使用,所以在操作的可行性分析上是满足的。(二)需求分析要开发一个真正满足用户需求的系统,我们必须首先明确用户的需求。成功开发系统的出发点是分析用户的具体需求,如果你不能真正满足用户的基本需求,那么系统设计和编码有多好并不重要,它最后只能让用户和开发者失望。需求分析是软件系统定义阶段的最后一步。该系统是一个图书信息管理系统,用户只有管理员。本章对管理员用户进行需求分析,并制作表格。管理员对系统进行管理,管理员的主要的行为有:登录系统、修改密码、退出登录、添加图书类别、删除图书类别、修改图书类别、添加图书、删除图书、修改图书、查询图书、添加用户、修改用户、删除用户、查询用户、添加借阅信息、修改借阅信息、删除借阅信息、查询借阅信息、还书。管理员具体行为如表2.1所示。表2.1管理员行为表登录系统修改密码退出登录添加图书类别删除图书类别修改图书类别添加图书修改图书删除图书查询图书添加用户修改用户删除用户查询用户添加借阅信息修改借阅信息删除借阅信息还书通过对管理员行为的分析和总结,可以画出管理员用户用例图,如图2.1所示。图2.1管理员用户用例图(三)开发环境介绍1.JavaServerPages简介现在有一种使用Java作为脚本的技术,叫做JSP,在HTTP的应用程序中,Java库中的单元利用JSP页面进行与HTTP的连接。当使用浏览器访问JSP的网页时,如果系统中没有安装JDK,那么系统会自动请求安装当前最新版本的JDK[1]。在执行结果通过HTML的形似发送给用户之前,需要先对其中的程序片段进行执行。这个程序片断可以做很多事情,比如数据库操作,电子邮件传输,网页重定向等等。作为一个动态网站,这些功能至关重要。用户利用WEB网页的操作都会在服务器中完成,用户得到的之后利用互联网发送回来的结果而已,对客户端的配置要求并不高[2]。在JSP创建动态页面的时候,能够提供一种迅捷方便的方法。在世界处于龙头地位的sun公司对JSP动态页面技术设置了一系列的规定,其中包含了在网络上服务器如何与JSP介绍使用JSP的交互以及格式和语法。封装生成的页面时,JSP会编译Java编译的脚本和XML标记。在页面响应的同时,它可以把多种形式的标签直接的船回到服务器,包括HTML标签和XML标签。通过这种形式,JSP技术可以更好地分离页面逻辑设计和页面显示。JSP是有Java语言衍生出来的一种新型的技术。在应用的流程中,可以挪用JavaBean和EJB组件,在服务器中处理的servlet,就是通过JSP页面进行编译得到的结果。所以说,在组建可以更新的WEB应用程序时,JSP起到了关键性的作用[3]。JSP可以在绝大多数的平台上进行使用,并且因为它本身的特性,在程序开发行业中,适用性也非常的广泛。2.SQLSERVER2008简介作为一个可以在网页上运行的数据库服务器,SQLSERVER2008是微软高度期待的产品,他的主要目的使建立一种能够使各种服务器相互链接,处理数以亿计的大容量数据的一种具备最高优先级的RDBMS系统,由于这个系统的建立使得各种服务器集群得以相互关联而且是在高性能的状态下[4]。所以,由多个数据库组成的服务器组能够对网站护着企业级的数据请求提供支持。数据库的SQLSERVER2008版本可以从XML协议中得到完美的支持。与此同时他还将可用性、高可靠性、可延展性、稳定性以及时效性集于一体,即使在多个服务器相互关联的情况下构成了服务器组这些特性依然存在就好像使电路中所谓的并联一样[5]。SQLSERVER2008R2版本使用WEB应用程序和嵌入式DNA架构来完成自己的模型设计,与此同时还完美的支持了许多微软自家的功能例如QueryEnglish以及MFsearch等,以此可以体现R2版本的强大功能。3.B/S简介B/S结构能够使浏览器和服务器达到完美结合,虽然C/S结构也在不断的改进(2018年1月份进行了最近一次的更新),而且现在随着网络特有的技术快速发展使得大部分用户都可以在浏览器上对页面进行查看,而采用浏览器查看与之对应的特殊界面只是业务逻辑中的冰山一角,其实他最主要的功能使需要通过大型的服务器来实现的,这种现象所形成的就是三层结构[6]。这样的模型结构可以在程序的应用后期更加方便的进行维护以及对现有系统的功能扩充,减少了现有系统的整体成本预算,也大大的减轻了服务器上与之相对应的数据负荷。具体地说,由于像使用JAVA语言这种可以跨平台使用的标准型语言出现之后,如果采用了B/S结构那么就会使软件的开发以及后期的维护和使用更加的轻松。B/S体系结构最大的优点是用户可以使用自己电脑中独立的浏览器来对自己想要查询的信息在网络中进行访问,这就造成了可能在同一时间内由无数的用户将会访问到服务器,但是其实每个链接都是既独立又相关连的,已经开发上线的数据库会将各种不同的数据分配给各个不同的发送出请求的用户。除电脑自身安装系统时就已经存在的浏览器来说,用户其实已经不再需要其他的任何程序了,只要降自己想要操作的信息能够传达服务器端,就可以在自己的电脑上对发送回来的数据进行查看,这其中的流程其实时用户首先将自己想要的信息在搜索框中进行搜索,然后由自己所使用的浏览器降请求信息传递给服务器,之后呢有服务器查找到用户所需要的信息然后发还给发送请求的浏览器,这样用户就能够查看到自己想要的信息了。正是因为建立了这个模型,才将众多不同的网络服务器联系到了一起,慢慢的进行融合并逐渐的形成了一个巨大的网络,即全球网络,当然不管是企业还是个人都可以以自己电脑为服务器的基础上建立一个基于局域网的内部网站用来提供具有特殊请求的用户来访问。4.JavaScript简介JavaScript是一种脚本语言,是属于一种网络脚本,就当前而言遍及用于应用程序的各项开发,通常用于为页面添加各种动态效果,能够使得为用户提供更平滑和更美丽的视图效果[7]。使用javaScrit的主要目的就是想HTML端的页面添加一种具有特性性和针对性的行为,在这种行为中是通过用标准的标记语言来记录用户的下一步操作。当然JavaScript在大多数情况下是单独写成一个JS文件,当要使用它的时候则是直接内嵌到HTML端生成的页面中。JavaScript具有着跨平台的特性,可以支持各种跨平台设备,以及各种不同版本下的浏览器。与其他语言一样,Javascript脚本语言也有其自己的数据类型,专有表达式和标准算术运算符,以及现在最广泛使用的基本编程框架。Javascript提供了四种类型的目标基本数据类型和两种用于处理特定数据的特殊数据类型[8]。在这其中变量提供存储信息的位置,并且使表达式可以完成更复杂的信息处理。三、系统总体设计(一)系统功能模块描述和分析通过对用户行为和用户用例分析,本图书信息管理系统分为五大模块:管理员模块、图书分类管理模块、图书管理模块、会员管理模块、借阅管理模块。(1)管理员模块:登录、修改密码、退出登录等。(2)图书分类管理:添加分类、修改分类、删除分类。(3)图书管理:添加图书、修改图书信息、删除图书、查询图书信息。(4)借阅管理:添加借阅信息、修改借阅信息、删除借阅信息、查询借阅信息、还书。(5)会员管理:添加会员、修改会员、删除会员。系统功能模块图如图3.1所示。图3.1系统功能模块图(二)重要场景分析前小节对本图书管理系统的功能架构进行描述,本节主要对本系统的重要场景进行探讨和分析。1.登录登录功能是使用本系统的基础,用户使用自己的账号密码登录系统。首先输入账号密码,如果输入的账号密码错误,系统即刻显示信息并回到登录界面,用户可再次输入账号密码。如果账号密码输入正确则顺利进入系统。登录流程如图3.2所示。图3.2登录流程图图3.3还书流程图2.还书还书功能是本系统中至关重要的功能之一,用户登录到详细页面然后选择借阅管理对图书的借阅进行管理,如果是会员就可以还书否则就会还书失败。确认是会员之后还需确认是否还书,如果会员需要还书则跳转到还书页面,选择需要归还的图书进行归还,如果会员不还书则页面跳转到首页。会员还书成功后借阅管理界面就会显示已归还图书,如果由于其他原因导致还书未成功界面就会跳转到首页。还书流程如图3.3所示。四、数据库设计(一)系统E-R图设计本系统涉及多个实体对象,根据用户用例和功能模块分析可抽象得出五个实体对象,分别为管理员、图书类别、图书、会员、借阅信息。绘制系统实体总E-R图,如图4.1所示。图4.1系统实体总E-R图(二)数据库逻辑设计在本节中,总结概念设计和E-R图分析的结果,并进一步转换为系统实体之间的关系模型。通过对实体模型之间关系的深入分析,对物理模型的具体方面进行了优化,并设计了系统的最终关系模型。可以的得到下列关系模式:管理员(账号,姓名,管理用户信息,管理图书信息);会员(编号,会员号,姓名,性别,年龄,地址,电话,邮箱,办卡日期,备注);图书(序号,图书类别,书名,作者,出版社,价格,数量,借阅价格,入库日期);借阅(会员卡号,图书名称,借出时间,归还时间,逾期时间,归还状态,日租金,费用);管理(图书类别,图书信息,会员信息)。(三)数据库表结构设计根据对本系统实体关系模型分析得出本系统有六张表:管理员表(Admin表)、用户登录表(Adminlog表)、图书信息表(Book表)、图书类型表(Booktype表)、借阅信息表(Yj表)、会员信息表(Member表),各表结构如下所示。管理员表有七个字段:id(用户编号)、username(用户名)、password(登录密码)、creattime(创建时间)、issue(期号)、logintime(登录时间)。管理员表如表4.1所示。表4.1管理员表字段名数据类型NULL字段长度idIntNusernamenvarcharN50passwordnvarcharN50creattimedatetimeNflagintNissueintNlogintimesintN用户登录表有六个字段:id(编号)、username(用户名)、password(登录密码)、logintime(登录时间)、loginip(登录IP)、ok(是否登录成功)。用户登录表如表4.2所示。表4.2用户登录表字段名数据类型NULL字段长度idIntNusernamenvarcharN50passwordncarcharN50logintimedatetimeNloginipnvarcharN50oknvarcharN50图书表中有十一个字段:id(图书编号)、booktype(图书类别)、name(图书名称)、author(作者)、cbs(出版社)、isbn(国际标准图书编号)、price(图书价格)、intro(图书简介)、yyig(借阅价格)、addtime(添加时间)。书籍信息表如表4.3所示。表4.3图书信息表字段名数据类型NULL字段长度idIntNbooktypenvarchar50namenvarchar50authornvarchar50cbsnvarchar50isbnnvarchar50pricenvarchar50numnvarchar50intronvarchar500yyjgfloatdddtimenvarchar50图书类型表有三个字段:id(用户)、name(图书类别)、addtime(添加时间)。图书类型表如表4.4所示。表4.4图书类型表字段名数据类型NULL字段长度idintNnamenvarchar50addtimenvarchar50借阅信息表有八个字段:id(借阅编号)、card(借阅号码)、bookid(图书编号)、stime(借出时间)、etime(归还时间)、chaoqi(超期天数)、fj(罚金)、flag(是否还书)。借阅信息表如表4.5所示。表4.5借阅信息表字段名数据类型NULL字段长度idintNcardnvarchar50bookidnvarchar50stimedatetimeetimedatetimechaoqinvarchar50fjnvarchar50flagnvarchar50会员信息表中有九个字段:card(会员号码)、name(会员姓名)、sex(性别)、age(年龄)、address(地址)、tel(电话)、email(邮箱)、remark(备注)、addtime(注册时间)。如表4.6所示。表4.6会员信息表字段名数据类型NULL字段长度cardIntnamenvarchar50sexnvarchar50agenvarchar50addressnvarchar50telnvarchar50emailnvarchar50remarknvarchar50addtimenvarchar50(四)数据库的实现本系统使用SQLSERVER2008作为数据库存储软件,创建数据库遵循标准SQL语句和SQLSERVERr方言使用标准,编码集为UTF-8,创建数据库jspbooklib的SQL语句如下:CREATEDATABASE[jspbooklib]ONPRIMARY(NAME=N'fzfc_dat',FILENAME=N'D:\jspbooklib.mdf',SIZE=2048KB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)LOGON(NAME=N'fzfc_log',FILENAME=N'D:\jspbooklib_log.ldf',SIZE=2048KB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)GOALTERDATABASE[jspbooklib]SETCOMPATIBILITY_LEVEL=80创建数据库中的表同样使用UTF-8编码,指定主键、外键,并在不清晰的地方写明注释。此处只给出用图书表(book)、用户表(member)、借阅表(jy)作为示例,其它不一一列举。图书表包含了图书编号、图书类别名称、图书名称,作者,出版社,国际标准图书编号,借阅价格,数量,入库时间。其中设置主键为Int型数据,字段为图书编号,数据自动递增。用户表创建语句如下所示。CREATETABLE[dbo].[book]( [id][int]IDENTITY(1,1)NOTNULL, [booktype][nvarchar](50)NULL, [name][nvarchar](50)NULL, [author][nvarchar](50)NULL, [cbs][nvarchar](50)NULL, [isbn][nvarchar](50)NULL, [price][nvarchar](50)NULL, [num][nvarchar](50)NULL, [addtime][nvarchar](50)NULL)ON[PRIMARY]会员表包含了会员号码,会员姓名,性别,年龄,地址,电话,邮箱,备注,注册时间。其中设置主键为Int型数据,字段为会员号码,数据自动递增。会员表创建语句如下所示。CREATETABLE[dbo].[member]( [card][int]NULL, [name][nvarchar](50)NULL, [sex][nvacrchar](50)NULL, [age][nvarchar](50)NULL, [address][nvarchar](50)NULL, [tel][nvarchar](50)NULL, [email][nvarchar](50)NULL, [remark][nvarchar](50)NULL, [addtime][nvarchar](50)NULL)ON[PRIMARY]借阅表包含了借阅编号、借阅号码、图书编号、借出时间、归还时间、超期天数、罚金、是否归还。其中设置主键为Int型数据,字段为借阅编号,数据自动递增。借阅表实现代码如下所示。CREATETABLE[dbo].[jy]( [id][int]IDENTITY(1,1)NOTNULL, [card][nvarchar](50)NULL, [bookid][nvarchar](50)NULL, [stime][datetime]NULL, [etime][datetime]NULL, [chaoqi][nvarchar](50)NULL, [fj][nvarchar](50)NULL, [flag][nvarchar](50)NULL)ON[PRIMARY]五、系统详细设计与测试(一)系统实现系统页面分为三个区域分别是:头部、菜单、展示区。头部主要展示logo、修改密码、退出登录等功能。菜单区域展示整个网站的栏目架构,展示区主要是显示点击不同菜单栏时显示的不同数据。头部、菜单属于公共部分,所有网页都包含这两个部分[9]。系统界面如图5.1所示。图5.1系统界面图(二)管理员模块1.登录系统用户输入用户名和密码后,提交页面。系统验证用户的登录:若用户名称或密码不正确,系统显示“用户名或密码错误”,若用户名称和口令正确,用户登录成功,系统立即跳转页面,显示出整个操作系统的界面,然后根据不同的需求进行下一步操作。用户登录界面如图5.2所示。图5.2登录系统界面图2.修改密码使用正确的账号密码登录之后,页面将会跳转到图书信息管理系统的后台管理系统。点击页面右上角的修改密码链接即可进入到修改登录密码界面,并显示当前用户的账号,用户可以根据显示的界面输入旧密码,然后设置新的密码,最后确认新的密码点击确认即可完成修改密码操作。如果前面信息填写错误则可以点击重填按钮重新填写信息。修改密码界面如图5.3所示。图5.3修改密码界面图3.安全退出已经登录的用户对系统操作完之后,如果想要退出账号则可以点击安全退出按钮,点击之后界面会弹出提示,确认是否需要退出,如果需要就选择确定不需要就选择取消。安全退出界面如图5.4所示。图5.4安全退出界面图本节主要代码实现:Stringusername=request.getParameter("username");Stringpassword=request.getParameter("password");验证码生成publicclassCheckCode{ publicStringgetCheckCode(){ Randomrandom=newRandom(); StringsRand=""; for(inti=0;i<4;i++){ Stringrand=String.valueOf(random.nextInt(10)); sRand+=rand; } returnsRand; }}(三)图书分类管理图书分类管理主要分为添加图书分类、修改图书分类、删除图书这三个功能。点击菜单栏中的图书分类管理链接后,默认显示所有图书分类。图书分类管理界面如图5.5所示。图5.5图书分类管理界面图1.添加分类在图书分类管理界面中有一个文本框,如果需要新增加图书类别,将图书类别名称填入这个文本框,点击提交按钮界面会显示操作成功,但是在编写框中不填写任何类别名称点击提交系统则会提示请输入类别名称,以此来提示用户正确输入。添加分类界面图如图5.6所示。图5.6添加分类界面图2.修改分类在图书分类管理界面中点击修改链接,即可来到修改分类界面。图书类别用下拉列表显示的,直接选中要想要修改的分类名称,点击提交即可完成修改操作。如果此类书籍中的某些图书被借阅且未归还则提示修改分类失败。3.删除分类对于一些重复或者错误的类别信息,可以点击删除按钮删除这些类别,但是如果有书籍储存在该类别下,就需要将书籍信息提取出来再进行删除,以免造成书籍资料的丢失,给使用本系统的用户带来一些不必要的损失,如果该类别下没有任何书籍就可以直接删除。本节主要实现代码:publicintaddTYPE(Stringname){ Stringsql="insertintobooktype(name,addtime)values('"+name+"','"+date+"')"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(sql); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); } }(四)图书管理图书管理主要分为添加图书、修改图书、删除图书、查询图文这三个功能。点击菜单栏中的图书管理链接后,展示区显示所有图书信息及可进行的操作。显示的图书信息主要有:图书类别、书名、作者、出版社、ISBN、价格、数量、借阅价格、入库时间等。图书管理界面如图5.7所示。图5.7图书管理界面图1.添加图书在菜单栏中点击增加图书链接即可显示添加图书的界面,其中有图书类别、图书名称、图书作者、出版社、ISBN号码、图书价格、数量、简介、借阅价格,图书类别的录入时按照之前添加的图书类别里选择相应的类别,剩下的图书信息依次填入表格然后提交,系统提示操作成功表示新的图书信息已经录入系统。添加图书界面如图5.8所示。图5.8添加图书界面图2.修改图书当发现图书信息错误的时候,可以点击修改按钮,跳转至修改图书页面,在此页面中默认显示的是图书原来的信息,包括:图书类别、图书名称、图书作者、出版社、ISBN号码、图书价格、数量、简介、借阅价格信息。确认修改后点击提交按钮即可完成修改,在图书信息界面中就可以显示已经修改之后的内容。修改图书界面如图5.9所示。图5.9修改图书界面图3.查找图书点击菜单栏中的图书信息查询链接即可来到查找图书界面。有三个查询的选择方向,采用下拉列表来实现。一个是根据图书类别来查询,输入想查询的图书类别,并点击提交按钮即可显示所需类别的图书;一个是根据图书名称来查询,输入想要查找的图书名称提交就可以看到所查询的图书;还有一个是根据出版社来查询,如果想查询某出版社的图书,输入出版社名称就可以查看到所有该出版社的图书。查找图书界面如图5.10所示。图5.10查找图书界面图4.删除图书对于图书信息输入错误和图书已经过期的情况,可以点击删除按钮把作废的图书信息删除掉,在书籍还有库存的情况下,可以先清除书籍库存然后再进行删除处理,如果需要删除的图书信息没有库存那么就可以直接删除减少了有库存情况的步骤。如果要删除的图书被读者借阅且尚未归还,则无法删除该图书,系统提示删除图书失败。本节主要代码实现:publicintaddBOOK(Stringbooktype,Stringname,Stringauthor,Stringcbs,Stringisbn,Stringprice,Stringnum,Stringintro,Stringjyjg){ Stringsql="insertintobook(booktype,name,author,cbs,isbn,price,num,intro,jyjg,addtime)"+ "values('"+booktype+"','"+name+"','"+author+"','"+cbs+"','"+isbn+"','"+price+"','"+num+"','"+intro+"','"+jyjg+"','"+date+"')"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(sql); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); }}(五)会员管理会员管理主要分为添加会员、修改会员、删除删除这三个功能。点击菜单栏中的会员管理链接后,展示区显示所有会员信息及可进行的操作。显示的会员基本信息主要有:会员卡号、姓名、性别、年龄、地址、电话、邮箱、备注以及办卡日期等。会员管理界面如图5.11所示。图5.11会员管理界面图1.添加会员在菜单栏中点击增加会员链接即可显示添加会员的界面,需要完善的表单数据有:会员姓名、性别、年龄、联系地址、联系电话、邮箱、备注等。提交表单前系统会对表单数据进行验证,确认无误后点击提交按钮即可完成添加会员操作。添加会员界面如图5.12所示。图5.12添加会员界面图2.修改会员在会员信息管理这一栏中选择需要修改的会员,点击修改按钮界面跳转至会员修改界面,在这个界面中可以修改会员姓名、性别、年龄、联系地址、联系电话、邮箱和备注,选择需要修改的信息点击修改框删除原来的错误信息填写正确的信息,然后点击提交,系统显示操作成功,会员信息已经被修改。修改图书界面如图5.13所示。图5.13修改会员界面图3.删除会员对于图书信息输入错误和图书已经过期的情况,可以点击删除按钮把作废的图书信息删除掉,在书籍还有库存的情况下,可以先清除书籍库存然后再进行删除处理,如果需要删除的图书信息没有库存那么就可以直接删除减少了有库存情况的步骤。如果要删除的图书被读者借阅且尚未归还,则无法删除该图书,系统提示删除图书失败。本节主要代码实现:publicintgetCard(){ Stringsql="selectmax(card)frommember"; DBOdbo=newDBO(); dbo.open(); try{ rs=dbo.executeQuery(sql); if(rs.next()) returnrs.getInt(1)+1; else return1000; }catch(Exceptione){ e.printStackTrace(); return1000; }finally{ dbo.close(); } } publicintaddMEMBER(Stringcard,Stringname,Stringsex,Stringage,Stringaddress,Stringtel,Stringemail,Stringremark){ Stringsql="insertintomember(card,name,sex,age,address,tel,email,remark,addtime)"+ "values('"+card+"','"+name+"','"+sex+"','"+age+"','"+address+"','"+tel+"','"+email+"','"+remark+"','"+date+"')"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(sql); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); } } publicintupMEMBER(Stringcard,Stringname,Stringsex,Stringage,Stringaddress,Stringtel,Stringemail,Stringremark){ Stringsql="updatemembersetname='"+name+"',sex='"+sex+"',age='"+age+"',address='"+address+"',tel='"+tel+"',email='"+email+"',remark='"+remark+"'wherecard='"+card+"'"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(sql); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); } }(六)借阅管理借阅管理主要分为添加借阅信息、修改借阅信息、删除借阅信息、查询借阅信息、还书这五个功能。点击菜单栏中的图书借阅管理链接后,展示区显示所有图书借阅信息,包括会员卡号、图书名称、借出时间、归还时间、超期时间、罚款金额、状态、日租金、费用还有一些还书、修改以及删除等操作。借阅管理界面如图5.14所示。图5.14借阅管理界面图1.添加借阅点击菜单栏中的添加借阅信息链接后即可来到添加借阅页面。首先选择需要借阅图书的会员卡号,然后点击图书名称下拉框,在框中选择该会员需要借阅的图书,接下来点击借书时间框,在这个框中会显示出一个日历,日历中有星期和日期,选择正确的时间后询问会员需要借阅的天数设置还书日期,最后点击设置超期时间和罚款金额,但是这两个框中初始值必须为零,不能为空。2.修改借阅发现借阅信息错误就可以点击修改按钮,然后界面跳转至修改处,在这里可以对会员卡号、图书名称、借书时间、还书时间进行修改,修改完后提交界面显示操作成功,图书借阅信息已经修改完成,如果图书已经归还完毕,则不能对该借阅信息进行修改。修改图书借阅信息界面如图5.15所示。图5.15修改借阅界面图3.删除借阅管理员对于错误的图书借阅信息和已经过期的图书借阅信息,点击删除按钮即可删除所选的图书借阅信息,但是需要删除的借阅信息如果图书没有归还,费用还没有缴纳清就需要提醒该会员将图书归还费用缴纳,否则不能删除。反之,所有的图书已归还费用已缴纳的借阅信息就可以直接删除。4.查询借阅在菜单栏点击读者查询借阅链接即可来到查询借阅页面。在文本框中输入会员卡号点击提交按钮即可完成查询操作。如果卡号存在则显示查询到的结果,否则显示为空。查询借阅界面图如图5.16所示。图5.16查询借阅界面图5.还书在借阅管理界面中,选择还书状态为未还书的借阅信息,点击还书链接即可完成还书操作。借阅状态从未归还变为归还状态,还书链接失效。本节主要代码实现:publicintgetBOOK(Stringid){ Stringsql="selectnumfrombookwhereid='"+id+"'"; DBOdbo=newDBO(); dbo.open(); try{ rs=dbo.executeQuery(sql); rs.next(); returnrs.getInt(1); }catch(Exceptione){ e.printStackTrace(); return0; }finally{ dbo.close(); } }publicintcheckBOOK(Stringid){ Stringsql="selectcount(*)fromjywherebookid='"+id+"'andflag='未归还'"; DBOdbo=newDBO(); dbo.open(); try{ rs=dbo.executeQuery(sql); if(rs.next()) returnrs.getInt(1); else return0; }catch(Exceptione){ e.printStackTrace(); return0; }finally{ dbo.close(); } }publicintbackBOOK(Stringid,Stringetime,Stringchaoqi,Stringfj){ Stringsql="updatejysetetime='"+etime+"',chaoqi='"+chaoqi+"',fj='"+fj+"',flag='已归还'whereid='"+id+"'"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(sql); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); } }(七)系统测试1.测试目的系统测试是本系统研发的最后一个阶段,主要是把每个模块结合起来形成一个完整的系统,是确保本系统能够正常运行的一种重要手段,其目的就是在系统投入运行之前,把系统中存在的错误查找出来,检验系统是否可以实现结构上所有的功能[10]。发现错误应该马上找到相应的地方改正,有遗漏或者未实现的功能需要根据具体的模块进行改进,让系统必须实现的功能实现。2.测试方法软件测试从是否关心软件内部结构和具体实现的角度,分为黑盒测试和白盒测试。黑盒法是一种不考虑系统代码的前提下,对系统功能进行测试,通过输入信息和输出的信息来检验系统或网站是否有问题。在使用这种方法的时候,通常要考虑到所有的输入数据类型,这样才能检测出系统功能是不是有问题。在黑盒法中,有分成几个小方法,通常在使用黑盒法进行程序检查是,都需要使用等价分割法、边界值划分法来进行组合使用,这样更有效的避免了测试数据的不完

温馨提示

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

评论

0/150

提交评论