【开源】JAVA+Vue.js实现学生日常行为评分管理系统

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、系统设计
    • 2.1 功能模块设计
      • 2.2.1 登录注册模块
      • 2.2.2 用户管理模块
      • 2.2.3 评分项目模块
      • 2.2.4 评分数据模块
      • 2.2.5 数据字典模块
    • 2.3 可行性设计
    • 2.4 用例设计
    • 2.5 数据库设计
      • 2.5.1 整体 E-R 图
      • 2.5.2 用户
      • 2.5.3 评分项目
      • 2.5.4 评分数据
      • 2.5.5 数据字典
  • 三、系统实现
    • 3.1 登录
    • 3.2 主页
    • 3.3 评分项目模块
    • 3.4 评分数据模块
  • 四、核心代码
    • 4.1 用户查询
    • 4.2 查询自己的评分数据
    • 4.3 新增评分数据
    • 4.4 新增评分项目
  • 五、免责说明


一、摘要

1.1 项目介绍

基于Vue+SpringBoot+MySQL的学生日常行为评分管理系统,包含了评分项目模块、评分数据模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,学生日常行为评分管理系统基于角色的访问控制,给学生、教师、管理员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

学生的日常行为代表着学生个人的品行,值得高校去分析研究,高校需要注重学生日常行为管理,及时对学生的行为进行记录,才能帮助学生全面发展。开发学生日常行为评分管理系统的目的是提高高校学生管理者的工作效率,让高校老师的日常管理事务得到有效缓解,也能让学生更全面、快速地掌握自身的信息,更好地约束学生的日常行为。

学生日常行为评分管理系统基于 Java 语言开发,采用前后端分离的技术架构,前端采用 Vue.js,后端采用 SpringBoot 框架,数据库使用 MySQL

1.2 项目录屏


二、系统设计

在这里插入图片描述

2.1 功能模块设计

2.2.1 登录注册模块

登录注册模块的作用,是帮助用户进入学生日常行为评分管理系统。用户可以使用账号、密码和图形验证码登录到系统,如果账号密码输入错误会给与提示。如果用户没有账号需要到注册模块进行账号注册,提供用户名、密码、确认密码、邮箱、手机号、出生日期、角色信息,完成注册后再次登录。

2.2.2 用户管理模块

用户管理模块关于用户的个人数据和隐私信息,用于学生日常行为评分管理系统。因此,为了确保数据的安全和隐私,防止用户的个人数据泄露,学生日常行为评分管理系统需要一个用户管理模块,用户管理模块帮助系统执行用户身份验证,并确保只有授权用户才能访问系统,这有效地防止了未经授权的访问和系统滥用。用户管理模块实现不同用户之间的权限控制,使得每个用户只能访问必要的功能和数据,例如管理员可以拥有更高级别的权限,但普通用户只能访问某些系统内容,用户管理模块允许用户反馈和参与,确保学生日常行为评分管理系统从用户那里获得有价值的反馈和建议,这有助于优化系统设计和提高系统功能,从而提高用户体验和满意度。如上所述,用户管理模块对于学生日常行为评分管理系统非常重要,它可以确保学生日常行为评分管理系统的安全性、可靠性和可用性,并促进用户的参与和反馈。

在这里插入图片描述

2.2.3 评分项目模块

学生日常行为评分管理系统之所以需要评分项目模块,是因为日常行为的表现形式太多了,不同的行为是独立的,不进行相互关联,通过将日常活动分解为几个具体的评分项目,可以更客观地评估个人的行为表达,并在评估结果中找到具体的问题和改进方向,评估项目模块还帮助评估者减少评估过程中的主观影响,提高评估的准确性和可靠性。

在这里插入图片描述

2.2.4 评分数据模块

学生日常行为评分管理系统需要一个评估数据模块,因为它可以收集、存储、分析和处理用户的日常行为数据,为用户提供个性化的建议和反馈。通过评估数据模块,可以了解用户的健康状况、锻炼习惯、饮食偏好等信息,学生日常行为评分管理系统可以更准确地确定用户的行为是否符合管理员规定的标准,并为用户制定适当的计划,帮助用户实现设定目标,评分数据模块还记录用户的行为变化和进展,为用户提供更详细的服务和支持。

在这里插入图片描述

2.2.5 数据字典模块

学生日常行为评分管理系统需要一个数据字典模块,这是因为它可以提供一个用于分类、组织和存储数据的结构化框架,以便于数据管理和处理,在学生日常行为评分管理系统中,数据字典模块可以包括各种分类代码和定义,如时间代码、地点代码、动作类型代码等,这些编码和定义允许学生日常行为评分管理系统更好地记录和分析行为数据,以提高评分的准确性和有效性,同时,数据字典模块可以方便用户查询和统计相关的数据信息,从而提高学生日常行为评分管理系统使用效率和用户体验。

在这里插入图片描述

2.3 可行性设计

学生日常行为评分管理系统的可行性分析主要包括以下 4 4 4 个方面。

  1. 技术可行性:学生日常行为评分管理系统需要基于 vuespringboot 等开发技术,这些技术在现代社会得到了广泛的应用和发展,在技术上是可行的。
  2. 经济可行性:学生日常行为评分管理系统需要硬件基础设施建设,软件开发需要一定的投资。但是,随着科技的发展,硬件设施的成本不断降低,也有大量的开源框架可供软件开发。因此,从长远来看,学生日常行为评分管理系统是一种新型的管理系统,所以在经济上是可行的。
  3. 用户需求:学生日常行为评分管理系统可以帮助高校管理学生,提高学生管理效率,满足高校的实际需求,具有良好的市场前景。
  4. 竞争分析:学生日常行为评分管理系统已经在一些大型超市得到应用,市场上也有成熟的超市导航产品。因此,需要更好的策略和方法来促进与竞争对手的市场竞争。

日常行为评分系统具有经济可行性。首先,由于日常行为评分系统可以通过分析和处理用户的日常行为数据来提供个性化建议和反馈,因此可以吸引更多用户使用,从而增加收入来源。其次,该系统还可以与其他健康管理软件或设备进行合作,共同推广健康生活方式,进一步扩大市场份额。此外,日常行为评分系统还可以为医疗机构、保险公司等提供相关数据和服务,从而形成更广泛的商业合作。最后,日常行为评分系统可依靠云计算等技术实现资源共享和成本节约,提高盈利效率。综上所述,日常行为评分系统在商业模式和技术应用方面都具有较好的发展前景和经济可行性。

日常行为评分系统是一种基于技术手段对人类行为进行评估的系统。虽然技术手段可以收集和分析许多数据,但评估人类行为涉及到很多主观性和复杂性,因此其技术可行性存在较大挑战。首先,日常行为评分系统需要准确地识别和记录人类行为,这需要使用各种传感器和设备来捕捉数据。然而,这些设备可能会受到环境影响或者被人为干扰,导致数据的准确性存在疑问。其次,日常行为评分系统需要进行数据分析和处理,以评估人类行为的质量和效果。然而,要在大量数据中准确地提取有用信息并进行分析是非常困难和耗时的。最后,日常行为评分系统需要建立一个完整的评估标准和方法,以确保评估过程的公正性和准确性。这需要综合考虑人类行为的主观性和复杂性,同时还需要涉及专家意见和社会价值观的反馈。因此,虽然技术手段可以为日常行为评分系统的开发提供支持,但实现真正的技术可行性仍然需要充分的研究和实践。

日常行为评分系统的操作可行性取决于多个因素,包括系统的设计、用户的技能和使用环境等。如果系统的设计合理且易于使用,用户熟悉其功能和操作流程,并在实际使用中得到了充分的支持和帮助,那么日常行为评分系统的操作是可行的。对于日常行为评分系统而言,一些关键点需要考虑,系统界面要具备良好的用户交互体验,以提高用户的学习曲线和使用效率。系统的操作流程应该尽可能简单化,需要减少用户的心理和生理负荷,让用户更加专注于任务本身。评分系统的数据采集和处理过程需要保证数据的准确性和完整性,以保障后续的数据分析和应用。评分系统需要建立完善的安全机制,防止数据泄露和非法访问,保护用户的个人隐私。
综合考虑以上因素,学生日常行为评分管理系统的可行性是比较高的

2.4 用例设计

在这里插入图片描述

2.5 数据库设计

2.5.1 整体 E-R 图

在这里插入图片描述

2.5.2 用户

在这里插入图片描述
在这里插入图片描述

2.5.3 评分项目

在这里插入图片描述
在这里插入图片描述

@Table(name = "a_score_project")
@TableName("a_score_project")
@ApiModel(value = "评分项目")
public class ScoreProject extends ZwzBaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "评分项目名称")
    private String title;

    @ApiModelProperty(value = "评分细则")
    private String content;

    @ApiModelProperty(value = "排序值")
    private BigDecimal sortOrder;

    @ApiModelProperty(value = "备注")
    private String remark;
}

2.5.4 评分数据

在这里插入图片描述
在这里插入图片描述

@Table(name = "a_score_data")
@TableName("a_score_data")
@ApiModel(value = "评分数据")
public class ScoreData extends ZwzBaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "项目ID")
    private String projectId;

    @ApiModelProperty(value = "项目名称")
    private String projectName;

    @ApiModelProperty(value = "学生ID")
    private String studentId;

    @ApiModelProperty(value = "学生姓名")
    private String studentName;

    @ApiModelProperty(value = "加分数值")
    private BigDecimal value;

    @ApiModelProperty(value = "加分原因")
    private String reason;

    @ApiModelProperty(value = "加分时间")
    private String time;

    @ApiModelProperty(value = "操作人ID")
    private String workId;

    @ApiModelProperty(value = "操作人")
    private String workName;
}

2.5.5 数据字典

在这里插入图片描述
在这里插入图片描述

三、系统实现

3.1 登录

在这里插入图片描述

3.2 主页

在这里插入图片描述

3.3 评分项目模块

在这里插入图片描述
在这里插入图片描述

3.4 评分数据模块

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、核心代码

4.1 用户查询

@RequestMapping(value = "/getAll", method = RequestMethod.GET)
@ApiOperation(value = "查询用户数据")
public Result<List<User>> getAll(@RequestParam Integer type){
    QueryWrapper<User> qw = new QueryWrapper<>();
    qw.eq("type",type);
    return new ResultUtil<List<User>>().setData(iUserService.list(qw));
}

4.2 查询自己的评分数据

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询评分数据")
public Result<IPage<ScoreData>> getByPage(@ModelAttribute ScoreData scoreData ,@ModelAttribute PageVo page){
    QueryWrapper<ScoreData> qw = new QueryWrapper<>();
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("id",currUser.getId());
    userQw.inSql("id","SELECT DISTINCT user_id FROM a_user_role WHERE del_flag = 0 AND (role_id = '1536606659751841799' OR role_id = '1674219991056125952')");
    if(iUserService.count(userQw) > 0L) {
        qw.eq("student_id",currUser.getId());
    }
    if(!ZwzNullUtils.isNull(scoreData.getProjectName())) {
        qw.like("project_name",scoreData.getProjectName());
    }
    if(!ZwzNullUtils.isNull(scoreData.getStudentName())) {
        qw.like("student_name",scoreData.getStudentName());
    }
    if(!ZwzNullUtils.isNull(scoreData.getWorkName())) {
        qw.like("work_name",scoreData.getWorkName());
    }
    IPage<ScoreData> data = iScoreDataService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<ScoreData>>().setData(data);
}

4.3 新增评分数据

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增评分数据")
public Result<ScoreData> insert(ScoreData scoreData){
    ScoreProject sp = iScoreProjectService.getById(scoreData.getProjectId());
    if(sp == null) {
        return ResultUtil.error("评分项目不存在");
    }
    scoreData.setProjectName(sp.getTitle());
    User student = iUserService.getById(scoreData.getStudentId());
    if(student == null) {
        return ResultUtil.error("学生不存在");
    }
    scoreData.setStudentName(student.getNickname());
    User currUser = securityUtil.getCurrUser();
    scoreData.setWorkId(currUser.getId());
    scoreData.setWorkName(currUser.getNickname());
    scoreData.setTime(DateUtil.now());
    iScoreDataService.saveOrUpdate(scoreData);
    return new ResultUtil<ScoreData>().setData(scoreData);
}

4.4 新增评分项目

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增评分项目")
public Result<ScoreProject> insert(ScoreProject scoreProject){
    if(Objects.equals(0,scoreProject.getSortOrder().compareTo(BigDecimal.ZERO))) {
        scoreProject.setSortOrder(BigDecimal.valueOf(iScoreProjectService.count()));
    }
    iScoreProjectService.saveOrUpdate(scoreProject);
    return new ResultUtil<ScoreProject>().setData(scoreProject);
}

五、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/367601.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32MP135开发板助力电力行业,IEC61850协议移植笔记

1.概述 IEC61850是变电站自动化系统&#xff08;SAS&#xff09;中通信系统和分散能源&#xff08;DER&#xff09;管理的国际标准。它通过标准的实现&#xff0c;实现了智能变电站的工程运作标准化。使得智能变电站的工程实施变得规范、统一和透明&#xff0c;在电力和储能系…

评论区功能的简单实现思路

评论区功能是社交类项目中的核心组成部分&#xff0c;它涉及到前端的交云和后端的数据处理。基于你的技术栈&#xff08;前端 Vue3&#xff0c;后端 Java&#xff09;&#xff0c;下面是一个具体的实现思路和数据库设计建议&#xff0c;并探索一下知乎的评论系统。 数据库设计…

基于SpringBoot Vue学生信息管理

大家好✌&#xff01;我是Dwzun。很高兴你能来阅读我&#xff0c;我会陆续更新Java后端、前端、数据库、项目案例等相关知识点总结&#xff0c;还为大家分享优质的实战项目&#xff0c;本人在Java项目开发领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#x…

蓝桥杯---垒骰子

赌圣atm晚年迷恋上了垒骰子&#xff0c;就是把骰子一个垒在另一个上边&#xff0c;不能歪歪扭扭&#xff0c;要垒成方柱体。经过长期观察&#xff0c;atm 发现了稳定骰子的奥秘&#xff1a;有些数字的面贴着会互相排斥&#xff01;我们先来规范一下骰子&#xff1a;1的对面是4&…

Vue2+ElementUI 弹窗全局拖拽 支持放大缩小

拖拽组件 dialogDrag.vue <template><div></div> </template> <script>export default {name: dialogDrag,data() {return {originalWidth: null,originalHeight: null}},created() {this.$nextTick(()>{this.dialogDrag()})},mounted() {}…

vue3 之 组合式API—computed

computed计算属性函数 计算属性基本思想和Vue2的完全一致&#xff0c;组合式API下的计算属性只是修改了写法 核心步骤&#xff1a; 导入computed函数执行函数 在回调参数中return基于响应式数据做计算的值&#xff0c;用变量接收 vue <script setup> // 1.导入compute…

【数据结构】链表OJ面试题(题库+解析)

前言 还不清楚链表的码喵们可以看看前篇关于链表的详解 http://t.csdnimg.cn/X6t6P 1.链表面试题 既然已经懂得了链表该如何实现&#xff0c;那么现在就趁热打铁开始练习&#xff01;这里给码喵们整理了相对不错的一些OJ题来练习 1. 删除链表中等于给定值 val 的所有结点。 力…

代码随想录 Leetcode78. 子集

题目&#xff1a; 代码(首刷看解析 2024年2月3日&#xff09;&#xff1a; class Solution { private:vector<vector<int>> res;vector<int> path; public:void backtracking(vector<int>& nums, int startIndex) {res.push_back(path);for (int …

RocketMQ问题篇01 | NameServer告警异常分析

RocketMQ问题篇01 | NameServer告警异常分析 1、问题描述2、初步分析2.1 mqcloud源代码分析2.2 NameServer源码分析2.3 NameServer源码分析2&#xff08;源码出错概率太低&#xff09;2.4 大流量分析 3、堆栈分析3.1 wait response on the channel3.2 connect to failed3.3 sen…

Catalan数

文章目录 Catalan数Leecode96 不同的二叉搜索树题目描述解题思路代码 Leecode22 括号生成题目描述代码 Catalan数 Catalan数是一种组合数学的计数方法&#xff0c;常用于解决一些计数问题&#xff0c;例如括号匹配问题、二叉树的节点问题等。Catalan数的计算公式如下&#xff1…

20240203在Ubuntu20.04.6下配置stable-diffusion-webui.git

20240203在Ubuntu20.04.6下配置stable-diffusion-webui.git 2024/2/3 11:55 【结论&#xff1a;在Ubuntu20.04.6下&#xff0c;生成512x512分辨率的图像&#xff0c;大概需要11秒钟&#xff01;】 前提条件&#xff0c;可以通过技术手段上外网&#xff01;^_首先你要有一张NVID…

servlet会话API

servlet会话API 您可以使用servlet会话API中定义的类和接口来创建和管理用户会话。servlet会话API提供的用于创建和管理用户会话的各种接口有javax.servlet.http.HttpSession、javax.servlet.httpSessionListener和javax.servlet.http.HttpSessionBindingListener和javax.serv…

python爬虫4

#1.练习 # &#xff08;1&#xff09; 获取网页的源码 # &#xff08;2&#xff09; 解析 解析的服务器响应的文件 etree.HTML # (3) 打印 import urllib.request urlhttps://www.baidu.com/ headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit…

Dockerfile构建Nginx访问说明

Dockerfile使用情况 20210903 Dockerfile ,Nginx 参考地址&#xff1a;https://yeasy.gitbook.io/docker_practice/image/build 编写简单Dockerfile 在一个空白目录中&#xff0c;建立一个文本文件&#xff0c;并命名为 Dockerfile&#xff1a; $ mkdir mynginx $ cd myngin…

Swift 入门之自定义类型的模式匹配(Pattern Matching)

概览 小伙伴们都知道 Swift 是一门简洁、类型安全、极富表现力以及“性感迷人”的编程语言。 和大多数语言一样&#xff0c;在 Swift 中也有一些隐藏着的、不为人知的宝藏特性。利用它们我们可以极大增加撸码的愉悦和成就感。 其中&#xff0c;模式匹配&#xff08;Pattern …

【第二十二课】最短路:bellman_ford / spfa算法 (acwing-851 / acwing-853 / c++代码)

目录 前言 acwing-853 bellman_ford算法的思想 代码如下 一些解释 acwing-851 spfa算法思想 代码如下 一些解释 前言 由于权重可以表示不同的度量&#xff0c;例如距离、时间、费用等&#xff0c;具体取决于问题的背景&#xff0c;因此会存在一些权值为负数的题目。…

springboot并mybatis入门启动

pom.xml,需要留意jdk的版本&#xff08;11&#xff09;和springboot版本要匹配&#xff08;2.7.4&#xff09;&#xff0c;然后还要注意mybatis启动l类的版本&#xff08;2.2.2&#xff09; <?xml version"1.0" encoding"UTF-8"?> <project xm…

Visual Studio 2022 查看类关系图

这里写自定义目录标题 右键要查看的项目 -“查看”-“查看类图”效果展示&#xff1a; 原文地址 www.cnblogs.com 步骤1&#xff1a;勾选扩展开发 步骤2: 勾选类设计器 右键要查看的项目 -“查看”-“查看类图” 效果展示&#xff1a;

【Uni-App】运行微信小程序时报错routeDone with a webviewId 2 that is not the current page

使用HBuilderX开发微信小程序&#xff0c;运行项目的时有可能会出现routeDone with a webviewId 1 that is not the current page的报错&#xff0c;但不影响运行。如果强迫症介意的话&#xff0c;可以考下面的方法进行修复。 产生原因 由于微信开发者工具的调试基础库处于灰度…

[python]基于Ultra-Fast-Lane-Detection-v2车道线实时检测onnx部署

【论文地址】 https://arxiv.org/pdf/2206.07389.pdf 【框架地址】 https://github.com/cfzd/Ultra-Fast-Lane-Detection-v2 【框架介绍】 Ultra-Fast-Lane-Detection-v2&#xff08;UFL-D-v2&#xff09;算法是一种高效的车道线检测算法&#xff0c;它旨在快速准确地识别…