文末获取资源,收藏关注不迷路
项目介绍
考试一直作为当代学生检验学习效果的一种方式,随着社会的快速发展,考试已经不仅仅局限于学生。当今社会发展迅速,人们如果不持续学习很快就会被社会所淘汰。因此,当前有很多人会在网上学习、考证。所以,近年来出来了很多在线考试系统。
在线考试系统的出现,可以有效地减少大部分人力、物力的浪费。就目前我国的各个阶段的学生而言,学生日常的学生量大、考试种类众多,传统的考试方式涉及到出题、批改试卷等过程,这一过程繁杂、任务量大,不仅学生的学习压力很大,而且老师的工作压力也很大。随着在线考试系统的出现,老师只需要在系统中发布考试内容,学生进入系统进行考试,学生考试完成之后,系统会自己进行试卷批改。这样一来,不仅节约了老师的时间,而且还能节约大量的资源,同时在线考试系统也顺行当今时代的潮流。在线考试作为种新的考试手段已经逐步对现有的教学和考试方式有所影响,为教育方式注入新的血液,并为教育事业的前景增添一份力,有效提高校园教育教学与考试效率,这个系统主要目的足可以让考试变得更方便,让改卷变得更轻松,让管理变得更容易[1]。
因此,本次设计一个在线考试系统,设计本系统主要是为了能够更好的帮助老师减少日常考试、批改试卷的工作量,同时也能帮助学生减少对考试的抵触心理,更好地顺应时代发展的潮流。
考试一直是检测学生学习能力好坏的重要手段,随着社会的发展,考试已经渗透到各个方面。但是传统方式的考试方式已经不能更好的胜任越来越多的需求,所以需要设计一个在线考试平台,来满足日益重要的教学与考试,在线考试作为种新的考试手段已经逐步对现有的教学和考试方式有所影响,为教育方式注入新的血液,并为教育事业的前景增添一份力,有效提高校园教育教学与考试效率。本系统主要目的是让出题速度更加高速,让考试更加便捷,让改卷变得更轻松,让管理变得更容易。在测试和考试中提升效率,让教师工作轻松高效快捷。该系统主要实现了以下几个模块功能管理员、学生和教师三个功能模块,其中学生模块主要实现了查看在线考试、公告栏、校园新闻、课程信息、成绩反馈、我的等功能;教师模块主要实现了查看公告栏、校园新闻、课程信息等功能;管理员模块主要实现了轮播图管理、公告栏管理、资源管理、系统用户、模块管理等功能。
技术介绍
管理员账号:abo 密码:abo
开发语言 node.js
框架:Express
前端:Vue.js
数据库:mysql
数据库工具:Navicat
vue引入elementui
1.使用npm安装element-ui
npm i element-ui -S
2.在main.js中导入使用vue
import ‘element-ui/lib/theme-chalk/index.css’ //别忘了导入样式
import ElementUI from ‘element-ui’
Vue.use(ElementUI)方便了管理员随时随地,只要电脑联网,就能对档案进行管理。同时,还可以方便快捷查询自己的档案信息。
本篇论文对档案管理系统的需求分析、功能设计、系统设计进行了较为详尽的阐述,并对系统的整体设计进行了阐述,并对各功能的实现和主要功能进行了说明,并附上了相应的操作界面图。
项目界面
本系统主要实现了学生、教师和管理员三个功能模块,其中学生模块基本设计实现了注册、登录、浏览首页、查看首页、在线考试、公告栏、校园新闻、课程信息、成绩反馈、我的等功能;教师模块可以查看首页、公告栏、校园新闻、课程信息、我的等功能;管理员模块主要实现了后台首页、轮播图管理、公告栏管理、资源管理、系统用户、模块管理等功能。
关键代码
package com.controller;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
return R.error("用户名已存在。");
}
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
目录
目 录
目 录 III
1 绪论 1
1.1 研究背景 1
1.2 目的和意义 1
1.3 论文结构安排 2
2 相关技术 3
2.1 Springboot框架介绍 3
2.2 B/S结构介绍 3
2.3 Mysql数据库介绍 4
3 系统分析 6
3.1 系统可行性分析 6
3.1.1 技术可行性分析 6
3.1.2 经济可行性分析 6
3.1.3 运行可行性分析 6
3.2 系统性能分析 7
3.2.1 易用性指标 7
3.2.2 可扩展性指标 7
3.2.3 健壮性指标 7
3.2.4 安全性指标 8
3.3 系统流程分析 8
3.3.1 操作流程分析 8
3.3.2 登录流程分析 9
3.3.3 信息添加流程分析 10
3.3.4 信息删除流程分析 11
4 系统设计 12
4.1 系统概要设计 12
4.2 系统功能结构设计 12
4.3 数据库设计 13
4.3.1 数据库E-R图设计 13
4.3.2 数据库表结构设计 14
5 系统实现 17
5.1用户部分功能17
5.2 管理员部分功能展示
6 系统测试
6.1 系统测试的特点
6.2 系统功能测试
6.2.1 登录功能测试
6.2.2 添加类别功能测试
6.3 测试结果分析
结 论
致 谢
参考文献