版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于推荐算法的图书管理系统设计与实现摘要:随这几年计算机发展的急速进步,通过智能手段去进行图书管理、操作已成为现代图书行业发展的主流趋势。目前,读者可以通过互联网及网上图书馆来查找他们所需的书籍资料。然而,从海量的资料中挑选出适合自己的资料需要花费大量时间,而且存在查准率和查全率低的不足。借此,凭借设计基于内容的推荐算法,从不同用户对图书的喜好进行个性化推荐,应用此推荐算法具有很好的解释性。本设计旨在为图书的个性化推荐过程提供比较智能的分析过程,对提高读者个性化图书推荐的体验感、快速获取感兴趣图书信息的过程有重要研究意义,进而促使数字化图书馆建设朝着更加智能化的方向发展。本系统利用Python作为开发语言,采用Django框架,前台主要利用MVC框架,后台利用MySQL数据库存储,应用了经典的推荐算法,设计研发了一套基于Django推荐算法的图书管理系统。具体地,前端主要进行和用户的交互;在后台,可以实现网站的主页、图书信息、公告信息、个人信息的编辑与查询;同时,管理员也可以对读者、图书信息、图书种类、图书的借入、图书的归档、系统的管理、图书的查询、编辑等功能,形成了一套集用户管理、图书管理、系统管理于一体的具有较为完善功能的图书管理系统。关键词:图书管理系统;Python;Django;MySQL;推荐算法目录1绪论 11.1项目研究背景 11.2研究旨意 11.3国内外研究现状 11.4研究方法 21.5文章形成架构 32系统相关技术 52.1推荐算法 52.2Python语言 52.3模式及框架 62.3.1MVC框架 62.3.2Django框架 62.4数据库工具 63系统需求分析 83.1系统总体目标 83.2系统功能需求分析 93.3系统非功能需求分析 103.4系统可行性分析 103.3.1技术可行性 103.3.2经济可行性 113.3.3社会可行性 114系统设计与实现 124.1系统架构设计 124.2流程分析 134.3处理流程设计 134.3.1操作流程图 144.3.2数据信息增添流程 154.3.3数据更改流程 164.4系统时序图设计 174.5数据库设计 184.5.1选择 184.5.2概念模型设计 184.5.3逻辑设计 205系统具体的设计实现 235.1系统开发环境 235.2系统整体模块的设计 235.2.1系统总体功能介绍 235.2.2登录模块 235.2.3管理员模块: 245.2.4用户模块 275.2.5前台管理模块 295.3图书推荐模块实现 315.3.1模块介绍 315.3.2模块程序流程图 315.3.3模块核心代码 336系统测试 346.1测试过程和方法 346.2测试目的及原则 346.3模块测试 356.4功能测试 356.5可用性测试 356.6安全测试 366.7程序调试 366.8系统优缺点 377总结与展望 38参考文献 391绪论在当代,计算机互联网技术发展迅猛,人们通过计算机信息化手段取代传统作业方式已应用颇多,计算机技术已被广泛地运用于各行各业,互联网思想深入人心[1]。然而,目前依旧存在很多传统图书馆对其图书信息,读者信息等是通过人工记录的形式实现。不仅费时费力,而且人工手段容易存在效率低下、精准度低的问题。同时,由于信息量的增加,图书管理系统在海量信息和个性化推荐方面也变得十分困难。针对此问题,我们将推荐算法应用于图书管理系统,以便为管理者提供方便,为读者提供良好的体验感。1.1项目研究背景受传统图书管理的影响,至今还有图书馆使用非智能化方式管理书籍的信息,由于信息资源量庞大,所以手工操作非常繁琐,在检索一些书籍的时候,需要大量的手工操作,既耗时又耗时,效率也很低下。随着人们对网络和信息化的要求日益增加,对信息化建设也日益关注。图书管理系统是目前最方便的信息获取途径,也是当前信息技术发展的必然趋势。针对现在的图书管理来说,网上借阅归还管理是必不可少的组成部分,但还存在查找精度低,个性化推荐难以全面实现的问题,本图书管理系统提出主要是针对个性化推荐和提高查找精度而设计的,这样可以让管理者更好更快地把工作做好,在工作中达到快速有效的效果,同时使读者有更好的阅读体验感[2]。 本系统利用信息技术进一步改善图书管理系统,在减少人力和时间、降低成本的同时,提高系统的工作效率,针对不同用户的喜好进行个性化推荐服务,以健全一个功能全面、界面使用方便,还可以精准执行每项任务的图书资源管理系统。1.2研究旨意 依靠此管理系统中个性化推荐的目标设计,可以使图书馆的信息资源得到更有效利用,使读者的阅读变得更为便捷,从而使读者摆脱了日常的工作,同时使图书馆管理实现了信息化、现代化、科学化。因此应用个性化推荐算法构建图书管理系统具有很重要的意义。1.3国内外研究现状随着信息技术的飞速发展,信息的传递速度也越来越快。当在海量图书信息中寻找自己想要的图书信息就变成了当今社会的主要难点。但由于受到现代资讯科技发展的制约,直到20世纪末期,个人化的服务观念逐渐被运用到实际工作中[3]。随着信息技术的发展,高校越来越重视图书管理工作,本着让学生增加体验感、为管理者提供便利的原则,将个性化服务逐步融入到图书馆管理系统工作中。目前,在地方各级政府的指导下,各个地方的图书馆都集中了全部的资源,开始着手开发个性化的图书管理体系。从主观上来说,个性化的推荐在其推荐上具有明显的优越性,它的发展已为社会各阶层所公认,特别是在资讯处理领域,它的智能尤为明显。具体是利用信息检索技术、数据挖掘技术、统计技术和有关的软件,可以根据用户的爱好进行类似的检索,并根据用户的偏好,定期向用户提供适合自己的阅读习惯。纵观全国高校,其中人民大学、浙江大学、清华大学等高校是高校图书馆管理体系建设的领军人物,他们的图书管理系统优势一是智能化的搜索,二是个性化的推荐,三是网上的问题解答。对于使用者来说,一方面可以通过智能搜索系统来进行大量的图书资料的查询,另一方面,还可以通过个性化的智能建议来挑选自己想要的书,同时还可以提供即时的网上问答。 在我国的图书馆管理体系中,针对个人的推荐计算,主要是以内容为导向,同时考虑到协同筛选,遵循相关的原则,从而实现对用户的推荐。利用协同筛选的方法,黄晓斌等人建立了一个数据库的数据库,并在此基础上对该数据库进行了进一步的研究[4]。马丽在协同筛选中引入了群体的偏好,通过评估矩阵的缺额来提高其推荐的品质[5]。陈永光从理论上对“混合推荐”的影响机理和实施成效进行了分析和整理。俞骋超在解决个体化的问题时,一直在进行着探索,并试图用前馈网络和神经网络相结合来寻找一条新的途径[6]。 国外图书管理技术的发展也在发生着改变,通过对外国专家的推荐策略的总结,可以看出,他们的主要工作都是在协作筛选的基础上进行的,这主要体现在对信息的相关分析上。Raymond等人从辨证观点对基于内容的建议优势进行了归纳:一是根据推荐的效果来了解其建议的运作机理及项目的性质;二是针对该问题提出了一个实际的解决方法,并对该方法进行了试验研究[7]。Sugiyam等人主要是在标签推荐方法中进行了研究[8]。Jongyi指出,将用户场景化的资讯融入到资料的处理中,可以帮助解决资料稀少的问题[9]。Sarwar等人利用奇异值分析技术提高了读者的检索效率[10]。研究方法通过对传统的图书管理系统的介绍,通过一种推荐算法实现了个性化服务。本系统由用户管理、图书信息管理、图书类型管理、借阅归还管理和个性化服务推荐五大部分组成。(1)用户管理模块 系统的中枢功能是对用户信息执行切实可行的管理,分为两大类,第一类是用户的授权管理子系统,它对用户的授权进行管理,确保使用者在自己的授权范围之内进行操作,而不能够进行管理员的管理。系统由于对登录用户的身份会进行核验,因此登录时如果选用管理员身份登录将会完成更高权限的操作。(2)图书信息管理模块图书信息管理模块的主要作用是保持图书馆文献资料的适时更正。囊括四个方面:新书信息、更改图书的资料、搜索图书的信息、去除图书的资料信息。图书馆资料的管理权限归管理员所有。(3)图书类型管理模块图书类型管理模块主要是根据图书信息进行编排,根据图书信息一定规则排序,比如所属领域、出版社等等进而为图书划分出了不同的类型。其内容包括:增加图书类型、修改图书类型、查找图书类型、删除图书类型四大部分。图书类型管理权限也是归管理员所有。(4)图书借阅归还模块图书馆的借阅与归还功能主要包括:对学生的借阅资料进行归档。根据阅读的数量,阅读时间,以及借阅人的详细信息统计生成书籍统计表;按读者借书阅览的频繁程度,借书阅览的时长,平均的借书阅览时长和借书阅览的细致信息形成阅览者统计表。以上两表格给读者个性化服务推荐模块做了数据支持。(5)个性化服务推荐模块本模块主要是依据读者的历史数据(如个人收藏,评价等),确定读者的归属类别,凭借挖掘此类读者借书的相联轨迹,生成推荐的表。对于不一样的用户类别推荐不一样的图书。1.5文章形成架构文章的架构是这样的:第一章首先是绪论。第一章解释设计背景、旨义、国内国外目前研究状况和研究基础的思路。第二章介绍有关的技术。第二章选择设计需要的的主要技术与理论,做出介绍和解释。第三章旨在系统需求的分析。第三章对此设计进行了需求分析,明确了该系统的设计目的,对功能需求分析、非功能需求分析等进行了详细的阐述。第四章系统设计。介绍了该系统的架构,流程图以及数据库ER图、表信息等;第五章介绍系统如何实现。阐述系统每块功能模块如何实现。第六章介绍此系统的测试。本章阐述了本设计的实验方案和实验成果。第七章总结与展望。这一章主要是关于该系统的总结,同时指出其所存在的问题和不足。
2系统相关技术 本章主要介绍了Python开发语言、MySQL数据库、MVC框架、Django框架、推荐算法等设计软件开发的相关技术,重点介绍了Django框架以及基于内容的个性化推荐算法,协同过滤推荐算法和混合推荐算法。2.1推荐算法美国明尼苏达大学GroupLens团队在1990年代开展了一项关于推荐算法的研究,特别是为用户提供个性化的服务。之后,亚马逊通过一个推荐机制,对消费者的购物和购物进行了详细的分类,使其销量增加了35%。从那以后,推荐算法被广泛应用在各个领域。通过算法分析用户行为,推荐用户感兴趣的内容供用户进行选择,这不仅仅给用户提供了高效率的检索,还提供了更好的体验效果,信息的利用率也得以提升。目前,主张一种新型推荐算法——基于文本的推荐算法、协同过滤算法和混合推荐算法。其主要分三个阶段:收集使用者的信息;最近领搜索;产生推荐数据集。 通过结合多种推荐方法,使其能够充分利用各自的优势,并克服各自的缺点,从而使混合型推荐算法更好地提高推荐系统的推荐精确度[11]。2.2Python语言 Python是一门很容易理解,且非常先进的、活跃的程序设计语言。因其便捷性、可读性、高效性、灵活性以及开发周期短等优点被广泛使用,是当前比较流行的脚本语言,具有良好的可读性、维护性、可移植性等优点被广大编程爱好者所喜爱。选择Python作为本项目开发语言,开发效率有很大的提高。同时Python本身具有强大的功能,其本身拥有大量封装的库,使得程序的运行时间简化,提供了数据库接口,在web开发中Python也支持HTML技术,在文本编辑中,Python也可以具备信息匹配模块。Python也存在许多不足之处,与其它的编程语言不同,Python的运行不够迅速,没有二进制代码的可供选择。但是在本项目中这些缺点将不会对系统本身有所影响,所以我们采用Python作为开发语言。2.3模式及框架2.3.1MVC框架模型-视图-控制器(MVC)是一种将输入、处理和输出分离的一种设计方式。其本质是把业务逻辑、数据信息跟显示界面分开来的方式执行编程,把许多业务逻辑组合成一组件,在遇到需求改善、界面与使用者互动的时候,无需重新编写业务逻辑,从而实现了缩短编程周期、增强了代码重用等优点。MVC最初出现于台式机程式,其目标是将M与V两种实施方式分开,使得相同程序能有多种表达方式,例如:一组统计资料可以用柱状图、饼图、饼图等方式加以表达。C是为了保证M和V之间的同步,并且当M发生变化时V也要进行同步,所以WEB编程采用了MVC架构。2.3.2Django框架Django是一款基于Python开发的高水平的开放源码模型,使用MTV架构.也就是Model,View,Template。有了这样的架构,程序员就可以轻松快速地创建高质量的、易于维护的数据库驱动的程序很多成功的应用程序和站点都是以Django架构为基础的。从本质上讲,Django是一个非常有效的包装Socket链接。Django框架可以自动为系统创建后台,管理模块实体,也可以分离前端与后台,具有继承性,保证了代码复用,提高了开发效率,因此使用Django开发的应用具备稳定性。2.4数据库工具目前,被较多使用的数据库包括Oracle、MySQL、SqlServer以及Access,除MySQL以外,Access数据库对可以免费使用,但其处理能力较弱的缺点致使其无法满足企业办公数据的处理要求。作为关系数据库的一种,MySQL数据库使用最为广泛,作为Oraclecorporation的产品,隶属于MySQLAB开发公司。在现阶段的Web系统设计中,MySQL数据库有很多优势,因此MySQL数据库被广泛应用在Web程序开发中。MySQL数据库的编程规则由SQL语言演化而来,有两个版本。由于其对后台数据处理速度快且成本较低,常被用作企业软件开发以及网站开发中进行后台数据的管理。SQLserver数据库虽支持可视化,也进一步完善了可视化处理工具,但它常用于Windows平台型数据库开发,常与.Net一同使用。而Oracle数据库相对于SQLserver和Access数据库来说,功能较为完善,处理数据的能力也较强,但是它不是一个免费的数据库,使用时可能会产生较高的使用费用[12]。 本文所使用的是MySQL的数据库.MySQL数据库的优势在于:首先,它采用C和C++编程,采用不同的编译程序进行了校验,从而确保了系统的可移植。第二,对SQL进行了改进,提高了检索效率。第三种是多语种支援,不仅可以用作一个应用程式,还可以提供多种不同的语种,例如中文GB2312,BIG5,日文的shift-JIS等。
3系统需求分析第三章此设计基本环节,旨在确立系统功能模块及可完成的需求。本章将从系统总体目标,系统功能需求,系统非功能需求,以及系统可行性等方面做出详细介绍。3.1系统总体目标只有明确系统的整体目标,才能有计划性、针对性的进行图书馆管理系统的设计开发。在系统设计的总体目标确定后,可以对图书馆管理系统进行相应的需求分析,设计各功能模块的功能需求分析,最后结合非功能需求分析,完善系统开发的整体结构,设计出完整、高效的系统开发计划[13]。图书馆管理系统的基础就是提供了数据的处理分析服务,同时为用户的管理与决策提供高效便捷的服务。本系统的设计旨在可以提高整个管理系统有效性、整体性、便捷性,目的是实现简单便捷的操作与管理,提高系统的效益。基于此,本系统的主要目标有以下几点:(1)数据信息资源共同分享建设推荐算法图书管理系统的信息检验与个性化的服务,提高图书管理系统信息查询的效率与准确性,一并为阅览者提供舒适的体验。(2)完成该图书管理系统不同方面的功能系统会对每一个数据信息执行记录与管理。实现图书类型管理,查询书籍资料,管理图书的借读阅览,归还借阅过的图书等一系列功能。(3)进一步规范每项任务的流程通过推荐算法可以使图书管理系统更规范化、全面化、系统化、科学化。提高管理人员的管理和工作效率。(4)执行现代化管理的模式此系统设计有界面操作便捷的优势。该系统设计务必要有个数据库可以备份且能恢复的功效,才有可能让数据信息的安全性得到一定提高。图书馆管理系统一般都用的是学校的内网,只有校内人员可以用自己的账号可以登录进行查询,这另一方面也保证了系统的安全性。根据系统设定的原则,本系统还应具有以下目标:简单的操作,好看的系统界面,性能卓越。执行多步骤查询,举例如单一步骤查询,多步骤查询。系统能稳定的运行且安全。3.2系统功能需求分析本系统实现了如下功能:管理员后台:1、个人中心:后台管理员登录系统,点击个人中心,可以增加、删除、查询和修改管理员的信息。而且,还可以设定系统管理员。2、用户管理:管理员登录该系统后,可以查看每个用户数据信息,还能对用户个人数据执行一系列操作。3、图书类别管理:管理员登录该系统后,对书籍类别查看,会呈现书籍的类别资讯,因此也能完成书籍类别资讯的添加、删减、修改的操作。4、图书资料管理:管理员在登录本平台后,既能查询到书籍的资料,又能进行图书馆资料的增加,删除,修改操作,以及查看评论的信息。5、图书借阅管理:管理员在登录本系统后可以查询到书籍的借出情况,并可对借出的书籍进行添加、删除、修改的操作。6、图书的归还管理:当管理员登录本系统后,按下归还的管理按钮,即可将书籍的退回资讯展示出来,完成了对书籍的添加、删除、更改、查询的操作。7、系统管理:管理员在登录后点击管理按钮,就可以看到系统的相关内容,可以完成添加、删除、更改、查找等功能。。用户模块后台:1、个人中心:用户登录系统,可以实现对个人信息的查询,修改和删除的操作。2、图书馆的借阅:读者通过登录本系统,按下“借书”的按钮,即可查看读者的借阅情况,进行图书归还。3、图书归还管理:用户登录本系统,按下图书归还管理按键,以查询图书归还的信息。4、我的收藏管理:用户登录系统,点击我的收藏管理,可以查询和删除图书收藏信息。前台管理:1、首页界面:登录图书管理系统,根据导航栏可以选择相应功能,首页根据用户的收藏信息推荐图书。2、图书信息界面:在导航栏中点击图书信息,显示医生信息,可以查看图书简介,进行图书评论,可以收藏图书。3、公告信息界面:点击导航栏中的公告信息,可以查看公告信息。4、个人主页:实现查看、编辑个人信息、查看收藏图书信息等多种功能。3.3系统非功能需求分析非功能需求主要包含系统的可伸延性、易用性、可靠性、功能性。作为一个信息系统,首先对软硬件的扩充功能具有要求。良好的软硬件扩充功能应包含对老旧配置、系统容量的提升,以及数据库规格、可用设备数目的改善等。本系统主要是应用于高校,因此它不需要特殊的性能需要,只需要保证系统可以正常运行并且有足够高的访问量。在实际应用中,系统的性能不应该被限制,而且保证系统平台的架构化,使得操作人员上手操作性便捷,也要便于后期工作人员对系统的维护,还要保证软件二次开发的安全操作。易用性是指系统应具有容易被使用者理解的功能简单化,使用户能够上手简单,系统界面简洁明了,易于操作。易用性通常与界面设计相关联,简单概括即是界面友好。可靠性指的是在制定时间与条件下,系统性能稳定水平,具体包括成熟性,界面打开时间应控制在3s内,一次交互完成时间应不超过4s。容错性,当软件发生故障是能够维持软件稳定的属性。易恢复性,当发生系统崩溃,数据丢失等不可预测的问题是,系统数据可以进行恢复。3.4系统可行性分析3.4.1技术可行性技术上的可用性通常是指按照自身的技术要求来进行测量,通常可以从软件、运行环境、操作人员的技术和人数等来进行分析。综合考虑了系统的各项功能,挖掘了不同的技术和方法,所以,在设计语言上,采用当今比较受欢迎的Python语言,利用MySQL数据库进行数据的储存。在软件上,Python和MySQL都已经很成熟了,它们在安全性、可用性、可靠性、易用性等各方面都无可挑剔,所以在软件上是完全可以实现的。至于硬件,就是奔腾系列电脑,完全可以用来进行系统的设计。3.4.2经济可行性利用该推荐算法进行图书馆管理,可以有效地提高工作效率,减少员工数量,并实现节约成本,降低其它费用。从读者角度由于个性化服务推荐的引入,可以使读者得到良好的体验感。从经济学的观点来看,该系统的发展是切实可行的。3.4.3社会可行性运行的可持续性其重点在于制度、经营条件和法规是否可行、员工培训方案是否可行。本人也是通过不断学习,熟悉Python和语言,掌握MySQL数据库开发工具,以及对推荐算法做了很深的研究,因此,本设计十分可行。
4系统设计与实现本章为系统开发过程中的重点设计模块,最终的目标是设计并实现包含基础信息管理和图书推荐功能的图书管理系统。本章从系统架构设计、各模块设计和数据库设计等方面详细介绍[14]。4.1系统架构设计系统架构设计是将整体任务划分为不同的子任务,子任务完成后,将这些子任务集合在一起的功能。本设计的系统模型层次结构如图所示。通过浏览器的界面与系统平台之间的数据请求实现系统各业务功能的实现,发送请求后待系统响应。通过应用系统平台进行数据的传输、处理,在各个业务子系统与数据库交互。最靠底的操作系统和数据库之间执行的数据更新、读取、保存。当上层系统发送请求后,根据请求返回数据[15]。图4.1系统模型层次图该系统利用开放源代码的对象关系映射框架Hibernate对数据进行交互界面设计,实现了JDBC的轻量化对象封装及POJO和数据库之间的映射,并应用了OOP的编程思想来实现数据库的运行。本文选择了MySQL5.6版本的数据库,已在第二章节中详细阐述。经过系统地需求分析后,将对所提出的需求进行总体设计并实现。针对不同的使用者及其需要,对各功能进行了划分,并分析了模块间的逻辑关系。在图4.2中显示了该系统的系统功能结构图,按照系统的设计实现了功能的从属关系。从图中可以看出由总体设计出发,根据不同权限,实现各种功能。图4.2系统功能的架构图4.2流程分析流程分析利用专门的图表可视化具体流程,能够直观、清晰地展示系统的业务处理过程。本章借助结构化信息系统开发中较为常用的业务流程图和数据流程图进行可视化。管理员登入系统,能对图书、用户与系统进行管理、操作。下图4.3为流程总图。图4.3系统流程总图4.3处理流程设计只要用图书管理系统,就一定要登入账号。下图是系统登入流程图,如图4.4所示:图4.4登入流程图4.3.1操作流程图用户登入主界面,要输用户名与密码,如果用户名与密码错误,返回错误信息;唯有用户名密码检验正确后,才可进功能界面[16]。如4.5所示:图4.5操作流程图4.3.2数据信息增添流程用户增添信息,系统将会主动生成编号,并接收用户输入的数据。对于接收的数据,系统有一个判断程序,验证通过的数据将能成功存入数据库,否则将提示增添信息错误然后提示用户再输入。如图4.6所示:图4.6数据增添流程图4.3.3数据更改流程进更改信息界面进行信息更改,按提示输入更改内容,然后系统判断程序进行检验,验证通过则可更新数据并存入数据库,否则将显示更该错误,告知用户再输入。如图4.7所示:图4.7数据更改流程4.4系统时序图设计登录模块顺序,如图4.9所示。图4.9用户登录顺序登录系统完,能进行信息增添,举例像用户的信息增添。添加顺序如图4.10所示。图4.10添加顺序4.5数据库设计4.5.1选择本系统通过网络与后台数据库进行数据的传输,基于Data_Communicator数据交互信类进行请求交互,后台数据库各种数据处理功能类,如Data_Base管理类、Data_Format操作类等,都是公用的基础类结构,应用在各个关键模块中,同样也应用在子系统的其他功能模块中。4.5.2概念模型设计由于子系统比较庞大,数据库设计又相对较为复杂,本文只选取了部分实体进行详细描述,使用实体-联系图(E-R图)来进行数据库的概念设计和数据表的模型设计,采用数据库表来完成逻辑设计。(1)用户,以图4.11示图4.11用户实体类型,以图4.12示图4.12类型实体(3)图书,以图4.13示图4.13图书实体(4)借阅,以图4.14示图4.14借阅实体(5)归还,以图4.15示图4.15归还实体4.5.3逻辑设计通过E-R图建立的数据库概念结构,根据数据库表来反映数据结构、类型和字段长度等。本系统设计与实现过程中用到的部分表以下所示。图书数据表选择特殊字段存储图书基本数据。如表4.1示:表4.1图书数据表字段称呼字段类别宽有无小数是否空是否是主键idbigint200无否是addtimevarchar200无是tushumingchengvarchar200无是tushuleixingvarchar200无是tupianvarchar200无是zuozhevarchar200无是chubanshevarchar200无是kejietianshuvarchar200无是shuliangvarchar200无是tushujianjieint11无是clicktimevarchar200无是类型信息数据表主要用来存储各个类型的基础信息。具体结构如表4.2所示:表4.2类型信息表字段称呼字段类型宽度小数位数空否主键idbigint200否是addtimetimestamp0是tushuleixingvarchar2000是公告信息数据表主要用来存储各个公告的基础数据。具体结构如表4.3所示:表4.3公告数据表字段称呼字段类型宽度有无小数是否空主键idbigint200无否是addtimetimestamp无是titlevarchar200无是introductionlongtext无是picturevarchar200无是contenlongtext无是收藏信息数据表主要用来存储各个收藏的基础信息。具体结构如表4.4所示:表4.4收藏信息表字段称呼字段类型宽度小数位数空否主键idbigint2000否是addtimetimestamp0是useridbigint200是refidbigint200是tablenamevarchar2000是namevarchar2000是picturevarchar2000是typevarchar2000是inteltypevarchar2000是此数据表主要用来存储各个用户的基础信息。具体结构如表4.5所示:表4.5用户数据表字段称呼字段类别宽有无小数是否空是否主键idbigint200无否是usernamevarchar100无是passwordvarchar100无是rolevarchar100无是addtimevarchar100无是
5系统具体的设计实现在上一章节中,对整个系统的体系结构进行了大致的构思,并对各个功能模块进行了的粗略的设计。本章节将围绕各个功能模块进行具体、详细的介绍,并对系统的实现过程展开描述。5.1系统开发环境为了便于用户在互联网上进行操作,有以下两点开发要求:数据库要求:数据库采用MYSQL5.6版本服务器要求:为了发挥系统最大性能,保证两者之间安全性。在物理上,要求服务器与数据库隔离,通过网络连接。Weblogic软件版本8.1,硬盘128G以上。同时,每5分钟进行备份操作日志,为保数据安全。5.2系统整体模块的设计5.2.1系统整体功能介绍系统预计实现的功能把系统分成三部分模块,包含前台与管理员与用户模块。前台包含图书信息首界面、公告信息界面和首页图书推荐等功能模块。用户模块包括用户个人中心、用户的图书借阅、归还管理和收藏功能。管理员模块包含管理员个人中心、用户管理、图书类型、信息、借阅和归还等管理及系统的管理功能[17]。5.2.2登入模块登入界面如图5.1所示。图5.1登入界面5.2.3管理员模块个人中心管理员登入系统,按个人中心按键,实现个人资料更改。界面如图5.2所示。图5.2个人中心用户管理管理员登入系统,按用户管理按键可看用户信息,对用户信息的增添、更改、查询与删除管理操作。实现如图5.3所示。图5.3用户管理图书类别管理管理员登入系统,按图书类别管理按键,显示图书类别信息,实现对图书类别信息操作,如图5.4所示。图5.4图书类别管理图书信息管理管理员登入系统,按图书信息管理按键,了解图书的具体信息,且对图书信息执行管理,和查看评论,如图5.5示。图5.5图书信息管理图书借阅管理管理员登入系统,按图书借阅管理按键,显示图书借阅具体情况,且能对图书借阅信息执行操作,如图5.6所示。图5.6图书借阅管理图书归还管理界面管理员登录系统后,可点击图书归还管理按钮,查询图书归还信息,且对图书归还信息执行管理操作,如图5.7所示。图5.7图书归还管理系统管理管理员登入系统,按系统管理按键,显示系统信息,如图5.8所示。图5.8系统管理5.2.4用户模块个人中心登入系统,按个人中心,能修改个人信息并修改密码,如图5.9所示。图5.9个人中心图书借阅管理登入系统,按图书借阅管理按键,能够查看图书的借阅情况,执行图书归还操作,如图5.10所示。图5.10图书借阅管理界面图书归还管理登入系统,按图书归还管理按键,能够查询图书归还情况,如图5.11所示。图5.11图书归还管理我的收藏管理登入系统,按我的收藏管理按键,能够查询和删除图书收藏信息,如图5.12所示。图5.12图书收藏管理5.2.5前台管理模块首页界面登录图书管理系统,根据导航栏可以选择相应功能,首页根据用户的收藏信息推荐图书,实现界面如图5.13所示。图5.13首页界面图书信息界面在导航栏中点击图书信息,显示医生信息,可以查看图书简介,进行图书评论,可以收藏图书,图书信息实现界面如图5.14所示。图5.14图书信息界面公告信息界面点击导航栏中的公告信息,可以查看公告信息,实现界面如图5.15所示。图5.15公告信息界面个人中心界面点击导航栏中的个人中心查看、编辑及更新个人信息、查看收藏信息,个人中心实现界面如图5.16所示。图5.16个人中心界面5.3图书推荐模块实现5.3.1模块介绍该模块根据用户在浏览网页过程中收藏的图书信息来挖掘、分析和判断用户的兴趣偏好,根据挖掘的兴趣点,生成与用户兴趣相关联的图书推荐列表,并在首页显示该推荐结果。该模块的实现,能对用户进行针对性的图书推荐,为其“量身定制”推荐结果,满足其特有的需求[18]。5.3.2模块程序流程图下图是图书推荐模块程序流程图,如图5.17所示。图5.17图书推荐模块程序流程图
5.3.3模块核心代码具体的推荐算法实现的核心代码如下图所示:#基于内容的推荐算法:#构建用户的user_profile和图书的items_profiles,通过计算向量相似度来选择待推荐的图书结果集defcontentBased(user_profile,items_profiles,items_names,labels_names,items_user_saw):#向用户的推荐图书结果集为recommend_items=[[图书名,该图书画像与用户画像的类似程度],...]recommend_items=[]foriinrange(len(items_names)):#预备推荐书中选择用户user没有读过的书目ifitems_names[i]notinitems_user_saw:recommend_items.append([items_names[i],calCosDistance(user_profile,items_profiles[items_names[i]],labels_names)])#将推荐图书集按相似度降序排列recommend_items.sort(key=lambdaitem:item[1],reverse=True)returnrecommend_items#输出推给此用户的书列表#max_num:输出的数量最大推荐图书量defprintRecommendedItems(recommend_items_sorted,max_num):count=0foritem,degreeinrecommend_items_sorted:print("图书名:%s,推荐指数:%f"%(item,degree))count+=1ifcount==max_num:break
6系统测试6.1测试过程和方法通过对系统的性能测试,可以检测系统的性能可否符合标准。经过恢复测试,通过人工方法检测软件错误,能检出系统可否容许误差及可否恢复。经过强度测试,能检出系统运行过程中能其功能完成、实现到何种程度。经过功能测试,我们能验证系统是否达到需求分析阶段提出的需求、是否实现应该具备的功能、系统是否能顺利运行。将系统视作不透明盒,不想系统内部结构,只靠系统的技术规范及要求来检测系统功能,以保证系统的完整性、统一性[19]。进行功能测试后,还需更进一步对系统的内部工作流程进行测试。白盒测试,又被叫做结构测试和逻辑驱动测试,刚好能满足需求。利用该测试技术熟悉系统的各项工作流程,并通过编写的测试用例来检查系统的操作规范性和功用性。6.2测试目的及原则系统测试的目的是运用一些技术手段来验证系统是否能在规定条件和要求下正确运行、检查系统在测试条件下和正常工作环境下存在的差距,判断系统是否有要修改和提高的模块。正常运行环境是系统测试的切实环境。该环境下测试可进行系统、全面地检测和评估,通过连接外设接口、输入与输出设备及整个系统的时序匹配来营造一个最真实的工作环境,全方位地分析系统存在的漏洞。在测试过程中,也存在一定的难度。一般是程序员较难以系统整体为目标形成测试用例。测试人员应以不同的角度对系统的整体功能进行分析并生成合适的测试过程和用例,最终能够完成软件测试的基本要求,验证已开发完成的软件是否满足系统任务要求、系统是否实现所需要的功能及检查系统是否存在功能障碍等问题。6.3模块测试针对系统的两个权限分别对管理员、用户的登录、系统操作等进行了测试。管理员拥有全部权限以及查看所有信息等权限,用户能用系统的功能,经过登录和全部操作权限来测试,查验系统的功能模块是否完成预期需要。详细用例如表6.1。表6.1测试用例图表号用例称呼操作办法预设成果实际成果1管理员登入权限与每个功能检验管理员登入账号,查询并控制用户、图书、系统信息管理等功能检验完成填入、修改、提交管理员信息,对用户信息查看和汇总操作功能的操作。与预设成果一致2用户登录权限及各功能验证登录居民账号,查看及操作图书借阅信息、图书归还信息等功能检验完成查询、增添、删改、归还功能。与预设成果相同6.4功能测试本系统功能测试如表6.2所示:表6.2系统功能测试测试包括测试成效可用性优精确性优可操作性优安全性优6.5可用性测试可用性测试检验系统可操作性等方面。具体以表6.3所示。测试项测试人员的评价窗口拖动、变更大小、关闭等操作可否运行可操作模块可否简便可模块提示描述可否准确可模块排版可否协调可模块中状态可否准确可硬件操作可否允许可数据项可否准确显示可操作流程可否合理可可否有帮助信息可表6.3系统可用性测试6.6安全测试这是系统测试阶段是必不可少的,利用安全测试能够及时发现系统存在的安全隐患和漏洞,降低系统上线后造成不可估量的损失的概率。利用安全测试,能及时发现安全忧患,提高水平,增强系统防护能力[20]。安全测试主要有如下几方面:1)系统登入安全测试:需要通过账号密码的检验才可成功登入,错误的账号密码不能完成登入功能。2)系统管理权限安全测试:不一样的角色有不一样的权限。用不同权限的账号登入然后查询能使用的功能,验证是否存在权限混乱等现象。3)系统数据安全性管理:保证备份和恢复数据库。6.7程序调试在系统制作的全步骤中。语法失误是容易发现并能及时解决的。但程序执行过程中操作不当或者是计算的逻辑错误等的隐蔽性很强的错误,是难以排查的。程序调试的设计表格如表6.4所示。表6.4程序调试设计表登录测试测试程序1.无误用户名和错误密码2.错误用户名和无误密码3.无误用户名和无密码4.无用户名和无误密码测试办法按照用例标准编排有关测试用例执行测试测试成效在正常使用时能否进主界面增添测试测试步骤1.管理员登入测试2.增入内部数据3.测试错误信息能否增添4.测试正确信息能否增添测试类别测试用例测试成效数据可否正常增添处理办法更改完还原测试测试查询执行查询1.抽选管理员账号登入系统2.察看内部数据3.测试进入主界面调试步骤1.测试不正确的的信息之后登录2.测试正确的信息之后登录3.测试结果6.8系统优势劣势此系统从结构与页面分布到系统实现都确保管理轻松、操作简单、功能好用的特点,还照顾了管理的轻松程度。系统优势见下:(1)可移植性使得此系统能够在多个系统上运行使用,方便客户选择不同的平台;可扩展性能使系统扩展能力提高,方便系统的迭代开发与更新维护;高针对性能让系统提供更优质、更具指向性的服务,给客户带来了极大的方便。(2)本系统的管理功能模块较为全面、具体,各个模块划分清晰、明确,便于管理的精细化;系统的管理能及时处理各种错误、异常,减少操作性失误;系统的操作简单、用户界面友好,便于用户学习和掌握。
7总结与展望常规的图书管理系统侧重于图书的管理、储存、用户的借阅、归还登记及大众化的图书推荐等功能,对于难以描述自身需求、选择困难的用户来说大众化、无差别的图书推荐是盲目的、无法精确达到用户需求的。针对存在的问题,本文从用户个性化角度出发,设计并实现了一个基于推荐算法的图书管理系统。该系统包含图书管理、用户管理等功能,即在满足图书的基础管理、用户普通借阅、归还书籍的同时,能够提供基于用户兴趣的个性化图书推荐功能。然而,由于时间、技术等原因,本系统仍存在以下不足:(1)页面需要美化,现有的界面在丰富性、新颖性等方面还存在不足,后期应当细化前端渲染,更好地吸引用户使用本系统。(2)系统整体安全控制存在一定问题,应对系统整体安全控制进行升级。如针对系统的安全退出问题,将系统退出流程化或开启安全保护模式,避免用户意外点击关闭按钮并错误退出系统,使系统向真正的安全、可靠及实用网站靠拢。(3)加强数据结构及代码的优化,在设计推荐算法过程中,选择了较为简单的基于内容的推荐算法作为本系统的主要算法,但该算法存在一定的问题,例如冷启动等问题,后续应该使用混合算法优化系统性能,使用多类型、多维度用户数据构建更全面、立体的图书推荐模块,更有效地实现基于推荐算法的图书推荐管理系统。
参考文献宋昊炬.线上诊断互联网医疗必须切入核心医疗服务[J].财经界,2018,No.476(05):62-64.张玉叶,宿超.基于Python的协同过滤算法的设计与实现[J].山东广播电视大学学报,2019(02):82-85.曾乔美旭.基于协同过滤个性化推荐算法的高校图书馆借阅APP设计研究[D].哈尔滨工业大学,2020.DOI:10.27061/ki.ghgdu.2020.004662.黄晓斌.基于协同过滤的数字图书馆推荐系统研究[[J].大学图书馆学报,20061:53A-马丽.基于群体兴趣偏向度的数字图书馆协同过滤技术研究[[J].现代图书情报技术,2007.10:19-22俞骋超.基于深度神经网络的用户会话推荐算法研究[D].浙江大学,2016.RaymondJ.LorieneRoy.Conterltbasedbookrecommendingusing,leaHlingfortextcategorization[C].Proceedings
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版英语八年级上册教学课件Unit 8 Let's Communicate!Section B3a-3c
- 2026 年中职局域网管理(局域网)试题及答案
- 马说试题及答案
- 网络虚拟账号的法律规制研究-以婚姻财产分割为视角
- 增材制造装备的智能化控制技术研究
- 2025年医院三基知识考试试题库及答案(共190题)
- 中华遗产竞赛题库及答案
- 2025年语文数学化学真题及答案
- 2025年性困惑心理测试题及答案
- 快递收派员合同范本
- 《中国高血压防治指南(2025年修订版)》全文
- 园林绿化移树审批申请范本
- 管桩(方桩)静压施工风险辨识和分析及应对措施
- 商业伦理与社会责任
- GB/T 46142-2025智慧城市基础设施智慧交通快速响应矩阵码应用指南
- 变压器故障处理培训课件
- 除灰脱硫培训课件
- 知识产权保护风险排查清单模板
- 第一单元任务三《新闻写作》教学设计-2025-2026学年统编版语文八年级上册
- 2025年广西高校教师资格岗前培训考试(高等教育学)历年参考题库含答案详解(5卷)
- 2025年嫩江市招聘农垦社区工作者(88人)笔试备考试题附答案详解(基础题)
评论
0/150
提交评论