【《图书管理系统的设计与开发研究》8600字(论文)】_第1页
【《图书管理系统的设计与开发研究》8600字(论文)】_第2页
【《图书管理系统的设计与开发研究》8600字(论文)】_第3页
【《图书管理系统的设计与开发研究》8600字(论文)】_第4页
【《图书管理系统的设计与开发研究》8600字(论文)】_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

图书推荐管理系统的设计与开发研究目录TOC\o"1-3"\h\u5963前言 5310831绪论 5247231.1研究背景 5322441.2研究目的与意义 6314821.3本网站开发的主要内容 6233882系统相关技术 7284232.1开发配置要求 792192.2主要技术简介 7188872.2.1图书推荐技术介绍 731402.2.2IntelliJIDEA开发工具介绍 7255062.2.3SSM(Spring+SpringBoot+MyBatis)框架技术介绍 847272.2.4Mysql数据库介绍 8294042.2.5RBAC模型介绍 9102292.3本章小结 9284153系统可行性和需求分析 9274713.1可行性分析 9135133.1.1经济可行性 9176793.1.2技术可行性 1057123.1.3操作可行性 109623.2需求分析 1085693.2.1数据需求分析 10146243.2.1性能需求分析 11304533.2.2功能需求分析 11270113.3本章小结 1177804系统设计 11266404.1系统功能模块设计 11267024.1.1推荐功能模块设计 12197804.1.2借阅功能模块设计 13135754.1.3检索功能模块设计 1388934.1.4图书信息管理模块设计 13286214.1.5人员信息管理模块设计 14303294.2系统数据库设计 15183214.2.1数据库E-R图设计 15227544.2.2数据库设计表用例设计 16151834.3本章小结 1893105系统实现 18322245.1数据库连接 1887655.2系统功能 1955485.2.1系统登录 19595.2.2用户注册 21324275.2.3图书推荐 22253295.2.4图书信息管理 2324445.2.5人员信息管理 2612545.2.6修改密码 28186895.3本章小结 2938816系统测试 2998536.1测试目的 29326506.2测试环境 30168826.3测试方法 30209906.3.1单元测试 3072356.3.2组合测试 3034966.3.3确认测试 30190846.4测试用例 317067注册功能测试用例 318303登录测试用例 3115451用户权限测试用例 31291936.5本章小结 3223198总结 3221044参考文献 32【摘要】本系统主要基于SpringBoot&Mybatis&Shiro&Redis

等框架构造,并且运用了Java+mysql技术搭建的图书推荐管理系统,前端采用了vue.js和element-UI开发,数据存储选择采用的是MySQL数据库。本图书推荐管理系统的设计主要功能模块分为用户和管理员端。用户主要功能是可以通过图书名字、作者等信息检索到自己想要查阅的书籍,并且可以进行借阅。管理员则是通过后台对图书信息进行管理,以及对用户的信息角色进行管理等等。本系统在实现这些功能的基础上,还进行了协同过滤算法与图书信息的深度融合,实现了图书的推荐功能。通过这些功能的实现,该系统就可以为管理员提供方便快捷的图书管理功能和为用户提供便捷的借书功能,给用户带来方便的同时也使图书的借阅信息更为公开、透明化。【关键词】协同过滤算法;Spring&Boot;图书管理系统;vue.js开发技术;MySQL前言随着数字时代的到来,当今世界对信息收集的需求愈发强烈。数字资源的长期保存是近年来数字图书馆界研究的一个重要方向,关于长期保存的技术和理论已经有许多进展,但新的信息传播方式对数字资源的保存和管理又提出了新的挑战。REF_Ref27750\r\h[1]目前我们的生活已经逐渐依赖信息的数字化管理,通过管理系统对信息进行收集管理已经逐渐替代了生活中繁琐的人力收集。越来越多的企业也开始使用信息系统来进行管理了,而像图书管理系统就是如今较为流行的信息管理的系统。现在在街上随处可见的借书机器——“行走的图书馆”,其本质也是运用了图书管理系统,这些实际应用主要都是以自己的网络平台为基础,而本次开发的图书推荐管理系统在基于图书管理相关功能以外,新增了推荐功能,面对海量的网络资源,推荐系统能够及时跟踪用户的需求变化来自动调整信息服务的方式和内容,是一种极具潜力的解决信息超载的个性化服务技术。REF_Ref27966\r\h[2]这更实现了信息的智能化,为人们图书借阅增添了更多趣味性。1绪论1.1研究背景随着人们生活水平的日渐提高,信息管理已经基本融入人们生活中的方方面面,越来越多人选择在网上查阅电子书籍,或是到图书馆去借阅实体书籍。但由于图书馆是一个庞大的信息数据存储库,其中涉及的用户结构复杂,管理人员数量也十分有限,如需采用以往人工手动处理图书及人员信息的方法,管理工作将会变得十分繁琐,成本也十分高。对于图书管理员来说,图书馆管理包括图书信息的录入,用户借阅信息管理,人员信息管理等工作,这些都需要人工进行管理编辑。不但过程繁琐,而且容易出现人工误差,这将会给广大用户带来不便。当前的图书馆服务急需从传统的低效、机械的借阅模式向智能、高效、个性化的信息服务模式转变。REF_Ref28090\r\h[3]对于图书的信息、用户的个人信息以及借阅信息等数据,如果能够储存在电脑里形成一个完整的系统,就可以方便快捷地为用户提供帮助,用户也能根据图书的分类来进行图书的查询。因此,开发一个图书管理系统是十分必要的,这样管理员能更方便快捷地对各种信息进行操作,同时可以为客户提供一个更良好的图书借阅平台。目前我国国内对于信息系统管理的发展已经具有一定的规模性,图书馆系统的发展也达到了一定水平,但还没有实现真正意义上的图书管理系统,很多图书管理系统都是只有传统的业务功能,难以满足人们对数字化图书馆的需求。本次开发的图书推荐管理系统针对传统的图书分类检索不足以引导读者快速获取图书的问题,REF_Ref28204\r\h[5]借助基于用户的协同过滤算法构建图书推荐管理系统,实现个性化图书推荐服务,REF_Ref28090\r\h[3]在功能和技术上都实现了一定的提升。1.2研究目的与意义一方面,图书管理系统能够使管理变得高效以及便捷,目前信息管理系统也已经成为广大企业以及高校的必备设施,特别是藏书量大的图书馆,或者是人流量密集的场所,管理可能会变得相对复杂,为了方便馆内人员使用以及方便书籍的管理,规范且便捷的图书管理系统应运而生,这不仅能提高图书管理的工作效率,节约时间以及人工成本,还能减少产生不必要的误差。另一方面,信息科技正迅猛发展,各种信息管理系统已经深入到人们的生活中了,图书管理系统融合了当代科技进步的管理模式,以及信息管理的技术,不仅为管理员提供了方便高效的人性化管理系统,还节约了各种时间人力上的成本,管理效率得以提升。1.3本网站开发的主要内容基于设计并开发一个图书推荐管理系统,为用户以及管理员提供一个方便快捷的图书管理系统,能让管理员更方便地对图书信息进行添加、删除、修改等。用户可根据图书名字、作者等信息检索到自己想要查阅的书籍,实现了管理系统的智能化,降低了人工成本,提高了管理的效率。本系统开发前,本人对于现有的图书推荐管理系统有了一定的学习和了解,在保留原有图书管理系统的基本功能以外,结合了前端Vue以及后端的SpringBoot等框架和基于过滤算法技术对本系统进行了开发。图书管理员是本系统的主要成员和后台管理者,主要功能为对图书信息以及用户信息进行操作管理,而用户人员可以对书籍进行查询、借阅等操作,除此之外,用户对书籍进行借阅的信息也会自动录入系统中。2系统相关技术2.1开发配置要求系统研发阶段,后端方面使用了IDEA开发工具和由java代码支撑的集成框架SpringBoot,前端方面使用了WebStorm开发工具,结合Vue和element-UI组件实现框架设计,由前端调用后端接口进行运转。在底层数据库方面,采用的是Mysql数据库,缓存服务器为redis,负责处理客户端发送的命令请求。2.2主要技术简介本系统经过前期技术和需求的分析后,将基于mahout这个算法库来进行推荐功能的设计,并采用Vue前端技术,SpringBoot后端框架,Mysql数据库等相关技术实现,本文所开发的图书推荐管理系统,具有可扩展升级的特点。2.2.1图书推荐技术介绍本系统采用的推荐技术是基于协同过滤推荐算法来进行的,协同过滤推荐算法的基本假设是:为用户推荐感兴趣的内容可通过找到与该用户偏好相似的其他用户,将他们感兴趣的内容推荐给该用户。方法分为基于记忆(memory-based)和基于模型(model-based)的方法REF_Ref30866\r\h[4],本系统采用了基于模型的方法进行推荐。首先创建DataModel模型,可以基于文件File的DataModel,也可基于数据库的JDBCDataModel,如果数据库中表数据比较多,推荐耗时非常非常的慢,一般来说数据量都比较大可以基于文件DataModel模型来推荐。2.2.2IntelliJIDEA开发工具介绍IDEA,是用于提供程序开发环境的应用程序,集成了代码的各种编写、编译、调试等功能,是编程开发人员进行Java项目开发的首选工具,尤其在代码自动提示、重构等方面的功能提升了开发人员的开发效率。除此之外还具有其他优点:其一,丰富的导航查看模式也足够美观,例如ctrl+h可以进行代码的全局搜索,其二,可以对代码进行自动分析,存在风险的代码将会给出提示;其三,在团队开发中,使用到相关版本控制的工具,例如Git,IDEA则默认自带强大的版本控制工具,可以对代码的变更进行快速浏览,还能查看提交历史记录,代码的合并情况等等。进行协作开发时,代码很容易产生冲突,其强大的解决代码冲突的功能也能够为开发人员带来便利。2.2.3SSM(Spring+SpringBoot+MyBatis)框架技术介绍(1)Spring框架Spring是一个开源框架,本框架兼容性很强,与其他第三方框架可以很好的整合,以及具有高度的开放性,支持灵活的URL到页面控制器的映射,且具备灵活的数据验证和数据绑定机制。SpringBoot框架SpringBoot框架是用来简化新Sprng应用的初始搭建,其内嵌了servlet容器,降低了对环境的要求,使得配置环境变得简单,配置文件也因此减少,因此维护变得十分简单,同时减少了大量的开发时间且提高了生产力。(3)MyBatis框架MyBatis

使用简单的

XML或注解用于配置和原始映射,能自动将接口和

Java

的对象映射成数据库中的记录,减少了重复的编码工作,且JAVA代码与SQL语句是分离的,降低了维护的难度。2.2.4Mysql数据库介绍系统采用的数据库是MySQL,它是一种常用的关系型数据库,能够使用sql语句对系统数据库进行各式操作,其相比其他数据库有很多优点:一方面,MySQL数据库是完全免费开源的数据库,支持对其所需底层代码做修改,对比Oracle、SQLserver等数据库来说这就是它的优势所在;另一方面,MySQL数据库占用的内存较小,运行速度也相对较快,并且MySQL支持数量多的线程来并发运行,能够将资源最大化利用。2.2.5RBAC模型介绍在大型企业系统中,由于用户众多、业务对象庞杂,使得角色的定义在权限管理中比较复杂。用户的业务需求灵活多变,系统的功能可能不断增加或更新,权限也在随之变化,REF_Ref28332\r\h[6]本系统采用的RBAC模型用来实现用户权限配置,比如说哪些接口不需要登录就可以访问(登录接口等等)管理员和普通用户被授予不同的权限,它是一个经典的权限管理模型,基本原理是不直接对系统的用户赋值,而是通过将资源权限绑定给客户,来完成整个赋权的效果。该模型简化了用户和权限的关系,维护起来会相对简单。2.3本章小结本章节主要介绍本图书推荐管理系统使用的技术,以及详细描述了框架技术的优点所在。3系统可行性和需求分析3.1可行性分析可行性分析主要是评估本图书管理系统在经济环境、社会环境、技术环境是否能满足基本需求。在经济层面需要考虑开发工具是否开源,硬件能否支持项目的正常运行。在社会层面需要保证不能触犯法律条例,不能损害个人和集体利益。在技术层面需要衡量使用的技术能否支持整个项目的搭建,开发过程中需要保证版本的稳定性。3.1.1经济可行性本图书推荐管理系统后端开发工具为开源的IDEA,同时整合了所使用的Redis缓存进行数据结构存储,底层数据使用MySQL作为数据库,前端使用WebStorm开源开发工具以及vue组件。从软件看,开发所使用的技术都是基于开源工具和成熟的技术来进行。从发展的角度上看,本系统为用户带来的便利价值超过研发过程的成本,当前的图书管理系统已经非常成熟,管理员可以对信息进行透明化管理,而图书管理系统的核心价值就是对信息进行便捷管理。因此,本文所开发的图书推荐管理系统从经济可行性的角度来评价是可行的。3.1.2技术可行性本图书推荐管理系统在开发过程中所使用的是springboot后台框架和Vue开发技术前端框架,使用的后端框架大量减少了开发所需要进行的配置,使用element-UI前端框架也不需要进行样式设计,有许多现成的组件模板,数据库采用了mysql进行存储,结合了可视化工具navicat通过连接mysql减少对命令的操作。项目管理工具使用的是maven,相对来说更容易上手和操作。所以在本系统开发过程中,技术难题基本都可得到解决。因此,结合当前成熟框架以及技术可行性分析后,可以确定本图书推荐管理系统的主要技术点是可以基本实现的。3.1.3操作可行性本图书推荐管理系统,主要分为图书管理方面和后台管理方面。其中图书管理主要是可以对书籍进行查询以及新增,对图书作者信息进行调整等,而后台界面则包含图书信息管理以及用户信息管理。界面比较简单且具备成熟的基础,符合系统开发条件。基于前文技术操作的成熟性以及开源框架,从系统的功能操作来看,该系统的开发是可行的。3.2需求分析3.2.1数据需求分析通过功能需求分析的设计,需要在明确系统功能设计的前提条件下,对数据需求进行合计分析。本图书推荐管理系统的数据会于大量产生于图书借阅信息,以及用户注册的个人信息等。数据的传输利用框架集成的注解方式来更新数据,不需要重新加载。系统产生的数据会保存在数据库中,仅对开发人员开发,用户只能对系统中未做权限设置的功能进行操作修改,如查询图书馆书籍、修改个人信息等等。3.2.1性能需求分析性能需求主要为了解决使用时不会出现卡顿、无法跳转、操作无效、响应不及时等方面的问题。本图书推荐管理系统与性能需求有着密切关联。在操作上,当用户对书籍进行借阅时,要求系统能够及时响应请求,通过映射关系,将数据传输到后台,防止出现一本书籍多人借用的情况。在界面设计上,需要确保权限设置的准确性。性能需求与实用性是图书推荐管理系统的关键,因此,在本系统开发过程中,需要确保系统的精准性以及高效性。3.2.2功能需求分析实现图书推荐管理系统,自动为用户推荐书籍是其亮点之一,本系统通过基于mahout算法库来进行随机推荐,用户登录后系统书籍将会自动绑定用户账号返回给系统中,由此为用户实现推荐功能。在整个图书推荐管理系统中,最为核心的就是展示所有可借阅书籍的图书信息。对于管理员来说,主要功能是进行图书的管理和人员的管理。3.3本章小结本章节主要对系统的可行性和需求两方面进行研究,评估系统在研发时可能会遇到的问题并进行了具体性的分析。4系统设计4.1系统功能模块设计本系统按权限分配来划分,分为用户和管理员两部分组成。用户可以进行注册,对图书信息进行浏览查询,如果有感兴趣的书籍也可以进行借阅。管理员除了拥有用户的基本功能外,还能对用户的信息进行操作。具体功能结构如下图所示。4-1功能结构图4.1.1推荐功能模块设计图书推荐功能主要是基于mahout的推荐系统,通过数据库的JDBCDataModel来推荐,将推荐出来的书籍返回给用户展示。4-2推荐功能流程图4.1.2借阅功能模块设计图书借阅功能主要提供给用户进行书籍借阅,同时伴随归还操作,数据库中需要对图书的编号id进行处理,如果书籍不存在或已被借出,则借阅操作失败。4-3借阅功能流程图4.1.3检索功能模块设计图书检索功能是读者用户和管理员用户经常需要执行的操作,图书检索支持模糊查询和精确查询,用户可以在该模块设置检索条件,根据图书名称、作者等条件进行搜索,也可以不设置查询条件,系统将默认返回所有值。REF_Ref28410\r\h[7]4.1.4图书信息管理模块设计图书信息管理功能主要面向后台管理员,管理员需要根据实际情况对书籍的信息进行操作,例如编辑作者名称,删除重复信息数据等。4.1.5人员信息管理模块设计人员信息管理功能权限只对管理员进行开放,它记录着所有人员的信息数据,新用户进行注册后自动写入后台数据库,后台管理员可以对人员信息进行删除、冻结等,用户可以对个人信息及密码进行修改编辑。4-4人员信息管理流程图系统总体功能模块图如图4-5所示。图4-54.2系统数据库设计4.2.1数据库E-R图设计完成系统最核心的部分就是设计底层数据库,一个逻辑思维缜密、表结构规范的数据库不仅方面我们进行业务的设计,而且维护起来也非常方便,数据也能够一目了然。本系统数据库如下图4-2E-R图设计。图书推荐管理系统总体E-R图,如图4-2所示图4-24.2.2数据库设计表用例设计根据本文所开发的图书推荐管理系统的E-R图设计和对实际需求进行分析,系统数据信息表如下:表4-1管理员信息表(org_user)字段名数据类型允许非空说明idint(11)noiduser_idvarchar(20)no用户iddept_idint(11)no所属部门user_pwdvarchar(100)no密码user_namevarchar(20)no中文名phone_numbervarchar(20)yes联系电话sort_numberint(11)no排序creatervarchar(200)yes创建者create_timedatetimeyes创建时间update_timedatetimeyes更新时间updatervarchar(20)yes更新者freeze_statusbit(1)yes冻结状态表4-2图书信息表(book)字段名数据类型允许非空说明idint(11)noauthor_idint(11)no作者dic_categoryint(11)no分类dic_channeltinyint(11)no频道IDdic_serial_statustinyint(4)no连载状态online_statusbit(1)no状态:0下架,1上架book_idvarchar(20)no图书idbook_namevarchar(255)no图书名称book_scoretinyint(4)no图书评分key_wordvarchar(150)yes关键词img_urlvarchar(200)yes封面author_namevarchar(50)yes作者名称introductiontextno简介word_countint(11)no字数creatervarchar(20)yes创建者create_timedatetimeyes创建时间update_timedatetimeyes更新时间updatervarchar(20)yes更新者表4-3作者信息表(book_author)字段名数据类型允许非空说明idint(11)yesnamevarchar(100)yes作者名称introductionvarchar(5000)yes作者简介head_img_urlvarchar(200)no头像附件URLcreatervarchar(20)yes创建者create_timedatetimeyes创建时间update_timedatetimeyes更新时间updatervarchar(20)yes更新者表4-4借阅信息表(book_checkout)字段名数据类型允许非空说明idint(11)yesbook_idint(11)no书籍iduser_idint(11)no用户idstatevarchar(1)no借还状态borrow_timedatetimeno借出时间return_timedatetimeno归还时间4.3本章小结本章节主要介绍系统各模块的总体设计,通过E-R图的形式展示系统数据库设计的目标。5系统实现5.1数据库连接本文所开发的图书推荐管理系统,采用了Mybatis框架技术和redis连接工具进行数据库的配置和连接,在application-dev.yml文件中进行了配置:图5-1application-dev.yml连接代码图5-2application-dev.yml配置代码5.2系统功能5.2.1系统登录图5-3系统登录页面在系统登录页面,用户需要输入账号密码进行登录,在系统登录过程中,系统将自动判断当前登录用户为前台用户或管理员,并进行权限设置。系统登录的关键代码如下:5.2.2用户注册新用户需要点击用户注册进行图书管理系统的账号注册,才可对本系统进行操作。当信息录入系统后,才能对书籍进行借阅。图5-4用户注册页面用户注册的关键代码如下:5.2.3图书推荐图5-5图书推荐页面本图书推荐管理系统会随机进行10本书籍的推荐,关键代码如下:5.2.4图书信息管理管理员可以对所有图书信息进行浏览操作,还可对检索出来的书籍进行编辑、删除操作等。若在本系统中无所检索书籍,可手动对书籍进行添加。图5-6图书信息管理页面图书信息管理的关键代码如下:(1)查看图书:(2)创建图书:(3)更新图书:(4)删除图书:5.2.5人员信息管理用户进行登录后,系统会自动判断该用户是用户角色还是管理员角色,如果是管理员角色则会自动授予人员信息管理权限。管理员可以对该图书系统所有信息进行总览,人员信息按注册时间进行排序。除此之外,管理员可以对人员信息进行新增、删除、修改以及冻结。图5-7人员信息管理页面人员信息管理的关键代码如下:(1)新增用户:(2)修改用户:(3)删除用户:5.2.6修改密码用户可在修改密码页面对本人信息进行编辑,管理员可对所有用户信息进行操作修改。修改密码的关键代码如下:5.3本章小结本章节对系统的功能子模块设计进行了详细分析。6系统测试6.1测试目的系统测试是项目最终任务且十分重要,由于研发人员在开发阶段注重的往往都是代码的逻辑性,很少会关注模块之间的逻辑问题,代码一旦整合,模块可能会出现冲突,就会产生系统缺陷。虽然如今开发框架已经十分成熟,但在实际开发应用中依然会遇到很多问题。所以在系统开始投入使用之前,为了保证系统的质量,都需要对系统进行检测,最后根据测试文档提出的bug进行修复,才可将系统正式上线使用。6.2测试环境不同的系统兼容性也不一样,可能会导致测试结果出现差异,在此我列举出本次测试系统的测试环境:操作系统:Windows10浏览器:谷歌、IE服务器:redis运行内存:16G处理器:Inteli7-8750H6.3测试方法6.3.1单元测试单元测试指对系统的整体进行测试,主要是为了检测出系统的完备性,功能是否完善等等。它类似于软件测试的黑盒测试,即在不知道系统内部构造的前提下,对系统进行整体测试,测试前需要

温馨提示

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

最新文档

评论

0/150

提交评论