版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/37基于个性化推荐练习的错题管理系统设计与实现目录HYPERLINK\h\u3129第1章绪论 1132161.1研究背景 1270401.2国内外研究现状 2296191.3本文组织结构 2325631.4创新点 355631.5本章小结 317528第2章方案论述 4186712.1开发平台 447232.2开发工具和技术介绍 4221132.2.1visio 4311302.2.2IntelliJIDEA 444992.2.3Bootstrap 463172.2.4SSM框架 4231732.2.5MySQL 47622.2.6Navicat 595532.3本章小结 531254第3章过程论述 6234473.1功能分析 677033.2用例分析 7200293.2.1学生用例图分析 8251773.2.2教师用例图分析 10251773.2.3系统管理员用例图分析..11251773.2.4超级管理员用例图分析..13111363.3顺序图分析 13149063.4数据库设计 1793223.4.1概要设计 17185153.4.2数据库详细设计 18275623.5活动图设计 19125753.6状态图设计 2385853.7系统结构图设计 24174963.8系统实现 24304513.8.1习题练习功能实现 25173233.8.2个性化习题推荐实现 2742453.9本章小结 3030988第4章结果分析 31287194.1系统测试 31124504.1.1习题练习功能测试 3159924.1.2习题推荐练习功能测试 32143384.2本章小结 3319494第5章总结与展望 3420240参考文献 36摘要随着“互联网+”的发展,给教育领域带来变革,在线学习成为不可逆转的潮流,传统的教育方式也开始改变,错题管理又是学生学习生活中最重要的一部分,通过错题管理,学生可以查漏补缺,大数据时代,学生能轻易获得大量的学习资料,也会产生大量的习题练习记录,传统的纸质错题本已经不能满足学生需求,学生需要一个在线的错题管理系统。然而在大数据,除了给学生带来便利的同时,也产生了信息过载的问题,学生错题管理的本质就是为了发现缺点,然后根据缺点进行针对练习,这就需要学生从大量的学习资料中找出最适合自己,自己最迫切需要的内容。本文借鉴国内外学者已经进行大量研究的推荐算法,结合学生的错题管理,论述了基于个性化推荐练习的错题管理系统设计与实现。关键字:推荐算法;错题管理;SSM;MySQL绪论研究背景基于互联网的在线学习作为教育信息化的主要表现形式,是未来人们学习的一种主要趋势。目前,国内外主流的公共在线学习平台,例如edX、中国大学MOOC、智学网、EduCoder等,都积攒了大量的学习资源,也开设了大量课程,为用户提供在线学习,而且参与在线学习的学者人数和学习时长也日益增长。《2020年腾讯课堂大数据报告》显示,2019年腾讯课堂在线课程超17.8万门,累计报名3430万余门课程,总学习时长累计达7531年。[1]由此可以看出,基于互联网的在线学习已成为不可逆转的一大发展趋势。互联网和计算机技术的飞速发展,使教育领域与多媒体技术的结合更加紧密。[2]现在越来越多的学生喜欢在网络上进行学习,线上考试,线上答题已成为常态化。有习题就会产生错题,错题集,是学生学习的充电宝,学生使用错题集,能够减少盲区,误区,也是给学生的学习“减负”“减压”[3]学生需要一个错题管理系统来帮助学生进行错题管理。目前虽然存在许多在线练习的平台,但是大多侧重于试卷自动组卷和期末考核,而忽视和学生日常测验和学习辅助。[4]另外,在大数据时代下,信息的普及和增长给用户带来便利的同时,也带来了信息过载的问题。[5]在大数据时代下,获得学习资源的习题已经不再是学生的核心需求,现在的学生更需要解决的不再是找资料难的问题,而是怎样找到更适合自己的学习资料。市面上的在线学习平台大多是以盈利为主要目的,他更多的是提供广告,售卖课程,对待所有学生都是一样的,忽视了学生的个性化需求。为此,为此,本文提出了“基于个性化推荐练习的错题管理系统设计与实现”课题。该系统主要为学生提供在线错题管理还有个性化习题推荐功能。学生可以通过该系统进行错题的整合,查询。又因为错题是指学生经过一定的思维活动,做过一系列的认知操作,但还是无法完整正确解决的结果。[6]换句话说,错题是一个结果,但是通过这个结果我们可以追本溯源,沿着结果得出的过程去追溯,就能找到学生的缺陷和漏洞。但是在传统学习方式中,学生收集整理错题本后,由于学生的认知能力,心理发展等问题,对错题分析存在一定的难度,他们的分析可能不够准确,不能找到其中的关键点。[7]基于学生的错题,进行个性化的学习资源的推荐,才能更精准,更客观的找到学生最需要的资源。因此系统也会自动根据错题来进行漏洞分析,帮助学生查漏补缺,及时了解自身的学习情况,通过漏洞分析个性化习题推荐功能,也能根据学生的错题记录,检索题库,进行相似题目推荐,帮助学生进行强化训练。本系统也加入了教师用户,教师对学生的学习生活来说是不可缺少的,教师需要及时掌握学生的学习情况,进而针对学生进行教学计划调整,同时引导学生,这在本系统中也要体现。为了实现个性化推荐功能,本系统将采用推荐算法。从上世纪90年代开始,国外出现了一些对推荐系统与个性化学习的探索。1992年,美国XeroxPARC研究所Goldberg等学者发明了Tapestry,用于对电子邮件进行过滤和推荐新闻,形成了最早的推荐算法雏形。1995年3月,卡耐基·梅隆大学的RobertArmstrong等人在美国人工智能协会上提出了个性化导航系统WebWatcher;斯坦福大学的Hayes-Roth、Barbara等人在同一会议上推出了个性化推荐系统LIRA,成为了首个推荐系统。[8]但由于受到当时的网络和硬件设备的生态发展并不充分,并未产生广泛应用。但如今在大数据时代,推荐算法日益成熟,广泛应用到社会各方面。随着电子设备和网络技术的发展,为了满足大规模的用户的个性化需求,同时也为了解决产品信息过多的问题,推荐系统应运而生。[9]国内外研究现状(1)推荐算法:目前主流的推荐算法主要有三种,基于内容的推荐算法,协同过滤推荐算法和混合算法。在基于内容的推荐算法CB中,首先要对数据集进行预处理,把原始数据分类整合,排列标签,提取所有物品,进行标签比对,计算相似度。[10]这一过程中需要获取用户偏好,用户偏好的获取是推荐系统的关键技术,偏好获取的准确性,直接影响推荐系统准确性和实时性。[11]推荐算法对于推荐系统是一个非常重要且具有挑战性的问题。[12]基于内容推荐算法的研究,主要集中与依据不同内容间的关系,构建交叉的内容模型,并根据更为丰富的信息,提更准确的个性化推荐。[13]与推荐系统在其他领域的应用不一样的是,学习推荐系统的首要不是为了预测学习者的行为,而应该是通过推荐的内容,辅助学习者在合适的学习进程中以合理的方式发现与其个性化参数相匹配的学习资源。[14]而针对错题管理系统的推荐,应该明确错题要为学习者推荐的习题,应该具备与学习者做错的试题具有同样知识点,类似难度的特征。[15]因此应该选用基于内容的推荐算法更为合适。(2)技术架构:目前国内外的在线学习平台大部分都是基于B/S架构的,B/S全部由预制组件组成,只需要修改网页即可同时升级。[16]与传统的C/S模式相比,B/S模式具有占用客户机内存较小,服务端反应迅速,使用灵活方便等特点。[17]适合学生用户使用,只需要浏览器即可。数据库方面,MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,因此,一般中小型网站的开发均选择MySQL作为网站数据库。[18]MySQl性能卓越,开发成本低,因此本系统决定使用B/S架构,MySQL进行开发。1.3本文组织结构以下是本文的组织结构介绍:第一章:绪论。主要是介绍本次研究的背景以及目的;根据参考文献简要概述了国内外该课题的发展现状。第二章:方案论述。主要是介绍本次研究使用的开发工具,以及开发技术。第三章:过程论述。主要是对本次研究的需求分析的展示,以及本次系统主要功能进行了详细说明和实现,给出核心代码和截图。第四章:结果分析。主要记录本次系统功能测试过程中的问题以及测试用例第五章:总结与展望。主要是对本次研究进行了总结,并展望未来系统需要解决的不足之处。1.4创新点本文专为学生设计,主要根据学生的错题进行统计分析,分析出学生的知识漏洞,并进行习题推荐,强化学生知识漏洞,引入教师用户,方便教师实时看到班级学生的整体学习情况和个别学生的学习情况,方便进行后续教学计划的针对性调整,更好的帮助学生提高成绩。1.5本章小结本章主要是介绍课题的研究背景,国内外现状以及研究目的:1.帮助学生更加好的对错题进行收集管理。2.为学生分析知识漏洞,方便学生查漏补缺.3.为学生提供个性化习题推荐,帮助学生精准进行强化练习。并且通过文献,分析了国内外的研究现状,对于课题提出了自己的创新点。方案论述2.1开发平台本系统的开发,是基于Windows10系统;UML建模工具使用的是visio;代码编辑使用的软件是IntelliJIDEA2021;前端使用的是Bootstrap框架;后端使用的是SSM框架;后台数据库使用的是MySQL,数据库工具使用的是Navicat。2.2开发工具和技术介绍2.2.1visiovisio是一款基于Windows平台的流程图与示意图绘制软件,是MicrosoftOffice软件的一部分,其中拥有大量绘图组件,本系统中的用例图,顺序图,活动图,状态图,E-R图,系统结构图等绘制都是使用visio完成的。2.2.2IntelliJIDEAIDEA全称IntelliJIDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一。使用IDEA编写代码,很多地方都会有代码提示,大大减少了编写的时间。2.2.3BootstrapBootstrap,来自Twitter,是目前最受欢迎的前端框架。Bootstrap是基于HTML、CSS、JAVASCRIPT的,它简洁灵活,使得Web开发更加快捷。使用Bootstrap自带的组件和样式,即方便又整洁。2.2.4SSM框架SSM框架是由Spring、SpringMVC、MyBatis三个框架组合而成的,常作为数据源较简单的web项目的框架。spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。2.2.5MySQLMySQL所使用的SQL语言是用于访问数据库的最常用标准化语言,由于其体积小、速度快、开放源码等特点,一般中小型网站的开发都选择MySQL作为网站数据库。2.2.6Navicatnavicat是一套快速、可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设计。2.3本章小结本章主要是介绍,整个系统在设计与实现阶段,使用到的技术和工具,并且对这些技术和工具进行简单介绍说明。过程论述3.1功能分析本系统的参与者有学生,教师,系统管理员和超级管理员。四者都可以进行个人信息维护功能,学生可以进行习题练习,漏洞分析查看,习题记录管理等操作;教师可以进行班级管理和学生管理操作;系统管理员可以进行题库管理和用户管理操作;超级管理员可以进行系统管理员管理操作。参与者功能详细说明用户个人信息管理用户登录系统之后,可以查看自己的个人账号信息,并且针对自己的用户名称,个人密码等信息进行修改。学生习题练习学生可以在系统中进行习题练习和推荐练习,习题练习会根据学生选择的科目,自动从题库中进行题目的随机抽选,展现给学生进行练习;推荐练习则会根据学生的做题记录进行分析,根据学生选择的科目自动进行相应题目的推荐,展现给学生进行练习。习题记录管理学生可以查看习题记录,查询该学生进行练习的所有习题。也可以手动添加或删除习题记录。漏洞分析查看学生可以选择对应科目查看系统根据学生做题记录统计分析得来的学生漏洞分析情况。教师班级管理教师可以查看班级,创建班级,删除班级,也可以查看班级中所有学生的漏洞分析情况汇总。学生管理教师可以添加学生到自己的班级,也可以删除自己班级内的学生,也可以查看每个学生的漏洞分析情况。系统管理员题库管理系统管理员可以进行题库大类,知识点,科目,以及详细习题的添加,删除,修改操作,并且可以针对习题进行启用和停用操作。用户管理系统管理员可以查看所有用户(学生和教师),并且重置用户密码。超级管理员系统管理员管理超级管理员可以进行系统管理员的添加,删除操作。3.2用例分析用例图是用来对系统的功能进行建模的。下文主要是从不同参与者的角度进行的用例图分析。本系统的参与者有学生,教师,系统管理员和超级管理员。所有用户均可以进行个人信息管理,学生可以进行,习题练习,漏洞分析查看,习题记录查看等操作;教师可以进行班级管理和学生管理操作;系统管理员可以进行题库管理和用户管理操作;超级管理员可以进行系统管理员管理操作。其中图3-1为系统各用户用例图。图3-1系统各用户用例图3.2.1学生用例图分析用例1:个人信息维护(以学生为例)用例说明:用户均可进行个人信息维护,受篇幅影响,以学生为例进行说明。学生登录系统之后,会自动跳转到学生个人页面,学生也可手动点击按钮进入到学生个人页面,系统会自动根据学生登录时的账号密码进行账号个人信息展示,显示账号,账户名称,账户身份,账户所在班级。学生点击个人页面的“修改信息”之后,会跳转到个人信息修改页面,学生可以进行账户名称修改,以及账户密码修改。用例图如图3-2-1-1所示。图3-2-1-1学生个人信息维护用例图用例2:习题练习用例说明:学生进入系统之后可以通过点击“习题练习”进入习题练习科目选择界面,进行科目选择,选择完毕,习题自动从题库中抽取相关习题,点击开始,开始进行习题练习,习题提交后,展示习题解析,并计入习题记录中。学生进入系统之后可以通过点击“推荐习题”进入习题推荐练习科目选择界面,进行科目选择,选择完毕后,如若学生没有进行过习题练习,习题记录中并未存在相应记录,则提示学生没有进行过习题练习,请先进行习题练习;若学生已经进行过习题练习,且对应习题记录中有相应的记录,则系统自动根据学生习题记录,进行习题推荐。之后点击开始,开始进行推荐习题练习,习题提交后,展示习题解析,并计入习题记录中。用例图如图3-2-1-2所示。 图3-2-1-2学生习题练习用例图用例3:习题记录管理用例说明:学生进入系统之后,可以点击“习题记录”,进入道习题记录查看页面,页面会自动展示学生所进行过练习的题目,也可以点击习题,进入到习题详细信息页面进行查询。学生也可以点击添加,进行习题记录添加操作,也可以点击习题记录行中的删除按钮,进行习题记录删除操作。的用例图如图3-2-1-3所示。图3-2-1-3学生习题记录管理用例图用例4:漏洞分析查看用例说明:学生进入系统之后,可以点击“漏洞分析”,进入到漏洞分析查看页面,学生先进行科目选择,选择要查看的漏洞分析的科目,选择完毕后,如若学生没有进行过习题练习,习题记录中并未存在相应记录,则提示学生没有进行过习题练习,请先进行习题练习;若学生已经进行过习题练习,且对应习题记录中有相应的记录,则系统自动根据学生对应科目的习题记录,进行统计分析,显示学生掌握薄弱的习题大类,习题知识点,习题难度。用例图如图3-2-1-4所示。图3-2-1-4学生漏洞分析查看用例图3.2.2教师用例图分析用例1:班级管理用例说明:教师登录系统之后,可以点击“班级管理”,查看自己创建的所有班级。教师点击“添加班级”,进入到班级添加页面,输入班级名称,进行班级新增操作。教师点击“班级删除”,系统自动删除该班级,并清除该班级中所有学生的学生班级信息;教师点击“班级总览”,进入到班级总览科目选择页面,选择班级科目之后,若系统中并没有对应的记录,则提示,班级内学生并没有进行相关习题练习;若系统中有相关记录,则根据班级内所有学生的习题记录进行统计分析,找出班级普遍存在的漏洞,习题大类,习题知识点,习题难度等相关信息。方便后续教师根据数据分析进行相关教学计划的调整。用例图如图3-2-2-1所示。图3-2-2-1教师班级管理用例图用例2:学生管理用例说明:教师登录系统之后,点击“班级管理”后,进入到班级查询界面,点击“进入班级”,可以进入到学生查看页面,能查看当前班级的所有学生。教师点击“添加学生”,可以输入学生信息,将学生添加进自己班级,如果学生已经存在班级,则无法添加,若学生并不存在班级,则添加成功,对应学生用户的学生信息表中的班级信息也会发生改变。教师点击“删除学生”,可以将学生从自己当前班级中删除,对应学生用户的学生信息表中的班级信息也会发生改变。教师点击“漏洞分析”,可以查看该学生漏洞分析,先进行科目选择,如果学生不存在对应习题记录,则提示,并未检测到学生相关记录,请先进行练习,若学生存在对应习题记录,则展示该学生该科目的漏洞分析,薄弱点的习题大类,习题知识点,习题难度。用例图如图3-2-2-2所示。图3-2-2-2教师学生管理用例图3.2.3系统管理员用例图分析用例1:题库管理用例说明:系统管理员登录之后,可以点击“科目管理”,进入科目管理页面,页面显示目前已存在的科目,点击“添加科目”,可以进入到科目添加页面,输入科目信息,进行科目添加;点击“删除科目”,可以将对应科目删除;点击“修改科目”,跳转到科目修改页面,输入科目信息,进行修改。以上操作数据变更之后对应习题信息也会改变。系统管理员点击“知识点管理”,可以进入到知识点管理页面,页面显示目前已经存在的知识点,点击“添加知识点”,可以进入到知识点添加页面,输入知识点信息,进行知识点添加;点击“删除知识点”,可以将对应知识点信息进行删除;点击“修改知识点”,跳转到知识点修改页面,输入知识点信息,进行修改。以上操作数据变更之后对应习题信息也会改变。系统管理员点击“题库管理”,可以进入到题库管理页面,页面显示目前已经存在的所有习题,点击“添加习题”,可以进入到习题添加页面,按照要求输入习题信息,可以进行习题添加操作;点击“删除习题”,可以将对应习题的删除;点击“修改习题”,跳转至习题修改页面,按要求输入相关习题信息,进行习题修改操作;点击“启用习题”,系统自动更改习题状态为“已启用”,习题可被学生用户进行练习;点击“停用习题”,系统自动更改习题状态为“已停用”,习题不可被学生用户进行练习。以上操作产生的数据变动,对应习题记录信息也会产生相应变动。用例图如图3-2-3-1所示。图3-2-3-1系统管理员题库管理用例图用例2:用户管理用例说明:系统管理员登录之后,点击“用户管理”,可以查看系统中所有用户(教师和学生)。点击“用户密码重置”,可以将当前所选用户的密码进行重置,用户使用重置后的密码进行登录之后,可以进行密码修改。用例图如图3-2-3-2所示。图3-2-3-2系统管理员用户管理用例图3.2.4超级管理员用例图分析用例1:管理员管理用例说明:超级管理员登录之后,点击“管理员管理”,可以查看系统中所有管理员。点击“添加管理员”,可以进入到管理员添加页面,输入相关信息,进行管理员的添加。点击“删除管理员”,可以将当前所选管理员删除。点击“密码重置”,可以将当前所选管理员的密码进行重置,管理员使用重置后的密码进行登录之后,可以进行密码修改。用例图如图3-2-4-3所示。图3-2-4-1超级管理员管理员管理用例图3.3顺序图分析顺序图是用来描述对象之间信息的交互以及交互的顺序。由于篇幅影响,本文选取学生习题练习和学生习题推荐练习来说明顺序图的分析过程。3.3.1学生习题练习顺序图说明:学生登录习题之后开始进行习题练习,首先系统查询并展示习题科目,学生进行选择之后,系统根据学生选择的习题科目从题库中进行习题随机抽选,将选中的习题取出,作为本次学生练习的习题集,学生点击开始练习之后,系统将习题集中的习题进行分页展示,学生每提交一次习题,都会产生对应习题练习记录,学生也可以通过分页按钮进行题目选择,修改提交的答案,当习题全部练习完毕,学生确认之后,会将习题练习记录中的数据插入到习题记录表中,同时从习题练习记录中返回习题解析和习题练习记录到页面,供学生查看。顺序图如图3-3-1所示。图3-3-1学生习题练习顺序图3.3.2学生习题推荐练习顺序图说明:学生登录习题之后开始进行习题练习,首先系统查询并展示习题科目,学生进行选择之后,系统根据学生选择的科目从对应学生的的习题记录中找出学生错题最多的习题大类,习题知识点和习题难度,系统再将题库中对应科目习题查询写入习题推荐集,习题推荐集,根据习题特征进行数据更新,页面读取数据,进行推荐指数计算,将计算结果写入习题推荐集,再从习题推荐集中按照推荐指数倒叙排列取出习题集,学生点击开始练习之后,系统将习题集中的习题进行分页展示,学生每提交一次习题,都会产生对应习题练习记录,学生也可以通过分页按钮进行题目选择,修改提交的答案,当习题全部练习完毕,学生确认之后,会将习题练习记录中的数据插入到习题记录表中,同时从习题练习记录中返回习题解析和习题练习记录到页面,供学生查看。顺序图如图3-3-2所示。图3-3-2学生推荐练习顺序图3.4数据库设计3.4.1数据库概要设计说明:如图3-4-1所示,用户有学生,教师,管理员,超级管理员四种身份,不同身份使用功能时会有不同,所以要在用户身份属性进行判断。用户包含账号,名称,密码,身份,班级;习题包含习题大类,习题知识点,习题科目,习题编号,习题状态,习题内容,习题选项1,选项2,选项3,选项4,正确选项以及习题解析;习题记录由学生生成,所以习题记录除了拥有习题全部属性外,还拥有习题记录编号,学生用户账号,学生答案以及正负;班级由教师创建,所以班级包含,班级名称,班级编号,班级创建人。图3-4-1E-R图3.4.2数据库详细设计本系统中,数据库关系用二维表来表示的。以下是,本系统中主要的几张表的信息,每张表包括字段名称、字段描述、字段类型、字段长度以及是否主键。用户表(yonghu),如表3-4-2-1所示。学生,教师,系统管理员,超级管理员都存放在用户表中,以用户账号作为主键,账号为字符串类型,用户账号不能重复,四种参与者通过用户身份字段进行判断,不同类型账号登陆之后会前往不同主页。用户班级默认为空,后续该字段只有学生用户会发生改变,其余用户一直为空。表3-4-2-1用户表字段名类型长度主键描述yh_idvarchar20√用户账号yh_passwordvarchar20用户密码yh_namevarchar10用户名称yh_sfvarchar6用户身份yh_classvarchar20用户班级(学生)题库表(tiku),如表3-4-2-2所示。题库表已习题编号作为主键,习题编号为整数类型且自增。通过习题科目字段来对科目进行分类检索,用习题大类,习题知识点,习题难度来进行标记习题特征。表3-4-2-2题库表字段名类型长度主键描述tk_idint自增√习题编号tk_kemuvarchar5习题科目tk_dlvarchar50习题大类tk_zsdvarchar50习题知识点tk_ndint5习题难度tk_ztvarchar5习题状态tk_textvarchar255习题内容tk_option1varchar255习题选项1tk_option2varchar255习题选项2tk_option3varchar255习题选项3tk_option4varchar255习题选项4tk_truevarchar255习题正确选项tk_jiexvarchar255习题解析习题记录表(xtjl),如表3-4-2-3所示。习题记录表与题库表类似,大部分字段与题库表一直,不过习题记录表的主键为习题记录编号,整数类型,自增。习题记录用户账号来自用户表,主体内容来自题库表,用户答案字段来自用户答题过程中。表3-4-2-3习题记录表字段名类型长度主键描述xtjl_idint自增√习题记录编号xtjl_yhidvarchar20用户账号xt_idint习题编号xt_kemuvarchar5习题科目xt_dlvarchar50习题大类xt_zsdvarchar50习题知识点xt_ndint5习题难度xt_ztvarchar5习题状态xt_textvarchar255习题内容xt_option1varchar255习题选项1xt_option2varchar255习题选项2xt_option3varchar255习题选项3xt_option4varchar255习题选项4xt_truevarchar255习题正确选项xt_jiexvarchar255习题解析xt_yhdavarchar255用户答案xt_zfvarchar5习题正错3.5活动图设计活动图是用来阐明系统业务用例实现的流程的。本文选取主要的业务用例进行分析。3.5.1习题练习说明:学生登录系统之后,选择习题练习,系统显示科目供学生选择,学生选择完毕之后,系统自动从题库中随机取出习题作为习题集,学生点击开始进行答题,学生每答完一道题目,都会产生对应习题练习记录,当题目为最后一题时,学生点击确认,系统会自动进行提交操作,将习题练习记录写入习题记录中保存,之后展示习题解析;当题目不是最后一题时,学生点击确认,习题会自动跳转到下一道题目。活动图如图3-5-1所示。图3-5-1学生习题练习活动图3.5.2习题推荐练习说明:学生登录系统之后,选择习题推荐练习,系统显示科目供学生选择,学生选择完毕之后,习题会从习题记录中对错题进行查询,如果没有相应错题,则提示未查到相关系统记录,请先进行习题练习;如果有对应错题,系统会统计出学生错题最多的错题的大类,错题知识点,错题难度,作为错题特征。之后系统自动从题库中取出习题,并结合错题特征创建并更新习题推荐集,根据习题推荐集的错题特征属性计算习题推荐指数,根据习题推荐指数进行倒序排列,生成习题集。学生点击开始进行答题,系统显示错题集的题目,学生每答完一道题目,都会产生对应习题练习记录,当题目为最后一题时,学生点击确认,系统会自动进行提交操作,将习题练习记录写入习题记录中保存,之后展示习题解析;当题目不是最后一题时,学生点击确认,习题会自动跳转到下一道题目。活动图如图3-5-2所示。图3-5-2学生习题推荐练习活动图3.6状态图设计状态图描述的是一个实体的状态对于事件做出的反应。3.6.1习题状态图说明:管理员添加习题之后,默认习题为启用状态,管理员可以通过登录习题,进入题库管理,选择习题,进行停用操作,习题状态由“已启用”变为“已停用”,“已停用”状态下的习题,无法作为习题被学生使用,同时对应习题记录也会发生变化,被停用的习题无法参与错题统计分析。管理员可以通过习题启用功能,将习题状态变为“已启用”,该状态下的习题可以正常被学生使用,同时也会参与到统计分析中去。状态图如图3-6-1所示。图3-6-1习题状态图3.7系统结构图设计说明:本系统除了用户共有的个信息管理之外,共分为四大主模块,学生模块,教师模块,系统管理员模块,超级管理员模块,详细情况如图3-7所示。图3-7系统结构图3.8系统实现本系统实现了用户个人信息管理,学生:习题练习,习题记录管理,漏洞分析查询;教师:班级管理,学生管理;系统管理员:题库管理,科目管理,大类管理,知识点管理,用户密码重置;超级管理员:管理员管理。由于文章篇幅有限,我选择学生模块重点以习题练习,习题推荐练习为例讲解进行描述。3.8.1习题练习功能实现(1)首页导览图3-8-1-1学生首页习题练习学生点击习题练习,进入习题练习科目选择页面之后,系统会自动显示题库中习题的科目分类,学生点击科目列表中对应科目的选择按钮,页面会跳转到开始练习页面,此时系统已经根据学生选择的科目,从题库中随机抽取习题完毕,作为本次学生进行习题练习的习题集,点击开始,进入到习题答题页面(如图3-8-1-2)。学生可以点击右下脚分页页面,查看不同习题并作答如图。学生选择选项,点击确认之后,习题会自动跳转至下一习题。若当前题目为最后一道题目,点击确认之后,会跳转到习题解析页面(如图3-8-1-3),此时本次练习产生的习题练习记录会写入习题记录中去。图3-8-1-2习题答题页面图3-8-1-3习题解析页面习题推荐练习学生点击推荐练习,进入科目选择页面,学生选择科目之后,系统自动查询习题记录中相关科目的错题记录,进行错题特征查询,若不存在对应的错题记录,则提示未查到,请先进行习题练习(如图3-8-1-14)。若查到,进入习题推荐开始页面,点击开始,进入习题答题页面,如图3-8-1-2,此后与习题练习一致。图3-8-1-4未查到错题记录页面3.8.2个性化习题推荐实现(1)总体实现的步骤:
①根据错题记录,聚合计算学生各错题特征的数量。
②使用余弦相似度算法,计算学生错题标签向量最相似的TOPN习题列表。
(2)分步详解①根据错题记录,聚合计算学生各错题特征的数量。通过对数据库的查询查询出习题记录中的错题中,出现次数最多的习题大类,习题知识点,习题难度,及各自的出现次数。如图(3-8-2-1,3-8-2-2,3-8-2-3)图3-8-2-1错题难度特征图3-8-2-2错题知识点特征图3-8-2-3错题大类特征创建习题大类类,习题知识点类,习题难度类,将特征向量从数据库中取出,创建习题推荐临时表,将对应科目习题从题库中查询出来并写入习题推荐临时表,临时表设置dl,zsd,nd字段,若习题与错题特征符合,记为1,否则记为0.核心代码如下://取出特征向量
Useruser=(User)session.getAttribute("user");
Xt_dlxt_dl=tikuService.xt_dl(user.getYh_id(),tk_kemu);
Xt_zsdxt_zsd=tikuService.xt_zsd(user.getYh_id(),tk_kemu);
Xt_ndxt_nd=tikuService.xt_nd(user.getYh_id(),tk_kemu);//更新习题推荐临时表特征值
tikuService.dropTjtikuls();
tikuService.Tjtikuls();
tikuService.addTjtikuls(tk_kemu);
tikuService.updatedl(xt_dl.xt_dl);
tikuService.updatedl1(xt_dl.xt_dl);
tikuService.updatezsd(xt_zsd.xt_zsd);
tikuService.updatezsd1(xt_zsd.xt_zsd);
tikuService.updatend(xt_nd.xt_nd);
tikuService.updatend1(xt_nd.xt_nd);②使用余弦相似度算法,计算学生错题标签向量最相似的TOPN习题列表。取出习题推荐临时表中的特征值,带入公式(如图3-8-2-4)进行计算,将计算结果写入系统推荐临时表中jg字段。图3-8-2-4余弦相似度公式计算过程:图3-8-2-5计算过程核心代码://计算推荐指数jg
for(inti=0;i<j;i++){
inta=integerList.get(i);
System.out.println(a);
intdl=tikuService.querydl(a);
intzsd=tikuService.queryzsd(a);
intnd=tikuService.querynd(a);
doublejg,fz,a1,a2;
fz=xt_dl.pinlv*dl+xt_zsd.pinlv*zsd+xt_nd.pinlv*nd;
a1=Math.sqrt(xt_dl.pinlv*xt_dl.pinlv+xt_zsd.pinlv*xt_zsd.pinlv+xt_nd.pinlv*xt_nd.pinlv);
a2=Math.sqrt(dl*dl+zsd*zsd+nd*nd);
if(a1*a2==0){
jg=0;
}else{
jg=fz/(a1*a2);
jg=(double)Math.round(jg*100)/100;
}
System.out.println("最终结果"+jg);
tikuService.insertJg(a,jg);
}最后按照推荐指数jg进行倒序排列,挑选习题写入习题临时表中,作为本次练习的习题。3.9本章小结本章首先通过需求分析,总结出学生,教师,系统管理员和超级管理员的功能需求。学生能够进行习题练习,习题推荐联系,漏洞分析查看,习题记录管理;教师能够进行班级管理和学生管理;系统管理员能够进行题库管理,用户管理;超级管理员能够进行系统管理员管理。最后分析了主要部分的实现过程,其中选择习题练习和习题推荐联系着两个模块以及系统如何实现基于内容的推荐。结果分析4.1系统测试系统测试是对整个系统的功能进行验证,通过验证的结果与需求是否一致,从而发现系统存在的问题。下面我举几个重要的功能进行测试。4.1.1习题练习功能测试字段名称测试描述测试项习题练习功能测试测试环境要求网络环境良好测试步骤点击习题练习:选择科目;点击开始;点击确认;提交答案;测试结果进入习题练习科目选择页面。进入习题练习开始页面。进入答题页面。跳转至下一题;跳转至习题解析页面,同时习题记录新增相关习题。4.1.2习题推荐练习功能测试字段名称测试描述测试项习题推荐练习功能测试测试环境要求网络环境良好测试步骤(1)用户点击习题推荐练习;(2)用户选择未练习过的科目;测试结果跳转习题推荐科目选择页面提示“未查到相关错题记录,请先进行习题练习”4.2本章小结本章主要是编写测试用例,对系统的主要核心功能进行测试,测试的结果与预期想的一样。总结与展望本文首先介绍了《基于个性化推荐练习的错题管理系统设计与实现》这一个课题的研究背景以及国内外目前对于这个课题的研究现状,经过对比发现该课题目前研究的不足之处,并且对全文的组织架构进行了说明。然后提出了自己对于这个课题的创新点的理解,将基于内容的推荐算法应用到了学习习题推荐练习的环节中。在系统开始设计与实现之前,对系统进行了详细的需求调研,明确了系统的参与者,从学生,教师,系统管理员和超级管理员四个用户出发,分析系统所需要实现的功能性需求。然后根据需求以及活动关系,进行了E-R图以及数据字典的设计。最后,对系统的主要功能进行了论述以及测试。本系统,功能设计与实现的主要内容:个人信息管理:用户可以对自己的个人信息进行查询和修改。习题记录管理:学生可以查询自己的习题记录,并进行条件查询,学生也可以手动增加习题记录,被增加的习题记录可以是习题中不存在的习题,但习题的习题科目,习题大类,习题知识点,只能选择数据库中存在的分类,学生也可以删除习题记录,以免手动添加习题记录时因输入错误导致的后续漏洞分析以及习题推荐练习有误。漏洞分析查询:学生可以针对不同科目查询自己的漏洞,如果习题记录中没有对应学生选择的科目的习题记录,则会提示未查到习题记录,请先进行习题练习。习题练习:学生可以选择不同科目,进行相应的习题练习,习题练习记录将会计入学生习题记录。习题推荐练习:学生可以选择不同科目,系统根据学生习题记录进行习题相似度计算,通过排序,推荐最相似的习题,与漏洞分析类似,若习题记录中没有对应学生选择的科目的习题记录,则会提示未查到习题记录,请先进行习题练习。班级管理:教师可以创建,删除班级并查看班级总览,掌握班级内学生整体学习情况,方便后续进行教学计划的调整。学生管理:教师可以添加,删除,学生进入自己的班级,并查看学生个人漏洞分析。用户管理:系统管理员可以查看用户,并且重置用户密码。题库管理:系统管理员可以对习题大类,习题知识点,习题科目和习题进行增加,删除,修改,查询操作,还可以对习题进行启用和停用操作。系统管理员管理:超级管理员可以添加,删除系统管理员。本系统虽
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学六年级数学教学设计:用比例思想解决工程与行程综合问题
- 初中八年级数学勾股定理证明探究教学设计
- 2026年6月安全生产月培训效果验证试题有答案
- 2026年HIS系统运维基础培训考试试卷试题及答案
- 2026年爆破作业特种作业人员考试试题及答案
- 2026年报检从业人员高频考题(含答案)
- 2026年地铁施工考试题库(含答案)
- 2026年中国安能建设集团有限公司人员招聘笔试备考题库及详细答案解析
- 2026年中国电气装备集团有限公司人员招聘笔试参考题库及详细答案解析
- 2026年阿里市烟草专卖局人员招聘笔试备考题库及详细答案解析
- 2026年危化品重点县指导服务企业自查表考试试题及答案
- 建筑结构健康监测技术规程
- 浙教版(2024)数学七上第2章 有理数的运算 单元复习课件
- 遵义会议放光辉合唱简谱
- 征求意见稿-《外泌体提取与纯化工艺规范》
- 招商银行台州市临海市2025秋招金融科技岗笔试题及答案
- 新生儿疾病筛查课件
- 生产计划与交期管理课件
- 《金属材料的特性》课件
- 预防职务犯罪专题讲座
- 叉车安全管理制度
评论
0/150
提交评论