赞
踩
随着信息化时代的到来,管理系统都趋向于智能化、系统化,学生综合测评系统也不例外,但目前国内仍都使用人工管理,学校规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化,而学生综合测评系统能很好地解决这一问题,轻松应对学生综合测评平时的工作,既能提高人力物力财力,又能加快工作的效率,取代人工管理是必然趋势。
本学生综合测评系统以springboot作为框架,b/s模式以及MySql作为后台运行的数据库,同时使用Tomcat用为系统的服务器。本系统主要包括首页,个人中心,学生管理,试题信息管理,测评试题管理,管理员管理,综合测评管理,系统管理,综合考试管理等功能,通过这些功能的实现基本能够满足日常学生综合测评管理的操作。
本文着重阐述了学生综合测评系统的分析、设计与实现,首先介绍开发系统和环境配置、数据库的设计,接着说明功能模块的详细实现,最后进行了总结。
开发环境 | 版本/工具 |
---|---|
JAVA | JDK1.8 |
开发工具 | IDEA |
操作系统 | Windows 10 |
内存要求 | 8GB 以上 |
浏览器 | Firefox (推荐)、Google Chrome (推荐)、Edge |
数据库 | MySQL 8.0 (推荐) |
数据库工具 | Navicat Premium 15 (推荐) |
项目框架 | SpringBoot |
后端:SpringBoot、MyBatisPlus、MySQL
前端:element-ui、Vue
根据学生综合测评系统的功能需求,进行系统设计。
前台功能:用户进入系统可以实现首页,试题信息,综合测评,测评通知,个人中心,后台管理等功能进行操作;
后台由管理员和学生,主要功能包括个人中心,学生管理,试题信息管理,测评试题管理,管理员管理,综合测评管理,系统管理,综合考试管理等功能;
系统对这些功能进行整合,产生的功能结构图如下:
报告目录:
首页展示:
试题信息:
综合评测:
评测通知:
个人中心:
学生登录注册:
后台登录:
后台数据管理:
系统通知信息接口核心代码
/** * 提醒接口 */ @RequestMapping("/remind/{columnName}/{type}") public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) { map.put("column", columnName); map.put("type", type); if(type.equals("2")) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); Date remindStartDate = null; Date remindEndDate = null; if(map.get("remindstart")!=null) { Integer remindStart = Integer.parseInt(map.get("remindstart").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate = c.getTime(); map.put("remindstart", sdf.format(remindStartDate)); } if(map.get("remindend")!=null) { Integer remindEnd = Integer.parseInt(map.get("remindend").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate = c.getTime(); map.put("remindend", sdf.format(remindEndDate)); } } Wrapper<NewsEntity> wrapper = new EntityWrapper<NewsEntity>(); if(map.get("remindstart")!=null) { wrapper.ge(columnName, map.get("remindstart")); } if(map.get("remindend")!=null) { wrapper.le(columnName, map.get("remindend")); } int count = newsService.selectCount(wrapper); return R.ok().put("count", count); }
表名:config
字段名称 | 数据类型 | 是否必填 | 注释 |
---|---|---|---|
id | bigint(20) | 是 | 主键 |
name | varchar(100) | 是 | 配置参数名称 |
value | varchar(100) | 否 | 配置参数值 |
表名:exampaper
字段名称 | 数据类型 | 是否必填 | 注释 |
---|---|---|---|
id | bigint(20) | 是 | 主键 |
addtime | timestamp | 是 | 创建时间 |
name | varchar(200) | 是 | 综合测评名称 |
time | int(11) | 是 | 综合考试时长(分钟) |
status | int(11) | 是 | 综合测评状态 |
表名:examquestion
字段名称 | 数据类型 | 是否必填 | 注释 |
---|---|---|---|
id | bigint(20) | 是 | 主键 |
addtime | timestamp | 是 | 创建时间 |
paperid | bigint(20) | 是 | 所属综合测评id(外键) |
papername | varchar(200) | 是 | 综合测评名称 |
questionname | varchar(200) | 是 | 测评试题名称 |
options | longtext | 否 | 选项,json字符串 |
score | bigint(20) | 否 | 分值 |
answer | varchar(200) | 否 | 正确答案 |
analysis | longtext | 否 | 答案解析 |
type | bigint(20) | 否 | 测评试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空) |
sequence | bigint(20) | 否 | 测评试题排序,值越大排越前面 |
表名:examrecord
字段名称 | 数据类型 | 是否必填 | 注释 |
---|---|---|---|
id | bigint(20) | 是 | 主键 |
addtime | timestamp | 是 | 创建时间 |
userid | bigint(20) | 是 | 用户id |
username | varchar(200) | 否 | 用户名 |
paperid | bigint(20) | 是 | 综合测评id(外键) |
papername | varchar(200) | 是 | 综合测评名称 |
questionid | bigint(20) | 是 | 测评试题id(外键) |
questionname | varchar(200) | 是 | 测评试题名称 |
options | longtext | 否 | 选项,json字符串 |
score | bigint(20) | 否 | 分值 |
answer | varchar(200) | 否 | 正确答案 |
analysis | longtext | 否 | 答案解析 |
myscore | bigint(20) | 是 | 测评试题得分 |
myanswer | varchar(200) | 否 | 考生答案 |
表名:news
字段名称 | 数据类型 | 是否必填 | 注释 |
---|---|---|---|
id | bigint(20) | 是 | 主键 |
addtime | timestamp | 是 | 创建时间 |
title | varchar(200) | 是 | 标题 |
introduction | longtext | 否 | 简介 |
picture | varchar(200) | 是 | 图片 |
content | longtext | 是 | 内容 |
表名:shitixinxi
字段名称 | 数据类型 | 是否必填 | 注释 |
---|---|---|---|
id | bigint(20) | 是 | 主键 |
addtime | timestamp | 是 | 创建时间 |
kemuleixing | varchar(200) | 否 | 科目类型 |
timubianhao | varchar(200) | 否 | 题目编号 |
timu | varchar(200) | 否 | 题目 |
timuleixing | varchar(200) | 否 | 题目类型 |
tupian | varchar(200) | 否 | 图片 |
xuanxiang | longtext | 否 | 选项 |
defen | int(11) | 否 | 得分 |
clicktime | datetime | 否 | 最近点击时间 |
表名:token
字段名称 | 数据类型 | 是否必填 | 注释 |
---|---|---|---|
id | bigint(20) | 是 | 主键 |
userid | bigint(20) | 是 | 用户id |
username | varchar(100) | 是 | 用户名 |
tablename | varchar(100) | 否 | 表名 |
role | varchar(100) | 否 | 角色 |
token | varchar(200) | 是 | 密码 |
addtime | timestamp | 是 | 新增时间 |
expiratedtime | timestamp | 是 | 过期时间 |
源码、安装教程文档、项目简介文档以及其它相关文档已经上传到是云猿实战官网,可以通过下面官网进行获取项目!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。