图书借阅与推荐系统的设计与实现论文

上传人:仙*** 文档编号:32179570 上传时间:2021-10-13 格式:DOC 页数:47 大小:1.09MB
返回 下载 相关 举报
图书借阅与推荐系统的设计与实现论文_第1页
第1页 / 共47页
图书借阅与推荐系统的设计与实现论文_第2页
第2页 / 共47页
图书借阅与推荐系统的设计与实现论文_第3页
第3页 / 共47页
点击查看更多>>
资源描述
-郑州轻工业学院郑州轻工业学院本科毕业设计(论文) 题 目 图书借阅与推荐系统的设计与实现学生姓名 专业班级 学 号 院 (系) 指导教师 完成时间 郑州轻工业学院毕业设计(论文)任务书毕业设计(论文)任务书题目题目 图书借阅与推荐系统的设计与实现图书借阅与推荐系统的设计与实现 专业专业 计算机科学与技术计算机科学与技术 学号学号 540907010109 姓名姓名 主要内容:主要内容:基于 J2EE 的图书借阅与推荐系统:模拟图书馆中借书还书的关系;借阅用户的信息管理;图书馆方面书籍信息以及借阅信息的管理。基本要求:基本要求:设计严谨,功能完善;界面流畅,使用方便;扩充性强,易于维护;性能良好,安全可靠。参考资料:参考资料:1.原始资料1 钟鸣.Servlet 与 JSP 权威指南M.北京:机械工业出版社,2002 年.89-932 周竞涛.Eclipse 完全手册基础J.进阶.高级.北京:电子工业出版社,2006.44-483 Rima Patel sriganesh.精通 EJB3.0M.北京:电子工业出版社,2007.23-334 张席,戴劲 . Java语言程序设计教程 M. 西安:西安电子科技大学出版社, 2003.131-1562. 技术条件硬件条件:个人电脑一台软件配置:系统采用 Windows2007,使用 office2003 系列软件,开发工具采用MyEclipse、数据库支持 Oracle、服务器 Tomcat6.0 以及 JDK1.60完完 成成 期期 限:限: 指指导导教教师师签签名名: 专业负责人签名:专业负责人签名: 图书借阅与推荐系统的设计与实现目 录摘要.IABSTRACT.II1. 绪 论 .11.1 课题意义.11.2 目前图书管理系统存在的问题 .21.3 本文的主要内容 .22. 相关技术及开发工具 .42.1 相关技术简介 .42.1.1 J2EE 平台.42.1.2 数据库语言 .42.2 开发工具简介 .52.2.1 MyEclipse6.0 简介.52.2.2 数据库简介 .52.2.3 服务器简介 .53. 系统分析 .73.1 可行性分析.73.1.1 技术可行性 .73.1.2.经济可行性 .73.2 图书借阅推荐管理系统需求概述 .73.2.1 系统目标 .73.2.2 用户类和用户特性 .83.3 图书借阅推荐管理系统需求模型.8图书借阅与推荐系统的设计与实现3.3.1 功能描述 .83.3.2 图书管理员详细功能描述 .93.3.3 读者详细功能描述.104. 总体设计.114.1 系统总体结构设计 .114.1.1 图书管理系统总体结构图.114.1.2 读者管理模块功能.124.1.3 管理员模块功能.124.2 数据库设计.134.2.1 数据库设计概述.134.2.2 数据库表结构设计.165. 系统实现 .225.1 登录模块程序设计.225.2 系统管理员功能模块的实现.265.3 图书信息管理功能模块的实现.305.4 图书借还功能模块的实现.335.5 读者管理功能模块的实现.376. 结束语.40致 谢.41参考文献.42图书借阅与推荐系统的设计与实现I图书借阅与推荐系统的设计与实现 摘 要随着现代社会信息更新速度变快,传统的图书管理模式工作量大,出错率高,出错后不易更改的弊端渐渐凸显出来。在这种情况下,计算机被广泛应用于信息管理系统。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。根据用户的实际需求,结合详细认真的分析,设计并实现了图书馆管理系统。本系统使有 jsp 进行网页界面的设计,使用 MVC 设计模式,采用了开源框架Struts1,主要实现了对于图书信息的管理,对于读者信息的管理,对于操作员信息的管理,以及对于图书借还等信息的管理等功能。本系统自运行以来,运行稳定安全,界面美观大方,它采用了 JSP 技术做前台以及 Oracle 数据库做后台,以此保证了界面的美观和数据的稳定。 关键词 图书管理;信息管理;jsp;strut图书借阅与推荐系统的设计与实现II BOOK RECOMMEND ATIONS FOR THE MANAGEMENT OF THE SYSTEM DESIGN AND IMPLEMENTATIONABSTRACTWith modern social information update speed becomes faster, the traditional library management mode workload, error rate, the error is not easy to change the drawbacks of getting prominent. In this case, the computer is widely used in information management systems. Use of computer information control, not only to improve the work efficiency, but also greatly improves their security. Especially for complex information management, the computer can give full play to its advantages.According to the users actual demand, combined with careful and detailed analysis, design and implementation of a library management system. The system enables a jsp for web interface design, using the MVC design pattern, using the open-source framework Struts1, the main achievement of the book information management, information management for the reader, for the operator information management, and waiting for the books borrowed information management and other functions.Since operation of the system, run stable and secure, elegant interface, it uses the JSP technology as a receptionist and Oracle database to do the background, in order to ensure the appearance of the interface and data stability.KEY WORDS Book management, Management of information ,Jsp,Struts图书借阅与推荐系统的设计与实现11.1. 绪绪 论论 1.1 课题意义图书馆管理系统目前被广泛应用于学校、工业、商业、企业、事业等单位,几乎每个进行了信息化建设的单位都具有图书馆管理系统。而在使用计算机系统对图书的管理,其实就是对信息的管理。使用信息系统对图书馆进行管理,将会大幅提高管理的效率、便捷与安全。拥有一个完善的图书馆管理系统,可以用来作为向未来数字图书馆发展的一个跳板,通过健全系统的各项功能,帮助图书馆逐渐向数字图书馆的方向靠拢。我国图书情报界,IT 业界自 1995 年左右开始对这一领域跟踪研究,1998 年开始全面升温,迄今无论是在对数字图书馆的认识,还是在理论研究, 、关键技术准备方面,都取得了很大的进展。国内数字图书馆的实践活动大致可分为以下三种类型:资源服务型,服务研究型和联合建设型。虽然,从严格意义上讲,资源服务型不能算是数字图书馆,但它的网上信息服务目前已在大多图书馆开展,是现阶段我国图书情报界提供网上数字服务的主要形式1。在一些先进的西方国家,数字图书馆的定位、建立、应用相对比较成熟。而其应用价值,则更多体现在教育领域。数字图书馆教育涉及图书、情报学、计算机、网络、法律、经济、行为学、伦理学等学科和领域。理论和实践性紧密结合,不仅在理论上涉及面广,而且在实践操作方面对学生提出了较高的要求。而且,数字图书馆教育是动态的,它需要根据不同的受教育者施行不同层次的教育内容,随着数字图书馆理论和实践研究的不断深入而要对课程内容进行更新。数字图书馆是伴随着互联网发展而产生的一个正在成长的新生事物。目前,世界中许多发达国家都在抓紧数字图书馆的建设,数字图书馆已成为国际高科技竞争中新的制高点,成为评价一个国家信息基础设施水平的重要标志。对我国来说,数字图书馆的建设可以建立以中文信息为主的各种信息资源,互联网上中文信息缺乏的状况就可以得到解决,形成中华文化在互联网上的整体优势。数字图书馆还是保存和延续发展民族文献遗产的最佳手段,所有的珍贵资料都可以经数字化处理后,将原件保存在更适宜的环境中,而数字化的资料由于实现原件的复制,并不影响一般意义上的查阅。因此,加快中国数字图书馆建设势在必行2。图书借阅与推荐系统的设计与实现2图书管理系统的主要功能是实现图书馆图书借阅和归还的管理的自动化。围绕这一主要功能,本系统涉及到以下核心功能:借阅管理,归还管理。除了这些核心功能外,还包括一些基本和辅助功能,它们是:用户管理、图书馆参数管理、图书管理、统计查询。1.2 目前图书管理系统存在的问题1.检索速度慢、效率低因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了二伟的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出。2.借书、还书工作量大借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。而且经常会出现这样那样的差错。3.图书统计工作难、藏书更新不能及时完成。图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制3。我校也是一所发展中的高校,近几年的发展速度很快,图书馆的规模和藏书数量也不断的扩大,为了解决海量图书的管理问题,改变传统的管理方式也是迫在眉睫了。1.3 本文的主要内容 本次设计的目标是,开发一个图书馆借阅与推荐系统。借助该系统,管理员通过快捷可靠的数据库管理,方便的管理图书馆的信息资料,规范化的管理读者用户,设定不同用户权限,并能通过互联网向读者提供更为方便的在线查询服务,方便读者的使用,最终达到提高图书馆资源利用效率的目的。 1.实现图书馆对所藏图书的按类别、书名等多方面的查询,最大的方便读者和图书馆工作人员对所需图书的查询;图书借阅与推荐系统的设计与实现32.建立图书馆外借读者数据库,方便工作人员对读者进行有效管理;3.建立图书馆工作人员数据库,限定每个工作人员对软件操作的权限,最大限度的保护数据库;4.实现图书馆对新书入库,旧书注销的简单处理,并且建立书籍档案,方便进货;5.实现图书馆。论文设计和实现了图书借阅与推荐系统,可以根据用户的不同权限,对图书馆的的各种信息进行添加、删除、修改或查询操作。论文分为五个部分:第 1 章即本章绪论,简述图书馆借阅与推荐系统这个课题的背景情况以及开发本系统的意义。第 2 章是相关技术与开发工具,主要介绍本系统所用的开发工具以及实现过程中所用到的相关技术。第三章为需求分析,本章中明确了系统需要实现的功能,分析了系统的用例,并介绍根据系统的需求选择的开发工具和技术的概况。第四章是总体设计,详细描述了本系统中数据库的设计情况,并给出了系统总体界面的设计方案。 第五章为系统实现,提供了各主要功能模块的实现方法和部分关键代码,同时提供了个主要界面运行的参考图片,以更直观了解系统的实现情况。第六章为结束语,为此次毕业设计做一个总结,总结所获得的经验和体会。图书借阅与推荐系统的设计与实现42.2.相关技术及开发工具相关技术及开发工具2.1 相关技术简介2.1.1 J2EE 平台 J2EE ,即是 Java2 平台企业版(Java 2 Platform Enterprise Edition) ,是原Sun 公司(现已被甲骨文公司收购)为企业级应用推出的标准平台。它简化了企业解决方案的开发、部署和管理相关复杂问题的体系结构,J2EE 技术的基础就是核心 Java 平台或 Java 2 平台的标准版,J2EE 不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的 JDBC API、CORBA 技术以及能够在 Internet 应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及 XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE 体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE 降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持 Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能4。2.1.2 数据库语言 数据库语言采取标准的 SQL 语言。SQL 是一种一体化的语言。它包括了据定义、数据查询、数据操纵和数据控制等方面的功能,通过 SQL 语言可以完成有关数据库的所有操作。SQL 语言是一种高度非过程化的语言。不许需要一步步地告诉计算机“如何”去做,而只需要描述清楚要“做什么” 。SQL 语言就可以将要求交给系统,自动完成全部工作。SQL 不要求用户指定对数据的存放方法。所有 SQL 语句都使用查询优化器,由它决定对指定数据存取的最快速度的手段。这种特性使用户更易集中精力于要得到的结果。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引等具体内容。SQL 语言非常简洁。SQL 语图书借阅与推荐系统的设计与实现5言功能很强,但只有为数不多的几条命令。奇语法也非常简单,很接近英语自然语言,容易学习和掌握。SQL 语言既是自含式语言,又是嵌入式语言。作为自含式语言,它可以直接以命令方式交互使用;作为嵌入式语言,SQL 语句也可以嵌入到其他程序设计语言中,以程序方式使用。尽管 SQL 的使用方式不同,但 SQL语言的语法结构基本上是一致的。这种以统一的语法结构提供两种不同使用方式的做法,为用户提供了极大的灵活性和方便性。SQL 具有统一的语言特性。以前的数据库管理系统为数据查询、数据操纵、数据定义和数据控制等各类操作提供单独的语言,而 SQL 则将全部任务统一在一种语言中5。2.2 开发工具简介2.2.1 MyEclipse6.0 简介 MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对 Eclipse IDE 的扩展,利用它我们可以在数据库和 J2EE 的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate6。2.2.2 数据库简介 使用 ORACLE10g 作为数据库开发工具。ORACLE 数据库系统是美国 ORACLE 公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或 B/S 体系结构的数据库之一。比如 SilverStream就是基于数据库的一种中间件。ORACLE 数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能7。2.2.3 服务器简介在系统的开发过程中使用的 Web 应用服务器是 Tomcat6.0,是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,由图书借阅与推荐系统的设计与实现6Apache、SUN 和其他一些公司及个人共同开发而成。由于有了 Sun 的参与和支持,最新的 Servlet 和 JSP 规范总是能在 Tomcat 中得到体现。Tomcat 是一个小型的轻量级应用服务器,它运行时占用的系统资源小、扩展性好、支持负载平衡和邮件服务等开发应用系统常用的功能,因此在中小型系统和并发访问用户不是很多的时候,经常被使用8。为了开发的便捷快速,使用 struts1 第三方插件。Struts1 是一个全新的 MVC框架,实在 WebWork 基础上发展起来的9。开发系统用的系统工具如表 2-1 所示。表 2-1 系统开发平台和工具工具名称用途JDK 1.6.0_11MyEclipse6.0 OraclePLSQL DeveloperTomcat 6.0Struts 1.0Java 开发工具包J2EE 集成开发环境大型关系数据库管理系统ORACLE 图形化数据库管理工具Web 应用服务器第三方插件,可扩展的 Java EE Web 框架图书借阅与推荐系统的设计与实现73.3.系统分析系统分析3.1 可行性分析3.1.1 技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采用 JSP 开发出友好美观的人机界面,便于用户理解、操作。数据库管理系统采用 ORACLE,它能够处理大量数据,同时保持数据的完整性、安全性。因此本系统的开发平台已成熟可行。硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需10。3.1.2.经济可行性鉴于计算机技术发展异常迅猛,在硬件软件配置以及开发技术均以可行的情况下开发这样一个管理系统成本不会很高,但其可以大大提高图书馆的工作效率,也是图书馆管理发展的必然趋势,其必将有比较宽阔的市场,因此改性统在经济可行性上时可行的11。3.2 图书借阅推荐管理系统需求概述3.2.1 系统目标该系统主要建立一个基于 B/S 模式的图书借阅推荐管理系统,面对当起很多小型图书管理仍是人工管理带来的检索速度慢,效率低,借阅归还图书量大,图书统计工作量大,藏书不能完成及时更新的问题,该系统可以对跟系统的三个用户类型的使用实现:1对于读者在本系统的应用下可实现按照各种方式(如:书名,编号,作者)查询图书馆的藏书请客,方便的借阅图书,续借图书,归还图书,能够查询自己的借阅图书情况。2对于图书馆工作人员能够实现方便的对图书进行查询,方便的进行读者借阅情况查询,方便的进行借书还书处理等,便捷的对图书信息进行添加、修改、删图书借阅与推荐系统的设计与实现8除,分类管理等操作,对读者信息进行相关添加,修改等操作,对用户进行添加、修改、删除、权限设置等操作,对图书馆的办证参数进行修改维护等操作功能。3.2.2 用户类和用户特性图书借阅推荐管理系统是一个基于 B/S 模式的对图书馆进行高效率管理的应用系统,它的用户主要是读者和图书管理员,学生通过该系统进行图书查询进而对自己需要的图书进行借阅及自己的借阅情况进行查询,图书管理员则通过本系统实现对图书及读者的高效管理,以及对不同的用户进行权限的设置等操作12。两类用户的具体描述表 3-1 所示。表 3-1 用户具体描述用户类描述读者读者是该系统的重要的使用角色,他们通过该系统查询自己需要的图书信息,并像图书管理员提出借阅图书的申请进而借阅自己所需的图书,还可以通过对自己借阅情况进行查询。管理员图书管理员是该系统的另一个重要使用者,图书管理员通过该系统进行图书的增加,修改,删除,分类管理等操作,实现对读者借阅归还续接图书的方便操作,实现对系统中图书,读者,读者借阅情况的查询,信息更改维护等操作,管理读者类型,对不同类型读者可借阅的图书数量进行设置等图书馆的基本操作,实现用户添加修改删除以及用户权限设置等操作。3.3 图书借阅推荐管理系统需求模型3.3.1 功能描述图书借阅与推荐系统的主要任务是实现读者迅速检索查询,方便借阅归还图书,图书管理员高效的完成系统的各项基本操作,并完成管理用户设置权限等操作3,从图 3-1 可以看出图书借阅与推荐系统要完成一下功能。1 登录。读者、图书管理员进入该系统必须登录,身份验证正确了才可以进入该系统,图书借阅与推荐系统的设计与实现9以不同身份进入该系统所对应的系统使用权限是不同的。2用户管理功能:对系统用户进行添加,修改,删除,权限设置等操作。3查询功能:对图书馆的馆藏图书 ,读者用户等信息进行查询。4其他功能读者可以修改自己的密码,并且查看系统推荐的图书。下面的系统用例图描述了整个系统用户之间的动作联系,及功能模块的概述13。系统用例图如图 3-1 所示。 图 3-1 系统用例图3.3.2 图书管理员详细功能描述1读者管理功能:对读者的类型和读者档案进行管理,包括添加,修改,删除读者类型和读者用户的相关信息,管理不同类型读者借阅图书的数量。图书借阅与推荐系统的设计与实现102图书管理功能:包括对图书类型和具体图书信息的管理,可以增加,修改,删除图书,丰富具体图书的信息,对不同图书进行分类操作。3图书借阅功能:可以完成对读者借阅和还书的操作。3.3.3 读者详细功能描述1修改登陆密码:修改自己的登录密码。2查询功能:查看系统推荐的图书,并查看图书详细信息。3图书续借功能:可以查看自己已经借阅的图书并完成续借。图书借阅与推荐系统的设计与实现114.4.总体设计总体设计4.1 系统总体结构设计该系统在 Windows2007/XP 环境下,主要采用 MyEclipse6.0 开发工具,Oracle 数据库来设计,测试服务器使用 Tomcat6.0,开发过程与成果应符合 GB/T 11457-1995 软件工程术语,GB/T 8567-1988 计算机软件产品开发文件编制指南等13。4.1.1 系统总体结构图绘制系统结构图的过程,实际上就是对系统功能模块进行分解设计的过程,即合理地将数据流程图转变为所需要的系统结构图14。系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各个功能的结构,能很好地方便用户使用和理解整个系统。本系统总体结构图如图 4-1 所示。图 4-1 系统总体结构图图书借阅与推荐系统管理员模块读者模块图书信息查询图书管理用户管理员模块图书借还员模块读者管理员模块图书信息添加图书信息修改图书借阅图书归还读者信息查询读者信息添加读者信息修改读者信息删除用户信息添加用户信息删除用户权限修改自身管理管理员模块图书查询员模块修改密码图书推荐图书续借图书借阅与推荐系统的设计与实现12根据需求分析的结果,按照“低耦合、高内聚”的原则,本系统将划分为以下主要功能模块:用户管理功能模块,读者管理功能模块,图书管理功能模块,图书借还功能模块;读者自身管理功能模块15。4.1.2 读者管理模块功能该模块主要包含读者自身管理,推荐图书信息管理和图书续借管理三个子模块。1读者自身管理该子模块是对图书馆系统用户读者的信息进行查询,修改等操作,在此模块中主要设置读者自身的登录密码,该操作是对于 tb_resder 表进行,并将操作结果保存在该表中。2推荐图书信息管理该子模块是对系统自动给读者推荐的图书的基本信息进行管理,可以对读者的基本信息进行查询,这下操作均是对 tb_bookinfo 表进行的,并将操作后的结果显示在页面中。3 图书续借管理该子模块是对读者已经借阅但是尚未到期的图书进行续借操作,可以对图书的基本信息进行查询并且对借阅的信息进行变更,该操作是对 tb_borrow 表进行操作,并将操作结果储存在该表中。4.1.3 管理员模块功能 管理员功能模块可分为图书信息管理,读者信息管理,借还信息管理和用户信息管理四个子模块,其各自的实现分别如下面表中所示。 1图书信息管理 该子模块是对图书的基本信息进行操作,包括对图书基本信息的查询,添加,修改和删除,并且删除之后的信息可以存储到已删除的图书中,需要的时候可以随时恢复,该操作是对 tb_bookinfo 表进行操作,并将操作结果存储在该表中。 2读者信息管理 该子模块是对读者的基本信息进行操作,包括对读者基本信息的查询,添加,图书借阅与推荐系统的设计与实现13修改和删除,该操作是对 tb_reader 表进行操作,将操作结果存储在该表中,并将处理的数据显示到前台页面中。 3)借还信息管理 该子模块是对图书借还信息进行操作,包括对读者可以借阅自己需要的图书,并且在归还自己借阅过的图书,该操作是对 tb_borrow 和 tb_giveback 两张表进行操作,并将操作结果存储在相应的表中。 4)用户信息管理 该子模块是对用户的基本信息进行操作,包括对用户基本信息的增加,删除和权限修改,该操作是对 tb_manager 表进行操作,将操作后的结果存储到该表中,并将处理的数据显示到前台页面中。4.2 数据库设计4.2.1 数据库设计概述数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节对数据库的设计进行专门阐述16。数据库是数据管理的最新技术。十多年来数据库管理系统已从专用的应用程序发展成为通用的系统软件。由于数据库具有数据结构化,最低冗余度,较高的程序与数据独立性,易于扩充,易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。因此不仅大型计算机及中小型计算机,甚至微型机都配有数据库管理系统17。数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用性和相容性,提高了决策的可靠性。目前,数据库已经成为现代信息系统不可分割的重要组成部分。数据库技术也是计算机领域中发展最快的技术之一。数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。数据库设计的关键是如图书借阅与推荐系统的设计与实现14何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理。设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。一般人们设计数据库遵循第三范式。即:数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度18。整个系统所包括的信息有图书信息、读者信息、留言信息、图书借阅信息、图书归还信息、系统用户信息、读者类型信息。可将这些信息抽象为下列系统所需要的数据项和数据结构:1图书信息(编号,图书名称,图书类型,作者,译者,ISBN 号,价格,出版社,所在书架,入库时间,操作员)2图书类型(编号,名称,可借阅天数)3读者信息(编号,姓名,性别,条形码,读者类型,出生年月,有效证件,证件号码,登记日期,电话,邮箱,操作员)4读者类型(名称,可借阅图书本数)5图书借阅信息(图书编号,读者 ID,借出时间,应还时间,是否归还,操作员)6图书归还信息(图书编号,读者 ID,归还时间,操作员)7用户信息(编号,用户名称,密码)9书架信息(编号,书架名称)10权限信息(编号,系统设置,读者管理,图书管理,图书借还,系统查询)注:带下划线表示主键在这里使用 E-R 图描述了图书借阅与推荐系统的数据模型,描述了该系统所涉及到的实体以及他们之间的关系。读者模块主要包含了读者的所有信息,读者模块具体结构如图 4-2 所示。图书借阅与推荐系统的设计与实现15图 4-2 读者模块 E-R 图图书模块的 E-R 图如图 4-3 所示。 图 4-3 图书模块 E-R 图管理员模块的 E-R 图如图 4-4 所示。 图 4-4 管理员模块 E-R 图读者编号条形码职业姓名证件类型电话证件号码邮箱性别密码图书条形码名称图书类型译者作者价格书架入库时间页码ISBN 号管理员编号名称密码图书借阅与推荐系统的设计与实现16系统整体 E-R 图如图 4-5 所示。 n n1n1n n xn yymx m 图 4-5 系统 E-R 图4.2.2 数据库表结构设计图书类型表的设计主要是方便对图书的分类,和对图书的查询,在实际应用中图书管理员就是根据图书类型的不同将之分列在不同的书架,以方便读者的借阅寻找,其中可借阅天数项设置了不同类型图书的借阅期限,可根据图书的具体情况进行不同的维护管理,表的具体结构设计如表 4-1 所示。表 4-1 图书类型信息表 tb_booktype字段名称数据类型字段长度是否为空说明ID int10NoKeybooknamevarchar30No 图书类型名daysint10No 可借阅天数 图书信息表主要用于存储图书馆中所藏图书的相关信息,其中的相关信息是在图图书管理员图书读者查询续借设置设置查询查询推荐图书借阅与推荐系统的设计与实现17书入库时由操作员进行添加完善,此表主要用于读者和图书管理员对馆中图书的查询,其中图书所在书架属性是便于读者借阅时对图书的寻找,图书价格是在读者不慎将图书遗失时对遗失图书进行赔偿的依据。表的具体结果如表 4-2 所示。表 4-2 图书信息表 tb_bookinfo字段名称数据类型字段长度是否为空说明barcodevarchar30NoKeybooknamevarchar70No 图书名称authorvarchar30Yes作者translatorvarchar30Yes译者ISBNvarchar20No出版社编号pricefloat8,2No 图书价格bookcaseidvarchar10No图书所在书架intimedateNo 图书入库时间operatorvarchar30No 操作员pageint10Yes 图书页码此表的设计是为了对不同身份的读者进行分类方便读者的管理, 用于规定不同类型读者一次可借阅的图书数量,表的具体结构设计如表 4-3 所示。表 4-3 读者类型信息表 tb_readertype字段名称数据类型字段长度是否为空说明ID int10NoKeyreadernamevarchar50No 读者类型名称numberint4No 可借图书本数读者信息表的设计是为了图书馆管理员对读者进行管理,其中读者 ID,不同类型证件的号码都是唯一的,是读者在借阅图书时需要输入对读者身份进行识别的图书借阅与推荐系统的设计与实现18信息,读者邮件电话等信息室为了与读者进行联系,读者类型信息决定了读者一次性可借阅的图书的数量,注册时间可用于查询计算读者身份有效的期限,操作员是为了便于对信息才操作的查询。表的具体结构设计如表 4-4 所示。表 4-4 读者信息表 tb_reader字段名称数据类型字段长度是否为空说明Idint10NoKeynamevarchar20No 读者姓名sexvarchar4No 读者性别barcodevarchar30No 条形码readertypevarchar11No读者类型telvarchar20Yes 电话e-mailvarchar100Yes 电子邮箱paperTypevarchar10No 证件类型PaperNO.Varchar20No 证件号码intimedateNo 登记时间operatorvarchar30No 操作员该表主要包含了书籍所在书架的编号和书架的名称,方便了对于不同种类书籍的管理和存放,表的具体结果设计如表 4-5 所示。表 4-5 书架信息表 tb_bookcase字段名称数据类型字段长度是否为空说明ID int10NoKeynamevarchar20No 书架名称该表的设计是用于对读者借阅图书进行管理,表中图书 ID 属性是对借阅图书的唯一性识别标识,读者 ID 号记录借阅的相应读者,结出时间记录了相应的归还图书借阅与推荐系统的设计与实现19时间,以及归还时是否超时,操作员是对借阅进行操作的人员的记录方便日后的查询,是否归还标识可查询当起读书是否被归还,表的具体结构设计如表 4-6 所示。表 4-6 图书借阅信息表 tb_borrow字段名称数据类型字段长度是否为空说明ID int10NoKeyreaderIDvarchar10No 读者编号bookIDint10No 图书编号borrowTimedateNo 借出时间backTimedateNo 应归还时间operatorvarchar30No 操作员ifbacktinyint1No 是否归还与图书借阅信息表形成对照的是图书归还信息表,该表的设计除了像上表一样把借阅的图书与相应的借阅者进行对应的联系以外还记录了读者应归还图书的时间,以此判断读者的借阅是否超时,表的具体结构设计如表 4-7 所示。表 4-7 图书归还信息表 tb_giveback字段名称数据类型字段长度是否为空说明ID int10NoKeyreaderIDvarchar11No 读者编号bookIDint11No 图书编号backTimedateNo 归还时间operatorvarchar30No 操作员该表的设计用于记录图书管理系统用户的信息,方便对用户的管理,表中包括用户 ID 和用户的登录密码,表的具体结构设计如表 4-8 所示。表 4-8 系统用户信息表 tb_user图书借阅与推荐系统的设计与实现20字段名称数据类型字段长度是否为空说明ID int10NoKeynamevarchar30No 用户名passwordvarchar30No 密码该表包含了图书馆的名称,地址,联系方式,建馆时间,简介等信息,是对图书馆基本属性信息的描述,方便外界读者对图书馆的了解,表的具体结构设计如表 4-9 所示。表 4-9 图书馆信息表 tb_library 字段名称数据类型字段长度是否为空说明ID int10NoKeylibrarynamevarchar50No 图书馆名称curatorvarchar10No 馆长telvarchar20Yes 电话号码addressvarchar100No 地址e-mailvarchar100No 电子邮箱urlvarchar100No 图书馆网站createDatevarcharNo 创馆时间introducetextYes 图书馆简介该表主要是存储出版社的基本信息,包含了出版社的 ISBN 号以及出版社名称等信息,读者可以根据该表来获得图书管基本信息,表的具体结果设计如表 4-10 所示。表 4-10 出版社信息表 tb_publishing字段名称数据类型字段长度是否为空说明ID int10NoKey图书借阅与推荐系统的设计与实现21ISBNvarchar20No ISBN 号pubnamevarchar20No 出版社名称图书借阅与推荐系统的设计与实现225.5.系统系统实现实现5.1 登录模块程序设计本模块主要是用户通过图书管理系统的首页登录进入该系统。用户输入正确的用户名和密码,系统会根据用户的身份进行相应权限划分;如果登录信息有错误,则系统提示登入错误的信息,并且禁止系统用户进行任何操作。图书借阅与推荐系统的登录主页面如图5-1所示。图5-1 图书管理系统登录首页用户在登录页面写好用户名和密码,选择登录,登录成功则跳转到系统的首页,否则提示错误信息。在服务器端进行用户身份验证的程序流程图如图5-2程序流程图所示。图书借阅与推荐系统的设计与实现23图5-2用户登录流程图本模块在登录的时候对账号和密码进行了不能为空的验证,而且只有账号和密码均不能为空的时候才能进入到下一层管理员验证。提示方式如图5-3所示。 图5-3登陆账号密码验证图 在登陆成功之后会根据权限的不同跳转到不同的系统页面,分别提供了不同的操作,分为管理员操作页面和读者操作页面,其中管理员身份登录后具体页面如图5-4所示图书借阅与推荐系统的设计与实现24图5-4管理员登陆主界面示例图读者身份登录后主页面显示如图5-5所示。图5-5读者登陆主界面示例图本模块中实现登录的核心代码如下:public ActionForward managerLogin(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)ManagerForm managerForm = (ManagerForm)form;/将接收到的表单信息强图书借阅与推荐系统的设计与实现25转为实体类的类型managerForm.setName(ChStr.toChinese(managerForm.getName();/设置管理员名称managerForm.setPwd(managerForm.getPwd();/设置密码managerForm.setPurview(managerForm.getPurview();/获取登录权限HttpSession session = request.getSession();session.setAttribute(id, managerForm.getId();int ret = 0;if(managerForm.getPurview() = 1)ret = managerDAO.checkManager(managerForm);/调用ManagerDAO类的checkManager()方法elseret = managerDAO.checkReader(managerForm);/调用ManagerDAO类的checkManager()方法if(ret = 1)/将登陆到系统的管理员名称保存到session中session.setAttribute(manager, managerForm.getName();/转到系统主界面return mapping.findForward(managerLoginok);else if(ret = 2)/将登陆到系统的管理员名称保存到session中session.setAttribute(manager, managerForm.getName();BookForm bookForm = new BookForm();Collection bookColl = new ArrayList();bookColl = managerDAO.checkBook(managerForm);图书借阅与推荐系统的设计与实现26request.setAttribute(bookColl, bookColl);return mapping.findForward(readerLoginok);elserequest.setAttribute(error, 您输入的管理员名称或密码错误!);return mapping.findForward(errorLogin);/转到错误提示页5.2 系统管理员功能模块的实现本模块中最主要的是管理系统用户,设置管理员权限等操作,其中管理系统用户包括对他们进行添加,修改,删除及权限划分操作。其中系统管理员读系统用户进行管理的操作页面如图5-6所示。图5-6 系统管理员管理用户操作界面若选择添加管理员的操作,点击添加管理员的按钮,弹出对话框,需要用户自行填写,管理员名称,管理员密码和确认密码。该操作的具体实现页面如图5-7所示。图书借阅与推荐系统的设计与实现27 图5-7 系统管理员添加界面 其中在输入管理员名称,密码以及确认密码的时候会进行不能为空,以及两次输入的密码必须一致的验证,当输入管理员名称为空时,如图5-8所示。 图5-8 提示管理员名称不为空界面当输入两次密码不一致时,如图5-9所示。图书借阅与推荐系统的设计与实现28图5-9提示两次输入密码不一致界面在点击每一个管理员后边对应的权限修改按钮时,会弹出修改管理员权限信息的对话框,具体界面如图5-10所示 图5-10 管理员权限修改界面在删除管理员的时候,点击管理员信息之后对应的删除按钮,然后会弹出提示询问是否确定删除,具体页面如图5-11所示。 图5-11管理员权限修改界面其中对系统用户权限的设置是该操作的重要部分也是系统提高效率的关键所在,起具体实现代码为:private ActionForward managerModify(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) ManagerForm managerForm = (ManagerForm) form;managerForm.setId(managerForm.getId(); /获取并设置管理员ID号managerForm.setName(managerForm.getName(); /获取并设置管理员名称managerForm.setPwd(managerForm.getPwd(); /获取并设置管理员密码图书借阅与推荐系统的设计与实现29managerForm.setSysset(managerForm.getSysset(); /获取并设置系统设置权限managerForm.setReaderset(managerForm.getReaderset(); /获取并设置读者管理权限managerForm.setBookset(managerForm.getBookset(); /获取并设置图书管理权限managerForm.setBorrowback(managerForm.getBorrowback(); /获取并设置图书借还权限managerForm.setSysquery(managerForm.getSysquery(); /获取并设置系统查询权限int ret = managerDAO.update(managerForm); /调用设置管理员权限的方法if (ret = 0) request.setAttribute(error, 设置管理员权限失败!);/保存错误提示信息到error参数中return mapping.findForward(error); /转到错误提示页面 else return mapping.findForward(managerModify);/转到权限设置成功页面5.3 图书信息管理功能模块的实现图书管理主要实现对图书的信息管理和借还管理两个功能子模块,其中图书信息管理主要提供了对图书信息的增删改查四大功能,还有就是被删除的图书将自动添加到图书删除库中,管理员可以对其查询并恢复,恢复之后的图书将自动添加到图书信息库中。查询功能模块点击之后可以列出全部图书的信息,1 图书查询可以显示图书的条形码,书名,作者,出版社,图书类型,书架等不同信息,其操作界面图 5-12 所示。图书借阅与推荐系统的设计与实现30图 5-12 图书查询操作界面 2图书信息添加,点击添加图书信息按钮,即可跳转到图书信息添加页面,在图书信息添加页面中,条形码,图书名称以及价格是必填项目,在提交的时候如果为空则会弹出验证,图书的编号属于系统自动生成且不可修改的项目,具体页面图 5-13 所示。图书借阅与推荐系统的设计与实现31图 5-13 图书信息添加操作界面 在添加时候依次弹出的验证页面如图 5-14 所示。图 5-14 图书信息添加验证操作界面3. 图书信息修改功能,点击需要修改的图书信息后的修改按钮,则会跳转到图书信息修改页面。进行相应的修改之后,点击保存按钮则提交修改信息完成,并且在此功能也加入了类似于图书信息添加相同的验证,即图书条形码,名称,价格不能为空。页面操作跳转如图 5-15 所示。图 5-15 图书信息修改操作界面4.图书信息删除功能,点击需要删除的图书信息后的删除按钮,首先弹出验证是否要删除,选择否,则返回到前以页面,选择是,则将该图书信息从图书信息库中删除,并自动添加到已删除图书信息。已删除的图书信息页面,如图 5-16 所示。图书借阅与推荐系统的设计与实现32图 5-16 已删除图书信息作界面点击想要恢复的图书信息之后的恢复按钮,则将添加到已删除库中的图书信息重新添加到图书信息库中,显示恢复成功,并将其从已删除的图书信息库中移除。点击恢复后显示信息如图 5-17 所示。 图 5-17 已删除图书信息恢复成功界面5.4 图书借还功能模块的实现该功能模块可分为图书借阅,图书归还,图书借阅查询三个子模块.1.图书借阅。该子模块实现系统的借阅功能,读者向图书管理员提供自己的编号,管理员向系统中提交读者编号,然后会显示出读者当起的借阅情况,再提供要借阅的图书标号或者图书名称,图书管理员将信息记录在系统中,首先是读者编号提交页面,在此需要管理员输入读者编号来指定结束的读者,如图 5-18 所示。图书借阅与推荐系统的设计与实现33图 5-18 图书借阅提交读者编号界面在提交读者编号之后,系统跳转到的页面如图 5-19 所示。图 5-19 图书借阅操作界面在图书借阅成功之后可以返回借阅查询页面,根据图书条形码,或者图书名称来查询图书借阅情况,系统页面情况如图 5-20 所示。图书借阅与推荐系统的设计与实现34图 5-20 图书借阅成功界面如果在借阅时所要借阅的图书不存在或者读者借阅已达借阅图书的上线,则读者不能接续借阅图书,系统将给出相应提示。此功能的实现代码为:private ActionForward bookborrow(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) readerForm.setBarcode(request.getParameter(barcode); ReaderForm reader = (ReaderForm) readerDAO.queryM(readerForm); request.setAttribute(readerinfo, reader); /查询读者的借阅信息request.setAttribute(borrowinfo,borrowDAO.borrowinfo(request.getParameter(barcode); /完成借阅 String f = request.getParameter(f);图书借阅与推荐系统的设计与实现35 String key = request.getParameter(inputkey); if (key != null & !key.equals() String operator = request.getParameter(operator); BookForm bookForm=bookDAO.queryB(f, key); if (bookForm!=null) int ret
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!