当前位置:   article > 正文

Java基于springboot+vue的学生成绩管理系统_题目是基于vue和java的学生成绩管理系统

题目是基于vue和java的学生成绩管理系统

文末获取资源,收藏关注不迷路

前言

随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,学生成绩管理系统就是信息时代变革中的产物之一。
任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于java语言设计并实现了学生成绩管理系统。该系统基于B/S即所谓浏览器/服务器模式,应用java技术,选择MySQL作为后台数据库。系统主要包括首页、个人中心、学生管理、教师管理、班级管理、综合成绩管理等功能模块。
本文首先介绍了学生成绩管理的技术发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图以及E-R图。然后,设计框架并根据设计的框架编写代码以实现系统的各个功能模块。最后,对初步完成的系统进行测试,主要是功能测试、单元测试和性能测试。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。

一、研究背景

下,网络技术被应用到各个方面,为了提高办公生活效率,网络信息技术飞速发展。在这样的背景下人类社会进入了全新的信息化的时代。学生成绩管理一直是信息管理的一大难题,学生成绩数量多,此时寻找有效便捷的学生成绩管理方法就是当务之急。而日趋成熟的计算机信息管理技术便成为解决这一难题的维一之选。如今计算机信息管理技术来处理学生成绩管理早已游刃有余,其实信息管理技术已经渗透到各个行业的信息控制管理当中,且有着举足轻重的地位。而随着现代化社会主义不断进步,普通群众生活水平有了大幅提高,很多方面都在网络上去实现,从而网络也就成为了最直接、即方便又快捷的接入口。
使用学生成绩管理系统相对传统学生成绩管理方式具备很多优点:首先可以大幅提高学生成绩信息检索,只需输入成绩相关信息就能在数秒内反馈想要的结果;其次可存储大量的学生成绩信息,同时学生成绩信息安全性有更高的保障;相比纸质文件来管理学生成绩信息,学生成绩管理系统更节省空间人力资源。这些优点大大提高运营效率并节省运营成本。因此,开发学生成绩管理系统对学生成绩信息进行有效的管理是很必要的,不仅提高了学生成绩管理效率,增加了用户信息安全性,方便及时反馈信息给管理员,增加了使用者与管理员之间的互动交流,更能提高学生成绩管理的体验强度。
本系统为了数据库结构的灵活性所以打算采用MySQL来设计数据库,而java技术,B/S架构则保证了较高的平台适应性。本文主要介绍了本系统的开发背景,所要完成的功能和开发的过程,主要说明了系统设计的重点、设计思想。

二、研究意义

现今,越来越多的人乐于选择一项合适的管理方案,但是普通用户往往受到管理经验地限制,这时学生成绩管理系统的崛起,大量学生成绩管理制度进入人们生活,而学生成绩管理制无疑是学生成绩管理的最好制度,在这样成功的管理模式背景下,学生成绩信息越来越多。但是随着学生成绩信息的增多,学生成绩的管理成为了一个难题。高效便捷地管理学生成绩成为了转变管理模式,与时代兼容的当务之急。
学生成绩管理系统,为用户随时随地查看学生成绩信息提供了便捷的方法,更重要的是大大的简化了管理员管理学生成绩信息的方式方法,更提供了其他想要了解学生成绩信息及运作情况以及挑选方便快捷的可靠渠道。相比于传统学生成绩管理方法,这样的电子信息管理更为简洁方便,在学生成绩管理维护信息反馈和处理学生成绩管理意见方面也有得天独厚的优势。
学生成绩管理系统能做到的是大大简化管理员的信息管理工作,而这个系统在带给学生成绩全新用户信息管理统计和分类的同时,还成为日后学生成绩制定管理思路的重要数据参考。过程永远比结果重要。毕业设计是大学生活中最为浓墨重彩的一笔,在这个过程中不仅学到更为全面的书本和实践知识,更让我感受到了浓浓的同窗之情及师生情。这个系统成为学生成绩管理者最不可或缺的内容。尽管目前大部分已将学生成绩管理系统投入使用,但是人们对于系统要求也变得越来越高,大部分系统已经能完美处理各类信息,但是为了更好地契合学生成绩管理运营路线,不同用户有不同的要求,个性化也是管理系统十分重要的一点,都希望自己能有一个个性化定制的学生成绩管理系统,但这又涉及到成本控制问题,目前定制一个系统价值不菲,但是如果有这样一个可以根据需求自己制定页面和内容的学生成绩管理系统就可以大大缩减开支,但是凭借目前自身技术恐怕难以实现,不过让系统可二次设计却是有可能实现的。随着学生成绩规模的不断扩大,用户信息共享也成一种趋势。学生成绩的发展也证明了系统管理在不断发展进步,各种理念也越来越先进,对各方面的要求也变得越来越高,学生成绩完全可以在进入页面时发布各类信息进行推荐交流。

三、主要使用技术

环境需要
1.运行环境:最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。
2.IDE环境:IDEA,Eclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
后端:Spring+SpringMVC+Mybatis+Springboot
前端:vue+CSS+JavaScript+jQuery+elementui

使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置,然后运行;
运行成功后,在浏览器中输入:http://localhost:8080/项目名

四、研究内容

在这里插入图片描述
4.1学生功能模块

  1. 管理员登录进入学生成绩管理系统可以查看首页、个人中心、学生管理、教师管理、班级管理、综合成绩管理等内容进行详细操作
  2. 学生管理,在学生管理页面可以对索引、学号、头像、学生姓名、性别、手机号码、邮箱、班级等内容进行详情,修改或删除等操作
  3. 教师管理,在教师管理页面可以对索引、教师工号、头像、教师姓名、性别、手机号码、邮箱、职务等内容进行详情,修改或删除等操作
  4. 综合成绩管理,在综合成绩管理页面可以对索引、学号、学生姓名、班级、学业成绩、德育成绩、体育素质、智育素质、总分、学年、登记时间、教师工号、教师姓名等内容进行详情,修改或删除等操作

在这里插入图片描述
4.2学生功能模块
学生登录进入学生成绩管理系统可以查看首页、个人中心、综合成绩管理等内容进行详细操作

个人中心,在个人信息页面通过填写学号、头像、学生姓名、性别、手机号码、邮箱、班级等内容进行个人信息修改操作
在这里插入图片描述
在这里插入图片描述
4.3教师功能模块
教师登录进入学生成绩管理系统可以查看首页、个人中心、综合成绩管理等内容进行详细操作,
个人中心,在个人信息页面通过填写教师工号、头像、教师姓名、性别、手机号码、邮箱、职务等内容进行个人信息修改操作
综合成绩管理,在综合成绩管理页面可以对索引、学号、学生姓名、班级、学业成绩、德育成绩、体育素质、智育素质、总分、学年、登记时间、教师工号、教师姓名等内容进行详情,修改或删除等操作

五、核心代码


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();
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175

六、文章目录

1 绪论 1
1.1 课题背景 1
1.2 课题研究现状 1
1.3 初步设计方法与实施方案 2
1.4 本文研究内容 2
2 系统开发环境 4
2.1 Java技术 4
2.2 B/S模式 4
2.3 MyEclipse环境配置 4
2.4 MySQL环境配置 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系统流程分析 9
3.5.1操作流程 9
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 数据表 13
5 系统实现 16
5.1管理员功能模块 16
5.2学生功能模块 18
5.3教师功能模块 18
6 系统测试 21
6.1 功能测试 21
6.2 可用性测试 21
6.3 性能测试 22
6.4测试结果分析 22
结 论 23
参考文献 24
致 谢 25

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/209980
推荐阅读
相关标签
  

闽ICP备14008679号