python基于django的学生在线考试自动阅卷系统(含错题本功能)

python基于django的学生在线考试自动阅卷系统(含错题本功能)以往的在线考试系统相关信息管理 都是工作人员手工统计 这种方式不但时效性低 而且需要查找和变更的时候很不方便 随着科学的进步 技术的成熟 计算机信息化也日新月异的发展 社会也已经深刻的认识 计算机功能非常的强大 计算机已经进入了人类社会发展的各个领域 并且发挥着十分重要的作用

大家好,我是讯享网,很高兴认识大家。

以往的在线考试系统相关信息管理,都是工作人员手工统计。这种方式不但时效性低,而且需要查找和变更的时候很不方便。随着科学的进步,技术的成熟,计算机信息化也日新月异的发展,社会也已经深刻的认识,计算机功能非常的强大,计算机已经进入了人类社会发展的各个领域,并且发挥着十分重要的作用。本系统利用网络沟通、计算机信息存储管理,有着与传统的方式所无法替代的优点。比如计算检索速度特别快、可靠性特别高、存储容量特别大、保密性特别好、可保存时间特别长、成本特别低等。在工作效率上,能够得到极大地提高,延伸至服务水平也会有好的收获,有了网络,在线考试系统的各方面的管理更加科学和系统,更加规范和简便。请添加图片描述
讯享网
随着计算机网络的不断渗透,人们的生活与工作、学习的方式也在慢慢发生变化。传统的在线考试系统相关信息管理方式一般都采取人工的方式,信息的获取、整理、修改、存储等工作还停留在人工阶段。这种方式一方面需要花费大量的人力、物力和金钱,交互起来比较困难,而且会浪费时间;另一方面对用户等信息的管理,特别是随着用户数量的递增,查询、修改起来特别困难;最后由于用户等其他信息的不断增加,信息的存储也成为了难题。
一些发达国家,网络发展比较快,已经很大程度上完成了从人工到计算机管理的转变。我国计算机应用起步比较晚,而且发展区域不平衡,还有很多地区或单位使用传统的方式进行管理,但是目前计算机发展较快,包括网络也已经普及,很多单位和用户也开始慢慢接触网络管理系统。

请添加图片描述
登录分为教师端和学生端,需要有验证码教师端:试题管理:出题实现对试题的增删改查;、发布考试评卷管理:分为主观题教师阅卷需要你们实现 主观题系统阅卷只需要一个界面,不需要实现),其他单选、多选、判断、填空题均需系统自动阅卷需要你们实现 成绩查询:查看每个学生的成绩、能看到各个班级和各个科目的平均分、最高分、最低分

学生端:答题、查看自己成绩包括查看正确答案 ;、分析在本次考试中哪个知识点未掌握
请添加图片描述

 / * 登录相关 */ @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(""); userService.update(user,null); return R.ok("密码已重置为:"); } / * 列表 */ @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); userService.updateById(user);//全部更新 return R.ok(); } / * 删除 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ 
    userService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } } 

讯享网

请添加图片描述
请添加图片描述
目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 JAVA简介 4
2.2MyEclipse环境配置 4
2.3 B/S结构简介 4
2.4MySQL数据库 5
2.5 SPRINGBOOT框架 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37

小讯
上一篇 2025-03-29 13:43
下一篇 2025-01-25 16:41

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/44893.html