基于协同过滤的学生在线考试推荐系统

1 简介

今天向大家介绍一个帮助往届学生完成的毕业设计项目,基于协同过滤的学生在线考试推荐系统

计算机毕业生设计,课程设计需要帮助的可以找我

在这里插入图片描述

2 设计概要

随着计算机技术的飞速发展,学生的题目练习方式也变得多样化,也已进入信息化时代。为了使习题练习更高效、更科学,因此决定开发在线习题推荐管理系统。
本文采用自顶向下的结构化系统分析方法,阐述了一个功能较为全面的在线习题推荐管理系统的开发过程、操作流程及其一些核心的技术。本文首先进行了项目概述,简单介绍了项目开发的背景、项目开发的目的和项目开发的意义。接下来是系统的阶段性规划,通过实际的业务流程调研,分析了系统的组织结构,具体完成了在线习题推荐系统的需求分析、可行性分析、现行业务流程分析,并通过对现行业务流程的优化,得出了系统的业务流程。之后是系统分析,具体完成了数据流分析和数据字典。系统设计阶段主要完成了功能模块的划分、数据库的设计和系统界面设计。该阶段对各个模块的功能进行了详细设计,形成了本系统的功能模块图,在此基础上选择了合适的开发模式。数据库的设计先进行了概念结构设计,之后进行了逻辑结构设计,最后完成了数据库表的设计。
根据前几个阶段的分析和设计,本系统在设计方面采用B/S模式,后端使用SSM技术架构,同时使用JSP技术进行基本页面的设计与功能实现,后台数据库选用MySQL数据库。

关键词:结构化分析;SSM,JSP,MySQL

本系统主要分成前台实现学生登陆在线习题推荐系统,完成考试成绩查询功能,显示个人考试成绩,在线考试功能,更具自己的专业,选择相对应的考试试卷,完成相对应的考试题目,修改学生的个人信息功能;而后台主要负责教师成功登陆系统后,完成对考生信息的管理功能、试卷信息的管理功能、题目信息的管理功能,以及完成对考生成绩查询的功能。角色的不同完成相对应的功能,共同组成一个完整的在线考试系统。
3.1.1 前台功能描述
(1)试题列表
该功能包含着考生的待考列表,已考列表,其中已考列表会展示考生的用时,得分等基本信息;待考列表的考试点击进去可以参加考试。
(2)题型练习
学生系统登录成功后,点击“题型练习”按钮,系统弹出练习题选择的界面,学生根据自己的需要选择相对应的练习题,然后就会跳转到对应界面,执行对应的联系操作。每个练习题考虑到题量较多,将加入筛选功能按钮。
(3)学生信息修改功能
学生在登录系统后,点击右上角的个人头像,下拉框展示修改密码,点击进去会输入旧密码一次,新密码两次,同时系统会针对旧密码做正确性校验。
(4)个性推荐
学生在登录系统后,基于用户的协同过滤算法,实现习题的个性化推荐,默认推荐10道题,展示在用户的页面上。
(5)错题本
学生在登录系统后,点击选择题详情之后,页面添加了加入错题本按钮,加入同时,后台数据库新增记录,完成新增错题本的操作。

3.1.2 后台功能描述
(1)试题列表
该功能包含着考生的待考列表,已考列表,其中已考列表会展示考生的用时,得分等基本信息;待考列表的考试点击进去可以参加考试。
(2)题型练习
教师系统登录成功后,点击“题型练习”按钮,系统弹出练习题选择的界面,学生根据自己的需要选择相对应的练习题,然后就会跳转到对应界面,执行对应的联系操作。每个练习题考虑到题量较多,将加入筛选功能按钮。
(3)教师信息修改功能
教师在登录系统后,点击右上角的个人头像,下拉框展示修改密码,点击进去会输入旧密码一次,新密码两次,同时系统会针对旧密码做正确性校验。
(4)抽题组卷功能
教师在登录系统后,页面不同于学生,会多三个选择项,点击抽题组卷,会有固定组卷和随机抽题组卷两部分。固定组卷包括选择原有组卷信息和教师现场组卷两部分功能,而随机抽题组卷,将由系统随机生成
(5)导入导出功能
教师学生在登录系统后,点击主页面导入导出,可以批量导入选择题,填空题,判断题和学生信息。
(6)试题分析功能
教师在登录系统后,点击主页面试题分析,展示三个功能模块,分别是成绩列表,成绩柱状图,题目分析,点击不同的功能块将执行不同的操作,进行不同的效果分析。

本系统基于java技术,使用UML建模,采用springboot框架组合进行设计,Mysql数据库存储数据。

本系统的功能主要包括本系统的功能主要包括:

  1. 用户注册、登录、
  2. 信息维护、
  3. 会员搜索、
  4. 个性化推荐
  5. 管理员进行信息管理等
  6. 考试题管理
  7. 错题管理
  8. 协同过滤推荐题目
  9. 学生管理
  10. 错题分析

3 系统关键技术

使用springboot,vue,mysql, mybaties, typescript, html ,css, js,协同过滤算法 等进行开发

4 开发工具

开发工具主要有:idea、jdk1.8、maven、mysql5.7、Navicat等。

5 代码展示

@RequestMapping("/strategy")
@RestController
@Scope("prototype")
public class StrategyController {
    @Autowired
    private StrategyService strategyService;
    @Value("${web.upload-path}")
    private String path;

    @RequestMapping("/findPage")
    public ObjDat<Strategy> findPage(Strategy strategy, @RequestParam(value="page", defaultValue="1") int page, @RequestParam(value="limit", defaultValue="10") int limit){
        return strategyService.findPage(strategy,page-1,limit);
    }

    @RequestMapping("/edit")
    public JsonResult edit(HttpServletRequest request, Strategy strategy) throws IOException {
        User user=(User)request.getSession().getAttribute("user");
        if(user==null){
            return JsonResult.error("请登录");
        }
        String str=strategyService.edit(request,strategy);
        if(str.equals("成功")){
            return JsonResult.success("操作成功");
        }else{
            return JsonResult.error("操作失败");
        }
    }

6 系统功能描述

项目功能演示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7 最后

计算机毕业生设计,课程设计需要帮助的可以找我

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值