版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
保险用户推荐系统设计摘要近年来,互联网的发展速度愈来愈快。所以各种用户信息资料也成比例的上涨。保险行业里数据上涨的现象十分明显。保险产品种类繁多,而消费者想在数量庞大的保险产品中找到十分适合自己的也变得相应的艰难了起来。这时本系统的研究应用就有了现实的基础。本用户推荐系统前端运用了bootstrap框架,主要运用了SSH框架。其中运用了Java编程语言和市面上最常用的Oracle数据库,连接池为c3p0数据库来进行数据库连接的管理,本项目是maven项目,所有的jar包都是通过maven的pom.xml文件自动添加下载,开发者只需要关注需要的jar包的坐标就可以了。本系统包括用户登陆注册功能,文件的上传下载功能,推荐功能,用户角色管理,保险产品管理,收藏等功能,能够基本满足对不同用户的保险产品推荐的需求,能够大大节约用户寻找适合自己的保险产品的时间,同时在一定程度上也可以节约保险公司销售的成本。关键词:推荐功能;SSH;Java;Oracle;保险用户AbstractInrecentyears,thedevelopmentspeedofInternetisgettingfasterandfaster.Soallkindsofuserinformationdataalsoproportionaltotherise.Thedatariseintheinsuranceindustryisveryobvious.Thereareawidevarietyofinsuranceproducts,andconsumerswanttofindalargenumberofinsuranceproductsverysuitablefortheirownhasbecomecorrespondinglydifficulttogetup.Atthistime,theresearchandapplicationofthesystemhasarealisticbasis.Thefront-endofthisuserrecommendationsystemusesbootstrapframework,mainlySSHframework.UsingJavaprogramminglanguageandthemostcommonlyusedOracledatabaseonthemarket,theconnectionpoolisc3p0databasefordatabaseconnectionmanagement.Thisprojectisamavenproject,andalljarpackagesareautomaticallyaddedanddownloadedthroughmaven'spm.xmlfile.Developersonlyneedtopayattentiontothecoordinatesofrequiredjarpackages.Thissystemincludesauserloginregistrationfunction,fileuploaddownloadfunction,recommendations,userrolemanagement,insuranceproducts,management,collection,andotherfunctions,canbasicallymeettherequirementsoftheinsuranceproductisrecommendedtodifferentusers,greatlysavesthetimeofusersfindsuitsowninsuranceproducts,atthesametime,toacertainextent,alsocansavethecostoftheinsurancecompanysales.alsocansave.Keywords:Recommendationfunction;SSH;Java;Oracle;Insuranceusers目录TOC\o"1-2"\h\u15102第1章绪论 1320041.1课题的意义和研究背景 1262871.2国内外研究现状 186831.3系统技术介绍 2125891.4论文结构框架 3891第2章系统分析 49002.1社会可行性 4267602.2系统功能模块设计 414182.3本章小结 59876第3章功能设计 6117803.1登陆注册 6248283.2用户收藏 644603.3文件的上传下载 6298243.4保险产品的管理 6155613.5推荐 7245323.6数据库概念结构设计 9253873.7数据库表设计 10254243.8本章小结 1122418第4章系统界面设计 1290074.1主页面设计 12296614.2用户角色管理 1384984.3登陆注册页面 14197824.4保险产品管理 14138884.5收藏 15223694.6推荐结果界面 16135014.7本章小结 177072第5章系统测试 18262495.1测试目标 1831045.2登陆功能测试 18206155.3性能测试 19210225.4本章小结 2031620结论 2110051参考文献 2221728致谢 23PAGEPAGE3第1章绪论二十一世纪是互联网时代,从人们的日常出行方式,购物方式,支付方式的转变就可以看出,互联网的出现方便了人类大多数的生活方式,实现了从前不出门也能购买物品的愿望。1.1课题的意义和研究背景互联网近几年的发展速率明显变快,十分迅猛。相应的平台上的用户信息大数据也成正比的方式增加着。线上销售近年来也逐步替代着线下销售的地位。一般来说传统的保险销售都是由线下保险经销者向广大人群推荐对他们来说相应合适的保险产品。当用户以线上的方式,在数量众多的保险产品中挑选出适合自己的那一款,是十分不容易的。同样的,在这基数庞大的众多产品中,包含着许多没有用处的产品。所以如果可以将那些无用的产品剔除掉,这样用户就可以便捷的寻找适合自己的产品。这种做法不仅可以节省用户宝贵的时间,也可以使公司的利润逐步提升。本系统就是通过推荐算法,使用户可以在用最少时间的前提下,更加精准的挑选出自己所要寻找的适合的保险产品。在这样的情况下,可以使公司的利润率稳步上涨。所以本系统的实用性和现实意义都很高。1.2国内外研究现状纵观世界的个性化算推荐法研究,可以发现它变得成熟化。在我国大部分的商业公司都通过运用推荐算法而成功,例如我国国民中比较常用的小红书、快手,阿里巴巴等。国外有以亚马逊为首的软件等。种种迹象皆体现了本系统巨大的价值。现在可以应用的推荐算法种类繁多,例如基于标签的推荐和基于知识的推荐等。但是对于市场上来讲,应用最多的是基于内容的推荐和协同过滤推荐,协同过滤推荐主要分为基于物品的协同过滤推荐和基于用户的协同过滤推荐等。1.2.1基于内容推荐 一般来说分三个部分计算基于内容的推荐系统。第一部会分析用户之前进行的物品最终评价或通过文字来分析用户,并且会依照结论建立用户特征。第二部会根据用户的特征建立与物品之间的联系,计算用户和物品的吻合程度。对用户进行保险产品推荐则是最后一个部分。人无完人,算法也是一样的道理。根据内容的推荐和一件事物一样都有着两面性。在它和协同过滤推荐对比之下发现,所有的用户在内容推荐系统中都是不干扰的独立个体。不能像用户推荐产品这种问题是不存在的,就是常说的冷启动问题。由于新用户的以往的评价即文档等信息系统几乎不能获取到,用户的特征方向也变得很难计算。这样看来这个系统并不是最好的选择。1.2.2基于物品协同过滤推荐基于物品的协同过滤推荐的中心主旨可以这样理解[1]。对比用户曾经喜欢的物品将属性相似的定位出来,然后推荐给用户。通过分析用户行为,计算物品的吻合程度,来找到用户最可能喜欢的产品。而不是计算物品与物品之间吻合的值,这就是他们的差异之处。用户基数小的时候建议应用基于用户的协同过滤推荐算法,如果在用户基数大的情况下使用,会浪费非常多的宝贵时间。同时也存在着对新用户不友好的问题,这一点很难使用户对系统信服。而在用户数量大于物品数量的情况下时,基于物品就更加的显得适用一些了。在用户历史记录的物品较多时,会花费大量的时间来用于计算物品之间的相似度[2]。而用户也会比较信服根据历史行为而推荐的产品。1.2.3基于用户的协同过滤推荐作为为了解决邮件过滤问题而最早被提出来的算法,它的原理也相应的容易理解。曾经学过一个词语,叫做人以群分。可以这么理解,用户可能会对与自己爱好相同的另一个人喜欢的物品感兴趣。以看听音乐为例,如果一个用户1喜欢轻音乐、钢琴曲、交响乐、流行歌曲等音乐,而另一个用户2同样对这些音乐感兴趣,并且他还喜欢民族乐,那么用户1喜欢民族乐也是有可能的。基于用户的协同过滤推荐算法可以给其一个合适的解释[3]。当存在用户1需要被推荐时,可以分为两步进行推荐,第一部可以找到和用户1拥有共同兴趣的用户2,第二部就可以给用户1推荐用户2喜欢的物品同时用户1还没有标记为喜欢的物品。1.3系统技术介绍本推荐系统主要采用Bootstrap作为前端框架,以及流行的SSH框架作为后端框架[4]。基于HTML、CSS、JavaScript而开发的应用也便捷的前端框架就是Bootstrap了,其中涵盖了繁多的web组件,让使用人员简单便捷的开发web项目。本推荐系统使用了pom.xml的Maven的方式来管理系统需要用到的jar包,开发者只需要关心jar包的坐标就可以,会自动从远程仓库下载jar包,这就使开发者的工作变得简单了。基于Hibernate+Struts2+Spring,Hibernate一个开源的ORM框架就是SSH框架了,原理就是对比pojo实体类与数据库表,使用人员不用间接的手段就可以操作实体类替代操作数据库表。控制页面跳转就是Struts2用处之一了,请求分发处理也可以这么理解。注入DI管理各层组件管理日志事物等是利用Spring依赖性。系统开发环境:Oracle11g,JDK1.8,eclipseneon,win10家庭版,tomcat7.0,maven3.3.9。1.4论文结构框架第1章绪论,本章主要介绍了本次毕设研究的目的以及意义。例举并详细说明了常用的推荐算法系统,对目前市面上研究的现状进行了介绍,通过举例子直观的展现了实际情况。详细阐述了设计所涉及到的开发工具和开发环境,对本系统应用的开发技术进行了重点讲解。第2章对本设计系统进行了分析,其中包括可行性分析和需求分析等,为接下来的数据库及系统设计奠定基础。第3章详细介绍了本系统的功能设计,主要介绍本系统实现的几种推荐算法的一些原理及运用。包括数据库表结构等。第4章是本推荐系统的界面设计,也就是页面之间的跳转关系及作用。第5章是本推荐系统的系统测试,包括各模块的功能测试和整个系统的性能测试等。PAGEPAGE4第2章系统分析本系统设计合理,界面美观,操作方便,运行稳定,功能完备,为进行保险销售起到了重要作用,具有较高的实用价值。2.1社会可行性随着互联网技术的飞快进步,信息数据超载的问题也浮出水面,解决信息超载问题的方法有很多,推荐算法就是其中之一。目前互联网上出现了很多运用推荐算法的保险销售平台。这说明,推荐算法在互联网平台中是重要组成部分。推荐算法的应用既可以不浪费用户的时间,又可以使保险公司的利益稳步上升,公司获取的利润也正比提高。保险推荐系统设计与研究有着非常可观的前景。2.1.1技术可行性本推荐系统使用的是Oracle数据库和eclipse开发工具,其中Oracle数据库的可视化工具是plsql[5]。这些工具都是经过检验的成熟的易操作的产品。本设计选择了受欢迎的Java编程语言,其面向对象、易于移植等特点同样符合本保险推荐系统的需要。推荐算法的选择也是在市面上有成功例子的。所以本系统选择的技术都是很符合需要的,能够经得起考验,是可行的[6]。2.2系统功能模块设计将系统需求分析作为依照,本保险推荐系统应该具有以下功能:用户角色管理功能、用户登陆注册功能、用户收藏功能、文件上传下载功能、保险产品管理功能、推荐功能。其中用户角色管理可以对用户的角色进行建立和修改;用户登录注册功能的实现需要将注册好的用户信息正确的输入并且登陆;用户收藏功能包括用户可以对保险产品进行收藏以及取消收藏的操作;文件上传下载功能,可以将用户的产品资料文件进行上传和下载的操作;保险产品管理功能可以实现保险产品的添加删除功能;推荐功能由三种推荐算法实现,分别是基于内容的推荐算法、基于物品的协同过滤推荐算法和基于用户的协同过滤推荐算法。2.2.1系统功能概述及分析根据需求的分析,本保险推荐系统应具有4种角色,包括超级管理员,管理员、无角色用户和普通用户。其中只有超级管理员才可以为用户分配角色。但是超级管理员和管理员都有资格对产品进行修改,新用户默认为无角色用户,和普通用户一样仅仅能使用推荐和收藏的功能。本推荐系统提供登陆和注册功能,为谨防出现暴力破解现象,在登陆时验证码采用数字字母结合的方式。本系统同时支持excel文件的上传及下载功能,其中在添加保险产品时可以上传excel文件的方式一次性添加多个保险产品。系统也支持对保险产品的添加和修改。还应该实现用户的收藏和推荐功能。2.3本章小结本章首先就是对保险用户推荐系统设计的预期目标和设计要求进行详细的介绍,系统阐述了本设计需要的环境构建和各个模块元件选择。保险用户智能推荐系统的主要目的是准确的找到潜在客户,为公司赢取利益,保障客户的利益。从目前的数据库入手,对保险公司客户的实际情况进行一系列的调查后。根据现有系统的优点和不足,确定系统开发需要哪些新的性能,然后针对模块进行具体的设计和更改。本文详细的介绍了系统的操作与作用,并且也给出了系统所需的技术。本系统操作简单,且极易上手,不懂的人员也可以操作。界面简洁大方。整个系统能够完成纯智能的用户推荐系统,在使用系统的同时也保证了用户个人信息的安全。同时对系统运行的工作原理做出说明。第3章功能设计本系统的登陆注册模块的设计逻辑是这样的,一个游客在浏览本系统的时候是未登陆状态的,未登陆状态的游客可以浏览本系统的保险产品,但是不能对操作。如果游客对保险产品进行了操作的话,会提示用户进行登陆。3.1登陆注册本系统为用户提供了登陆注册功能,用户在未登陆状态只能查看保险产品,不能对保险产品进行相关操作,如果进行相关操作,会通过JavaScript判断是否登陆,未登陆时系统会进行弹框提示。用户登陆需要输入正确的验证码,当用户看不清时可以切换,点击验证码图片即可。当用户输入的信息出现错误的时候,系统会提示。3.2用户收藏本系统为用户提供收藏保险的功能,作为推荐时依据的标准,用户可以一次收藏多个保险产品,并可以在收藏列表中查看自己收藏的内容,并且可以取消自己收藏的保险产品。在收藏之前会判断用户是否登陆,处于未登陆状态用户将不能进行收藏。3.3文件的上传下载本系统提供了excel文件的上传与下载功能,利用poi对excel文件进行操作,任何角色的用户都可以对数据库中保险属性进行下载,T_INSURANCE表中的数据会依次填充到excel的单元格中。在管理员添加保险产品时可以选择上传excel文件的方式来一次添加多个保险产品到数据库,excel的表头必须和数据库中列名相同,poi会解析excel中的内容,保存的位置是在T_INSURANCE表中。3.4保险产品的管理用户角色为管理员时可以进行保险产品的管理,包括添加保险产品和修改保险产品。添加保险产品时可以在页面输入保险信息,也可以通过上传excel文件添加保险产品。修改保险产品时通过查询保险id,显示出该保险所有信息,此保险产品的属性用户可更改。点击提交按钮之后,系统就会将修改后的保险信息保存到数据库中。基于用户的协同过滤推荐算法适用于用户较少的情景,如果用户很多,那么消耗的时间将会非常长;存在着“冷启动的问题”,并且很难提供令用户信服的推荐理由。在物品数明显小于用户数的场合时,基于物品的会比基于用户的更加适合。如果物品很多的话,那么大量的时间将会花费在计算物品相似度上;由于是利用用户的历史行为给用户提供推荐理由,所以会让用户比较信服。3.5推荐计算出产品的相似度之后,根据用户过去在网站的习惯和喜好,以及用户对所有为浏览或购买产品的预测评分之后,在相关页面进行推荐。3.5.1基于内容推荐本系统实现了基于内容推荐,保险产品相对于一些电影,音乐这种类型的数据更加容易结构化,因为保险产品属于可以用文本表示的物品,而且相对于新闻等文本类型的数据,保险产品具有更多的属性,这些属性就可以作为表示一个保险产品的结构化数据。主要通过三部分实现,第一部分是收集数据,也就是收集用户的行为,通过这一部分可以建立用户的特征向量,为了以后向用户推荐准备数据。第二部分是推荐算法,根据用户的特征向量和菜谱的特征向量计算之间的相似度,计算出用户和每个保险产品之间的相似度,给出原始的推荐结果。第三部分就是对推荐结果的操作,包括对推荐结果的筛选以及显示。在第一部分中,用户的行为可以包括浏览,点赞、购买、打分、评价、收藏等,在本系统中用户的行为只是收藏保险这一动作,通过用户收藏这一行为,将用户id和保险id保存到数据库T_USER_LIKE表中,当需要推荐时,可以从这张表中通过用户id查询该用户收藏的保险id,通过保险id可以查询到该保险所有结构化属性,构建属于用户的属性集合。计算清楚用户和保险之间的相似度是第二部分最重要的[7]。在这一部分,本系统选择了余弦相似度算法,余弦相似度算法是计算文本相似度最常见的。余弦相似度的概念是为用户构建一个特征向量,同时物品也需要一个特征向量,将二者同时放入到一个向量空间模型里,如果在这个向量空间中这两个向量之间的夹角越小,那么说明这两个向量之间相似度越高,他们之间的相似度由二者之间夹角的cos值代表。在本系统中,首先得到由用户收藏的保险产品的所有属性构成的集合,需要计算相似度的保险属性的集合为第二个要得到的,计算出用户和每个保险产品之间的相似度,给出原始的推荐结果。第三部分就是对推荐结果的操作,包括对推荐结果的筛选以及显示。将这两个集合混合并去重后放到一个集合中,作为一个混合集合,再将用户的属性集合和混合后的集合进行比较,计算出用户的词频(TF)集合,同样将要与之比较的保险属性集合和混合后的集合进行比较,得到保险属性的词频(TF)集合,接下来就可以接着利用用户剩余的词频(TF)集合和保险属性的词频(TF)集合计算余弦相似度,也就是该用户和该保险产品的相似度。在本系统中对于TF的定义为某个词在混合集合中出现的次数。Ai代表的就是用户收藏的保险属性词频集合,Bi则代表要计算相似度的保险属性词频的集合,分子的意义就是用户的词频集合依次和保险的词频集合相乘,分母的意义就是用户的每个词频的平方再依次相加后再开根号,保险的词频同样这样处理,计算出的结果就是余弦相似度,也就代表着该用户和该保险的相似度。例如一个用户的词频集合为[0,2,1,1,2,1,1,1,1,1,0,1,2],保险id为3的词频集合为[1,1,0,0,2,0,1,0,0,0,1,0,1],那么可以计算出他们之间的相似度为0.6708。第三部分就是对于推荐结果的筛选,在本系统中,计算出用户与所有保险产品的相似度,并把这些相似度以键值对的方式存入map中。对于接下来推荐结果的操作,因为最后得到的相似度的值介于0到1之间的小数,所以首先是将相似度保留4位小数,还要去除该用户已经收藏过的保险产品,并设置被推荐的保险产品和用户的相似度要大于0.4。最后推荐结果会显示在UI页面中。3.5.2基于物品的协同过滤推荐本系统基于物品的协同过滤推荐主要依靠的是Apache的开源项目Mahout[8]。其中Mahout提供了一些可扩展的机器学习领域经典算法的实现,同样里面包含了关于协同过滤推荐算法的一些工具集,是开发者可以利用这些工具集快速开发一个简单的推荐系统。Mahout使用Taste实现协同过滤推荐算法,Taste是一个基于Java实现的可扩展的,高效的推荐引擎[9]。基于物品的协同过滤推荐主要包括4个部分:第一部分是DataModel[10]。是推荐的数据模型,用来读取数据集,数据集的建立是将用户与保险产品之间的关系表,也就是数据库中T_USER_LIKE表中的数据按照一定格式,全部写入一个txt文件中,利用这个txt文件来建立DataModel数据模型。第二部分是ItemSimilarity,根据数据集中所有用户对保险产品的行为,来计算物品之间的相似度,在这里选择的计算相似度的算法是Tanimoto系数(广义Jaccard相似系数),在缺少用户评分的情况下,该算法可以发挥出很好的作用,因为它只关心用户与物品之间是否存在着联系,在本系统中表现为用户是否收藏了保险产品[11]。相应的,该算法只能给出是否相同的结果,而无法给出他们之间的差异大小,所以结果只能有0或1两种。第三部分是GenericItemBasedRecommender,根据ItemSimilarity和DataModel构建基于物品的协同过滤的推荐器。推荐产品是第四个部分,根据创建的构造器给指定用户推荐若干个最相似的保险产品,在前台页面进行显示。3.5.3基于用户协同过滤推荐和基于物品一样,本系统同样利用了Apache的开源项目Mahout实现基于用户的协同过滤推荐。基于用户的协同过滤推荐主要分为5部分:第一部分和基于物品的一样,都是DataModel[12]。作用是传入数据集用来构建数据模型,为第二部分做准备。第二部分是UserSimilarity,计算用户之间的相似度就是用它计算的,在这里选择的计算相似度的算法也是Tanimoto系数。第三部分为UserNeighborhood[13]。是实现用户近邻算法的,通过该算法就可以计算出与该用户最相似的N个用户,这个N是可以直接指定的。GenericUserBasedRecommender为第四部分,对基于用户的协同过滤推荐器进行构建需要当邻近用户者确认后[14]。第五部分就是进行推荐了,这时可以为指定用户推荐N个最相似的保险产品。由jsp页面最终显示。3.6数据库概念结构设计通过对系统进行分析后,可以得到如下实体:(1)保险实体保险实体及其属性的描述,保险实体属性如图3-1所示。保险保险保险保险保险描述保险名称销售范围保险年限保险类型保险描述保险名称销售范围保险年限保险类型保险人群保险保险人群保险保费保费图3-1保险实体(2)用户实体用户实体及其属性描述,用户实体具有的属性如图3-2所示。用户保险用户保险用户id用户名称用户密码手机号码性别年龄用户id用户名称用户密码手机号码性别年龄图3-2用户实体(3)用户收藏实体用户收藏实体及其属性描述,维护用户收藏的保险,具体属性如图3-3所示。收藏收藏保险id用户id收藏id保险id用户id收藏id图3-3收藏实体(4)用户角色实体用户角色及其属性的描述,用户角色实体属性如图3-4所示。角色角色角色名称用户id角色名称用户id图3-4角色实体3.7数据库表设计本系统需要4张表,具体的功能结构如下表3-1所示。表3-1数据库表详情表名功能说明t_user用户信息管理的表t_insurance保险信息管理的表t_user_like用户收藏表t_role角色表T_USER表:主要保存用户的相关信息,具体属性如表3-2所示。
表3-2T_USER表名T_USER列名数据类型(精度范围)空/非空描述USER_IDNUMBERN主键USER_NAMEVARCHAR2(50)N用户名字USER_PASSWORDVARCHAR2(50)N用户密码USER_PHONEVARCHAR2(20)Y手机号码USER_SEXVARCHAR2(2)Y性别USER_AGENUMBERY年龄T_INSURANCE表:保存保险产品相关信息,具体属性如表3-3所示。表3-3T_INSURANCE表名T_INSURANCE列名数据类型(精度范围)空/非空描述INSUR_IDNUMBERN主键INSUR_NAMEVARCHAR2(200)Y保险名称INSUR_TYPEVARCHAR2(20)Y保险类型INSUR_PERMIUMNUMBERY保费INSUR_DESVARCHAR2(1000)Y描述SUM_INSUREDNUMBERY保额INSUR_YEARVARCHAR2(20)Y保障年限INSUR_PEOPLEVARCHAR2(20)Y保障人群SALE_RANGEVARCHAR2(50)Y销售范围PAYMENT_PERIODVARCHAR2(20)Y缴费年限T_USER_LIKE表:管理用户收藏信息的表,具体属性如表3-4所示。表3-4T_USER_LIKE表名T_USER_LIKE列名数据类型(精度范围)空/非空描述USER_LIKE_IDNUMBERN主键USER_IDNUMBERY用户idINSUR_IDNUMBERY保险idT_ROLE表:用户角色表,管理角色相关信息,具体属性如表3-5所示。表3-5T_ROLE表名T_ROLE列名数据类型(精度范围)空/非空描述ROLE_NAMEVARCHAR2(20)Y主键ROLE_IDNUMBERN角色id3.8本章小结本章首先就是对保险用户推荐系统功能设计与实现进行详细的介绍,系统阐述了本系统的各个模块的功能以及作用。功能详细设计以作图的方式将功能与关系进行了展现。对系统设计需要的数据库表进行了设计。第4章系统界面设计本推荐系统的页面设计采用了可以与市面上常见的浏览器融合的bootstrap前端框架[15]。而开发者可以便捷的设计引人注意的界面是由于bootstrap框架对一大部分的html标签进行封装处理。本系统以蓝灰色为主色,遵循简洁大方、便于用户操作的原则。4.1主页面设计导航栏体现出了不一样的登陆页面。当用户将项目地址输入后,Struts2先由action找到详细的物品资料介绍,其次会展现全部保险产品信息,由主界面展现。而后将web.xml中<welcome-file-list>标签配置变为action,再新建一个空的同名jsp文件,Struts2接下来会自动查询这个action,最后进入到主页面[16]。未登陆状态的主页面如图4-1所示,普通用户登陆后的页面如图4-2所示。管理员登陆后的页面如图4-3所示。图4-1未登陆主页面图4-2普通用户登陆导航栏图4-3管理员登陆导航栏系统主页面有三个部分,以导航栏为首,利用bootstrap的<nav>标签进行实现;颔部为保险产品的信息,这里每页只展示5条数据,如果用户想查询剩余数据,跳转到下一页即可;颈部为按钮,点击不同功能按钮可以进行对应的操作。由于对保险的描述过于繁琐,保险的资料展示不会完全展现出来,使用JavaScript可以展现40个字在前端通过使用后,用户将鼠标放到描述未展现的省略号上面,就可以了解详细的保险信息。在主页面中,不管用户的角色是什么,都可以进行下载功能的选择,点击下载按钮后,excel表格会将资料保存下来,用户如果想更换存储位置可以自行调整。4.2用户角色管理用户的角色为超级管理员时,主页面的导航栏会出现角色管理选项,点击选项之后,界面会跳转到用户信息介绍,如图4-4所示。这个界面可以将所有用户的姓名、id、及用户角色的信息显示出来。图4-4用户列表界面信息这时超级管理员可以点击分配角色栏里面的编辑按钮,可以打开如图4-5所示的新窗口,超级管理员可通过该窗口的操作,更改角色信息,当角色更改成功后会有提示。图4-5分配角色界面
4.3登陆注册页面在主页面点击导航栏中登陆按钮时,用户进入登陆界面,如图4-6所示,将正确的用户名,密码及验证码输入并点击登陆按钮,如果用户输入的信息和数据库中的数据不能匹配时,界面会出现提示。图4-6登陆界面无论是在登陆界面或主页面之下,用户点击注册都可以进入到注册界面,如图4-7所示,在注册界面用jQuery实现了注册的校验,用户输入内容若是与规则不匹配,界面也会出现提示,用户可以根据提示修改不正确的部分。图4-7注册界面4.4保险产品管理当用户的角色为管理员时,可以在界面中对产品的管理进行操作。在用户点击存在于主页面导航栏中下拉框,可以跳转到产品添加管理界面。产品添加管理界面如图4-8所示,用户可以选择在页面填入要添加产品的信息,提交到数据库中。也可以通过点击页面中的浏览按钮进行选择excel文件,点击开始上传的方式,保存到数据库中。提交的文件支持xlsx和xls格式,要求excel文件的第一行单元格一定同数据库中的列名可以对应上,否则会上传失败,上传成功后页面会进行弹框提示。
图4-8添加保险产品界面修改保险产品信息的界面如图4-9所示,用户通过在搜索框中输入想要进行更正的id,保险的所有资料都会被查找展现在界面,用户可以更正产品的任意属性,操作完毕后用户点击提交即可。用户的更正信息就被保存到数据库中了。图4-9修改保险产品界面4.5收藏当用户在主界面显示为登陆状态时,一次性收藏多个产品的功能可以通过点击复选框实现,如图4-10所示,产品收藏成功后会跳转到主页面。图4-10收藏功能如若用户想看到收藏保险产品的详细资料,可以点击导航栏中的收藏列表来实现。如图4-11所示,在该页面,用户也可以进行取消收藏保险产品的操作。操作结束后刷新界面,就可以看到相应的状态。用户点击主页选项,跳转到主页面。图4-11收藏列表界面4.6推荐结果界面本系统实现了三种推荐算法,基于内容推荐的结果如图4-12所示。图4-12基于内容推荐结果基于物品的协同过滤推荐结果如图4-13所示。图4-13基于物品协同过滤推荐结果基于用户的协同过滤推荐结果如图4-14所示。
图4-14基于用户协同过滤推荐结果4.7本章小结本章主要介绍了用户登陆之后,若想跳转到相应的推荐界面,就点击不同的算法按钮。推荐结果的显示分为两部分,第一部分是对推荐结果相似度的展示通过echarts图表实现对推荐度的折线图表示,在加载该页面时,将推荐结果的保险id和相似度封装进json对象中,在前端将json取出,显示在图表中,对推荐结果相似度展示。第二部分是推荐保险的所有信息。第5章系统测试测试是依据软件开发各阶段的说明和程序的内部结构从而精心设计的一系列测试用例。5.1测试目标根据编写的系统测试案例,对本系统实现的功能进行测试,目的是发现本系统存在的漏洞,对漏洞进行改善,使系统可以正常的运行,确保系统的可用性和正确性。5.1.1测试环境数据库:Oracle数据库。此数据库具有完整数据管理功能、分布式处理等特点。操作系统:win10操作系统。此操作系统的安全性、兼容性较好。浏览器:火狐浏览器。此浏览器可以大量扩展,实现需要的配置。服务器:tomcat7服务器。具有内存泄露预防与检测,可提高安全性。cpu:i5-7200u。具有功耗发热低,待机时间长的优点。5.2登陆功能测试在这部分会对本系统实现的功能进行测试,保证功能的正常运行,确保系统可以正常的运行。本系统的登陆注册模块的设计逻辑是这样的,一个游客在浏览本系统的时候是未登陆状态的,未登陆状态的游客可以浏览本系统的保险产品,但是不能对操作。登陆功能测试如表5-1所示:表5-1登陆测试功能基本要求测试情况测试结果登陆输入正确的管理员账号和密码可以登陆系统功能实现通过登陆输入正确的用户账号和密码可以登陆系统功能实现通过登陆输入错误用户名,密码,验证码时,系统将拒绝登陆功能实现通过本系统提供了收藏功能,就是用户在登陆状态的时候,用户可以对感兴趣的产品惊醒收藏的操作,一次多个也是可以实现的,收藏列表里面收藏的保险产品,都会作为推荐功能的依据。收藏功能测试如表5-2所示:
表5-2收藏测试功能基本要求测试情况测试通过收藏用户未登陆时无法进行收藏,登陆后收藏成功功能实现通过收藏用户收藏之后在收藏中看到收藏的保险产品功能实现通过取消收藏用户可以对已收藏的保险进行取消收藏动作功能实现通过下面对产品管理功能进行了测试,主要功能就是是否可以在不同要求下添加修改保险产品。保险产品管理功能测试如表5-3所示:表5-3保险产品管理测试功能基本要求测试情况测试通过添加修改保险产品用户为管理员才可以进行保险产品管理功能实现通过添加修改保险产品用户上传excel保存多个保险产品信息功能实现通过5.2.1用户角色管理测试对用户的角色管理进行了主要的测试,测试再不同要求下用户角色管理是否可以正常实现。用户角色的管理功能测试如表5-4所示:表5-4用户角色管理测试功能基本要求测试情况测试通过用户角色管理用户为超级管理员才可以管理用户角色功能实现通过用户角色管理超级管理可以对用户角色进行管理操作功能实现通过用户角色管理普通用户只进行产品收藏推荐下载功能功能实现通过5.2.2推荐功能测试对推荐功能进行了测试,测试再不同要求下,推荐功能是否能够正常实现。推荐功能测试如表5-5所示:表5-5推荐测试功能基本要求测试情况测试通过推荐用户在登陆后才进行保险产品推荐功能实现通过推荐用户在收藏过产品之后才进行推荐功能实现通过推荐用户登陆并收藏后显示相似度曲线功能实现通过5.3性能测试对于系统中推荐功能的性能进行了测试,显示在数据量小时,系统响应速度快,但数据量加大后,计算相似度耗费大量的时间,系统响应速度也会随之下降。在这里只对基于内容的推荐的测试结果进行展示,可以看到在数据量为28条时,系统的响应速度为146毫秒,如图5-1所示。在数据量增大到200条时,系统的响应速度为1471毫秒,如图5-2所示。图5-1数据量小的测试结果图5-2数据量大的测试结果5.4本章小结本章主要根据编写的系统测试案例,对本系统实现的功能进行测试,目的是发现本系统存在的漏洞,对漏洞进行改善,使系统可以正常的运行,确保系统的可用性和正确性。最后系统通过测试。根据初步测试,设计的登陆注册,收藏,角色管理,推荐模块都可以实现功能,但是还是存在一定的不足,比如说因为时间原因,没有做出购买保险的功能,前端页面做的不够美观,等等问题,在以后会对本系统稍加改
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年老年护理服务规范试题及答案
- 个人债权转让合同协议书
- 房屋产权无偿转让合同协议书
- 南京安全管理培训证书
- 2026 马年元宵节“马踏圆月 红月共赏”校园青少年文化主题活动方案
- 期末综合模拟卷(试卷)2025-2026学年三年级数学下册人教版(含答案)
- 中医专业职业规划书
- 《计算机应用 基础》-第4章
- 《电路基础》-项目8
- 大赛宣传方案
- 2026年山东理工职业学院综合评价招生《素质测试》模拟试题
- 2025年莱芜职业技术学院单招职业适应性测试题库附答案解析
- 八年级地理下册:黄土高原区域发展与居民生活的可持续性探究
- 新能源运维技术支持工程师面试题及答案
- 2026年度医院纪检监察工作计划(2篇)
- 心脏移植术后CRT治疗的药物调整方案
- 教学副校长学校管理述职报告
- 湖南省长沙市长沙县2025-2026学年七年级上学期期中英语试卷(含答案)
- 《新能源汽车构造与故障检修》实训工单
- 【低空经济】低空经济职业学院建设方案
- T-CFIA 003-2021 T-CISA 113-2021 铁合金、电解金属锰企业规范条件
评论
0/150
提交评论