• 1.52 MB
  • 2022-04-22 11:16:18 发布

基于WEB的图书管理系统的设计与实现计算机科学与技术毕业论文.doc

  • 55页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现毕业设计(论文)中文题目:基于WEB的图书管理系统的设计与实现学习中心:XX大学教学站专业:计算机科学与技术姓名:XXXX学号:XXXXX指导教师:张XX2014年11月05日远程与继续教育学院 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现北京交通大学毕业设计(论文)承诺书本人声明:本人所提交的毕业论文《基于WEB的图书管理系统的设计与实现》是本人在指导教师指导下独立研究、写作的成果。论文中所引用的他人无论以何种方式发布的文字、研究成果,均在论文中明确标注;有关教师、同学及其他人员对本论文的写作、修订提出过且为本人在论文中采纳的意见、建议均已在本人致谢辞中加以说明并深致谢意。本人完全意识到本声明的法律结果由本人承担。本毕业论文《基于WEB的图书管理系统的设计与实现》是本人在读期间所完成的学业的组成部分,同意学校将本论文的部分或全部内容编入有关书籍、数据库保存,并向有关学术部门和国家相关教育主管部门呈交复印件、电子文档,允许采用复制、印刷等方式将论文文本提供给读者查阅和借阅。论文作者:_______________________(签字)_______年_______月______日指导教师已阅:___________________(签字)_______年_______月______日 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现北京交通大学毕业设计(论文)成绩评议年级层次专业姓名题目指导教师评阅意见成绩评定:指导教师:年月日答辩小组意见答辩小组负责人:年月日 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现北京交通大学毕业设计(论文)任务书本任务书下达给:2010级计算机科与技术专业学生XX设计(论文)题目:基于WEB的图书管理系统的设计与实现一、设计(论述)内容1.使用软件工程中的结构化方法进行软件的需求分析、软件设计;2.掌握JAVA#语言开发管理系统的一般性研究;3.灵活使用JAVA语言与oracle数据库的连接及功能实现等技术要点。二、基本要求1.开发前,认真进行项目调研;2.查找并阅读三本左右关于JAVA语言与oracle数据库的书籍;3.查阅相关技术文章,以及通过网络查询的资料。三、重点研究的问题1.JAVA开发环境、调式环境;2.JAVA语言与oracle数据库连接的应用;3.结构化程序设计方法及其相关工具。四、主要技术指标1.论文格式要求符合《北京交通大学关于毕业论文的要求》;2.掌握使用结构化方法管理软件项目的分析、设计和开发过程;3.掌握使用JAVA语言开发应用软件的流程与步骤。五、其他要说明的问题注意需求分析的方法和手段下达任务日期:2014年06月21日要求完成日期:年月日答辩日期:年月日 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现指导教师: 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现开题报告题目:基于WEB的图书管理系统的设计与实现报告人:XXX2014年06月25日一、文献综述徐芳、邓敏他们认为内容管理系统是一个具有良好扩展性、稳定性和高效率的信息共享平台。一个好的信息管理系统,并不是体现在其开发技术有多么高端,而是体现在系统的设计思路和功能实现的策论上。随着网络应用的丰富和发展,很多网站往往不能迅速跟进大量信息衍生及业务模式变革的脚步,常常需要花费许多时间、人力和物力来处理信息更新和维护工作[1]。肖希明指出:随着现代信息技术的迅速发展,特别是网络环境的形成,信息的生产、存储和传递的方式发生了革命性的变化。数字信息资源以传统信息资源难以比拟的优势逐渐成为信息资源的主体。数字信息资源是一个国家的数字资产,是学术研究信息的数字存档,一个国家的科技创新能力以及与此相关的国际竞争力都依赖于其快速、有效地开发与利用数字信息资源的能力。因此,数字信息资源建设与服务,已成为国家信息化发展战略的重要组成部分[2]。姚乐野、钟刚毅指出近年来在信患技术的推动下,我国的图书馆事业进入快速发展时期。各级各类图书馆深入学习实践科学发展观,坚持以人为本和读者第一的理念,加快文献资源建设和自动化、数字化建设的步伐,创新服务机制,提升服务水平,不断推进图书馆的改革与发展。2008年底,文化部、教育部、科技部召开了“全国文化、教育、科技系统资源共享服务基层经验交流会”。为了深入贯彻这次会议的精神,一大批图书馆努力探索合作协调、资源共享的新模武,积极为经济建设和社会发展提供更高水平的文献信息服务[3]。[1]徐方,邓敏《内容管理系统(CMS)的发展与应用》2007-03[2]肖希明《数字信息资源建设与服务研究》2008-07-01[3]姚乐野、钟刚毅《数字时代图书馆建设的理论与实践》2010-01-01二、选题的目的和意义经过详细的调查,目前我国各类高等学校中有相当一部分单位图书资料管理还在使用传统的人工管理方式,这种方式效率低、保密性差、出错率高且较为繁琐。 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现另外,随着图书资料数量的增加,其工作量也将大大增加,这必将浪费许多人力和物力,给图书资料信息的查找、更新和维护都带来了很多困难。随着计算机技术的飞速发展和广泛普及,业务处理信息化已经渗透到各行各业的工作当中,在图书管理领域,图书管理系统成为目前图书馆建设的根本目标,它的建设对于图书馆的管理员和使用者来说都至关重要。使用计算机对图书信息进行管理,有着“检索迅速”、“查找方便”、“可靠性高”、“存储量大”、“保密性好”、“寿命长”、“成本低”、“便于打印”等诸多优势,这些优势能够极大地提高图书管理的效率。也是图书馆的科学化、正规化管理,与世界接轨的重要条件。因此,开发一套图书管理系统是非常必要的事情。三、研究方案本系统选择windows2007做为开发平台。采用B/S架构,以Myeclipse6.6作为开发工具,应用JSP开发技术,Java作为开发语言,Javascript作为脚本语言,利用oracle10g数据库实现数据的存储管理,采用SSH(struts+spring+hibernate)框架实现MVC设计模式。系统主要用于图书馆日常工作的管理,主要任务是用计算机对读者、图书等各种信息进行日常管理,如增加、删除、修改、查询、图书的借阅和归还的管理等。该系统使用人群分为系统管理员和普通用户。实现管理员对用户信息的维护、对图书上架、下架、等维护,实现普通用户的注册、对图书的查询、借阅、归还等操作。四、进度计划1)2014.05.10—2014.06.25:查阅相关文献资料,明确研究内容,学习开发所需JSP、Oracle10g、框架等相关技术,确定方案。完成开题报告。2)2014.06.26—2014.06.30:对开发系统进行需求分析等开发的前期工作。3)2014.07.01—2014.08.31:进行开发工具选择与配置,准备开发环境,具体代码编写。4)2014.09.01—2014.10.10:撰写论文。5)2014.10.11—2014.12.05:修改论文。6)2014.12.06—2014.12.15:打印论文、制作答辩PPT、答辩。五、指导教师意见指导教师:年月日 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现中期报告题目:基于WEB的图书管理系统的设计与实现报告人:XXX2014年08月15日一、进展情况经过前一阶段对图书管理系统的需求分析、系统设计、系统开发等一系列的工作的开展,系统已初见雏型,系统的主要功能页面以及相关的功能页面基本完成,并且建立了部分数据库表。下面针对重点内容做详细说明:1系统设计目标1)数据库存储安全、可靠;2)信息分类清晰、准确;3)保证数据查询的多样性、灵活性;4)实现对图书借阅、续借和归还的数据信息跟踪;5)提供灵活、方便的权限设置功能;6)具有易维护和易操作性;7)界面设计友好、美观。2数据库设计根据业务需求,做了如下数据库设计:1)FLOW_USER表:记录所有人员信息;2)BOOK_BASIC_MESS表:记录图书的基本信息;3)BOOK_BORROW_MESS表:记录图书的借阅和归还情况信息;4)SYS_MODEL表:记录系统中涉及到的模块信息;5)SYS_ROLE_SYST表:记录系统角色信息;6)SYS_RLSY_USER表:记录用户所具有的所有系统角色的配置信息;3系统功能结构图根据图书管理系统的实际需求,可以将图书管理系统使用用户划分为图书管理员和普通用户两种,针对这两种角色来说,将系统功能做如下划分: 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现二、指导教师意见指导教师:年月日 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现结题验收一、完成日期二、完成质量三、存在问题四、结论指导教师:年月日 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现中文摘要随着人类社会的发展,人类对知识的需求也不断增长。在这种形势下,书籍就渐渐成为人们获取并增长知识的主要途径,而图书馆自然而然地就在人们的生活中占据了一定的位置。本课题针对当前我国图书管理多数采用人工管理的现状以及即使采用了计算机图书管理系统却不能完全满足图书管理的要求,设计了这个开放式的图书管理系统。图书管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前台的应用程序的开发两个方面。针对图书管理系统,本文进行了全面的可行性分析,详细论证了系统需求分析、系统设计、数据库设计和系统测试过程。本系统使用JSP进行网页界面的设计,使用MVC设计模式,采用开源框架Struts、Hibernate和Spring(即SSH)进行开发。后端的数据库采用Oracle,通过JDBC驱动和数据库进行无缝连接。系统实现了用户注册、用户登录、图书管理、图书借阅管理等功能模块。用户注册模块实现了学生在系统中注册用户的功能;用户登录模块实现用户的登录和权限判定;图书管理模块实现了对图书的添加、删除、修改、查询等功能;图书借阅管理模块实现了学生对图书的借阅、还书的查看等功能。本系统以学校的图书馆为开发背景,利用开发工具的强大功能,本系统从图书的录入到查询浏览,读者的借阅到归还,都形成了一个自动化的管理模式,改善了图书的管理,也提高了工作效率。系统运行结果表明,图书管理系统可以满足借阅者和图书管理员双方面的要求。关键词:图书管理系统,借阅,JSP,SSH,Oracle10g,JDBC 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现英文摘要Withthedevelopmentofhumansociety,humanisalsogrowingdemandforknowledge.Undersuchcircumstances,thebookgraduallybecamethemainwaytogainandincreaseknowledge,andthelibrarywillcomeverynaturallyinpeople"slivestooccupyacertainposition.ThistopicbasedonthecurrentsituationofartificialmanagementoflibrarymanagementinChinaandthemostusedevenwiththecomputerizedlibrarymanagementsystemcannotfullymeettherequirementsoflibrarymanagement,librarymanagementsystemdesignoftheopen.Librarymanagementsystemisthetypicalinformationmanagementsystem,itsdevelopmentmainlyincludestwoaspectstheestablishmentandmaintenanceofthedatabaseandtheapplicationprospectsofdevelopment.Accordingtothelibrarymanagementsystem,thispaperconductedacomprehensivefeasibilityanalysis,detailedargumentthesystemrequirementsanalysis,systemdesign,databasedesignandsystemtestingprocess.ThedesignofthesystemusingJSPWebpageinterface,usingMVCdesignpatterns,theuseofopen-sourceframeworkStruts,HibernateandSpring(SSH)development.Theback-enddatabaseusingOracle,seamlessconnectionthroughtheJDBCdriveranddatabase.Thesystemhasrealizedtheuserregistration,userlogin,librarymanagement,librarymanagementfunctionmodule.Userregistrationmodulerealizedthestudentsregisteredusersinthefunctionofthesystem;userloginmoduletoachievetheloginanduserpermissionsdetermine;librarymanagementmoduleforthebookstoadd,delete,modify,queryandotherfunctions;librarymanagementmoduletoachievethestudentstobooksborrowing,butalsobookscheckfunction.Thissystemtotheschoollibraryasthedevelopmentbackground,usingthepowerfulfunctionofdevelopmenttools,thesystemfromthebookentrytotheinquirybrowsing,readersborrowtoreturn,allformanautomatedmanagementpattern,improvethemanagementofbooks,butalsoimproveworkefficiency.The 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现systemrunningresultsshowthat,thebooksmanagementsystemmanagementsystemmaysatisfytheborrowerandthedoublerequirementsoflibrarians.Keywords:Librarymanagementsystem,borrowing,JSP,SSH,Oracle10g,JDBC 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现目录一、进展情况4第一章绪论11.1课题意义及目的11.2课题目标1第二章可行性分析32.1社会可行性32.2经济可行性32.3技术可行性32.4操作可行性4第三章相关技术简介53.1框架53.1.1Struts框架53.1.2Spring框架53.1.3Hibernate框架53.2开发语言53.2.1JAVA53.2.2JavaScript63.2.3JSP63.3设计模式73.4数据库7第四章系统概要设计84.1系统目标设计84.2系统设计思想84.3系统功能描述84.4系统用例图114.5数据库设计124.5.1数据库技术简介124.5.2总体表设计124.5.3数据库表结构124.5.4实体及实体图15第五章系统详细设计与实现175.1程序流程图175.2模块详细设计185.2.1登录模块185.2.2图书管理员功能模块界面20 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现5.2.3普通用户功能模块界面31第六章系统测试37结论38参考文献39致谢40 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现第一章绪论1.1课题意义及目的当今时代是飞速发展的信息时代。在各行各业中离不开信息处理。随着互联网的全面普及,基于互联网的电子商务也应运而生,并在近年来获得了巨大的发展,成为一种全新的商务模式,被许多经济专家认为是新的经济增长点。这种电子商务模式对管理水平、信息传递技术都提出了更高的要求,其中安全体系的构建又显得尤为重要。在知识经济时代到来的今天,物质文化的发展已经远远满足不了人们的需求,精神文明有了飞速的发展,因此图书事业的发展就成为精神文明进步的一个动力。图书馆或者一些企业内部,甚至是书店,在正常运行的过程中总是面对大量的读者信息,书籍信息,用户借阅资料繁多。因此需要对读者资源,书籍资源,借书信息,还书信息进行管理,及时了解各个环节中信息的变更。现今,有很多的图书管都是初步开始使用计算机来进行信息管理,甚至尚未使用计算机。以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是图书管理系统开发所要解决的问题。基于这此问题,有必要建立一个图书管理系统。用计算机控制图书馆的工作由自动化系统运行而完成,这不仅节省了人力,还提高了工作效率和服务质量,而且还加速了图书的流通。使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的进行查询和修改图书情况等图书管理操作。1.2课题目标本文以图书馆里的读者和图书的管理为基础,通过Myeclipse为开发工具,Oracle10g为数据库实现图书管理系统的开发。主要包括以下内容:Ø分析现状和确定需求:第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现图书管理系统是图书馆经营管理中的核心,是为了实现图书馆的长远发展目标而实施的一个系统工程,也是一个图书馆能否取得快捷、准确、高效率管理的关键,此管理信息系统的最终目标是避免和克服人工管理图书时,劳动量大,图书信息多不易查找、维护等种种缺陷和弊端,使图书馆的管理规范化和自动化,从而对管理提供更加科学,准确的依据。本系统开发的主要目标是实现图书管理的系统化和规范化。Ø设计整个系统架构:如何设计系统,才能保证系统数据的完整性和正确性;怎样的架构才能保障系统的顺利建立,并能长期稳定的运行;Ø掌握开发技术熟悉开发工具的编程语言;了解数据库的创建,附加,以及表结构的创建等;掌握编程规范。第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现第一章可行性分析可行性分析是在进行初步调查后所进行的对系统开发必要性和可能性的研究,所以也称为可行性研究。这里的可行性是指在当前情况下,企业或部门研制这个系统是否有必要,是否具备必要的条件,其含义就不仅包括了可能性,还包括必要性,合理性。在系统的开发前期对系统进行可行性分析是十分必要的一个环节,这对于保证资源的合理使用,避免浪费是十分必要的,也是项目一旦开始以后能顺利进行的必要保证。图书管理系统的建设是一项开发时间较长的复杂工程,可行性研究更为必要,也更复杂,更困难。我通过前段时间的调查和分析,对该系统进行了如下的“社会可行性”、“经济可行性”、“技术可行性”、“操作可行性”四个方面的可行性分析。2.1社会可行性社会可行性有时也称为操作可行性,主要论证新系统在企业或机构开发和运行的可能性、必要性以及运行后可能引起的对企业或机构的影响,即组织内外是否具备接受和使用新系统的条件。在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新使图书管理企业或单位完全有可能也有必要采用这样先进的管理技术。新的图书管理系统是对传统管理理念的冲击,会带来一些积极的影响。而且,该系统符合相关行业的要求,与国家法律、法规也没有冲突,并且对图书行业的发展也有一定的促进作用,所以社会方面是可行的。2.2经济可行性根据成本/效益分析法,本系统所需的软硬件资源都已具备。由于该图书管理系统是作为毕业设计由自己开发的,因此在开发费用上的投入甚微。前期的资金投入主要集中于购置图书上。因此,在经济上是可行的。2.3技术可行性该系统主要依靠JAVA技术以Oracle数据库实现。本系统采用的技术均属当前流行的开发技术,具有技术成熟、效率高、稳定、安全等优点,并且自行配置的兼容机性能优越,能够支持以上软件的运行。所以,本系统在技术上是完全可行的。第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现2.1操作可行性本系统开发的开发宗旨是以便捷为中心。开发后的系统应具有美观、大方、简洁、易操作等优点,对用户计算机水平要求不高,即使是不懂计算机的人员也可以根据系统提示使用和管理本系统,它的操作简单的特点使本系统在操作上可行。第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现第一章相关技术简介3.1框架3.1.1Struts框架Struts框架为开放者提供了一个统一的标准框架,它提供了一个方法,可以在一个Web应用程序中一起使用JSP和Servlet。Struts框架本身是使用JavaServlet和JavaServerPages技术的一种Model-View-Controller(MVC)实现。它的目的是要解决完全由JSP或完全由Servlet实现的应用程序中的固有的问题。3.1.2Spring框架Spring是一个开源框架,它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,任何Java应用都可以从Spring中受益。其优点如下:1)J2EE应该更加容易使用。2)面向对象的设计比任何实现技术(比如J2EE)都重要。3)面向接口编程,而不是针对类编程。Spring将使用接口的复杂度降低到零。4)代码应该易于测试。Spring框架会帮助你,使代码的测试更加简单。5)JavaBean提供了应用程序配置的最好方法。3.1.3Hibernate框架Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。3.2开发语言3.2.1JAVAJava是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。它第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现能运行于不同的平台,对程序提供了安全管理器,防止程序的非法访问。同时,它吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。Java建立在扩展TCP/IP网络平台上,库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。Java还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期。并且Java还提供了Null指针检测、数组边界检测、异常出口、Bytecode校验等功能。3.2.1JavaScriptJavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。不同于服务器端脚本语言,JavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。而随着服务器的强壮,虽然现在的程序员更喜欢运行于服务端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优势大行其道。同时,有些特殊功能(如AJAX)必须依赖Javascript在客户端进行支持。随着引擎如V8和框架如Node.js的发展,及其事件驱动及异步IO等特性,JavaScript逐渐被用来编写服务器端程序。3.2.2JSPJSP页面由HTML代码和嵌入其中的Java代码所组成。它具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。有如下优势:1)一次编写,到处运行。除了系统之外,代码不用做任何更改;2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现3.1设计模式本系统采用MVC设计模式来实现系统的建设。MVC方法采用了JSP和Servlet方法的最佳特性,使这两种技术可以协同工作。明确的是,Servlet是处理层(控制器)。Servlet接收请求,很像Model1架构中JSP页面所做的那样,并确定如何满足那些请求。这就意味着,Servlet控制输入的请求和输出的回应。商业逻辑体现了MVC架构中的模式。商业逻辑代码为页面做处理。如果进入Servlet的请求是一个数据库查询,Servlet就将这个请求传送到一个SQL调用或类似的数据库代码。在某种意义上,架构的模式部分是让应用程序处于领先地位的全部原因。3.2数据库本系统采用Oracle10g数据库,其优点如下:1)可用性强;2)可扩展性强;3)数据安全性强;4)稳定性强。第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现第一章系统概要设计4.1系统目标设计系统开发的总体目标是实现对图书借阅管理的系统化、规范化和自动化,减少工作量,增加可靠性,从而达到图书管理工作高效率的目的,使得图书管理员能够方便快捷地掌握图书的情况及普通人员能够在短的时间内发现目标图书,借阅图书,及时归还图书,从而提高工作效率和经济效益。计算机的资源是受到限制的,因此要充分利用JSP的功能,设计出功能强大的软件,同时要尽可能减少对系统资源的占用,同时对本系统要求有良好的灵活性和完善性。普通读者的需求是查询图书馆所有上架图书信息、个人的借阅图书情况以及个人注册信息的修改;图书管理员对图书信息(上架、下架、信息修改)、用户信息(修改、注销)及普通读者的借阅及还书信息进行查询和维护等。图书馆管理员可以浏览、查询、添加、删除、修改图书的基本信息;浏览、查询、添加、删除和修改图书借阅者的基本信息;浏览、查询、添加、删除和修改图书的借阅信息。对系统的其他需求:提供方便的查询方法(如:以书名、作者、出版社、出版时间等信息进行图书检索,并能反映出图书的借阅情况、以借阅人编号对借阅人信息进行检索、以出版社名称查询出版社联系方式信息);按照不同的工作职能提供不同的功能授权;提供较为完善的差错控制与友好的用户界面,尽量避免误操作。综上,图书馆管理系统的开发主要涉及到图书信息管理,用户信息管理,借阅信息管理三大功能的数据管理。4.2系统设计思想图书管理系统主要是对图书馆内图书、系统用户、图书借阅和归还情况进行管理。此系统首先应该有普通用户的注册,只有注册成功后,才可以查询图书的信息。另外还需要有图书的信息,只有系统中存在的图书信息,用户才可以进行相应的借阅、归还、查询等操作,所以,系统应该有管理员对图书的登记、修改、删除及对普通用户的增加、修改、删除的操作。根据所需功能以及数据库、JSP所能提供的功能来设计该系统。4.3系统功能描述第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现本系统功能主要包括三部分:图书信息管理(管理员上架、下架图书);用户信息管理(普通用户注册、修改、注销注册信息;管理员添加、修改、注销用户信息);图书借阅管理(用户提出借阅、续借和归还的申请;管理员审核用户的借阅、续借和归还申请)。Ø图书信息管理包括:对新图书进行系统登记(如:书的编号、ISBN号、索书号、书名、作者、图书类型、出版社、价格等)、修改图书信息、删除系统内无效的图书。由图书管理员统一管理。普通用户只允许通过查询条件来查询书籍的相关信息。Ø用户信息管理包括:注册新用户、用户修改注册信息、图书管理员注销用户。图书管理员可查看系统中所有的用户情况,可执行添加新用户、注销用户的操作;普通人员也可自己注册系统用户。Ø借阅信息管理包括:读者借阅信息的管理(借阅人的姓名、编号、类型、年龄、性别、身份证号、工作单位、地址、电话等信息),借阅图书以及归还图书。管理员登陆系统后可以实现读者借书的登记,读者还书的登记,管理员可统计超期未归还的图书信息。由于该系统权限有2个,图书管理员和普通用户,故这两个权限范围内的都应该具有上述功能,即将上述三大功能模块划分给这2个权限去具体实现,图书管理系统图书管理员普通用户图4-3-1权限管理模块图图书管理员页面应具有的功能模块如下:1)图书上架:图书管理员通过系统可以将新到图书进行系统上架操作,方便用户查询图书信息;2)图书下架:图书管理员通过系统可以将作废或由于其他原因需要作废的图书信息进行下架的操作;3)审核用户借阅申请:图书管理员在系统内接收用户的借阅申请,根据用户的实际情况做相应的处理;4)新增用户:为方便管理,图书管理员在系统内可添加新用户;第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现1)修改用户:图书管理员可将存在信息错误的用户注册信息进行更改操作;2)注销用户:根据实际情况,图书管理员可对系统内用户进行注销操作;图书管理员图书上架图书下架借阅审核新增用户删除用户修改用户图4-3-2图书管理员功能模块普通用户页面应具有的功能如下:1)注册系统用户:对于新用户,需要在系统中注册系统用户方可使用该系统;2)修改注册信息:为确保信息的完整和准确行,注册成功后的老用户,可修改注册信息;3)注销用户:针对不想再使用本系统的用户,可对自己的注册信息进行注销操作;4)图书查询:可查询系统中上架的图书信息;5)借阅图书:在权限范围内,可对上架图书进行借阅操作;针对借阅的图书,同时可进行续借和归还的操作,但这三种操作必须经过图书管理员的审核,审核通过后,对应的申请才成功;对目前已存在借阅历史的图书,不可进行二次借阅。普通用户注册用户图书查询修改信息注销用户借阅图书图4-3-3普通用户功能模块下图是图书管理系统的总功能模块图:第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现图4-3-4系统功能图4.1系统用例图登录系统添加、处理用户借阅图书信息添加图书、用户信息添加、处理用户还书信息修改图书、用户信息查询图书、用户信息删除图书、用户信息退出系统4-4-1、图书管理员用例图第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现登录系统查看图书信息注册用户借阅、续借图书修改个人注册信息归还图书注销用户退出系统4-4-2、普通用户用例图4.1数据库设计4.5.1数据库技术简介数据库技术是计算机软件的一个重要分支,最早是由IBM公司推出的IMS数据库系统。数据库技术从开始到现在大致经历了三个阶段,分别是:人工管理阶段、文件管理阶段和数据库管理阶段。当前流行的数据库有很多,如Oracle,MySQL,SQLServer,Access等。在本系统中,我们选用SQLServer2000进行数据管理。oracle的操作相当方便,使用起来也很容易上手,对于初学者来说是一个很好的选择,再加上本系统是针对企业开发的,考虑到Oracle的稳定性、安全机制、处理大数据、处理速度等方面,非常适合采用oracle数据库管理系统。4.5.2总体表设计本系统中共用到了6个数据表,如下:1)FLOW_USER表:记录所有人员信息;2)BOOK_BASIC_MESS表:记录图书的基本信息;3)BOOK_BORROW_MESS表:记录图书的借阅和归还情况信息;4)SYS_MODEL表:记录系统中涉及到的模块信息;5)SYS_ROLE_SYST表:系统角色表;6)SYS_RLSY_USER表:记录用户所具有的所有系统角色的配置信息;4.5.3数据库表结构第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现字段名称数据类型字段大小用户ID文本50用户条形码文本50用户登录名文本30登录密码文本50用户真实姓名文本30性别文本10出生年月文本50有效证件文本50类型文本50电话文本50邮箱文本50住址文本400注册时间文本50用户状态文本1表1、系统用户表字段名称数据类型字段大小主键文本32图书编号文本50书号(ISBN)文本50索书号文本50书名文本200图书类型文本50作者文本50出版社文本200版次文本32价格文本10页码文本10第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现出版时间文本50库存数量文本10录入时间文本32状态文本10表2、图书表字段名称数据类型字段大小借阅表主键文本32图书信息关键键文本32图书名称文本200用户ID文本32用户名字文本50借阅时间文本50待归还时间文本50是否已归还文本10归还时间文本50是否超期文本10超期处罚文本50是否有损坏文本50损坏处罚文本50状态文本10表3、借阅归还信息表字段名称数据类型字段大小模块ID文本50模块名称文本200模块排序文本4链接的URL文本500父模块ID文本50第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现备注文本200创建者文本30状态文本10创建时间文本30表4、系统模块表字段名称数据类型字段大小角色ID文本32系统角色名称文本100角色排序文本4创建作者文本10创建时间文本20表5、系统角色表字段名称数据类型字段大小ID文本32用户ID文本100系统角色ID串文本200创建作者文本10创建时间文本20表6、用户和系统角色关联表4.5.1实体及实体图Ø实体介绍本系统根据业务需求,共有2个实体,分别为:实体1:用户(用户id,用户登录名user_name,用户密码user_password,性别user_sex,用户电话phone,用户真实姓名USER_NM等);关键字为:用户iduserId;实体2:图书(图书编号BOOK_CODE,图书类型BOOK_TYPE,作者AUTHOR,价格BOOK_PRICE等);关键字为:图书idid;Ø实体图第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现用户登录名密码性别类型电话邮箱真实姓名条形码生日有效证件注册时间住址图1、用户实体图图书编号书名ISBN版次价格页码索书号出版社作者图书类型出版时间库存数量图2、图书实体图第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现第一章系统详细设计与实现5.1程序流程图详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某总程序设计语言书写的程序。详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计的处理过程应该尽可能简明易懂,详细设计阶段的任务还不是具体的编写程序,而是要设计出程序的“蓝图”,以后根据这个蓝图编写出实际的程序代码。详细设计描述模块实现的算法,可采用程序流程图、PDL语言、N-S图、PAD图、判定表、判定树等。鉴于程序流程图历史悠久,被最广泛的人所熟悉,并且它对控制流程的描述很直观第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现图5-1-1.整体流程图5.1模块详细设计按照概要设计描述的图书管理系统应具有的具体功能来具体实现该系统,尽量完善系统的每一个要求,做到精益求精。本系统采用模块化的结构,将系统的功能划分成了若干个模块,每个模块完成一部分功能,功能之间通过函数完成数据的交互操作。具体系统模块实现如下:5.2.1登录模块系统登录模块完成用户身份验证的功能,因为此系统对读者用户开放,所以登录界面设计了注册按钮,新用户可点击注册按钮进行注册系统用户的操作;针对老用户,在登录页面输入用户名和密码,在校验正确的情况下,系统第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现对其进行权限判断后进入相应的页面。输入用户名和密码系统验证通过当用户或密码错误判断用户名密码系统自动判断权限普通用户界面管理员界面登录系统界面如图:5-2-1-1、登录页面如果输入的登录信息有误(用户名在数据库中不存在或者密码错误),则弹出登录错误提示信息,如下图所示:5-2-1-2、登录错误提示主要代码:第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现/***处理用户登录的操作*/publicActionForwardloginProcess(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){try{HttpSessionsession=request.getSession();session.invalidate();StringuserId=request.getParameter("username");Stringpassword=request.getParameter("userPassword");StringsId=request.getParameter("sId");//验证签名log.info("--------------LoginActionbeginLogin!!!");ILoginServiceservice=(ILoginService)SpringBeanUtil.getBean("loginService");Stringflag=service.loginProcess(userId,password,"",request);if(flag!=null&&flag.equals("loginSuccess")){returnmapping.findForward("loginSuccess");}elseif(flag!=null&&flag.equals("selectDept")){returnmapping.findForward("selectDept");}else{ActionMessagesmsgs=newActionMessages();msgs.add(ActionMessages.GLOBAL_MESSAGE,newActionMessage("messages.script","用户或密码错误"));saveMessages(request,msgs);returnmapping.findForward("loginFail");}}catch(Exceptione){log.error(null,e);returnmapping.findForward("loginFail");}}5.2.1图书管理员功能模块界面管理员在登录页面验证通过后,自动进入管理员界面:第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现5-2-2-1、图书管理员登录成功系统根据登录用户的角色查询对应的功能模块,管理员登录成功后展示对应的“图书管理”和“读者管理”两大模块。主要代码:/***查询登录用户对应的权限模块sql*/stringsql="select菜单信息.菜单名称,菜单信息.菜单URLfrom菜单信息表,角色菜单表,角色信息表,.角色用户表,用户信息表where菜单信息表.菜单编号=角色菜单表.菜单编号and角色菜单表.角色编号=角色信息表.角色编号and角色信息表.角色编号=角色用户表.角色编号and角色用户表.用户编号=用户信息表.用户编号and用户信息表.用户名=""+Session["UserName"]+""";从上面的代码可以看出,本程序的菜单是从数据库中读取出的。系统表一共是5个表,分别是用户信息表,角色信息表,角色用户表,角色菜单表,菜单信息表。首先,通过用户信息表关联到角色用户(角色用户.用户编号=用户信息.用户编号),查找到登录用户的角色编号,然后,通过角色用户编号关联到角色信息(角色用户.角色编号),查找到当前登录用户的角色的信息,接着,通过角色编号关联到角色菜单(角色菜单.角色编号=角色信息.角色编号),得到菜单编号,最后通过菜单编号(菜单信息.菜单编号=角色菜单.菜单编号),就得到了当前用户所在角色下的所有模块菜单。5.2.2.1图书管理模块管理员在图书管理模块可实现“图书信息维护”、“待审核借阅信息”和“图书及借阅信息统计”功能。Ø管理员在“图书信息维护页面”的功能如下:第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现5-2-2-1-1、图书信息维护页面1)新增图书:对新图书进行上架操作;主要代码:/***新增图书基本信息*/publicActionForwardsave(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{Stringid=request.getParameter("id");Stringarrg=request.getParameter("arrg");//草稿是0;上架是1;下架是2;BookmanageSerivceserivce=(BookmanageSerivce)context.getBean("bookmanageService");BookBasicMessbasicMess=null;if(this.isTokenValid(request,true)){basicMess=newBookBasicMess();bindEntity(form,basicMess);try{if(JStringToolkit.isEmpty(id)){//新增basicMess.setStatus("1");serivce.save(basicMess);request.setAttribute("basicMess",basicMess);}request.setAttribute("mess","save_success");}catch(Exceptione){request.setAttribute("mess","error");}this.saveToken(request);}else{this.saveToken(request);}returnmapping.findForward("edit");}第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现1)查看图书:可根据查询条件查询图书,在查询结果中标注了各图书的状态(草稿中、上架中、已下架);主要代码:Stringsql="selectID,BOOK_CODE,BOOK_ISBN,BOOK_INDEX,BOOK_NAME,BOOK_TYPE,AUTHOR,BOOK_CONCERN,BOOK_EDITION,BOOK_PRICE,BOOK_PAGE,PUBLISH_DATE,STOCK_NUMBER,EDTTIME,STATUSfromBOOK_BASIC_MESSWHERE1=1";/**查询条件*/StringbookName=ParamUtils.getParameter(request,"bookName");//书名StringbookConcern=ParamUtils.getParameter(request,"bookConcern");//出版社StringbookCode=ParamUtils.getParameter(request,"bookCode");//图书编号StringbookType=ParamUtils.getParameter(request,"bookType");//图书类型Stringauthor=ParamUtils.getParameter(request,"author");//作者Strings_publishDate=ParamUtils.getParameter(request,"s_publishDate");//出版时间_起Stringe_publishDate=ParamUtils.getParameter(request,"e_publishDate");//出版时间_止if(!"".equals(bookName)){//书名sql+="andBOOK_NAMElike"%"+bookName+"%"";}if(!"".equals(bookConcern)){//出版社sql+="andBOOK_CONCERNlike"%"+bookConcern+"%"";}if(!"".equals(bookCode)){//图书编号sql+="andBOOK_CODElike"%"+bookCode+"%"";}if(!"".equals(bookType)){//图书类型sql+="andBOOK_TYPElike"%"+bookType+"%"";}if(!"".equals(author)){//作者sql+="andAUTHORlike"%"+author+"%"";}if(!"".equals(s_publishDate)&&!"".equals(e_publishDate)){//出版时间sql+="andPUBLISH_DATE>=""+s_publishDate+""andPUBLISH_DATE<=""+e_publishDate+""";}elseif(!"".equals(s_publishDate)){sql+="andPUBLISH_DATE>=""+s_publishDate+""";}elseif(!"".equals(e_publishDate)){sql+="andPUBLISH_DATE<=""+e_publishDate+""";}if(!"".equals(s_edttime)&&!"".equals(e_edttime)){//出版时间sql+="andEDTTIME>=""+s_edttime+""andEDTTIME<=""+e_edttime+""";}elseif(!"".equals(s_edttime)){sql+="andEDTTIME>=""+s_edttime+""";}elseif(!"".equals(e_edttime)){sql+="andEDTTIME<=""+e_edttime+""";}if(!"".equals(status)){//状态sql+="andstatus=""+status+""";}sql+="orderbyEDTTIMEdesc";第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现1)删除草稿:针对尚未上架的图书信息可进行删除操作,删除后在系统中不留数据信息;//删除未上架的图书Stringid=ParamUtils.getParameter(request,"id");if(id!=null&&!"".equals(id)){Connectionconn=null;Statementst=null;ResultSetresultset=null;try{//2.建立连接conn=JdbcUtils.getConnection();//单例设计模式conn=JdbcUtilsSingle.getInstance().getConnection();//3.创建语句st=conn.createStatement();//4.执行语句Stringsql="deletefromBOOK_BASIC_MESSwhereid=""+id+""";inti=st.executeUpdate(sql);System.out.println("i="+i);}finally{JdbcUtils.free(resultset,st,conn);}}主要代码:2)查看图书详细信息:点击操作列的“”图标,可展开图书的详细信息页面,图下图所示:5-2-2-1-2、图书信息详细页面系统根据图书的状态(草稿中、上架中、已下架),在详细页面中有对应的功能按钮:草稿中:修改、上架;上架中:修改、下架;第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现主要代码://图书上架、下架操作publicActionForwardsave(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{Stringid=request.getParameter("id");Stringarrg=request.getParameter("arrg");//草稿是0;上架是1;下架是2;BookmanageSerivceserivce=(BookmanageSerivce)context.getBean("bookmanageService");BookBasicMessbasicMess=null;if(this.isTokenValid(request,true)){this.resetToken(request);basicMess=newBookBasicMess();bindEntity(form,basicMess);}BookBasicMessnewBasicMess=(BookBasicMess)serivce.getOneObject(BookBasicMess.class,id);newBasicMess.setBookCode(basicMess.getBookCode());newBasicMess.setBookIsbn(basicMess.getBookIsbn());newBasicMess.setBookIndex(basicMess.getBookIndex());newBasicMess.setBookName(basicMess.getBookName());newBasicMess.setBookType(basicMess.getBookType());newBasicMess.setBookConcern(basicMess.getBookConcern());newBasicMess.setBookEdition(basicMess.getBookEdition());newBasicMess.setPublishDate(basicMess.getPublishDate());newBasicMess.setAuthor(basicMess.getAuthor());newBasicMess.setBookPage(basicMess.getBookPage());newBasicMess.setBookPrice(basicMess.getBookPrice());newBasicMess.setStockNumber(basicMess.getStockNumber());if("1".equals(arrg)){//图书上架basicMess.setStatus("1");}elseif("-1".equals(arrg)){//图书下架basicMess.setStatus("-1");}serivce.saveOrUpdate(newBasicMess);request.setAttribute("basicMess",newBasicMess);request.setAttribute("mess","save_success");}catch(Exceptione){request.setAttribute("mess","error");}returnmapping.findForward("edit");}Ø管理员在“待审核借阅信息页面”的功能如下:第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现5-2-2-1-3、待审核借阅信息页面1)查询借阅信息:图书管理员可根据借阅人、借阅时间、书名等条件进行查询,查询结果中通过“申请业务”一列明确的展示出当条信息用户申请的所属业务;2)处理借阅信息:点击相应的申请记录,打开对应的处理页面,页面中展示相应的处理信息及按钮,如下图所示:5-2-2-1-4、借书处理页面5-2-2-1-5、还书处理页面第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现5-2-2-1-6、续借处理页面主要代码://管理员处理用户借阅、归还信息的方法publicActionForwarddoBorrow(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{Stringid=request.getParameter("id");//图书主表idStringborrowId=request.getParameter("borrowId");//借阅表idStringarrg=request.getParameter("arrg");//1:借阅;2:归还;3:续借StringisAgree=request.getParameter("isAgree");//1:同意;0:不同意StringstayBackDate=request.getParameter("stayBackDate");//待归还时间StringisOverDue=request.getParameter("isOverDue");//是否超期StringoverDuePunish=request.getParameter("overDuePunish");//超期处罚StringisDamage=request.getParameter("isDamage");//是否损坏StringdamagePunish=request.getParameter("damagePunish");//损坏处罚StringnewStayBackDate=request.getParameter("newStayBackDate");//续借还书日期BookmanageSerivceserivce=(BookmanageSerivce)context.getBean("bookmanageService");if(this.isTokenValid(request,true)){this.resetToken(request);try{if(JStringToolkit.isEmpty(borrowId)){//新增借阅信息request.setAttribute("mess","error");}else{//修改BookBorrowMessborrowMess=(BookBorrowMess)serivce.getOneObject(BookBorrowMess.class,borrowId);BookBasicMessbasicMess=(BookBasicMess)serivce.getOneObject(BookBasicMess.class,id);try{if("1".equals(arrg)){//借阅if("1".equals(isAgree)){//同意借阅borrowMess.setStayBackDate(stayBackDate);borrowMess.setBorrowStatus("2");intstockNum=Integer.valueOf(basicMess.getStockNumber())-1;basicMess.setStockNumber(String.valueOf(stockNum));serivce.saveOrUpdate(borrowMess);serivce.saveOrUpdate(basicMess);}elseif("0".equals(isAgree)){//不同意借阅borrowMess.setBorrowStatus("-1");serivce.saveOrUpdate(borrowMess);}}elseif("2".equals(arrg)){//归还if("1".equals(isAgree)){//同意归还borrowMess.setIsBack("Y");borrowMess.setBackDate(BookmanageUtils.getCurrentSystimeStr());borrowMess.setIsOverDue(isOverDue);borrowMess.setOverDuePunish(overDuePunish);borrowMess.setIsDamage(isDamage);borrowMess.setDamagePunish(damagePunish);borrowMess.setBackStatus("2");intstockNum=Integer.valueOf(basicMess.getStockNumber())+1;basicMess.setStockNumber(String.valueOf(stockNum));serivce.saveOrUpdate(borrowMess);serivce.saveOrUpdate(basicMess);}elseif("0".equals(isAgree)){//不同意归还borrowMess.setBackStatus("-1");serivce.saveOrUpdate(borrowMess);}}elseif("3".equals(arrg)){//续借if("1".equals(isAgree)){//同意续借borrowMess.setStayBackDate(newStayBackDate);borrowMess.setBorrowStatus("2");serivce.saveOrUpdate(borrowMess);}elseif("0".equals(isAgree)){//不同意续借borrowMess.setBorrowStatus("-1");serivce.saveOrUpdate(borrowMess);}}request.setAttribute("mess","success");}catch(Exceptione){request.setAttribute("mess","error");e.printStackTrace();}}}catch(Exceptione){request.setAttribute("mess","error");}this.saveToken(request);}else{this.saveToken(request);}returnmapping.findForward("toBorrowCheck");}第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现basicMess.setStockNumber(String.valueOf(stockNum));serivce.saveOrUpdate(borrowMess);serivce.saveOrUpdate(basicMess);}elseif("0".equals(isAgree)){//不同意借阅borrowMess.setBorrowStatus("-1");serivce.saveOrUpdate(borrowMess);}}elseif("2".equals(arrg)){//归还if("1".equals(isAgree)){//同意归还borrowMess.setIsBack("Y");borrowMess.setBackDate(BookmanageUtils.getCurrentSystimeStr());borrowMess.setIsOverDue(isOverDue);borrowMess.setOverDuePunish(overDuePunish);borrowMess.setIsDamage(isDamage);borrowMess.setDamagePunish(damagePunish);borrowMess.setBackStatus("2");intstockNum=Integer.valueOf(basicMess.getStockNumber())+1;basicMess.setStockNumber(String.valueOf(stockNum));serivce.saveOrUpdate(borrowMess);serivce.saveOrUpdate(basicMess);}elseif("0".equals(isAgree)){//不同意归还borrowMess.setBackStatus("-1");serivce.saveOrUpdate(borrowMess);}}elseif("3".equals(arrg)){//续借if("1".equals(isAgree)){//同意续借borrowMess.setStayBackDate(newStayBackDate);borrowMess.setBorrowStatus("2");serivce.saveOrUpdate(borrowMess);}elseif("0".equals(isAgree)){//不同意续借borrowMess.setBorrowStatus("-1");serivce.saveOrUpdate(borrowMess);}}request.setAttribute("mess","success");}catch(Exceptione){request.setAttribute("mess","error");e.printStackTrace();}}}}returnmapping.findForward("toBorrowCheck");}}Ø管理员在“图书及借阅信息统计页面”的功能如下:第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现5-2-2-1-7、图书及借阅信息统计页面本页面将所有的图书及对应的借阅情况进行展示,方便图书管理员了解图书的借阅情况。同时,还可通过条件查询,精确查找关注的图书借阅信息。5.2.2.1读者管理模块Ø图书管理员在“用户列表”页面的功能如下:5-2-2-2-1、用户列表页面“用户列表”页面展示系统内所有的用户信息,管理员可对信息进行删除、禁用的操作。还可点击用户信息对用户注册信息进行修改操作。在注册人数不断增多的情况下,为管理员操作方便,设计按“人员姓名”进行查询。主要代码:第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现//查询出所有系统用户的sqlStringBuffersb=newStringBuffer();sb.append("selecta.userid,a.username,a.user_nm,a.usernamefull,a.user_email,a.user_code");sb.append("fromflow_usera,s_user_dprbbwhere1=1andb.deptid=""+deptID+""");if(!userName.equals("")){sb.append("anda.usernamelike"%"+userName+"%"");}sb.append("anda.status=""+GlobalNames.Z_STATUS+""");sb.append("andb.status=""+GlobalNames.Z_STATUS+""");sb.append("anda.userid=b.userid");sb.append(""+orderBy);sb.append(""+orderAD);Stringsql=sb.toString().trim();Ø图书管理员在“新增用户”页面的功能如下:5-2-2-2-2、新增用户页面管理员可在系统中增加系统用户,点击“新增”按钮即可完成新增用户的操作;主要代码:第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现//管理员增加新用户publicActionForwardaddUser(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{StringdeptID=ParamUtils.getParameter(request,"deptID");FlowUserVOEflowUserVOE=(FlowUserVOE)form;flowUserVOE.setDeptid(deptID);flowUserVOE.setMethod("addUser");request.setAttribute("flowUserVOE",flowUserVOE);returnmapping.findForward("forwardUserEditSuccess");}5.2.1普通用户功能模块界面普通用户在登录页面验证通过后,自动进入普通用户界面:5-2-3-1、普通用户登录成功页面系统根据登录用户的角色查询对应的功能模块,普通用户登录成功后展示对应的“图书信息”和“个人信息”两大模块。5.2.3.1图书信息模块普通用户在“图书信息查阅”页面的功能如下:第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现5-2-3-1-1、图书信息查阅页面用户在该页面可查看到全部目前上架的图书,可根据条件进行精确查询;点击“”图标,可打开图书的详细信息页面,在详细信息页面可进行相关权限的操作,如下图所示:5-2-3-1-2、借阅页面当打开的图书没有目前没有借阅或者申请借阅的记录时,可对其进行借阅操作;借阅需要最终提交给图书管理员审核,审核通过,借阅生效;5-2-3-1-3、续借/归还页面当打开的图书目前存在借阅记录,可对其进行续借和归还的操作;续借和归还需要最终提交给图书管理员审核,审核通过,续借和归还生效;第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现//处理借阅、续借和归还的方法publicActionForwardborrow(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){Stringid=request.getParameter("id");StringborrowId=request.getParameter("borrowId");Stringarrg=request.getParameter("arrg");//0:借书;1:归还;2:续借StringbookName=request.getParameter("bookName");//书名Stringuserid=request.getParameter("userID");//用户idStringuserNm=request.getParameter("userNm");//用户真实姓名StringstayBackDate=request.getParameter("stayBackDate");//待归还时间StringnewStayBackDate=request.getParameter("newStayBackDate");//续借时间BookmanageSerivceserivce=(BookmanageSerivce)context.getBean("bookmanageService");BookBorrowMessborrowMess=null;if(this.isTokenValid(request,true)){this.resetToken(request);borrowMess=newBookBorrowMess();//bindEntity(form,basicMess);try{if(JStringToolkit.isEmpty(borrowId)){//新增借阅信息borrowMess.setMainId(id);borrowMess.setBookName(bookName);borrowMess.setUserid(userid);borrowMess.setUserName(userNm);borrowMess.setBorrowDate(BookmanageUtils.getCurrentSystimeStr());borrowMess.setStayBackDate(stayBackDate);borrowMess.setBorrowStatus("1");serivce.save(borrowMess);request.setAttribute("mess","borrow_success");}else{//修改BookBorrowMessnewBorrowMess=(BookBorrowMess)serivce.getOneObject(BookBorrowMess.class,borrowId);if("2".equals(arrg)){//续借书newBorrowMess.setNewStayBackDate(newStayBackDate);newBorrowMess.setBorrowStatus("1");}elseif("1".equals(arrg)){//还书newBorrowMess.setBackStatus("1");}serivce.saveOrUpdate(newBorrowMess);if("2".equals(arrg)){request.setAttribute("mess","xu_success");}elseif("1".equals(arrg)){request.setAttribute("mess","back_success");}}}主要代码:第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现普通用户在“个人借阅信息”页面的功能如下:5-2-3-1-4、个人借阅信息页面页面中展示目前登录用户所有的借阅信息,可根据条件进行借阅情况的精确查询。点击借阅信息记录,可打开详细信息的页面,根据权限可进行相应的操作(续借、归还等)。主要代码://显示个人借阅图书信息的sqlStringuserid=ParamUtils.getSession(session,"userID");Stringsql="selectID,BOOK_CODE,BOOK_ISBN,BOOK_INDEX,BOOK_NAME,BOOK_TYPE,AUTHOR,BOOK_CONCERN,BOOK_EDITIONBOOK_PRICE,BOOK_PAGE,PUBLISH_DATE,STOCK_NUMBER,EDTTIME,STATUSfromBOOK_BASIC_MESSWHERE1=1anduserid=’"+userid+”’”;5.2.3.1个人信息模块普通用户在“个人信息”页面的功能如下:第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现5-2-3-2-1、个人信息页面1)用户可进行密码的修改。2)用户可针对填写错误的注册信息进行修改;3)用户可已注销系统用户,但在注销时,系统会检索是否存在未归还的图书信息,若存在,则暂时不允许进行注销。主要代码://显示个人注册信息publicActionForwardeditUser(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{HttpSessionuserSession=request.getSession();StringuserID=ParamUtils.getSession(userSession,"userID");//用户idStringdeptID=ParamUtils.getSession(userSession,"deptID");//用户idreturnnewActionForward("../system/userMgrAction.do?method=forwardUserEdit&pid="+deptID+"&userID="+userID,true);}5.2.3.1注册普通新用户在登录系统时,需要进行注册操作。在登录页面点击注册,弹出如下所示的注册页面,填写必要的注册信息,点击注册,即可完成注册功能。第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现5-2-3-2-2、用户注册页面主要代码://新用户注册publicActionForwardforwardUserAdd(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{StringdeptID=ParamUtils.getParameter(request,"deptID");FlowUserVOEflowUserVOE=(FlowUserVOE)form;flowUserVOE.setDeptid(deptID);flowUserVOE.setMethod("addUser");request.setAttribute("flowUserVOE",flowUserVOE);returnmapping.findForward("forwardUserEditSuccess");}第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现第一章系统测试软件测试是软件工程中的一个重要阶段,它的任务是确定和验证软件分析、设计、实现过程中的逻辑正确性以及发现产品中存在的问题,并通过测试不断提高和完善产品的质量。在静态测试中,限于条件原因,主要以个人复查的方式进行。在动态测试中,分别采用了黑盒测试和白盒测试方法,测试了程序执行的每个逻辑通道和在数据库中的数据是多种情况下的系统运行情况,在确定错误的准确位置后修改了找到的错误。在测试过程中,上述两种测试方法相互结合,有些错误在复查中就能发现,有些在动态测试中出现错误的模块,对错误的正确定位综合使用了这静态测试和动态测试两种方法。针对本系统,主要采用了如下软件测试的步骤:1)单元测试:单元测试采用上述的黑盒测试和白盒测试两种测试方法,对系统的每一个模块使用测试数据进行测试,在这一阶段发现了一些代码错误和程序逻辑错误,在定位错误的正确位置后进行了相应的修改。这部分操作分布在程序编码的全过程,有些繁琐的测试工作是编码中随时随地进行的。2)集成测试:在经过单元测试的模块按软件结构组合在一起作为一个系统或子系统来综合测试。模块相互间的协调和通信是这个测试过程中的主要测试内容,因此这个步骤看重测试模块之间的接口和系统功能的执行行为。第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现结论经过几个月的设计和开发,基于Web的图书管理系统基本开发完毕。其功能也符合先前提出的需求。为做出该图书信息管理系统,访问了大量Web网络开发方面的网站,搜集了大量关于Web网络开发的中英文资料,也查阅了大量书籍的源代码作为参考和运用,从中学会了关于Web开发方面的知识。本系统可以作为一般的图书馆用做图书借阅的管理,使用它能够完成图书馆的大量工作了,管理员对于图书的管理和系统的维护也很方便,整个系统的模块很清晰,功能也很明确,本系统具有如下特点:1)采用B/S三层体系结构,使系统具有很好的可维护性和可重用性。2)采用SSH三大框架开发模式,把显示和逻辑分离,使代码容易管理。3)后台采用的ORACLE数据库,有可扩展、易于使用和安全的特点。但由于时间和技术的原因,还有很多地方有待完善。如在数据库备份与恢复、界面的美观和统一方面,功能上也还可以更加全面,对细微的处理考虑得还不是特别细致。总之,整个系统的开发是成功的,但有些方面还要在以后的学习中进一步的提高。这次毕业设计让我真切地体会到毕业设计的目的并不只是单纯的完成任务,而在于回顾本科阶段所学基础知识并运用这些知识解决现实中的问题。回顾整个开发设计过程,我学到了很多书本上学不到的东西,以及遇到许多未曾遇到过的技术问题。这次毕业设计,我要负责图书管理系统的整个开发过程。在每个设计阶段我都能学到一些新知识,对我的动手能力提高很大。在整个毕业设计过程中,我基本上完成了图书管理系统各个模块的功能,达到了毕业设计的要求。此次毕业设计为我以后进一步学习积累了很多宝贵的经验。这几个月中,从接到设计课题到具体设计再到完成系统开发,是一个不断地遇到问题与解决问题的过程。分析各种需求、完善各种功能、考虑各种可能发生的人为失误,可能输入的错误数据,做到在界面设计上控制错误数据的输入,在程序设计上考虑各种异常甚至是低概率发生的异常。当然仍存在许多问题不能解决地尽善尽美,还需不断地继续与探索。另外再最初的设计上也不是很完美。在结束设计的同时也感到了劳动的艰辛与劳动成果的来之不易,明白了毕业设计是给自己提供了一个锻炼、升华、提高、完善的机会。第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现参考文献[1]朱亚兴,朱旭刚《基于Oracle的Web应用项目开发》电子工业出版社2011[2]刘竹林《数据库设计与Oracle应用教程》北京交通大学出版社2009[3]植挺生《JavaEE框架开发技术与设计教程》电子工业出版社2012[4]刘京华等《JavaWeb整合开发王者归来》清华大学出版社2010[5]丁旭《基于B/S架构的软件项目实训:JSP》北京交通大学出版社2011[6](美)弗兰纳根《JavaScript权威指南(第6版)》机械工业出版社2012[7]单东林,张晓菲,魏然《锋利的jQuery(第2版)》人民邮电出版社2012[8]朱少民《全程软件测试(第2版)》电子工业出版社2014[9]黎连生,王华,李淑春《软件测试与测试技术》清华大学出版社2009第40页 交大2010级高本计算机毕业论文基于WEB的图书管理系统的设计与实现致谢随着毕业论文的结尾,短暂而又充实的大学生涯也将落下帷幕。大学生活总是使人难忘,五年来,给我帮助的人太多太多,令我感动的时刻数不胜数,岁月的脚步依然匆匆,我会把每一份关怀,每一份勉励都铭记、珍藏。这次毕业设计能够顺利完成,首先应该感谢我的指导老师张和平老师。他渊博的学识、仔细认真的态度、对问题深刻的分析以及对我热情的指导和鼓励,都给我留下了深刻的印象,使我终身难忘。他以其严谨的治学态度、精益求精的科学精神、良好的工作作风,深深地感染和激励着我。张老师平时对待工作认真负责,而且为人和善,在张老师的知道、鼓励和关怀下,我完成了该软件系统的开发和系统文档的编写。在做毕业设计的这几个月中,从课题的选择,到文档的编写,再到项目的最终完成,贾老师孜孜不倦的帮我解决了许多专业问题,也教会了我许多为人处事的道理,对我以后的人生有很大的启示。在此,要对老师表示衷心的感谢。老师,谢谢您的栽培!同时,也要感谢这五年来在学习和生活中给予我关怀的同学们,同窗的友情同样珍贵,我们一同学习生活,这一路与你们同行真好!感谢我所有朋友对我的帮助、关怀。在这里也感谢我们同组做毕业设计的几个同学,毕业设计能够顺利完成,也是大家团结合作的结果。希望以后大家无论在生活中还是工作上都发挥团结协作的精神,因为团结就是力量!我更要感谢我的家人对我学业上的支持和鼓励,感谢所有关心帮助过我的人,感谢学校!是大家对我的关爱、理解和支持陪伴我度过生命中许多难忘的日子,你们是我学习和生活的精神支柱,谢谢,谢谢你们!希望每个人在以后的生活工作中事事顺心。本系统开发的成功,是对我几年来的大学学习生活所作的总结,通过它扩大了知识面,也增加了不少实践的经验,为以后的学习生涯打下了坚实的基础。由于个人水平有限,在该软件系统的设计和系统文档的编写过程中难免出现错误,希望老师和同学们批评,指正。第40页'