JAVA实战开源项目:学生日常行为评分管理系统(Vue+SpringBoot)

在这里插入图片描述


目录

  • 一、摘要
    • 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.mzph.cn/news/738490.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

弹性盒子布局 Flexbox Layout

可以嵌套下去 1.display 属性 默认行排列 <style>.flex-item{ height: 20px;width: 10px;background-color: #f1f1f1;margin: 10px;}</style> </head> <body> <div class"flex-container"><div class"flex-item">1&l…

功能测试转自动化测试好不好转型?

手工测试做了好多年&#xff0c;点点点成了每天必须做的事情。但是随着自动化测试趋势的日渐明显&#xff0c;以及受到薪资、技能的双重考验&#xff0c;掌握自动化测试成为了必备技能。 手工转自动化测试&#xff0c;不是一蹴而就的。“预先善其事&#xff0c;必先利其器”&a…

DAMA考试知识点笔记

数据管理的定义: 数据管理是为了交付、控制、保护并提升数据和信息资产的价值&#xff0c;在其整个生命周期中制定计划、制度、规程和实践活动&#xff0c;并执行和监督的过程。 数据管理专业人员的定义: 是指从事数据管理各方面的工作(从数据全生命周期的技术管理工作&#x…

Android Jetpack:概述、优劣分析及其应用场景探索

一、引言 随着移动应用程序市场的不断发展&#xff0c;开发者面临着日益增长的竞争压力。为了提高开发效率和应用程序质量&#xff0c;谷歌推出了Android Jetpack&#xff0c;一套组件库、工具和指南&#xff0c;旨在帮助开发者更轻松地构建出色的Android应用程序。本文将对And…

C++:2024/3/11

作业1&#xff1a;编程 要求&#xff1a;提示并输入一个字符串&#xff0c;统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数 代码&#xff1a; #include <iostream>using namespace std;int main() {string str;cout << "请输入一个字…

二叉树习题详解

LCR 046. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 用t来记录每层节点个数&#xff0c;每次队列第一个数都是最右边的数。 class Solution { public:vector<int> rightSideView(TreeNode* root) {if(rootNULL) return {};queue<TreeNode*>q;vecto…

linux查看文件内容cat,less,vi,vim

学习记录 目录 catlessvi vim cat 输出 FILE 文件的全部内容 $ cat [OPTION] FILE示例 输出 file.txt 的全部内容 $ cat file.txt查看 file1.txt 与 file2.txt 连接后的内容 $ cat file1.txt file2.txt为什么名字叫 cat&#xff1f; 当然和猫咪没有关系。 cat 这里是 co…

一款功率电子开关TP6062

一、基本概述 The TP606X is a low voltage,single P-MOSFET high-side power switch, optimized for self-powered and bus-powered Universal Serial Bus (USB) applications. This switch operates with inputs ranging from 2.4V to 5.5V, making it ideal for both 3V a…

封装方法3-2

八大数据类型一次只能代表一个&#xff0c;所以不能作为返回值&#xff0c; 数组可以做为返回值&#xff0c;把excel的内容2行11列当作数组&#xff0c;存在二维数据里 处理ecxel-22个单元值的返回结果写什么&#xff1f; 1、认识二维数组是什么&#xff1f; 数 组&#xff…

Ping工作原理

文章目录 目的ping网络协议 OSIICMP什么是ICMP作用功能报文类型查询报文类型差错报文类型ICMP 在 IPv4 和 IPv6 的封装ICMP 在 IPv4 协议中的封装ICMP 在 IPv6 协议中的封装ICMP 头部日常ping 排除步骤ping 查询报文使用code扩展目的 本文主要是梳理ping的工作原理- 揭开 ICMP…

开淘宝店保证金怎么交

对于想要在淘宝上开店的人来说&#xff0c;交纳保证金是必要的一步。保证金是淘宝平台为了保障买家权益而要求卖家缴纳的一笔款项&#xff0c;用于确保卖家在经营过程中遵守淘宝规则&#xff0c;并对买家负责。那么&#xff0c;开淘宝店保证金怎么交呢&#xff1f;下面就为大家…

Java 解析常见文本文件数据

文章目录 前言简介第一步&#xff1a;引入依赖第二步&#xff1a;编写文件解析处理类第三步&#xff1a;Word解析类第四步&#xff1a;PDF解析类第五步&#xff1a;Txt解析类总结 前言 请各大网友尊重本人原创知识分享&#xff0c;谨记本人博客&#xff1a;南国以南i、 提示&a…

python开发100问?

Python是什么&#xff1f;它有什么特点&#xff1f;Python的历史是什么样的&#xff1f;Python有哪些应用领域&#xff1f;Python的基本数据类型有哪些&#xff1f;Python中的变量命名规则是什么&#xff1f;如何在Python中进行注释&#xff1f;Python中的缩进是什么意思&#…

C++初学

1>思维导图 2>试编程 提示并输入一个字符串&#xff0c;统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数要求使用C风格字符串完成 #include <iostream> #include<string.h> using namespace std;int main() {string str;cout <<…

Hive-源码分析一条hql的执行过程

一、源码下载 下面是hive官方源码下载地址&#xff0c;我下载的是hive-3.1.3&#xff0c;那就一起来看下吧 https://dlcdn.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-src.tar.gz 二、上下文 <Hive-源码带你看hive命令背后都做了什么>博客中已经讲到了hive命令执行…

消息队列中间件

1.什么是消息队列? 消息队列&#xff0c;我们一般称为MQ&#xff08;Message Queue&#xff09;。 很多初学者认为MQ通过消息的发送和接受来实现程序的异步和解耦&#xff0c;但是实际上MQ的主要目的是通讯。 MQ定义了发送者为生产者&#xff0c;接收消息的那一方为消费者。…

网络工程师笔记11

OSPF协议 priority越大越优先&#xff0c;缺省值是1&#xff0c;范围是0-255 routerID越大越优先&#xff0c;先比较优先值&#xff0c;后比较RouterID 非骨干区域必须要跟骨干区域相连&#xff0c;非骨干区域不能直接通信&#xff0c;必须经过骨干区域 OSPF配置 配置routerID划…

20240308-使用VS2022编译VLD-v2.5.4内存泄漏工具

20240308-使用VS2022编译VLD-v2.5.4内存泄漏工具 一、软件环境 Win10 x64 22h2 JuneVS2022 v17.9.0GIT v2.29.2标签&#xff1a;win10 22h2 vs2022分栏&#xff1a;C 二、硬件环境 Win10 x64的PC台式机 三、获取源码 方法一 git clone https://gitee.com/gdnh22/vld254.…

解决 Webpack 中 ERROR in main Module not found: Error: Can‘t resolve ‘./src‘ 问题

出自 BV1MN411y7pw&#xff0c; P98 黑马AJAX-Node.js-Webpack教学视频中webpack部分&#xff0c;打包的时候出错 ERROR in main Module not found: Error: Cant resolve ./src in V:\Web\mycode\webpack\01_webpack_use resolve ./src in V:\Web\mycode\webpack\01_webpack_us…

探秘Nutch:揭秘开源搜索引擎的工作原理与无限应用可能(一)

本系列文章简介&#xff1a; 本系列文章将带领大家深入探索Nutch的世界&#xff0c;从其基本概念和架构开始&#xff0c;逐步深入到爬虫、索引和查询等关键环节。通过了解Nutch的工作原理&#xff0c;大家将能够更好地理解搜索引擎背后的原理&#xff0c;并有能力利用Nutch构建…