基于springboot + vue的优质在线考试系统的设计与开发

目录

一、需求分析

二、系统设计

三、业务设计

四、数据字典设计

五、界面展示

 六、资源获取


一、需求分析

        本系统基于B/S系统架构,结合主流框架技术进行开发的在线考试系统。该系统拥有出题组卷、线上考试、题库练习、反作弊系统、阅卷批改、答题分析的全流程覆盖的功能,真正实现了无纸化考试,确保完整化的考务工作,减轻教师的负担,提升教学效果。同时,系统为学生提供了线上考试模式、题库练习模式两种做题模式。通过练习模式,查看解析及时巩固知识点。目前使用的高校考试系统,存在普遍的问题,缺乏对答题情况以及错题知识点的归纳,学生难以及时查漏补缺,学习效果并不显著。综合分析学生的答题情况,为学生展示错误题目的树状知识点清单,分析答题正确率,为学生提供一个在线考试、答题分析的考试系统,实现在线做题、分析总结一体化。

        在线考试系统功能强大,对于整个考试流程而言,该系统是将考试组织、试题传输、阅卷审批、分析评价等功能一体化,避免了人工干预的可能,最大程度地保证考试的公平性、透明性。同时也节省了纸张资源,更符合可持续发展的绿色理念。随着网络的发展,在线考试系统应用越来越广泛,在国内外的许多大型考试中逐步被推广使用,凭借其便捷性和高效性深受师生们的喜爱。

二、系统设计

1、系统技术架构图

【前端】vue2.0 + ElementUI

【后端】SpringBoot + Mybatis + MySQL + Redis

2、功能架构

三、业务设计

1、试卷管理

如图7所示,教师根据题库试题在线组卷,选择题型类型,根据题目内容以及类型,搜索添加对应试题,可通过移动题目来自定义题目位置,最后确认考试科目完成组卷。

2、在线考试流程

如图5所示,学生在考试页面选择参加的考试,服务器根据用户密钥进行权限判断,主要包括是否符合专业要求、允许参加次数等,通过判断则将试卷必要信息传输到浏览器。浏览器再次进行逻辑判断,是否属于当前考试时间段,是则进入考试,全称监控切屏次数,超额将自动交卷。

3、考试管理

如图8所示,考试管理主要流程为添加考试流程。教师选择已经存在的试卷,选择参加考试的学生专业,设置考试时间、允许参加次数、考试类型(口令考试或者开放考试),确认信息完成添加考试的操作。

 4、查看考试成绩

如图6所示,学生通过个人成绩界面,可以查看到已经批改的试卷的题型分析雷达图、错题知识点思维导图。

四、数据字典设计

【实体图】

如表1、2所示,表1为学生参加某场考试记录表,记录关联用户编号、关联试卷编号、关联考试编号,维护它们之间的一对一关系;表2为学生参加某场考试的每道试题德答题情况表,保存关联学生参加某场考试记录表的数据编号、关联的试题编号、学生的实际作答结果、题目得分等。

表1  用户参加考试记录表user_join

列名

数据类型

主键

描述

id

varchar(36)

记录编号

userid

varchar(36)

关联用户编号

examination

varchar(36)

关联考试编号

testpaper

varchar(36)

关联试卷编号

starttime

datetime(0)

考试开始时间

endtime

datetime(0)

考试结束时间

type

int(11)

考试状态

score

int(11)

考试分数

表2  考试记录试题表user_join_info

列名

数据类型

主键

描述

id

varchar(36)

记录编号

masterid

varchar(36)

关联考试记录编号

question

varchar(36)

关联试题编号

reply

varchar(1000)

试题回答内容

correctScore

int(11)

当前题目实际得分

 

如表3所示,数据库中需要存储用户的个人信息,如学号或工号、加密后密码、姓名,登录用户名等信息。

表3  用户表user

列名

数据类型

主键

描述

id

varchar(36)

用户编号

u_id

varchar(20)

用户工号

name

varchar(10)

用户姓名

username

varchar(20)

用户登录名

password

varchar(20)

登录密码

createtime

datetime(0)

创建时间

last_logintime

datetime(0)

最后登录时间

departmentid

varchar(36)

所属专业编号

如表4所示,系统角色表保存角色名以及权限描述。

表4  系统角色表role

列名

数据类型

主键

描述

id

varchar(36)

角色编号

name

varchar(20)

角色名称

description

varchar(100)

拥有功能介绍

createtime

datetime(0)

创建时间

如表5所示,系统角色权限表,存储角色编号,以及菜单编号,建立其两者的联系。根据这种联系,代表角色拥有的系统权限,通过这个表维护角色权限。

表5  系统角色权限表role_menu

列名

数据类型

主键

描述

id

varchar(36)

权限编号

roleid

varchar(36)

菜单名称

masterid

varchar(36)

关联父菜单

status

int(11)

是否隐藏菜单

createtime

datetime(0)

创建时间

如表6所示,角色表作用是存储该系统用户的角色,同时每个角色都拥有描述信息,介绍该角色拥有的功能。

表6  系统用户的当前角色表user_role

列名

数据类型

主键

描述

id

varchar(36)

数据编号

userid

varchar(36)

关联用户编号

roleid

varchar(36)

关联角色编号

createtime

datetime(0)

创建时间

如表7所示,对于用户专业表,重要的还是存储其关联的父类专业,维持各类专业之间的包含关系。

表7  用户专业表department

列名

数据类型

主键

描述

id

varchar(36)

专业编号

name

varchar(20)

专业名称

sort

int(11)

专业顺序

masterid

varchar(36)

关联父专业

createtime

datetime(0)

创建时间

如表8所示,系统需要借助数据库管理系统菜单栏,表中主要保存菜单名称、菜单图标、菜单路由地址,同时维护菜单的父子级关系结构。

表8 系统菜单表menu

列名

数据类型

主键

描述

id

varchar(36)

菜单编号

name

varchar(20)

菜单名称

sort

int(11)

菜单顺序

masterid

varchar(36)

关联父菜单

icon

varchar(50)

菜单图标

hidden

int(11)

是否隐藏菜单

route

varchar(50)

菜单路由连接

createtime

datetime(0)

创建时间

如表9所示,试题表是系统最重要的数据表之一,主要保存试题信息,包括试题内容、试题类型、选择题选项内容、题目解析、涉及的知识点编号。

表9  试题表question

列名

数据类型

主键

描述

id

varchar(36)

试题编号

content

varchar(1000)

试题内容

type

varchar(20)

试题类型

subject

varchar(36)

所属科目编号

opt_a

varchar(200)

选项A

opt_b

varchar(200)

选项B

opt_c

varchar(200)

选项C

opt_d

varchar(200)

选项D

score

int(10)

试题分数

imgurl

varchar(200)

试题图片

analysis

varchar(1000)

试题解析

answer

varchar(1000)

试题答案

kid

varchar(36)

关联知识点编号

createtime

datetime(0)

创建时间

如表10所示,试卷表也是系统最重要的数据表之一,主要保存试卷的名称、所属科目、统计保存各类题型的数量。

表10  试卷表testpaper

列名

数据类型

主键

描述

id

varchar(36)

试卷编号

name

varchar(20)

试卷名称

subject

varchar(36)

所属科目编号

xznum

int(11)

选择题数量

pdnum

int(11)

判断题数量

jdnum

int(11)

简答题数量

fillnum

int(11)

填空题数量

score

int(11)

试卷总分

time

int(11)

试卷用时

createtime

datetime(0)

创建时间

如表11所示,公告表保存着日常的系统或者教学公告。

表11  公告表notice

列名

数据类型

主键

描述

id

varchar(36)

公告编号

title

varchar(255)

公告题目

content

longtext(0)

公告详情

type

varchar(20)

公告类型

updatetime

datetime(0)

更新时间

createtime

datetime(0)

创建时间

如表12所示,考试表也是系统最重要的数据表之一,主要考试信息、关联的试卷编号、允许参加次数的限制。

表12  考试表examination

列名

数据类型

主键

描述

id

varchar(36)

考试编号

name

varchar(20)

考试名称

testpaper

varchar(36)

关联试卷编号

qualifiedscore

int(11)

考试满分

type

int(11)

考试状态

password

varchar(20)

考试口令

joinnum

int(20)

允许参加的次数

starttime

datetime(0)

开始时间

endtime

datetime(0)

结束时间

createtime

datetime(0)

创建时间

如表13所示,数据库需存储考试科目。如表15所示,试题需要关联到知识点,同时答题分析需要用到知识点的树状结构。

表13  科目表subject

列名

数据类型

主键

描述

id

varchar(36)

科目编号

name

varchar(20)

科目名称

表14  知识点表knowledge_point

列名

数据类型

主键

描述

id

varchar(36)

知识点编号

name

varchar(20)

知识点名称

masterid

varchar(36)

关联父知识点

createtime

datetime(0)

创建时间

    

五、界面展示

1、系统登录界面(教师、管理员)

2、专业管理

3、题目维护 

4、添加考试题目

5、科目管理

6、用户管理 

7、在线测验 

【测验界面】

 【测验记录】

8、教师管理端 

【知识点维护】

【发布测验】 

 【查看测验结果】

 9、题目维护

10、题目选择

 11、试卷批改(相识度对比)

 六、资源获取

资源链接:基于springboot+vue的在线考试系统的设计与开发资源-CSDN文库


如果觉得文章有用的话,三连支持一下吧!!!!

  • 27
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫蜜柚子茶

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值