【《基于Java的社区图书管理系统的设计》14000字(论文)】_第1页
【《基于Java的社区图书管理系统的设计》14000字(论文)】_第2页
【《基于Java的社区图书管理系统的设计》14000字(论文)】_第3页
【《基于Java的社区图书管理系统的设计》14000字(论文)】_第4页
【《基于Java的社区图书管理系统的设计》14000字(论文)】_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

——1引言随着互联网时代的到来,当今社会关注的焦点也包含着不断涌现于人们生活里及各个不同领域中的“共享经济”,它不仅作为移动互联网的产物也已经成为社会服务体系中很重要的一股力量,有许多新技术与新媒体的出现也都促进着共享经济的兴起REF_Ref31880\w\h。并且在当今知识经济时代,生活水平的提高让人们对知识的需求也不断地增长,知识对人们来说是生活的必需品,知识与每个人的生存也息息相关,为此人们会去购买很多自己想要阅读的纸质书籍以获取更多资讯。但是互联网的高效与便捷也在不断地对这些纸质图书资源造成冲击,如碎片化时间被手机占领,越来越多的人会更喜欢在电子设备上阅读电子书籍;也有很多人因为一时冲动去购买了很多书籍结果买回来翻了几页就不再感兴趣了。有许多现象都表明大量的纸质图书资源将会被闲置,因此为了解决这个问题,开发设计一个免费、便捷的社区图书管理系统显得尤为重要,它可以把传统的纸质闲置图书和互联网思维融合起来,并与当下热门的共享经济相结合,通过实行图书共享的机制来打破当今社会下传统纸质图书发展的瓶颈,这个系统不仅能够满足用户之间的图书资源共享需求,还能在各种功能和性能上也更好的满足用户的体验[1]。在“互联网+”的背景下网络用户迅速膨胀,计算机技术在不断发展以及近两年共享经济的兴起都说明着利用互联网技术在多个领域的应用必须不断扩展开来,也正是因为共享经济的崛起让图书的共享正式拉开了序幕。毕竟在日常生活中,每个人手头上都有着不少好书闲置着,有的束之高阁、有的不再去翻阅,还有的像废纸一样论斤贱卖最终变成了纸浆,所以针对社区用户打造功能强大的社区图书管理系统这个课题具有十分重要的研究意义。此系统在共享经济的理念下利用互联网技术来开发的,它能让闲置图书被赋予新的使命,能够高效实现图书管理的规范化,能实现闲置图书资源的回收再利用,还能实现用户之间的互相共享、互利互惠。不仅仅是为了让资源高效流通起来,这更是文化价值无声的传递,大家能提升自己精神文化营养、丰富自己的知识储备[2]。

2系统需求分析2.1系统可行性分析(1)在技术方面:本系统开发是基于JAVA语言和MySQL数据库的,还采用了JAVA常用的Spring框架,网页总体布局及样式基于HTML5和CSS3技术去进行设计的,在这基础上使用了intellijidea此开发工具来完成数据库的连接及一系列的操作。系统人员在开发之前已经对这些技术深入研究,也具备了一定的能力去设计和实现该系统,所以在技术方面来说是可行的[3]。(2)在经济方面:一个系统的开发也要考虑到成本问题,随着现今科学技术的进步与发展,计算机硬件性能也在不断提升,该系统的开发是可以在Windows系统中任意版本操作进行的,极大程度节省了在硬件方面的费用。并且开发和管理费用都很低,每天的维护和更新都很简单,所以在经济方面来说是可行的[4]。(3)在操作方面:现今互联网的飞速发展,喜欢在网上冲浪的选手也越来越多,大家生活在这种环境下都能够很快的上手操作各种软件或系统。而该系统的界面设计简洁明了,各项操作也都很简单,对于使用者和后台管理员来说都是能够很方便的去使用此系统的功能,所以在操作方面来说是可行的[5]。2.2用户需求分析(1)用户注册:社区用户进入该系统首页想要获得更多功能需要先给自己注册一个帐号,填写相关信息注册成功后,数据会传输到后台管理员那边进行审核。(2)审核登录与注销:给用户设置一个审核帐号机制,后台管理员审核信息成功后用户才可以登录自己的帐号,也会拥有自己的个人用户中心页面。用户也可以选择登录之后使用完用户中心的功能,然后注销退出自己的帐号。(3)查看共享图书列表与详细信息:用户可以在前台查看社区用户共享出来的图书列表以及图书的各类信息,如图书名称、类别、简介、现有库存数量等,点击任何一本图书的名称还能显示该本图书的相关详情页介绍界面[6]。(4)查看个人资料:登录后用户可以进入自己的用户中心界面,查看自己的个人资料,个人资料包含了用户注册时所填写的信息,但个人密码不会展示。(5)借阅共享的图书:在前台的图书列表中浏览完相关共享图书的信息后,用户可以进入个人用户中心里面的图书共享记录列表中,点击“借阅”按钮去借阅该系统上共享者所共享出来的图书。(6)查看已借阅的图书:用户借阅完共享图书后,自己所借阅的图书信息将会展示在已借阅的图书列表中,此时右边会出现有关图书的借阅状态,也就是图书“是否归还”的按钮。(7)归还图书功能:还书的功能是指当用户在该系统用户中心界面的已借阅图书列表中完成还书操作时,系统将产生一个“未归还”的状态按钮,等借阅者(该用户)确认图书已经归还的情况下,还书记录的状态就会变成“已归还”REF_Ref1508\w\h[11]。2.3管理员需求分析(1)权限指派:只有一个超级管理员才有权限访问后台管理界面并进行管理。(2)登录:管理员可以通过管理员名称和密码进入到自己的后台管理界面。(3)用户管理:用户注册成功后,相关注册信息会显示在后台的“用户管理”界面,管理员检查用户所注册的资料并对其进行审核,若用户使用不当的注册信息管理员可以不进行审核,同时也可以将未被审核的用户进行删除,则该用户必须重新注册一个新账号。(4)共享图书类型管理:管理员可以先在后台添加图书类型为后续更好的给共享图书进行归类,添加成功后点击“共享图书类型管理界面”即可浏览图书类型的列表,还可以对这些图书类型进行编辑和删除操作。(5)共享图书信息管理:管理员收集完社区用户提供的共享书籍后,可以在“共享图书信息管理”界面进行图书的添加上传,并将其详细信息展示于前台供用户查看。同时管理员也可以在后台查看所添加的图书信息列表并进行编辑信息和删除图书。(6)图书共享记录管理:管理员可以进入“共享图书记录管理”界面添加哪本图书是由社区里的哪位用户提供出来分享的,添加成功后数据会传送到前台用户中心的共享记录列表中,管理员也能对共享图书记录列表进行编辑和删除操作。3数据库设计3.1概念设计3.1.1实体根据观察需求分析的结果,发现本社区图书管理系统的主要实体有:用户(社区用户)、角色、图书(所共享的图书)、图书类型、管理员(超级管理员)。3.1.2E-R图为了建立概念模型,本社区图书管理系统采用的是E-R图模型,它也称为实体-联系图。它可以很直观的表现出本系统中各个对象的属性以及它们之间存在的联系。E-R图中用矩形框、椭圆图框、菱形框来分别代表实体型、实体的属性、实体型之间的联系成因,如果它们之间有着相应的关系就可以利用实心线段来进行连接,同时在线旁边标上联系的类型(1:1一对一、1:n一对多、m:n多对多)。图3-1系统E-R图如图3-1所示,为本社区图书管理系统的E-R图。从图3-1中可知,角色和管理员是一对一关系;管理员和用户是一对多关系,管理员和图书是一对多关系,图书类型和图书是一对多关系;图书和用户之间是多对多关系。3.1.3实体属性(1)管理员:管理员实体集的属性包含管理员编号、管理员名称、密码、超级管理员、角色编号、添加时间。管理员根据输入管理员名称和密码去进行后台管理的登录;管理员属于角色,它们是一对一关系,也就是说先将一个角色添加到数据库后能够去添加一个管理员,本系统的这个管理员就是超级管理员,拥有权限管理所有后台功能;添加时间表示添加该管理员的时间。具体如图3-2所示:图3-2管理员属性E-R图(2)角色:角色实体集的属性包含角色编号、角色名称、权限列表、添加时间。具体如图3-3所示:图3-3角色属性E-R图(3)用户:用户实体集的属性包含用户编号、用户名称、地址、手机号、密码、用户头像、状态、添加时间。其中名称、地址、头像、密码、手机号为用户注册时所需要填写的信息,其中的状态为管理员对用户注册成功后的审核状态,只有通过审核的用户才能用注册时填写的用户名称和密码进行前台的登录;添加时间表示该用户完成注册的时间。具体如图3-4所示:图3-4用户属性E-R图(4)图书类型:图书类型实体集的属性包含类型编号、类型名称、类型简介、添加时间。具体如图3-5所示:图3-5图书类型属性E-R图(5)图书:图书实体集的属性包含书籍编号、书籍名称、(库存)数量、图书图片、简介、类型编号、添加时间。图书类型和图书是一对多关系,也就是一种图书类型里面可以包含多本不同的书籍;而管理员和图书是一对多关系,也就是该名管理员可以在后台管理界面对多本图书进行管理,例如对图书的书籍名称、数量、图片、简介和类型这些信息进行管理。具体如图3-6所示:图3-6图书属性E-R图(6)共享:用户与图书之间存在共享联系,可以把共享当成一个实体集单独分析。共享实体的属性包含共享编号、用户编号、书籍编号、添加共享时间。用户和图书存在多对多关系,也就是一本书籍可以被多名用户拿出来进行共享,一名用户也可以共享多本书籍出来给大家。而管理员有权限管理这个共享,管理员每添加一次共享记录就会有专属的共享编号,记录中会出现书籍编号和用户编号,即哪本图书是由哪位用户所共享的。具体如图3-7所示:图3-7共享属性E-R图(7)借阅:用户与图书之间的存在借阅联系,可以把借阅当成一个实体集单独分析。借阅实体的属性包含借阅编号、用户编号、共享书籍编号、借阅时间、状态。用户和图书存在多对多关系,也就是一本书籍可以被多名用户借阅,一名用户也可以借阅多本书籍。用户登录后可以在用户中心的共享图书记录里对那些被其他用户共享出来的图书进行借阅;而状态就是该图书的借阅状态(所借阅的图书是否归还)。具体如图3-8所示:图3-8共享属性E-R图3.2数据库逻辑设计3.2.1管理员表管理员信息表(数据库中表名admin)如表3-1所示,表中存放着管理员的相关信息:如管理员编号(id)、管理员名(name)、管理员密码(password)、超级管理员(is_super)、角色编号(role_id)、管理员的添加时间(addtime)。其中属性id为主键,用来表示一个特定的行,是管理员的唯一标识,不能为空,设置主键自增长就是不需要我们去设置该id,让数据库去自动增加编号去确保生成id的唯一性;属性name为唯一键,把管理员名称设置成唯一的,避免名称的重复且值不能为空;属性role_id为外键,与角色表(role)有着关联设定。表3-1管理员表实体属性表字段数据类型字段长度备注管理员编号idint11主键、非空、自增管理员名称namevarchar80唯一键,非空密码passwordvarchar256非空超级管理员is_superint11非空角色编号role_idint11外键(参考角色role表),非空添加时间addtimedatetime非空3.2.2角色表角色信息表(数据库中表名role)如表3-2所示,存放着角色的相关信息:角色编号(id)、角色名称(name)、权限列表(auth)、添加时间(addtime)。其中属性id为主键,同理这也是角色的唯一标识且值不为空,id能自动增加;属性name为唯一键,设置唯一的角色名称来避免名称重复出现,不能为空。属性Auth表示权限列表,当后台有多位管理员,有些功能是一些管理员没办法使用的,出于安全考虑这也是对部分管理员(一般管理员)的权限进行限制的设定。表3-2角色表实体属性表字段数据类型字段长度备注角色编号idint11主键、非空、自增角色名称namevarchar255唯一键,非空权限列表authvarchar255非空添加时间addtimedatetime非空3.2.3用户表用户信息表(数据库中表名user)如表3-3所示,存放着用户的相关信息:用户编号(id)、用户名称(name)、用户地址(address)、用户手机号(telephone)、用户密码(password)、用户头像(img)、用户状态(state)、用户的添加时间(addtime)。其中属性id为主键,是用户的唯一标识,int类型且非空自动增加;属性name为唯一键,为了避免用户名重复,varchar类型;属性state为管理员对用户的审核状态,default=0设定为管理员还没有审核,default=1设定为管理员已经审核。通过审核的用户才可以进行登录并且可以进入到前台的个人用户中心。表3-3用户表实体属性表字段数据类型字段长度备注用户编号idint11主键、非空、自增用户名称namevarchar255唯一键,非空地址addressvarchar255非空手机号telephonevarchar255非空密码passwordvarchar256非空用户头像imgvarchar255非空状态stateint11默认状态为0、default=0设定为没有审核、default=1设定为已审核添加时间addtimedatetime非空3.2.4图书类型表图书类型信息表(数据库中表名booktype)如表3-4所示,存放着图书类型的相关信息:类型编号(id)、类型名称(name)、类型简介(info)、类型添加时间(addtime)。其中属性id为主键,id自动增加,数据类型为int且最大显示宽度为11,属性name和info的varchar是可变长度的字符类型,字段长度255。表3-4图书类型表实体属性表字段数据类型字段长度备注类型编号idint11主键、非空、自增类型名称namevarchar255唯一键,非空实体属性表字段数据类型字段长度备注简介infovarchar255非空添加时间addtimedatetime非空3.2.5图书表图书信息表(数据库中表名book)如表3-5所示,存放着图书类型的相关信息:类型编号(id)、类型名称(name)、类型简介(info)、类型添加时间(addtime)。其中属性id为主键也是书籍的唯一标识,设置int类型并且自增长;属性name为唯一键也就是用来避免书籍的名称重复,值不为空。属性booktype_id为外键,与图书类型表(booktype)有着关联设定,想要知道这本书的是属于哪个类型的,就需要从booktype表中来获取图书类型的id,外键起着一个约束作用。表3-5图书表实体属性表字段数据类型字段长度备注书籍编号idint11主键、非空、自增书籍名称namevarchar255唯一键,非空数量numbervarchar255非空图书图片imgvarchar255非空类型编号booktype_idint11外键(参考图书类型booktype表),非空添加时间addtimedatetime非空3.2.6图书共享记录表图书共享记录信息表(数据库中表名sharebook)如表3-6所示,存放着共享图书的相关信息:共享书籍编号(id)、用户编号(name)、书籍编号(info)、回收时间(returntime)。其中属性id为主键,是该共享书籍的唯一标识,非空并且id自动增长;该表有2个外键,属性user_id和book_id,分别与用户表(user)和图书表(book)有着关联设定,也就是想要知道提供这本要共享的书籍是哪个用户的以及这是哪一本书,就需要从user表和book表中来获取用户和书籍的id;属性returntime其实也就是代表着管理员把用户要共享的书籍回收过来并在后台图书共享管理中添加该共享图书记录的时间(添加共享时间)。表3-6图书类型表实体属性表字段数据类型字段长度备注共享编号idint11主键、非空、自增用户编号user_idint11非空书籍编号book_idint11非空回收时间returntimedatetime非空3.2.7借阅共享图书表借阅共享图书信息表(数据库中表名book)如表3-7所示,存放着借阅共享图书的相关信息:借阅编号(id)、用户编号(user_id)、共享书籍编号(sharebook_id)、借阅时间(borrowtime)、借阅状态(borrowstate)。其中属性id同样都是设为主键,并且该值不能为空,设置自增长;该表有2个外键,属性user_id和sharebook_id,分别与用户表(user)和图书共享表(book)有着关联设定,也就是用户登录后进入个人用户中心想要去借阅共享书籍,要让用户能够看到是哪一个用户共享出来的哪一本书,就需要从user表和sharebook表中来获取用户和共享书籍的id;属性borrowstate为用户借阅状态,default=0设定为用户还未归还书籍,default=1设定为用户已经归还书籍。表3-7借阅图书表实体属性表字段数据类型字段长度备注共享编号idint11主键、非空、自增用户编号user_idint11非空共享书籍编号sharebook_idint11非空借阅时间borrowtimedatetime非空借阅状态borrowstateint11默认状态为0、default=0设定为没有归还4系统设计4.1系统总体设计对该系统分析完并且进行完数据库设计后,就可以开始对该系统进行设计了。该项目分为前台界面和后台界面,将设计出社区图书管理系统运行时需要的一些功能,例如前台的用户注册功能设计、用户登录功能设计、用户模块的功能设计;后台的用户登录功能设计、管理员模块的管理功能设计。4.2用户注册功能设计用户进入系统首页的登录界面后,还没有注册的用户需要进入注册界面填写输入用户名、密码、地址、手机号等注册信息后,再上传属于自己的头像,点击“注册”按钮进行注册。此时这些注册的信息就会传送到后台管理员的用户管理界面,然后管理员将会对注册的用户信息进行审核,审核成功之后,用户才可以在前台进行输入用户名和密码来登录。如果管理员没有审核通过,那么用户就没有办法进行登录。具体功能的实现过程需要先从系统前台将数据提交至系统后台管理员那边。用户注册模块的功能流程图如图4-1所示。图4-1用户注册模块的功能流程图4.3用户与管理员登录功能设计首先对于用户来说如果后台管理员没有审核通过,那用户去进行登录就会显示用户审核还未通过,这时就需要再进行一次新帐号的注册;如果后台管理员审核通过,那用户就可以进行登录。其次对于用户和管理员两者的登录来说,用户或管理员输入自己的用户名(账号)和密码来提交表单信息,数据库将判断用户或管理员提交的账号名称是否存在,如果不存在的话,就会在前台登录界面显示“账号不存在”;数据库还会判断帐号和密码是不是与注册时的数据一致,如果数据一致就会登录成功,如果数据不一致就会在前台登录页面显示“账号或密码不正确”,此时需要重新在登录界面中输入正确的账号密码。用户与管理员登录模块的功能流程图如图4-2所示。图4-2用户与管理员登录模块的功能流程图4.4用户模块的设计没有注册账号且没有登录用户归为访客身份,只能在前台查看共享图书列表的信息及相关图书详情页面;登录成功的用户,除了登录之前身为访客在系统前台上查看的信息之外,还将拥有属于自己的一个用户中心页面。用户进入自己的用户中心页面后,用户中心的页面将会显示个人资料信息、社区图书共享记录信息以及自己已借阅的图书信息。用户可以查看自己的注册时所填写的个人资料信息;可以查看社区图书共享记录并且去借阅他人共享上来的图书;借阅成功后,用户还可以在已借阅的图书列表中查看所借阅的图书还可以进行归还图书[7]。前台用户模块的功能流程图如图4-3所示。图4-3前台用户模块的功能流程图4.5管理员模块的设计该系统的后台是专门为管理员设计的,管理员只有登录账号后才能对该系统进行后台管理。管理员登录成功后就可以进入到后台管理的主页面,可享受管理员该有的各项权限和功能,例如能够对用户、图书类型、图书信息、图书共享记录等数据信息进行管理。管理员可以选择上述任意模块进行增、删、改、查等一系列操作。并且在用户管理这一块,管理员还可以对用户注册新账号的信息是否合规进行审核与删除。管理员模块的功能流程图如图4-4所示。图4-4后台管理员模块的功能流程图5系统实现5.1前台实现5.1.1注册功能前台首页顶部有导航栏部分,导航栏部分都能实现正常的跳转,用户还没登录时进入前台的身份状态为访客,当用户有注册账号的需求时就可以点击前台首页右上角的注册/登录图标进入到注册/登录的页面。注册需填写用户帐号、地址、手机号、密码、确认密码以及上传头像,当用户注册成功后就会显示“用户注册成功!”的提示。此时这些数据将会传送到后台等待管理员的审核,只有管理员审核通过了才可以进行下一步的登录操作。注册功能的部分实现代码如下所示。Subjectsubject=SecurityUtils.getSubject();UsernamePasswordTokentoken=newUsernamePasswordToken(admin.getUsername(),admin.getPassword());RespBeanrespBean=null;try{subject.login(token);respBean=respBean.ok("登录成功");}catch(AuthenticationExceptione){respBean=respBean.error("用户名或密码错误!");token.clear();}return….;5.1.2登录功能登录界面上方有一个绿色小按钮,点击左边“小房子”图标可以回到前台首页,点击右边的“Login”可以跳转到登录界面。用户注册成功后点击Login绿色小按钮到登录界面并输入刚刚注册的帐号和密码进行登录。登录界面正常显示,用户输入刚刚注册的账号与密码进行登录,如果后台管理员未审核该账号,那么将会显示“用户审核还未通过!”的提示。如果后台管理员审核通过了该注册的账号,那么用户可以进行正常登录,若用户输入的帐号是没有注册过的帐号,那么会出现“帐号不存在!”的提示;若用户输入的账号和密码与刚刚注册的不一致,那么会出现“帐号或密码不正确!”的提示;只有用户输入了正确的账号密码才可以登录成功并直接跳转到前台首页,首页右上角将会显示“用心中心:登录中”,代表用户登录成功了。5.1.3图书列表功能前台图书列表显示界面正常,图书列表为后台管理员收集完社区用户所要共享的书籍后,去后台上传有关共享图书的数据到前台页面供用户可以点击并查看图书列表中各项共享图书信息的展示,如书籍名称、书籍图片、所属于的图书类别、目前库存数量还有多少。并且点击某一本图书的名称也会跳转到与该书相关的详情页,里面会有更多详情介绍。图书列表功能的部分实现代码如下所示。具体核心代码如下所示://显示图书信息TableBean<Book>tb=newTableBean<>();List<Book>allBooks=bookService.getAllBooks(o);intcount=bookService.count(o);tb.setData(allBooks);tb.setCount(count);…//删除图书信息intborrowById=borrowService.getCountById(bId);if(borrowById>0){returnrespBean.error("不能删除,该书还有同学未还");}returnbookService.deleteByPrimaryKey(bId);5.1.4用户中心功能(1)个人资料:用户登录成功后会生成一个属于用户个人的用户中心,未注册登录的访客没有这个界面,用户可以进入到个人用户中心去查看个人资料,也就是自己注册时除了密码之外用户所输入的信息。界面上方的绿色小按钮均能实现跳转到相应页面的功能,点击左边“小房子”图标可以回到前台首页,点击右边的“用户中心”也可以成功跳转到用户中心首页也就是个人资料界面。(2)图书共享记录:还能看到后台管理员从后台上传至前台用户中心界面的共享图书记录(有设置翻页功能):包含共享图书的图书名称、共享者、剩余可借阅的图书数量等信息,用户可以享受借阅共享图书的功能。界面上方的绿色小按钮均能实现跳转到相应页面的功能,用户可以在借阅图书前点击按钮右边的“图书列表”回到图书列表界面查阅相关共享图书的各类信息。例如点击《你是人间的四月天》旁边的借阅按钮,借阅成功后会出现“借阅图书成功!”的提示。所借阅的图书会显示在已借阅的图书列表中;如果再次借阅刚刚已经借过的《你是人间的四月天》这本书籍,就会出现“借阅图书失败,图书已经在已借阅的图书列表!”。具体核心代码如下所示:/*用户管理功能核心代码*/<templatev-slot:customTitle><SmileOutlined/>头像</template><templatev-slot:type="{text}">【管理员','用户'】【text】</template><templatev-slot:action="[text]"><a-buttontype="primary"@click="getRecord(text)"少查看借阅记录</a-button></template>(3)已借阅的图书:用户还可以享受点击归还按钮去归还图书并查看借阅状态:其中归还功能有设置状态,归还成功的话按钮会从“未归还”变成“已归还”,并出现“图书借阅状态更新成功!”的提示。5.1.5用户注销(登出)功能若用户不想继续在系统登录目前登录中的账号或者想要切换其他账号进行注册与登录,可以到任何页面的顶部导航栏处,点击“用户中心:登录中”旁边的“注销”功能,就可以退出登录。退出登录后就变成访客的身份浏览该社区图书管理系统,则用户中心的界面也会跟着消失。5.2后台实现5.2.1管理员登录功能用户和管理员都有着属于自己各自登录的页面,前台提供给用户去体验和浏览,后台则为管理员管理后台数据。后台管理员的登录功能类似于前台用户的登录:如果管理员输入的帐号是没有注册过的帐号,那么会出现“帐号不存在!”的提示;若管理员输入的账号和密码与刚刚注册的不一致,那么会出现“帐号或密码不正确!”的提示;只有管理员输入了正确的账号密码并登录成功的情况下,网页就会直接跳转到后台管理界面的首页。具体核心代码如下所示。gPostMapping("/register")publicResultregister(BRequestBodyOrgUser⁸0record){record.setSortHumber(1);record.setRoles(newInteger[]{2});returnorgUserService.create(record);5.2.2管理员注销(登出)功能若管理员想退出登录可以到导航栏的右上方点击自己的头像,然后点击列表中的“退出”按钮。登出后系统会自动回到后台登录界面。具体核心代码如下所示。@PostMapping("/doLogin")publicMap<String,Object>doLogin(HttpServletRequestrequest,HttpServletResponsesavedRequest=WebUtils.getsavedRequest(request);Params.build(params).cleanEmpty();=p.getString(key:"userId");p.getString(key:"pwd");=p.getString(key:"remenber");if(StringUtils.isBlank(remenber)){remenber="1";}response,@RequestBodyMap<String,Object>map=loginservice.doLogin(userId,pwd);if((Boolean)map.get("success")==true){Stringurl=null;if(savedRequest!=null){url=savedRequest.getRequesturl();}if(savedRequest==nullllurl.equals("/")llurl="system";}map.put("url",url);//登录成功创建Cookie5.2.3管理员审核用户功能因为系统设计部分有对前台用户的注册设定一个审核机制,所以每一个在前台注册的用户都需要等待后台管理员的审核通过后才可以登录自己的账号[8]。后台管理员审核用户功能在界面左侧栏的“用户管理”处的下拉框“用户列表”实现,点击列表进入后管理员可以查看到前台用户当时注册时填写的所有信息除了用户密码,因为用户的密码有进行过加密设置所以不会显示出来,这也确保了用户信息的一个安全性。接下来管理员就可以进行对用户信息是否合规的“审核操作”和“删除”。其中审核功能有设置状态,审核成功的话按钮会从“未审核”变成“已审核”,并出现“用户审核成功!”的提示;删除用户就会出现“用户删除成功!”的提示。//添加借阅者信息StringstudentId=UuidUtil.getShortUuid();Stringpassword=null;Stringicard=userb.getIdCard();if(icard.length()>6){password=icard.substring(icard.length()-6);}….returnuserService.insertSelective(userb);//查找用户借书记录TableBean<Borrow>tb=newTableBean<>();List<Borrow>borrows=borrowService.getBorrowsByIds(ids);tb.setData(borrows);returntb;5.2.4管理员管理功能模块介绍除了上方的用户管理的审核用户功能之外,管理员收集完社区居民所共享出来的书籍后,还可以在后台进行相关的图书管理,并把一些数据传送至前台供用户浏览查看。所以管理员还具有对社区这些共享出来的图书进行图书类型管理、图书信息管理、图书共享记录管理的功能。管理员根据自己的需求进入对应的管理模块界面,可以对里面的内容进行增、删、改、查等一系列操作[9]。具体核心代码如下所示。//登录成功//创建CookieCookienameCookie=newCookie(name:"name",URLEncoder.encode(userId,enc:"utf-8"));Cookiepswcookie=newCookie(name:"psw",pwd);//设置Cookie的父路径nameCookie.setPath(request.getContextPath()+"/");pswcookie.setPath(request.getcontextPathO)+"/");logger.debug(remenber+"---");//保存Cookie的时间长度,单位为秒if(remenber.equals("1")){nameCookie.setMaxAge(7*24*60*60);pswcookie.setMaxAge(7*24*60*60);}else{nameCookie.setMaxAge(θ);pswcookie.setMaxAge(θ);}//加入Cookie到响应头response.addCookie(nameCookie);response.5.2.5图书类型管理功能(1)共享图书类型的添加与查看:管理员可以在该模块先进行添加图书的类型,用来后续把那些共享图书进行类型的分类,并将类别展示于前台供用户查看。若图书类型添加成功,就会出现“图书类型添加成功!”的提示,进入设置有分页功能的图书类型列表就可以查看到刚刚新添加的图书类型。(2)共享图书类型的编辑与删除:若想要对图书类型进行编辑,可以点击列表旁边的“编辑”按钮,就会出现“图书类型编辑成功!”的提示;若想要对图书类型进行删除,可以点击列表旁边的“删除”按钮,用户就会出现“图书类型删除成功!”的提示,但要注意这两个功能是不可逆的。具体核心代码如下所示://判断用户是否超过用户自身最大借阅数Userbuser=userService.getUserById(borrow.getUserId());intuserBorrowSum=select.length+user.getBorrowNum();if(userBorrowSum>user.getMaxBorrowNum()){intresult=user.getMaxBorrowNum()-user.getBorrowNum();…}else{//用户不能借同一本书for(inti=0;i<select.length;i++){…Borrowb=borrowService.getBorrowById(bDto);if(b!=null){Bookbook=bookService.getBookById(borrow1.getbId());return…;}}booleanisTrue=true;StringBuilderstr=newStringBuilder();…5.2.6图书信息管理功能管理员对共享图书信息的管理也是也可以进行增加、修改、删除、查看列表显示的一系列操作,每个模块的管理功能基本都是类似的,且都可以正常运行实现这些功能。在图书信息管理功能这边主要介绍图书信息的添加功能测试。管理员点击左边栏“共享图书信息管理”模块选择下拉列表的“图书添加”,就可以开始进行添加的操作。添加的这些图书信息都是根据社区用户所共享出来的相关图书信息进行填写的,后续这些信息会传送到前台的图书列表供用户查看。其中因为数据库外键的设计,所以管理员先添加完图书类型后,这边添加图书是可以选择该本图书是哪个类型的。添加界面还能上传所添加图书的图片以及编写图书的简介,若图书添加成功,就会出现“图书添加成功!”的提示;若添加图书没有上传图片那么后台系统将会以系统设计时设置的默认图书图片显示出来。具体核心代码如下所示:);//推荐书本L4st<ReceomeendedItes)recommendedItesl4st-recommender.recomend(userld,howany);Lstelong?iteslds-meArrayllstc->();for(RecomeandedItenrecommendedItem:recoeendedftesllst){Systos.out.println(recomeendedItom);Iteslds.sdb(recomeendedftem.getttemlD();》Systen.out.println(-推带出来的书本1如期合“+itemlds);//根据高品1d查请高品45(Ateslds!-lsaltemlds.slze()8){llst-iteshapper.findAl¹Bylds(Atemlds);}else(llst-newArrayllst<>();)Systen.out.prdntln(“推荐数量:“+llst.stze()+耗时:“+(Systes.currentFimeHfllts()-start));}catch(Tastefxceptlone){e.prAntStackTrace();)return5.2.7图书共享记录管理功能由于图书共享记录管理功能的编辑、删除、查看列表显示这些操作都和其他管理模块功能类似,且都可以正常运行实现功能。所以在图书共享记录管理功能这边主要介绍图书共享记录的添加功能测试REF_Ref1508\w\h[10]。管理员点击左边栏“图书管理”模块选择下拉列表的“图书列表”,就可以开始进行添加的操作。由于数据库外键的设计,这边共享记录会涉及到用户选择和图书选择,也就是哪一位社区用户提供的哪一本图书我们将进行数据的添加,并共享该图书至前台用户登录成功后的“用户中心”界面的图书共享记录列表中,供前台用户去进行查看与借阅。若共享记录添加成功,就会出现“共享图书记录添加成功!”,后台管理员进入“图书管理列表”中不仅可以查看刚刚添加的共享者和图书名称,还可以查看更多信息。具体核心代码如下所示:if("w".equals(o.getState())){…Borrowborrow=borrowMapper.getBorrowById(bDto);if(borrow!=null&&borrow.getRenewCount()<=3){if(borrow.getRenewCount()==0){o.setRenewCount(1);}else{o.setRenewCount(borrow.getRenewCount()+1);}//时间加一个月…}else{returnrespBean.error("续借次数超过三次,不能在续借!");}}inti=borrowMapper.updateByPrimaryKey(o);if(i==1){respBean=respBean.ok("成功");if(!o.getState().equals("w")){try{//添加到归还表…//还书成功后返回图书库存…//返还用户借阅数…}catch(Exceptione){LOG.info("还书出错",e);}}}else{respBean=newRespBean().error("失败");}return…;6系统测试6.1测试概述经过对于社区图书管理系统的需求分析、系统设计以及系统实现三个阶段,已经完成了对于整个系统的开发,按照软件敏捷开发思路,完成系统的开发后要对系统的各个功能模块进行测试[11],测试不仅包含功能测试,还要包含系统的性能测试,性能测试将借助工具来完成测试。6.2测试用例针对系统用户角色以及管理员角色的主要功能,对于系统部分主要功能的测试结果将通过测试用例的方式进行介绍。具体测试情况如表6-1所示表6-1社区图书管理系统测试用例用例简述图书管理系统相关功能编号A-001功能描述用户角色注册后登录系统,可以在线查看商品,并进行在线下单。测试数据数据项有效数据1、用户账号和密码2、用户的个人信息1、用户的账号和密码2、登录用户的信息测试要点操作步骤:(1)系统油耗输入账号和密码;(2)登录成功后进行相应操作流程;(3)信息的协同处理测试步骤序号操作内容预期结果测试结果1用户登录系统登录成功与预期一致2查看图书信息可以查看系统所展示的图书信息与预期一致3借阅图书可以选择图书信息并进行借阅与预期一致4归还图书可以选择图书信息并进行归还与预期一致5新增图书信息可以新增图书信息与预期一致6维护图书分类信息可以正常维护图书分类信息与预期一致7维护用户信息可以正常维护注册用户信息与预期一致6.3测试界面图6-1用户注册界面及注册成功提示图6-2用户登录界面及提示功能图6-3图书列表界面及相关详情页图6-4用户中心个人资料图6-5图书共享记录界面及借阅提示图6-6已借阅的图书界面及状态提示图6-7用户注销(登出)功能图6-8管理员登录功能图6-9管理员注销(登出)功能图6-10管理员审核用户功能图6-11管理员的管理模块图6-12管理员对图书类型的添加与查看图6-13管理员对图书共享记录的管理--添加6.3测试结果分析通过对社区图书管理系统的测试,社区图书管理系统的各个功能都已经完成开发实现,并且各个功能的测试用例都已经测试通过,并且对于系统的多功能协同测试已经完成,按照系统的思路对于系统的集成测试已经完成并通过测试

温馨提示

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

评论

0/150

提交评论