JAVA实现学生日常行为评分管理系统 开源项目

news2024/11/15 9:09:05

在这里插入图片描述


目录

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

项目编号: S 010 ,源码已在 B i l i b i l i 中上架,需要的朋友请自行下载。 \color{red}{项目编号:S010,源码已在 Bilibili 中上架,需要的朋友请自行下载。} 项目编号:S010,源码已在Bilibili中上架,需要的朋友请自行下载。

https://gf.bilibili.com/item/detail/1103980029

为了帮助小白入门 Java,博主录制了本项目配套的《项目手把手启动教程》,希望能给同学们带来帮助。

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

学生日常行为评分管理系统基于 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.coloradmin.cn/o/1140863.html

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

相关文章

PyTorch入门教学——torchvision中数据集的使用

1、torchvision.datasets datasets是torchvision工具集中的一个工具。可以理解为调用官方数据集的一种方式&#xff0c;其中有很多开源的数据集&#xff0c;可供我们学习使用。datasets官网&#xff1a;Datasets — Torchvision 0.16 documentation (pytorch.org) 2、使用 …

【漏洞复现】用友OA用户信息泄露

漏洞描述 通过该接口可下载oa用户信息文件 免责声明 技术文章仅供参考&#xff0c;任何个人和组织使用网络应当遵守宪法法律&#xff0c;遵守公共秩序&#xff0c;尊重社会公德&#xff0c;不得利用网络从事危害国家安全、荣誉和利益&#xff0c;未经授权请勿利用文章中的技…

链游风暴再起?MBOX即将再度起飞

近期链游再次进入了我们的视野&#xff0c;Play To Earn在21年大放异彩之后经过了2年沉寂近期终于有了再度爆发的征兆&#xff0c;不管是前段时间爆拉7倍的YGG&#xff0c;还是近期一路高歌猛进的MC都已经吹响了链游板块即将冲锋的信号&#xff0c;那么近期还有哪些值得关注的链…

element form中input使用@keyup.enter.native回车页面刷新问题

当form中只有一个文本框的时候&#xff0c;使用keyup.enter.native会自动触发form的submit提交事件 地址栏会多出来一个? 解决方案&#xff1a; 在form中添加 submit.native.prevent ,阻止form提交默认事件

什么c++流行造轮子而不是调包侠?

什么c流行造轮子而不是调包侠&#xff1f; 因为在c&#xff08;和c&#xff09;中&#xff0c;你造的轮子是真的可以跟官方的轮子拼性能的&#xff0c;只要你的算法足够优秀&#xff0c;实现足够小心。 最近很多小伙伴找我&#xff0c;说想要一些c资料&#xff0c;然后我根据自…

大语言模型(LLM)综述(四):如何适应预训练后的大语言模型

A Survey of Large Language Models 前言5. ADAPTATION OF LLMS5.1 指导调优5.1.1 格式化实例构建5.1.2 指导调优策略5.1.3 指导调优的效果5.1.4 指导调优的实证分析 5.2 对齐调优5.2.1 Alignment的背景和标准5.2.2 收集人类反馈5.2.3 根据人类反馈进行强化学习5.2.4 无需 RLHF…

禅道项目管理系统 - 导出、导入zentao数据库

1. 导出zentao数据库 导出 - 保存(输出) - SQL(格式) 已导出zentao.sql 2. 导入zentao数据库 数据库zentao - 导入 选择sql文件 - 执行 导入成功

FindMy技术智能防丢物品

随着科技的进步&#xff0c;人们越来越关注物品的追踪技术。苹果公司在早先发布的AirTag让人们对于物品追踪技术有了新的认识。作为一项基于蓝牙的追踪技术&#xff0c;苹果的Find My功能不仅能够追踪苹果设备&#xff0c;还可以与第三方设备合作&#xff0c;打造一个更加完善的…

世微 宽电压降压 DC-DC 电源管理芯片 以太网平衡车工业控制电源驱动12V6A AP8854

1&#xff0c;产品描述 AP8854 一款宽电压范围降压型 DC-D 电源管理芯片&#xff0c;内部集成使能开关控制、基 准电源、误差放大器、过热保护、限流保 护、短路保护等功能&#xff0c;非常适合宽电压输 入降压使用。 AP8854 带使能控制&#xff0c;可以大大节省外 围器件&…

机器学习实验七:决策树-基于信贷数据集,使用sklearn中相关库实现决策树的构造

决策树-基于信贷数据集&#xff0c;使用sklearn中相关库实现决策树的构造 如下图数据集&#xff0c;住房 (1表示拥有住房&#xff0c;0表示没有住房) ;婚姻 (0表示单身1表示已婚&#xff0c;2表示离异) ;年收入一栏中单位为1000元; (拖欠贷款一栏0表示不拖欠&#xff0c;1表示…

将CSDN或Confluence文章转为微信公众号格式

最近在更公众号文章&#xff0c;苦于排版和格式&#xff0c;就找了一个比较方便的方法&#xff0c;简单易用&#xff0c;排版也不错。 文章提取 有的文章是已经发布在其它平台了&#xff0c;比如CSDN或Confluence&#xff0c;可以使用飞书剪存方便的将文章提取出来&#xff0…

JavaScript在IE和标准浏览器下的兼容性处理

目录 ​编辑 前言 1. 事件对象的获取 2. 获取浏览器窗口的宽度和高度 3. 获取事件的目标元素 4. 阻止事件的默认行为 5. 阻止事件冒泡 6. 设置和获取元素的属性 7. 类名的操作 8. AJAX的兼容性处理 9. DOM元素的操作 10. 样式的获取和设置 总结 前言 在Web开发中…

VSCode安装使用(含插件保姆级教程)

前言 工欲善其事&#xff0c;必先利其器 对于我们每一位软件工程师来说&#xff0c;都要有自己顺手的 IDE 开发工具&#xff0c;它就是我们的武器。 一个好用的 IDE 不仅能提升我们的开发效率&#xff0c;还能让我们保持愉悦的心情&#xff0c;这样才是非常 Nice 的状态 &…

喜讯 | 同立海源CGT核心原料CD28单抗完成FDA DMF备案

喜 讯 GOOD NEWS 近日&#xff0c;北京同立海源生物科技有限公司&#xff08;简称“同立海源”&#xff09;的CGT核心原料CD28单抗成功获得美国FDA DMF备案&#xff0c;DMF备案号&#xff1a;038820。 您的细胞治疗研究项目在进行临床申请或新药注册的文件中可直接引用DMF备…

国家数据局国考招录12人;两万字全景讲解Agent;当基座LLM公司开始转2C;「霉霉说中文」视频的3种实现方案 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f251; 国家数据局正式揭牌&#xff0c;今年计划在国考中招录12人 10月25日上午&#xff0c;国家数据局正式揭牌&#xff0c;由国家发展和改革…

三季度毛利“转正”的零跑,四季度已经打响“第一枪”?

近日&#xff0c;零跑汽车发布了2023年第三季度财报。整体来看&#xff0c;零跑三季度营收和交付均取得较大突破&#xff0c;尤其在交付方面&#xff0c;零跑的C系列车型更是取得了超十倍的涨幅。与此同时&#xff0c;零跑C系列的新车型也爆出了动态。零跑即将推出新车型C10&am…

36二叉树-翻转二叉树

目录 LeetCode之路——226. 翻转二叉树 分析 解法一&#xff1a;深度优先搜索 解法二&#xff1a;广度优先搜索 简单总结 LeetCode之路——226. 翻转二叉树 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输…

字符串中sizeof和strlen的区别

sizeof算的整个数组的大小和数据类型所占空间大小&#xff0c;strlen算的是有效字符的大小 sizeof() #include <stdio.h>int main() {char cdata[128];printf("cdata%d\n",sizeof(cdata));//计算数组大小printf("int%d\n",sizeof(int));//计算数据…

一种报警短视频录像快速检索方法

视频监控系统在家庭、园区、酒店、工地、景区、交通等领域有着重要作用&#xff0c;随着智能算法的发展尤其是深度学习在安防监控场景下的应用&#xff0c;智能分析算法已经非常准确&#xff0c;终端设备触发的报警和智能分析服务触发的报警更加的实时&#xff0c;业务场景更加…

分享8个分布式Kafka的使用场景

Kafka 最初是为海量日志处理而构建的。它保留消息直到过期&#xff0c;并让消费者按照自己的节奏提取消息。与它的前辈不同&#xff0c;Kafka 不仅仅是一个消息队列&#xff0c;它还是一个适用于各种情况的开源事件流平台。 1. 日志处理与分析 下图显示了典型的 ELK&#xff0…