版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGEI基于VSCODE平台的学生学习活动推荐系统设计与实现摘要为了提高学习效率,越来越多的人将研究目标转向了协作学习的领域,但对于相关系统的研究实现相对较少。本文对现有的活动推荐系统的研究现状进行了分析,然后结合学习生活的特点进行了本文的需求分析和目标设计。为了提供一个更加简单便捷的可以进行协作学习的学习活动推荐平台,本文设计并实现了面向协作学习的学习活动推荐系统。本系统采用前后端分离架构,其中前端界面采用VSCODE平台开发,使用vue框架和element组件进行实现;后端平台采用IntelliJIDEA进行开发,使用Springboot框架和mybatis-plus进行实现;数据库则采用MySQL与NAVICAT进行开发和管理。该系统主要包括以下五个功能模块:用户注册登录模块、学生中心功能模块、教师中心功能模块、管理员中心功能模块、活动推荐功能模块。通过对各种推荐算法进行综合对比研究,作为主体部分的推荐模块采用了基于物品的协同过滤推荐算法进行设计与实现。此模型根据用户的兴趣偏好等特征实现了个性化的活动推荐。经过多次系统测试可证明,该学习活动推荐系统系统运行稳定、操作简单,可提供符合用户需求的活动推荐结果。关键字:协作学习;推荐系统;协同过滤目录22593摘要 I15126ABSTRACT II105101绪论 1109281.1课题背景 1221051.2推荐系统研究现状分析 2184641.3本文研究内容及技术路线 4166901.3.1研究内容 494021.3.2技术路线 482131.4可行性分析 4178181.4.1经济可行性 5127951.4.2技术可行性 5109991.4.3安全可行性 5181371.5本文组织架构 6233342相关技术分析 7125642.1系统开发环境介绍 7221982.2数据库技术介绍 840332.3推荐算法介绍 8179822.4本章小结 1280963系统需求分析 13306823.1系统功能性需求分析 13289823.2系统非功能性需求分析 15126603.3本章小结 1552364系统设计 16179794.1设计目标与原则 1637804.2系统数据库设计 1643504.3系统整体架构 18221474.4系统功能结构 18169694.5活动推荐模块 20100224.6本章小结 21103535系统实现 23234495.1开发环境 2322915.2基础功能模块 23104035.2.1用户登录功能模块 2376295.2.2用户注册功能模块 2480135.3学生中心功能模块 2478795.4教师中心功能模块 25244785.5管理员中心功能模块 26158025.6活动推荐功能模块 27261615.7本章小结 27302986系统测试与分析 28295446.1测试环境与测试范围 28217776.2系统功能测试 28167156.2.1基础功能测试 29138026.2.2学生功能模块测试 3095606.2.3教师功能模块测试 31173106.2.4管理员功能模块测试 32260576.2.5推荐模块功能测试 33666.3本章小结 3415667总结与展望 35113017.1本文工作总结 35115047.2未来研究展望 3517630参考文献 37第1章绪论-1绪论课题背景随着移动互联网信息技术的迅速发展和电子设备的普遍使用,越来越多的在校学生依托于电脑和其他电子设备进行在线学习。随之而来的,是依托于互联网的远程在线形式教育的兴起和发展。网络环境下的远程在线教育不但解除了时间空间的限制、能够更加轻松的完成资源共享的实现,还拥有便于协作等特点。更为重要的一点是,在线学习能够提供一种交互式的学习环境。在这种学习环境下,能极大的激发学生的学习兴趣。协作学习活动有利于促进学生个体的独立思维和判断力发展、增强学生之间的探索和沟通能力,对于提高当前形式下的学习成绩也有明显效果[1]。综合以上信息,我们可以得出这样的结论:当下网络教育的发展对于构建一个学习型教育社会提供了切实的理论和物质基础。美国著名的教育心理学家奥苏贝尔提出了“有意义接受学习”的理论,其中重点强调了接受学习是有意义的接受学习,而不是被动地、机械地接受学习[2]。而在人本主义学习理论也提出这样的观点:学习应以学生为中心,以学为中心,更应该以学生的学习效果为中心[3]。以上观点都在强调学习意义,即学习效果的重要性。协作学习的意义在于让学习者从同伴身上学习到与自己不同的观点或意见,最主要的是学习到每个人不同的学习方法和思路并进行融会贯通。在进行协作学习的过程中,有七种基本模式,其中辩论、合作、伙伴是较为主要的部分。通过这七种模式转换及综合使用,学生可以取得更好的学习效果[4]。基于课堂集中式教学、个别化学习和协作学习三者的研究结果综合显示:在协作学习的氛围中,对于聚集在一起进行学习的学生来说,他们的学习成绩都是呈正比例的。通过对身边的同学进行问卷调查得出了以下结论:有将近一半以上的同学更加倾向于协作学习,其中近九成同学表示愿意尝试学习活动推荐系统。对于一个有效的推荐系统来说,推荐算法是最重要的核心模块。算法推荐结果的准确程度在很大程度上直接影响了推荐系统类型和应用性能[5]。虽然到目前为止,对于推荐系统的分类还没有一个统一的标准,但已经有很多学者从不同的角度对推荐方法进行了不同的划分。值得一提的是,无论通过什么方式进行划分,基于内容的推荐、协同过滤推荐、基于知识的推荐等算法凭借其自身优势脱颖而出,一举成为了主流的推荐算法。协同过滤推荐算法是最早出现的著名的推荐算法,也被认为是目前最主流的推荐算法。其主要功能包括预测和推荐。该推荐算法通过对每个用户的历史行为数据进行收集,并根据其特有的数据计算方式进行分析,然后根据分析结果可以得知每个用户的爱好,在此基础上根据用户的不同偏好进行划分,并推荐与其历史行为相似的商品[5]。协同过滤推荐算法包括以下三种,分别是:基于用户的协同过滤算法(user-basedcollaborativefiltering),基于物品的协同过滤算法(item-basedcollaborativefiltering)和基于模型的推荐算法(model-basedcollaborationfiltering)。基于协同过滤算法的推荐系统可以看作是从用户的角度自动获取系统推荐的活动。换句话说,系统隐含地从用户的购买或浏览行为中获取建议,并且不需要用户主动搜索符合其兴趣的建议,例如选择他们的学习者属性。与其他推荐算法相比,基于协同过滤的算法克服了基于内容推荐的自动化程度低等难题。因此,本系统选择了协同过滤推荐算法进行实现与优化。面向协作学习的学习活动推荐是一项较为复杂的工作,主要是因为学习活动的主题、周期、参与者等因素都会对推荐效果产生较大影响。与线上的学习活动相比,线下进行的学习活动还需要考虑用户所在的地理位置等信息,并根据省市进行不同级别的分类。如果能够以协作学习为目标,设计一套学习活动推荐系统,根据不同用户的行为数据,为每一个用户提供专属的活动推荐,使其能够更加轻松有效的完成学习任务,对用户来说定能产生很大帮助。因此,为提高学习积极性,提升学习效率,为同学们提供更加便利的学习活动,根据当下大学生的学习习惯量身设计了面向协作学习的学习活动推荐系统。推荐系统研究现状分析相关研究结果显示,自二十世纪九十年代以来,国外的协作学习理论研究发展大致经历了两次转型阶段和四个发展阶段;其中两次转型主要包括研究单元变化和过程导向;四个以技术整合趋势为特征的发展阶段分别为:持续奠基发展期、研究单元转型与CSCL发端期、过程导向转型与信息技术的持续关注期、CSCL进发与协作脚本理论发展期[7]。通过对近二十年以来国外的协作学习理论演进的关键路径和研究的前沿领域与热点进行研究,相关学者得出了如下结论:情境学习理论对协作学习有重要的奠基作用;CSCL是目前协作学习领域最热门的研究分支,学习环境、学习过程、协作学习系统等也受到高度关注;协作学习活动成为目前最重要的研究前沿领域[8]。在这个信息爆炸的时代,为解决信息超载问题,个性化的信息推荐系统应运而生。推荐系统的主要优势在于可以根据用户的信息需求、兴趣等,将用户可能感兴趣的内容等推荐给用户。和搜索引擎相比,推荐系统是通过研究用户的兴趣,进行个性化计算,由系统发现用户的爱好,从而引导用户发现自己的需求。一个好的推荐系统不仅能为用户提供个性化的服务,还能和用户之间建立密切关系,从而让用户对推荐产生依赖[9]。针对推荐系统的研究已经发展多年,但也曾经经历过低谷时期。近年来,机器学习的兴起和高性能计算的发展促进了对推荐系统领域的研究。协同过滤推荐技术是推荐系统中最为成功的技术之一,它自上世纪末期开始研究并促进了整个推荐系统研究的繁荣。最早的自动化协同过滤系统可以追溯到上世纪末,来自明尼苏达大学的GroupLens研究组设计的名为GroupLens的推荐系统。此项研究工作不仅是首次提出了协同过滤的思想,还建立了一个形式化的模型,也为之后的推荐系统的开拓了新的道路[10]。与国外相比,国内对于推荐系统的研究相对较晚。但在亚马逊个性化推荐系统开发之后,加上当时国内电子商务发展势头正盛的状态,国内的研究目光也聚焦在了对推荐系统原型的钻研与开发尝试。迄今为止,推荐系统已经在各种领域和不同行业得到了广泛应用,其中最为典型的当属电子商务领域。在电子商务领域,推荐系统凭借其独特优势占有着良好的发展和应用前景。与此同时,学术界对推荐系统的研究热度一直很高,这使得推荐系统逐步形成了一门独立的学科。近年来,随着社交网络的逐步发展,社交网络活动推荐渐渐得到人们的关注。但由于活动含有参与者、主题、周期、地点等诸多复杂因素,导致我们不能通过使用物品推荐方法进行实现。为解决这技术性一难题,相关领域的专家学者进行了大量的针对性研究,推出了许多有价值的推荐算法,其中主要以协同过滤算法和图模型方法为主。原始的协同过滤算法与传统推荐算法的推荐效果相差不大,虽然改进之后的协同过滤算法因为添加了用户相似度、矩阵分解等技术,可以使得推荐效果更加精准,但是冷启动问题依然存在,并未得到解决。图模型算法则是将活动推荐转换为节点临近似度量问题,加上带重启动的随机游走算法的应用,使得活动信息最大程度被利用,可以达到极佳推荐效果,但在时间复杂度方面不甚理想[11]。虽然各个方面关于推荐方法的研究已经取得了一定程度的进展,但是依然存在一些问题。目前针对协作学习的活动推荐研究工作相对而言较少,针对这一现状,在本次毕业设计将设计并实现面向协作学习的学习活动推荐系统。本文研究内容及技术路线1.3.1研究内容本文研究的学习活动推荐系统为在线学习者开发。通过使用目前发展较为成熟的协同过滤推荐算法,为用户推荐较为匹配的学习活动。从系统设计,算法实现等诸多方面进行考虑,通过对学习者属性的分析,为学习者推荐其可能感兴趣的活动。最大程度的使系统满足使用者的个性化需求,同时使活动推荐做到“最优匹配”,提高在线协作学习的效率。通过前后端分离的方式完成系统的开发,通过对不同算法的研究对比选择更为合适的推荐算法进行设计与实现。主要的目标包括以下几点(1)帮助学生归纳自己的学习者属性,根据自身属性通过系统匹配到学习风格相似的学习活动。(2)为每个用户提供简介美观的界面,做到以用户为中心。(3)针对用户的活动评价对推荐模型的参数进行相应修正。(4)对用户进行身份验证,并对已注册的用户和已发布的活动进行管理,避免出现不良影响。总体来说,该系统的使用者分为三类:学生,教师及系统管理员。教师主要负责活动的创建、修改等内容,学生主要进行活动推荐的获取、活动选择以及对活动进行评价等,管理员主要负责系统的维护等内容。三者都可以进行注册登录、完成个人信息修改等操作。1.3.2技术路线本文的主要技术路线包括学习协作学习的相关概念,了解协作学习的主要特征。学习推荐系统的相关概念知识,研究推荐算法的实现原理,主要包括协同过滤推荐算法的设计与实现。并基于Java语言构建一套完整的实用的推荐系统。协作学习的过程主要包括选择活动、组队学习、提交结果、评价反馈四个步骤[8]。在协作学习的初始阶段,根据不同学生的行为数据,为其推荐相对应的学习活动,可以极大的提高学习积极性,达到更高效的学习效率。在活动结束之后,收集学生对于已参与活动的满意程度,对其推荐模型的参数进行相应修正。1.4可行性分析可行性分析主要是根据对现实使用场景的合理性分析来判断一个系统开发的可行性和必要性。更重要的是,可行性分析的目的不是解决问题,而是确定问题是否值得去解决。引入系统可行性分析的优点在于可以在很大程度上减少或避免时间的浪费,同时也为后期的软件开发指明了方向。本文主要从该系统的经济可行性、技术应用可行性和系统安全可行性这三个不同维度进行具体的分析,内容如下:1.4.1经济可行性随着现代计算机互联网技术的不断进步和普遍应用,电脑等电子设备已经成为学生学习不可或缺的工具。由于本系统开发成本较低,可提供给用户免费进行使用,因此用户仅需在电脑上进行登录使用,无需花费任何成本。此外,该软件运行稳定、后期维护简单、实用,一旦开发完成即可长期使用。当用户有了新的需求时,只需要根据需求,在原有接口的基础上添加相应操作即可,花费的维护成本较低,这使得项目具有一定的可持续性和可更新性。综合以上情况及考虑,本系统的开发在经济方面的可行性是毫无问题的。1.4.2技术可行性本系统的主题是当前正处在最前卫的面向协作学习的学习活动推荐系统,主要功能包括:用户可根据自身的需求选择不同的身份进行注册和登录,然后进行相应的操作,如获取活动推荐、完成活动创建等。在系统的开发过程中主要涉及的是数据存储、后端数据处理逻辑、前端界面显示等问题。为解决以上问题,本系统采用前后端分离架构,分别利用SpringBoot和Vue完成前端界面和后台管理的设计。二者可分别进行测试验证等,易于发现系统开发过程中的失误之处。当前后端分别经过测试未发现错误后,可通过RESTful接口进行连接并且应用Ajax进行数据传输,这样做利于系统测试与维护。该系统结构设置合理,在活动推荐过程中使用到的各种功能,都已经在系统结构中展示,并且该系统具有结构简单,操作方便、提示充足等优点。系统所涉及软件均可免费无限制使用,设计过程中无需担心环境改变。综合以上情况及考虑,本系统的开发在技术方面是完全可行的。1.4.3安全可行性本系统采用前后端分离的技术,并使用MySQL进行数据存储。前后端数据交互采用Ajax进行处理。为保证系统安全,通过在前后端设置Token,在后端中使用HandleInterceptor进行拦截配置,阻止异常登录事件的发生。与此同时,对用户在网站界面输入的密码也使用了相关的算法进行了加密。综合以上情况及考虑,本系统的开发在安全方面是完全可行的。1.5本文组织架构本文主要分为六章进行叙述。其中,第一章对于课题研究背景及开发意义、国内外研究现状分析、研究内容及技术路线、可行性分析等内容进行了详细的介绍:研究背景方面,主要探讨了协作学习的学习模式以及根据此种模式进行学习活动的意义;在国内外研究现状方面:主要探讨了推荐系统的发展历程以及推荐算法的演进等内容;研究内容方面:主要介绍了本文的叙述重点。最后,通过经济、技术、安全三个方面对系统可行性进行了详细的介绍,证明该系统可以进行开发与实现。根据上述研究内容以及技术路线,本文其余章节组织架构如下:第二章对系统开发的环境以及软件、硬件各种配置等信息进行大致的介绍,并对所使用的数据库相关技术进行介绍。然后,对推荐系统所需要的各种相关技术进行简要的介绍分析,简略介绍推荐算法的分类,对比分析主流推荐算法的优势与不足之处;重点介绍协同过滤推荐算法的相关概念和基于物品的协同过滤推荐算法。第三章对面向协作学习的学习活动推荐系统的需求分析进行介绍,主要分为功能性需求分析和非功能性需求分析。重点在于用例图的说明和各个功能模块的需求分析。第四章对系统的整体架构进行了介绍,包括系统设计目标、数据库的具体设计以及具体功能模块设计流程图等。第五章对系统功能模块进行介绍与分析,主要包括基础功能模块、学生中心功能模块、教师中心功能模块、管理员中心功能模块、活动推荐功能模块,并将实现的界面进行展示。第六章对系统进行功能模块测试,采用了黑盒测试的方式进行实现,并通过每个功能模块的测试案例的描述对测试过程和结果进行介绍分析。第七章,即最后一章对本文研究工作进行详细的总结,并对未来的研究工作给出展望。第2章相关技术分析2相关技术分析2.1系统开发环境介绍基于JavaWeb的项目开发主要经历了以下几个时期:未分离时代、半分离时代、分离时代。到目前而言,前后端分离已经成为逐渐成为移动互联网项目设计开发的主要方式。实现前后端分离的核心概念是通过在前端使用Vue进行页面设计以及Ajax对后端的RESTful接口进行调用并使用JSON完成数据的交互任务。与Spring4.0同时出现的SpringBoot,对传统Spring结构存在的缺点进行了大量的改善和优化,从而使得编码、配置、部署、监控等内容都变得更加简单便捷,可以在一定程度上缩短项目周期。IntelliJIDEA,作为一个使用度极高的实现Java语言开发的集成环境,其优点被大多数人认可,更为重要的是,它在实现代码自动提示、展现创新的GUI设计等方面的表现十分突出。对于开发者来说,IntelliJIDEA是实现前后端分离架构中进行后端平台搭建的极佳选择。至于前端界面,VisualStudioCode拥有作为一款现代编辑器所应该具备的所有特性。其具备的丰富的快捷键操作可以为开发者节省出更多时间,让开发者更加专心于编码。更重要的是,它还拥有对JavaScript的内置支持。本系统前端部分采用了Vue进行设计与实现。Vue可以完美的实现自底向上的逐层应用,这是它与其他大型框架最大的差别。在一方面,Vue的核心库只关注View层,易于使用和上手,便于项目的整合。另一方面,当与其他的企业工具,例如各种现代化企业工具链和各种可以支撑不同类型的企业数据库等工具进行相互间的结合和协同运用时,vue也完全一样可以轻松实现对于复杂的大型个人门户网站和企业应用程序所需要提供的智能驱动。ElementUI组件是一个UI库,它不依赖于Vue,却是到目前为止能和Vue进行完美配合的一个ui框架。对于基础薄弱的开发者而言,Element提供的组件及应用案例示意足以满足基本的使用需求。在数据交互部分,采用了Ajax即AsynchronousJavascriptAndXML进行设计与实现,即通过Ajax向不同路径的接口进行JSON数据传递而实现。Ajax在实际网络上的浏览器与Web等服务器之间所有的需要同时使用的刷新方式主要是通过异步直接进行前端数据刷新传输(此时即处理http的请求),这样就已经完全可以通过处理Ajax请求来异步实现对前端局部的数据刷新,从而避免整个页面的重新加载。对于本系统而言,局部刷新代替整体页面刷新是极佳的选择。2.2数据库技术介绍在数据库方面选择MySQL和Navicat进行设计与实现。MySQL是一款广泛使用的关系型数据库管理系统,其采用客户端/服务端模型,通过在客户端的成功登录来连接服务器,从而进行数据库的各种操作,如增删改查等。MySQL可在多种操作系统中进行使用。与其余的数据库管理系统相比,MySQL还具有运行速度快等优势。Navicat是一款快速、安全、值得信赖的自动化数据库管理工具,主要功能包括简化数据库的管理以及降低系统管理成本等。通过Navicat的使用能够满足本系统设计的基本需要。Navicat是通过图形用户界面建立的,这一特点可以让开发者通过简单且安全的操作完成创建、组织、访问等各项操作。选择使用Navicat主要因为其具有以下各项优点:(1)它结构简单,设置清晰,方便学习使用。(2)它使用是动态数据库进行数据存储,当用户的数据过大时,数据库文件可以根据数据体积进行自动扩大,直到磁盘空间全部被数据占满为止。(3)它可以连接到大多数现有的主流数据库,如MySQL、Oracle、PostgreSQL、SQLite、等。(4)它具有一定的安全性。其连接数据库的操作可通过SSH通道和HTTP通道进行实现。与直接使用MySQL相对比,通过使用Navicat连接MySQL,可以更加简单的完成对数据库的各项操作。2.3推荐算法介绍随着互联网的进一步普及和大量的使用,各种信息冲击着我们的视野,这些信息良莠不齐,想要在其中找一条适合自己的信息需要花费大量的时间,如果能有一个较为完善的推荐系统出现的话,对于使用者来说,可以有效的减少在寻找信息上花费的时间。对于一个需要推荐的项目来说,模型构建的重点就在于对项目进行特征的提取,由于被需要推荐的项目大多数都来源于不同的领域,比如文字、影视、图片、文学、音乐等,这些项目的特征基本上都不相同。更难的地方就是,不同的推荐项目都有其对应的提取途径,比如对文字和信息进行提取主要是考虑到使用加权关键词矢量法。大多数情况下,在同一个推荐体系中的每个项目模型所对于项目的描述都与使用者模型中对于兴趣偏好的描述有很大相对应,因而往往会采用相同的描述。推荐模型的设计和实现是建立在反映用户基本的属性或其行为特点的基础上,用户模型主要包括使用者的年龄、性别等来反映其身份特点的基本属性,和根据使用者访问的记录来构造其所建立的用户行为特点,如浏览类别、频率、停留时间等历史记录,建立一套能正确地反应使用者的兴趣和偏好的模型,同时该模型还需要求用户能根据自己的用户情况获得数据。改变而不会被时刻地更新[12]。建模的关键就是信息选择,而对于推荐算法的建模设计在很大程度上就决定着该系统的建模效率与其质量,是建立该系统核心的技术。与其他系统性能测试类似的地方就是,推荐的系统也可以拥有其专属性能的评价方法;主要可以分为网络式离线考察、用户调查与评究以及网络式在线考察三种。其中离线评估就是根据等待评估的推荐体系在实验数据集上的性能表现,基于特定的离线评估指标进行检验,对推荐体系的效果进行综合性检验。而用户调研,往往在上线测试前进行并收集结果。而在线评价则是指通过为用户设计相应的网络进行在线测试,在此之后依次根据收集得到的网络和用户在线上所反馈的数据对推荐体系的测试结果作出评价。常见的推荐算法主要可以按照其所采用的信息和数据来源的不同大体划分为三种类型,分别称之为:协同过滤推荐算法、基于信息和内容的推荐算法、基于知识的推荐算法。首先来介绍一下协同过滤算法,具体包括基于用户的协同过滤、基于物品的协同过滤和基于模型的协同过滤。基于用户的协同过滤主要是通过计算不同用户之间的距离,然后根据得到的计算结果,将用户之间距离相近的,推荐给他们对方喜欢的物品,最后通过对用户的反馈信息进行收集整理,并以此为依据对用户之间的距离进行进一步的优化。其算法思想如图2.1所示。简单来说,该算法的主要计算步骤包括:用户对商品进行评分、寻找最近邻居即计算用户相似度、进行推荐。而基于物品的协同过滤算法,则是通过计算物品之间的相似度矩阵,并收集用户评分相对较高的物品,然后将与该用户评分高的物品更加相似的物品推荐给用户,最后通过收集用户反馈的数据信息,对相关数据进行进一步的优化。其算法思想如图2.2所示。图2.1基于用户的协同过滤推荐算法概念图图2.2基于物品的协同过滤推荐算法概念图基于模型的协同过滤可以说是目前最主流的协同过滤算法。其实现方式是根据机器学习的思想进行建模,从而完成利用部分稀疏数据进行推荐。协同过滤推荐算法主要应用的计算方式包括欧几里德距离评价、皮尔逊相关度评价等。其中欧几里德距离评价是通过两点在散点图中的距离进行判断,而皮尔逊相关度评价则是通过用户对商品的评分表对用户或物品进行相关度计算。协同过滤推荐算法的优势在于它可以有效地对更加复杂的非结构化对象进行处理。而且,伴随着时间的增加,该算法推荐结果的准确性也会随之增加。基于内容的推荐算法则是通过建立用户画像-行为偏好,以及建立物品画像、特征,通过相似度计算得出结果,然后再进行推荐。该算法可以通过两个方式进行实现,分别包括:启发式的方法、基于模型的方法。其优势在于推荐的结果较为直观准确,并且容易理解。对于研究者来说,建立用户画像,需要有大量用户行为数据作为基础;而建立物品画像,对于某些项目,例如图像、音乐等物品来说,亦是一个较难的问题,这也是此算法最大的缺点。综合以上信息可以得出结论:该算法更加适用于文本领域的推荐。基于知识的推荐算法则将重点放在了知识源方面,其主要的实现方式包括约束知识和约束推荐算法的设计、关联知识和关联规则的设计。与其他算法相比,它因为是主动向用户询问需求然后才对物品进行推荐,能够很好地实现将用户的需求直接映射到物品上面,所以并不存在冷启动的问题。但相对而言,“知识”的获取却是一个更难的问题。某种程度上来说,该算法更像是一种“推理”技术,较为适用于计算量大的场景。就面向协作学习来说,主要是根据用户参与的活动行为及相应的评价信息,为其提供相似活动的推荐。而根据本系统的设计,在经过对推荐算法的综合对比之后,最终选择了基于物品的协同过滤推荐算法。该算法的主要的实现方式包括:将使用该物品的用户当作物品的特征向量,然后通过计算物品之间的相似度,得到物品相似度矩阵;从用户已经使用的物品中找到于其相似的K个物品,进行两次加权累和即用户产生行为物品的评分*相似物品相似度,找出评分最高的N件物品推荐给用户。物品相似度计算的基本公式包括公式(2.1)和公式(2.2): Wij= Wij=其中N(i)为喜欢物品i的用户数,N(j)为喜欢物品j的用户数。由公式(2.1)可知,当喜欢物品j的人数超级多的时候,Wij会无限接近于1,这会对推荐结果造成极大的影响。于是,便采用公式(2.2)对W接下来是相似度矩阵的构建。用一个m行n列的矩阵表示用户对物品的喜好,主要方式是对物品进行评分,分数越高代表喜欢程度越高,若没有使用该物品,则将其评分记为0。其中用行表示一个用户,用列表示一个物品,Uij表示用户i对物品j2.4本章小结本章首先介绍了系统的开发环境:IntelliJIDEA、VisualStudioCode,还介绍了软硬件配置、MySQL以及数据库工具Navicat的使用。大致的介绍了前后端分离架构的实现方式,较为详细的介绍了搭建系统所用到的SpringBoot、Vue以及Ajax。对推荐算法进行了大概的分类介绍,并对三种推荐算法各自的优劣进行了简单对比;详细的介绍了协同过滤推荐算法的具体内容,并描述了基于物品的协同过滤推荐算法的实现过程。第3章系统需求分析3系统需求分析3.1系统功能性需求分析本系统主要用于对在线学习的“学生”进行活动推荐。具体来说,面向协作学习的学习活动推荐系统就是通过用户注册登录、活动创建、获取活动推荐、进行结果反馈等一系列手段来提高推荐系统的严紧性,直到达到完成预期设计目标的一种走向。本系统的用例图如图3.1所示。在本系统中,参与者主要包含学生、教师以及系统管理员三种类别。图3.1面向协作学习的学习活动推荐系统用例图具体实现的目标如下:实现对已注册用户的信息进行管理的功能;实现对已创建活动的信息进行管理的功能;实现教师创建活动功能;实现学生获取活动推荐的功能;实现学生对活动进行评分的功能;本系统在操作、维护等方面都十分简单快捷;经过测试,本系统可以实现稳定运行、数据存放安全可靠、对信息管理准确。主要模块包括:基础功能模块:该模块主要包括登录以及注册等推荐系统基本功能的实现,当用户首次使用系统时,可选择注册按钮跳转至注册界面。在注册界面,用户可按照提示信息完成信息填写,在按下提交按钮时,会对填写的信息内容进行验证,如用户名是否已经存在、密码是否输入、第二次输入的密码是否一致等,如果信息填写错误,则会显示弹窗对相应的错误信息进行提示。完成注册信息填写并提交的用户会自动跳转至登录界面。至于登录部分,获取用户输入的用户名和密码之后,通过数据库判断两者是否匹配,若匹配成功则登录成功并获取用户信息(用于获取动态菜单)以及对应的Token序列,否则提示用户名密码不匹配并停留在登录界面,页面下方设置忘记密码选项,点击之后可按照提示找回或修改密码。登录之后的主界面设置退出按钮,用户可直接通过此按钮退出系统。(2)学生中心功能模块:该模块主要包括个人信息修改、获取活动推荐、对已参加活动进行评分、查看活动列表等功能的实现。学生登录后根据身份信息自动获取相应菜单界面,可根据左侧的导航栏菜单进行相应操作。进入个人信息界面可选择修改相关信息,已实现用户信息实时修改显示;点击活动推荐,跳转至相应界面会显示与当前用户相匹配的推荐活动,用户可选择是否参与该活动;进入已参加活动界面,在已参加活动列表,用户可对活动进行评分;进入活动列表页面,可分页显示所有的活动数据,用户可选择是否参加,也可直接进行查询操作。在页面设置退出按钮,可直接退出系统。(3)教师中心功能模块:该模块主要包括个人信息修改、查看已创建活动、创建新活动、查看活动列表等功能的实现。教师登录后根据身份信息自动获取相应菜单界面,可根据左侧导航栏菜单进行相应操作。进入个人信息界面可选择修改相关信息,已实现用户信息实时修改显示;进入已创建活动界面可查看自己创建过的活动并进行修改相应操作,也可在该界面选择新建活动,通过填写完整的活动信息完成活动创建。查看活动列表页面会分页显示所有的活动数据。在页面设置退出按钮,可直接退出系统。(4)管理员中心功能模块该模块主要包括个人信息修改、用户信息管理、活动信息管理等功能的实现。管理员登录后根据身份信息自动获取相应菜单界面,可根据左侧导航栏菜单进行相应操作。个人信息修改页面可完成用户信息修改结果的实时显示;用户信息管理页面可对用户信息进行修改查询等基本操作。活动信息管理页面可对活动信息进行修改查询等基本操作。在页面设置退出按钮,可直接退出系统。(5)活动推荐功能模块:该模块主要实现根据用户登录时输入的用户名和密码获取相应的个人信息,然后通过获取已参与活动及对应评分信息等内容,完成推荐算法的计算,根据推荐结果展示出该用户专属的活动推荐列表。3.2系统非功能性需求分析(1)观感性:本系统界面清晰简洁,主要界面位于网页中间部分,颜色设置明显但不突兀,可以满足用户对系统页面的普遍需求。(2)易用性:本系统界面提示充足,对于要填写的信息均有文字提示,填写不符要求时有弹窗提示;对于功能按钮均设置文字表示,极大的方便了用户的使用。(3)安全性:设置token、handleinterceptor拦截器等完成登录验证及对非法登录进行拦截,通过使用加密算法完成对密码的加密。(4)可扩展性:本系统采用前后端分离架构,可通过添加接口实现系统功能的扩展。3.3本章小结本章首先针对推荐系统的主要功能特点和需求做出了具体介绍,主要包括用例图展示以及各个功能模块的具体内容做出了分析和介绍。然后从非功能化的需求两方面对整个系统进行全方面的分析。从以上分析内容可以得知,系统的主要功能在于不同用户的权限以及推荐活动模块的实现。在实现以上功能时,需格外重视,以保证设计系统目标的达成。第4章系统设计4系统设计4.1设计目标与原则本文主要结合实际在线学习生活的各种特征以及目标用户的基本需求实现的一种基于网站界面的面向协作学习的学习活动推荐系统,在系统开发过程中主要以下面四个原则为标准:实用性、可行性、安全性以及可扩展性。(1)实用性原则要求该系统必须能够充分地结合用户的实际情况,系统的工作流程明确且操作方式简单,充分地结合多种科学技术手段的优点来实现对于信息资源的有效整合与利用,使得该系统在设计上具有一定的吸引力以及良好的使用者体验感。(2)可行性原则要求系统所采用的所有技术路线是切实可行的,即对软件、硬件的配置要求不具有特殊性,对用户群体没有特殊要求且能够达到广泛适用的目标,并且能够充分利用现有的各种技术手段以及根据调查得知的目标用户可以拥有的基础设施完成预期的设计目标。(3)安全性原则要求系统对于使用者的信息不能泄露。对于私密信息,比如用户密码等信息,只能进行修改,而不能查看等。(4)可扩展性原则主要考虑系统的维护以及更新,要求系统在达到现有的设计目标同时具有一定的可扩展性和存储空间,例如在后续的更新中可以实现某项功能升级或其他功能的添加,或者随着用户人数的增多能对服务器负荷能力进行维护或升级,又或者是能提供接口以便后续接入第三方平台等。本文源于解决在线学习生活中用户对于活动推荐的需求,意图在于为有需求的用户提供聚集的途径,本系统应充分利用网站的便捷能力为在线学习的用户提供活动推荐等服务,其建设目标如下:(1)便捷的用户操作界面以及简洁的操作方法和实现方式;(2)更加注重用户个人信息的保密,防止信息泄露和窃取;(3)学习活动推荐系统应该具有快捷、易于维护、扩充的特点。4.2系统数据库设计本系统所使用的数据库主要包括以下内容:用户信息表(user)、活动信息表(activity)、活动参与表(liking)、主菜单表(menu)和子菜单表(submenu)。其中用户信息表用于存储有关用户的信息,结构如表4.1所示;活动信息表用于存储有关活动的信息,结构如表4.2所示;活动参与表用于存储用户参与活动的相关信息,结构如表4.3所示;主菜单表用于存储不同权限登录对应导航,结构如表4.4所示;子菜单表用于存储不同权限登录对应子菜单,结构如表4.5所示。表4.1用户信息表结构字段名称字段标识字段类型字段长度主键非空备注用户iduidint8是是自增长用户名usernamevarchar255否是不可重复密码passwordvarchar255否是年龄ageint8否是性别gendervarchar255否是身份identityint8否是1-学生教师管理员表4.2活动信息表结构字段名称字段标识字段类型字段长度主键非空备注活动idaidint8是是自增长活动名称activity_namevarchar255否是活动描述descriptionvarchar255否是QQ群号创建时间upload_timedata否是参与人数upload_countint8否是发起人authorvarchar255否否相似度wdouble255否否用于推荐表4.3活动参与信息表结构字段名称字段标识字段类型字段长度主键非空备注参与idlidint8是是自增长活动idaidint8否是用户iduidint8否是参与时间tidata否是续表4.3字段名称字段标识字段类型字段长度主键非空备注评分scoreint8否否表4.4主菜单信息表结构字段名称字段标识字段类型字段长度主键非空备注菜单ididint8是是图标iconvarchar255否是菜单名称namevarchar255否是权限type_idint8否是对应用户权限表4.5子菜单信息表结构字段名称字段标识字段类型字段长度主键非空备注子菜单ididint8是是子菜单名称namevarchar255是路径pathvarchar255是父级菜单parentint8是权限type_idint8是4.3系统整体架构面向协作学习的学习活动推荐系统主要由三个部分组成:(1)前端,系统显示界面,即展现给用户的网页部分,系统通过网页端接收用户进行的操作信息并实时将操作结果显示给用户,与此同时,将获取的数据传回到后台服务器;(2)后台服务器,后台对数据进行处理的部分,该部分与前端基于ajax实现交互,是实际处理用户请求并作出响应的部分;(3)数据库,主要负责对系统的信息进行存储等管理,包括前端数据以及后台数据。系统主要利用Navicat与MySQL的连接来实现数据库的创建和管理等操作,通过前端与后台服务器的交互进行各项操作程序通过获取代表指定数据库的对象便可实现数据库管理和操作。4.4系统功能结构本系统主要功能结构如图4.1所示。主要的功能模块包括注册、登录、学生中心、教师中心以及管理员中心等。其中学生中心里活动推荐是本系统的重要组成部分。图4.1面向协作学习的学习活动推荐系统功能结构图未注册的用户进入系统后需先进行注册操作,然后才能进行登录操作。注册功能的流程图如图4.2所示。图4.2注册功能流程图已注册用户可以直接通过输入用户名和密码进行登录操作。登录功能的流程图如图4.3所示。图4.3登录功能流程图学生登录后进入对应的学生中心,可进行修改个人信息、获取活动推荐、对已参与活动进行评分、查看所有活动列表等操作。其中评分功能流程图如图4.4所示。图4.4评分流程图教师登录后进入对应的教师中心,可进行修改个人信息、创建活动、查看已创建活动、查看所有活动等操作。其中创建活动功能流程图如图4.5所示。图4.5创建活动流程图系统管理员通过登录进入对应的管理员中心后,可修改个人信息,还可以对所有用户信息、活动信息进行查看修改等操作。4.5活动推荐模块在活动推荐的过程中,推荐算法的设计与实现尤其重要,本系统选取了基于物品的协同过滤算法进行实现。其设计流程图如图4.4所示。主要流程如下:(1)获取用户登录时输入的信息,跟据用户名查询用户信息,获取用户id;(2)获取数据库中存储的用户信息以及活动信息;(3)获取用户参与活动及对应评分信息;(4)构造共现矩阵;(5)通过余弦相似度计算得出物品相似度具体数值;(6)根据相似度排序进行活动推荐;(7)将推荐结果进行显示。图4.4活动推荐流程图4.6本章小结本章主要对系统进行了架构设计的介绍。在架构设计的方面,主要介绍了此系统设计的原则和期望实现的目标,并简单介绍了系统的整体构成:前端、后台、数据库及相应功能,展示了系统的功能结构图。在此基础上,选取了部分重要模块进行流程图展示,并对推荐算法的具体实现方式进行了说明。至此,基本上完成了对系统的设计和描述。第5章系统实现5系统实现5.1开发环境以下的所有配置均是实际操作中的配置:处理器:AMDRyzen52500U;内存:8GB;实际操作中可以不同于此配置。操作系统:Windows10家庭中文版64位;数据库:MySQL5.2基础功能模块5.2.1用户登录功能模块用户登录模块是用户进入此系统的入口,其运行结果如图5.1所示。图5.1用户登录功能模块图系统登录是学习活动推荐系统中最优先的使用功能,用户使用系统时可选择注册按钮跳转至注册页面填写信息进行注册,当数据提交之后,显示的页面会自动跳转回登录界面。因为用户系统在数据库中使用的是用户信息表,在登录时候要根据用户名对用户信息进行查询,并根据其身份进行界面跳转。在显示界面填写用户名和密码之后,点击登录按钮即可完成登录操作,在此之后根据用户的不同身份直接转进入属于自己的模块菜单部分。具体实现步骤为:(1)登录部分,放置两个输入框,分别提示要输入的信息为“用户名”、“密码”。下方放在两个按钮分别为“登录”和“注册”,一个“记住密码”单选框用于选择是否将用户名对应的密码保存在本地,一个关于忘记密码的弹出框用于提示忘记密码后处理方式。(2)密码的文本设置实现输入密码后显示*号。5.2.2用户注册功能模块用户注册模块是新用户进入系统的必要模块,其运行结果如图5.2所示。图5.2用户注册功能模块图用户使用系统时可选择注册按钮跳转至注册页面填写信息进行注册,当数据提交之后,会自动跳转回登录界面。具体实现步骤为:(1)注册部分设置三个文本输入框分别为“用户名”、“密码”,“确认密码”,其中并设置“性别”“身份”两个单选框,以及一个“提交”按钮。提交后会自动跳转到登录界面。(2)密码部分会自动显示*代替输入内容。(3)若用户名已存在,则会显示弹窗提醒用户更换用户名。(4)所有内容均为必填项,其中对两次输入密码进行判断,若两次填写密码不同,也会进行相应弹窗提醒。5.3学生中心功能模块学生登录后的主界面如图5.3所示。通过学习活动推荐系统系统登录后进入主页面,根据用户身份(学生),进入学生中心主页,点击“学生中心”可收起或展开子菜单。左侧的导航栏菜单可以完成相应的页面跳转,分别包括个人信息、活动推荐、已参与活动、活动列表四个子界面。图5.3学生中心功能模块图具体实现步骤为:(1)点击左侧菜单栏中“个人信息”按钮进入个人信息界面,然后根据相应按钮提示进行操作。(2)点击左侧菜单栏中“活动推荐”按钮进入活动推荐界面可获取活动推荐,可选择点击“参加”按钮完成对所推荐的活动的参加;(3)点击左侧菜单栏中“已参与活动”按钮进入已参与活动界面,可以浏览已参加的活动,点击“评分按钮”可对活动喜欢度进行评分;(4)点击左侧菜单栏中“活动列表”按钮进入活动列表,可以查看系统内所有已创建活动,可选择点击“参加”按钮完成对活动的参加。5.4教师中心功能模块教师登录后主界面如图5.4所示。通过学习活动推荐系统系统登录后进入主页面,根据用户身份(教师),进入教师中心,点击“教师中心”可收起或展开子菜单。点击左侧导航栏菜单可以完成相应的页面跳转,分别包括个人信息、活动创建、活动列表四个子界面。具体实现步骤为:(1)点击左侧菜单栏中“活动创建”按钮进入活动创建界面可查看已创建活动,并可选择填写信息创建新活动,其中活动描述用于填写联系方式,如QQ群等信息;图5.4教师中心功能模块图(2)点击左侧菜单栏中“个人信息”按钮进入个人信息界面,进入个人信息界面可对个人信息进行修改;(3)点击左侧菜单栏中“活动信息”按钮进入活动列表,可以查看系统内所有已创建活动。5.5管理员中心功能模块 系统管理员登录后主界面如图5.5所示。图5.5管理员中心功能模块图通过学习活动推荐系统系统登录后进入主页面,根据用户身份(管理员),进入管理员中心,点击“管理员中心”可收起或展开子菜单。点击左侧的导航栏菜单可以完成相应的页面跳转,分别包括个人信息管理、用户信息管理、活动信息管理三个子页面。具体实现步骤为:(1)点击左侧的“个人信息管理”按钮进入相应页面可对个人信息进行修改;(2)点击左侧的“用户信息管理”按钮进入相应页面,可以修改其他用户信息;(3)点击左侧的“活动信息管理”按钮进入相应页面,可对已经创建的活动进行修改删除等操作。5.6活动推荐功能模块用户通过学习活动推荐系统系统登录后进入主页面,根据用户身份(学生),进入学生中心,点击左侧的导航栏菜单中的活动推荐子菜单可以进行活动推荐界面,并获取对应的推荐活动信息。具体实现步骤为:(1)输入用户名密码进行登录,将用户信息传至后台;(2)获取用户对应信息,主要包括用户id、已参与活动列表以及相应活动评分;(3)系统根据推荐结果将推荐活动显示在页面中。5.7本章小结本章主要介绍了系统的基础功能模块、学生中心功能模块、教师中心功能模块、管理员中心功能模块以及活动推荐功能模块的详细设计与实现,其中基础功能模块主要实现了用户登录和注册的功能,以及与数据库相关的增删改查等功能。较为关键的内容是学生中心功能模块中活动推荐功能的实现,该功能主要基于物品的协同过滤推荐算法实现。次重点部分是侧边导航栏菜单的设置以及登录后显示动态菜单的具体实现。最后对系统所使用的数据库的设计与实现进行了简单的介绍。第6章系统测试与分析6系统测试与分析6.1测试环境与测试范围软件测试是保证软件系统质量的最重要的方式之一。各项软件测试的有效执行可以帮助开发者快速高效的完成软件的开发与实现。软件测试的意义在于发现程序中存在的错误并加以改正,能够发现错误的测试才算是成功的测试案例。在系统正式使用之前经过多项测试,尽可能完成全方面的测试,以保证系统的正常使用,这是在系统开发结束前的最后一个关键步骤,只有经过测试,才能投入生成或者使用。到目前而言,伴随着软件的发展及测试需求的增长,软件测试也衍生出各种测试方法。根据不同的测试内容,可以进行如下的划分:根据内部结构进行划分,可将测试方法分为白盒测试、黑盒测试、灰盒测试;根据执行的代码角度,可将测试方法分为静态测试、动态测试;根据开发级别,又可以将测试方法分为单元测试、集成测试、系统测试等。这些测试方法均合理且高效,我们可以根据不同的目的采用不同的测试方法。本次测试主要从功能测试方向进行考虑,以检测系统是否能够满足用户的需求,根据以上内容,确定主要使用的系统测试方式为黑盒测试。黑盒测试是指通过数据的输入,得到输出结果,对二者进行验证,至于代码内部的具体流程,则不去处理。而白盒测试则是只对代码结构进行分析检测,而对于输入输出的结果等内容并不注重,这也是二者最大的区别。灰盒测试则是介于二者之间,常在集成测试的过程中被应用。测试环境:性能测试机:ThinkpadE485,电脑系统:win10(适用于家庭、中文版)64位;处理器:AMDRyzen52500U;内存:8GB;硬盘:512GB;网络:通过局域网与服务器连接;测试网站环境:MicrosoftEdge。测试方法:采取黑盒测试方法,即根据系统设计目标中的各种需求对系统进行测试,主要包括界面显示测试、各项功能测试等。测试范围:本章针对系统的主要功能模块包括注册登录模块、学生中心功能模块、教师中心功能模块以及管理员中心功能模块进行功能测试。对于该系统的各项功能模块测试来说,主要是测试其是否能够达到了预期的逻辑功能。对于本系统而言,黑盒测试更适用于系统的测试。在此过程中,通过功能测试,获取界面的展示信息,完成对界面的测试;与此同时,通过对于系统的不断重复使用,完成性能测试。6.2系统功能测试6.2.1基础功能测试(1)测试描述:本测试用例用于验证用户登录前提:用户进入浏览器输入对应的网址后进入用户登录页面。备注:在登录页面输入存在且对应的用户名和密码,与数据库信息进行验证,验证成功后,会返回带有Token的序列。即使输入了不存在或者不匹配的用户名或密码进行登录,也需要验证系统登录验证是否准确。测试步骤:①输入网址进入学习活动推荐系统;②进入主页面之后,在页面中根据提示在对应的文本框中分别输入对应的用户名和密码信息;③单击“登录”按钮,完成数据的提交;④在“登录”页面,分别在用户名和密码文本框中输入不存在或者不匹配的用户名和密码。输入值:用户名,密码期望结果:步骤②验证通过,登录成功。步骤④反馈错误信息(用户名密码不匹配)。实际结果:步骤②验证通过,登录成功。步骤④反馈错误信息(用户名密码不匹配)。是否通过:通过。(2)测试描述:本测试用例用于测试用户“注册账号”功能是否正确前提:用户进入推荐系统,在登录页面点击“注册”按钮后自动跳转至注册页面。在“注册”页面根据提示填写相应的个人信息后点击“提交”按钮。备注:两次输入密码需一致。测试步骤:①输入网址进入学习活动推荐系统,在登录的页面点击“注册”按钮,进入注册页面。②在页面输入用户的各项信息。③点击提交按钮,将新的用户填写的数据全部添加到数据库中。④在页面输入两次不同密码或信息填写不完整输入值:用户名,密码,确认密码,性别,身份期望结果:步骤③显示提交成功并跳转至登录页面,步骤④准确反应错误信息。实际结果:步骤③显示提交成功并跳转至登录页面,步骤④准确反应错误信息。是否通过:通过。6.2.2学生功能模块测试(3)测试描述:本测试用例用于测试用户“修改个人信息”功能是否正确前提:用户进入系统后完成登录,在“个人信息”功能页。在“个人信息”页面编辑后提交。备注:无。测试步骤:①进入推荐系统的主界面,根据左侧导航栏菜单中的具体提示,点击进入个人信息页面。②在页面输入要修改的信息(用户名、密码、性别,身份)③点击修改界面的确认按钮,将修改后的个人信息更新并保存到数据库中。输入值:用户名,密码,性别,身份期望结果:用户修改个人信息成功。实际结果:用户修改个人信息成功。(4)测试描述:本测试用例用于测试用户“查看已参加活动”功能是否正确前提:用户进入系统后完成登录。备注:无。测试步骤:①进入推荐系统的主界面,根据左侧导航栏菜单中的具体提示,点击进入已参加活动页面。②在页面选择评分③点击确认按钮,将评分数据更新到数据库中。输入值:评分期望结果:用户评分成功。实际结果:用户评分成功。是否通过:通过。(5)测试描述:本测试用例用于测试用户“查看活动列表”功能是否正确前提:用户进入系统后完成登录。备注:无。测试步骤:①进入推荐系统的主界面,根据左侧导航栏菜单中的具体提示,点击进入活动列表页面。②在页面获取所有活动信息。输入值:无。期望结果:用户获取活动信息成功。实际结果:用户获取活动信息成功。是否通过:通过。6.2.3教师功能模块测试(6)测试描述:本测试用例用于测试用户“创建活动信息”功能是否正确前提:用户进入系统,在“已创建活动”功能页。在“已创建活动”页面编辑后提交。备注:无。测试步骤:①进入推荐系统的主界面,根据左侧导航栏菜单中的具体提示,点击进入已创建活动信息页面。②在页面添加要创建的活动(活动名称、活动描述、活动发起人)③点击确定按钮,将新增加的活动信息添加到数据库中。输入值:活动名称,活动描述,活动发起人,活动地址期望结果:创建活动成功。实际结果:创建活动成功。是否通过:通过。(7)测试描述:本测试用例用于测试用户“修改个人信息”功能是否正确前提:用户进入系统后完成登录,在“个人信息”功能页。在“个人信息”页面编辑后提交。备注:无。测试步骤:①登录后进入推荐系统的主界面,根据左侧导航栏菜单中的具体提示,点击进入个人信息页面。②在页面输入要修改的信息(用户名、密码、性别,身份)。③点击修改界面的确认按钮,将修改后的个人信息更新并保存到数据库中。输入值:用户名,密码,性别,身份期望结果:用户修改个人信息成功。实际结果:用户修改个人信息成功。是否通过:通过。(8)测试描述:本测试用例用于测试用户“查看活动列表”功能是否正确前提:用户进入系统后完成登录。备注:无。测试步骤:①进入推荐系统的主界面,根据左侧导航栏菜单中的具体提示,点击进入活动列表页面。②在页面获取所有活动信息。输入值:无。期望结果:用户获取活动信息成功。实际结果:用户获取活动信息成功。是否通过:通过。6.2.4管理员功能模块测试(9)测试描述:本测试用例用于测试用户“修改个人信息”功能是否正确前提:用户进入系统后完成登录,在“个人信息”功能页。在“个人信息”页面编辑后提交。备注:无。测试步骤:①进入推荐系统的主界面,根据左侧导航栏菜单中的具体提示,点击即可进入个人信息页面②在页面输入要修改的信息③点击修改界面的确认按钮,将修改后的个人信息更新并保存到数据库中。输入值:用户名,密码,性别,身份期望结果:用户修改个人信息成功。实际结果:用户修改个人信息成功。(10)测试描述:本测试用例用于测试用户“用户信息管理”功能是否正确前提:用户进入系统,在“用户信息管理”功能页。在“用户信息管理”页面获取信息。备注:无。测试步骤:①进入推荐系统登录页面,根据左侧导航栏菜单中的具体提示,点击进入系统的用户信息管理页面。②在页面输入要修改的信息(用户名、密码、性别,身份)③点击修改界面的确认按钮,将修改后的用户信息更新并保存到数据库中。输入值:用户名,密码,性别,身份期望结果:管理员修改用户信息成功。实际结果:管理员修改用户信息成功。是否通过:通过。(11)测试描述:本测试用例用于测试用户“活动信息管理”功能是否正确前提:用户进入系统,在“活动信息管理”功能页。在“活动信息管理”页面编辑后提交。备注:无。测试步骤:①进入推荐系统登录页面,根据左侧导航栏菜单中的具体提示,点击进入活动信息管理页面。②在页面输入要修改的信息(活动名称、活动描述、发起人)③点击确认按钮,将修改后的活动信息更新到数据库中。输入值:活动名称、活动描述、发起人期望结果:管理员修改活动信息成功。实际结果:管理员修改活动信息成功。是否通过:通过。6.2.5推荐模块功能测试(12)测试描述:本测试用例用于测试用户“活动推荐”功能是否正确前提:用户进入系统后完成登录。备注:无。测试步骤:①进入推荐系统登录页面,根据左侧导航栏菜单中的具体提示,点击进入活动推荐页面。②在页面显示推荐的活动期望结果:页面显示推荐活动。实际结果:页面显示推荐活动。6.3本章小结本章首先对系统测试的环境进行了简单的介绍,然后对于软件测试的方法做了简单的叙述;重点在于对系统功能进行的测试,主要采取了黑盒测试的方式,并对于不同的功能模块进行了多次综合测试,其中,关键点在于对同一个模块通过不同身份进行了多次测试。黑盒测试结果表明面向协作学习的活动推荐系统实现了对用户进行活动推荐的功能推荐系统所要求的功能,基本上完成了预期的设计目标,同时,也完成了系统关于准确性和安全性的要求。根据测试结果还可以得知,本系统页面均可正常显示。关于性能测试方面,在进行功能测试的过程中,系统长时间运行使用,未出现任何问题,可以证明该系统性能测试结果没有问题。第7章总结与展望7总结与展望7.1本文工作总结通过调研分析了解到,协作学习的学习方式有利于通过学生的学习效率并且能够扩展学生的思考方向。推荐系统因为其独特性能正处于急速发展状态。而学习活动推荐系统也能解决学生因为活动过多而无从选择的局面。面向协作学习的学习活动推荐系统在在线教育、网络学习的大环境下有着其独特的优势,对当代大学生而言也是一个能有效提高学习
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025机场安检笔试题及答案
- 煤矿安全监督检查制度守则
- 福建省武夷山市第二中学2025-2026学年度高一上学期1月月考历史试题(含答案)
- 《FZ 50004-1989涤纶短纤维干热收缩率试验方法》专题研究报告
- 2025 小学一年级科学下册果实的保护意义课件
- 敏捷开发流程及实操指南
- 童车生产线项目规划设计方案
- 钢结构幕墙供货周期管理方案
- 传播学考研就业方向
- 时尚服装销售话术
- 2026年安徽省公务员考试招录7195名备考题库完整参考答案详解
- 化工厂班组安全培训课件
- 2025四川成都农商银行招聘10人笔试备考题库及答案解析
- 营业执照借用协议合同
- 2025年秋苏教版(新教材)初中生物八年级上册期末知识点复习卷及答案(共三套)
- 2025年小升初学校家长面试题库及答案
- 2025年法考客观题真题回忆版(含答案)
- 2025年危化品泄漏应急培训教案
- 2026年铁岭卫生职业学院单招职业技能测试题库附答案详解
- 2025年江南大学招聘真题(行政管理岗)
- 2024-2025学年江苏省南通市海门区高二上学期期末调研地理试题(解析版)
评论
0/150
提交评论