基于JAVA的毕业设计分配选题系统 开源项目

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 专业档案模块
    • 2.2 学生选题模块
    • 2.3 教师放题模块
    • 2.4 选题审核模块
  • 三、系统展示
  • 四、核心代码
    • 4.1 查询专业
    • 4.2 新增专业
    • 4.3 选择课题
    • 4.4 取消选择课题
    • 4.5 审核课题
  • 五、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的毕业设计分配选题系统,包含了专业档案模块、学生选题模块、教师放题模块、选题审核模块,还包含系统自带的用户管理、班级管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,毕业设计分配选题系统基于角色的访问控制,给学生、教师、教务管理员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

2.1 专业档案模块

毕业设计分配选题系统的专业档案模块是一个重要的功能模块,它主要用来管理学校或院系的专业信息和相关档案。专业档案模块可以记录和管理学校或院系的专业信息,包括专业名称、专业代码、专业介绍、开设学年等。专业档案模块可以建立和管理每个专业的档案,包括专业历史、发展动态、教学特点、师资力量、课程设置等相关信息。学生和教师可以通过专业档案模块进行专业档案的查询和检索,快速获取相关信息。专业档案模块可以实现专业档案的更新和维护,保持档案信息的及时性和准确性。

专业档案模块可以设置不同用户的权限,保护专业档案的安全性,确保只有授权用户可以进行档案管理操作。专业档案模块可以对专业的数据进行统计分析,并通过图表或报表的方式展示,帮助学校或院系了解专业的发展状况和趋势。专业档案模块可以与毕业设计选题系统的其他模块进行集成,实现数据的共享和交互,提高系统的整体效率和便利性。毕业设计分配选题系统的专业档案模块可以有效管理和展示学校或院系的专业信息,为学生和教师提供便捷的查询和参考,促进专业的发展和优化。

2.2 学生选题模块

毕业设计分配选题系统的学生选题模块是系统中非常重要的一部分,它用于学生选择和申请毕业设计选题。教师或学校可以在系统中发布各种可供学生选择的毕业设计选题,包括选题名称、选题描述、选题要求等信息。学生可以在系统中浏览已发布的毕业设计选题,并通过搜索、筛选等方式快速找到感兴趣的选题。学生可以选择心仪的选题,并提交选题申请。申请通常包括个人简介、选题理由、选题计划等相关材料。教师或指导教师可以对学生的选题申请进行审核,评估学生的能力和选题的合理性,决定是否通过选题申请。一旦选题申请通过审核,系统可以根据学校或院系的分配规则,自动分配选题给学生,或由指导教师手动分配选题。

学生可以在系统中查看自己已选的毕业设计选题,并进行选题信息的修改或变更。学生和指导教师可以通过系统内部的消息或讨论功能进行选题相关的交流和沟通。系统可以记录和管理学生的选题进度,包括选题的完成情况、报告的提交和评审等信息,方便学校或教师进行进度管理和评估。毕业设计分配选题系统的学生选题模块可以为学生提供方便快捷的选题流程和交流平台,帮助学生在毕业设计中选择适合自己的选题,并提供一定的管理和监督机制,促进毕业设计的顺利进行。

2.3 教师放题模块

毕业设计分配选题系统的教师放题模块主要负责教师发布毕业设计选题的功能。教师通过用户名和密码登录系统。教师选择自己负责的课程或专业。教师可以创建新的毕业设计选题,包括选题名称、描述、要求等信息。教师可以设置选题的相关属性,如选题类型(理论研究、实验设计、系统开发等)、选题难度(初级、中级、高级等)等。教师可以为选题设置限制条件,如最大选题人数、适合的学生专业等。教师可以预览已创建的选题,确保信息准确无误。教师确认无误后,将选题发布到系统中,供学生选择。教师可以随时查看选题的选择情况和学生名单。

2.4 选题审核模块

毕业设计分配选题系统的选题审核模块主要负责对学生提交的毕业设计选题进行审核和评审。学生通过系统提交自己的毕业设计选题申请,包括选题名称、描述、所属课程、选题类型等信息。教师登录系统,进入选题审核模块,查看待审核的选题申请。教师对学生提交的选题申请进行审核,包括对选题的可行性、合理性和创新性进行评估。教师根据学生提交的选题申请和相关资料,对选题的研究目标、方法、可行性等进行评审,并给出评审意见和建议。

系统根据教师的审核结果,给学生发送通知,告知选题审核结果,包括审核通过、审核不通过或需要修改等。如果选题审核不通过或需要修改,学生可以根据教师的建议进行相应修改,并重新提交选题申请。教师对学生修改后的选题申请进行再次审核。教师根据最终审核结果,确定选题的通过与否,并将结果反馈给学生和系统。选题审核模块可以实现对学生提交的毕业设计选题进行全面的审核和评审,确保选题的质量和合理性,为学生提供优质的毕业设计选题。


三、系统展示

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


四、核心代码

4.1 查询专业

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询专业")
public Result<IPage<Major>> getByPage(@ModelAttribute Major major ,@ModelAttribute PageVo page){
    QueryWrapper<Major> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(major.getTitle())) {
        qw.like("title",major.getTitle());
    }
    IPage<Major> data = iMajorService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Major>>().setData(data);
}

4.2 新增专业

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增专业")
public Result<Major> insert(Major major){
    iMajorService.saveOrUpdate(major);
    return new ResultUtil<Major>().setData(major);
}

4.3 选择课题

@RequestMapping(value = "/checkTopic", method = RequestMethod.POST)
@ApiOperation(value = "选择课题")
public Result<Object> checkTopic(@RequestParam String id){
    Topic topic = iTopicService.getById(id);
    if(topic == null) {
        return ResultUtil.error("课题不存在");
    }
    User currUser = securityUtil.getCurrUser();
    topic.setCheckFlag(true);
    topic.setCheckId(currUser.getId());
    topic.setCheckName(currUser.getNickname());
    iTopicService.saveOrUpdate(topic);
    return ResultUtil.success();
}

4.4 取消选择课题

@RequestMapping(value = "/checkNotTopic", method = RequestMethod.POST)
@ApiOperation(value = "取消选择课题")
public Result<Object> checkNotTopic(@RequestParam String id){
    Topic topic = iTopicService.getById(id);
    if(topic == null) {
        return ResultUtil.error("课题不存在");
    }
    topic.setCheckFlag(false);
    topic.setCheckId("");
    topic.setCheckName("");
    topic.setAuditFlag(false);
    iTopicService.saveOrUpdate(topic);
    return ResultUtil.success();
}

4.5 审核课题

@RequestMapping(value = "/auditTopic", method = RequestMethod.POST)
@ApiOperation(value = "审核课题")
public Result<Object> auditTopic(@RequestParam String id){
    Topic topic = iTopicService.getById(id);
    if(topic == null) {
        return ResultUtil.error("课题不存在");
    }
    topic.setAuditFlag(true);
    iTopicService.saveOrUpdate(topic);
    return ResultUtil.success();
}

五、免责说明

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

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

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

在这里插入图片描述

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

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

相关文章

Go语言必知必会100问题-10 小心类型嵌入导致的问题

小心类型嵌入导致的问题 在定义结构体时&#xff0c;Go语言支持通过类型嵌入的形式定义结构体字段。但是&#xff0c;如果我们没有真正理解类型嵌入的意义&#xff0c;有时可能会导致意想不到的行为。本文将主要分析如何嵌入类型&#xff0c;类型嵌入的作用以及可能出现的问题…

lv20 QT对话框3

1 内置对话框 标准对话框样式 内置对话框基类 QColorDialog, QErrorMessage QFileDialog QFontDialog QInputDialog QMessageBox QProgressDialogQDialog Class帮助文档 示例&#xff1a;各按钮激发对话框实现基类提供的各效果 第一步&#xff1a;实现组件布局&…

Redis 之三:发布订阅(pub/sub)

概念介绍 Redis 发布订阅 (pub/sub) 是一种消息通信模式&#xff0c;它允许客户端之间进行异步的消息传递 Redis 客户端可以订阅任意数量的频道。 模型中的角色 在该模型中&#xff0c;有三种角色&#xff1a; 发布者&#xff08;Publisher&#xff09;&#xff1a;负责发送信…

【Hudi】核心概念

https://www.bilibili.com/video/BV1ue4y1i7na?p17&vd_sourcefa36a95b3c3fa4f32dd400f8cabddeaf 大数据新风口&#xff1a;Hudi数据湖&#xff08;尚硅谷&Apache Hudi联合出品&#xff09; 1 基础概念 1.1 时间轴(TimeLine) 1.2 文件布局(File Layout) 1.3 索引(In…

Unity-PDF分割器(iTextSharp)

PDF分割器 Unity-PDF分割器前言核心思路解决过程一、Unity安装iTextSharp二、运行时计算将要生成文件的大小三、分割核心代码四、使用StandaloneFileBrowser五、其他的一些脚本六、游戏界面主体的构建MainWindowWarningPanel & FinishPanel By-Round Moon Unity-PDF分割器 …

浅谈 Linux 网络编程 socket

文章目录 socket 介绍 socket 介绍 socket 被翻译成 网络套接字&#xff0c;这个名字实在是不好理解&#xff0c;我更愿意称为"插槽"。 忽略 socket 的中文名&#xff0c;先无脑记住两个规则&#xff1a; ① 记住&#xff0c;一个文件描述符(fd) 指向一个 socket&…

同芯.共赢 | 暴雨服务器亮相AMD EPYC合作伙伴峰会

2月29日&#xff0c;AMD EPYC合作伙伴峰会活动在北京成功举行&#xff0c;暴雨作为AMD重要生态合作伙伴应邀参加。作为AMD开年首场活动&#xff0c;此次活动意义非凡&#xff0c;AMD在现场向合作伙伴分享了AMD数据中心全新产品路线、解决方案以及生态建设领域的最新进展。 AMD是…

android开发平台,Java+性能优化+APP开发+NDK+跨平台技术

开头 通常作为一个Android APP开发者&#xff0c;我们并不关心Android的源代码实现&#xff0c;不过随着Android开发者越来越多&#xff0c;企业在筛选Android程序员时越来越看中一个程序员对于Android底层的理解和思考&#xff0c;这里的底层主要就是Android Framewok中各个组…

机器学习专项课程03:Unsupervised Learning, Recommenders, Reinforcement Learning笔记 Week02

Week 02 of Unsupervised Learning, Recommenders, Reinforcement Learning 课程地址&#xff1a; https://www.coursera.org/learn/unsupervised-learning-recommenders-reinforcement-learning 本笔记包含字幕&#xff0c;quiz的答案以及作业的代码&#xff0c;仅供个人学习…

二分查找讲解

关于我为什么要写单独开一篇文章写二分,实际上那么多困难的算法,比如线段树,并查集等等都没有难倒我,我最近却被二分难倒了,而且是两次,两次在赛场上做不出来二分的应用题,于是我决定写一篇二分查找的算法总结.刚接触算法的时候本来是要写一篇的,但后面因为各种原因搁置了,现在…

R语言数学建模(二)—— tidymodels

R语言数学建模&#xff08;二&#xff09;—— tidymodels 文章目录 R语言数学建模&#xff08;二&#xff09;—— tidymodels前言一、示例数据集二、拆分数据集2.1 拆分数据集的常用方法2.2 验证集2.3 多层次数据2.4 其他需考虑问题 三、parsnip用于拟合模型3.1 创建模型3.2 …

腾讯云优惠券领取的三个渠道,先领券再下单!

腾讯云代金券领取渠道有哪些&#xff1f;腾讯云官网可以领取、官方媒体账号可以领取代金券、完成任务可以领取代金券&#xff0c;大家也可以在腾讯云百科蹲守代金券&#xff0c;因为腾讯云代金券领取渠道比较分散&#xff0c;腾讯云百科txybk.com专注汇总优惠代金券领取页面&am…

禁止safari浏览器网页双击缩放功能

普通浏览器 普通浏览器&#xff0c;只需要增加meta标签禁止缩放功能就行了 <meta content"widthdevice-width, initial-scale1.0, maximum-scale1.0, user-scalable0;" name"viewport" /> user-scalableno或0 //禁止双指缩放页面initial-scale1.0…

企业文件图纸加密有哪些?图纸文件加密防泄密软件如何选?

在现在的市场发展中&#xff0c;对于企业的图纸文件安全问题越来越重视&#xff0c;如设计图纸&#xff0c;重要文件等&#xff0c;一旦泄漏就会给企业造成巨大的经济损失。所以对企业管理者来讲&#xff0c;如何才能选择一款好用的适合本企业的图纸文件加密软件是非常重要的&a…

【C++】手把手教你手搓模拟实现string类

前言 string类一直都是C的经典问题&#xff0c;之前的文章已经对string类做了一个基本的介绍&#xff08;string类的基本常用接口&#xff09;&#xff0c;为了更好理解string类的功能&#xff0c;此篇文章将手把手教你带你手搓模拟实现string类&#xff0c;快来一起学习吧&am…

Spring 事务传播机制

事务传播机制&#xff1a;多个事务⽅法存在调⽤关系时, 事务是如何在这些⽅法间进⾏传播的。 ⽐如&#xff1a;有两个⽅法A&#xff0c;B都被 Transactional 修饰,&#xff0c;A⽅法调⽤B⽅法 A⽅法运⾏时, 会开启⼀个事务。当A调⽤B时&#xff0c; B⽅法本⾝也有事务&#xf…

Pod 进阶

目录 资源限制 健康检查 资源限制 当定义 Pod 时可以选择性地为每个容器设定所需要的资源数量。 最常见的可设定资源是 CPU 和内存大小&#xff0c;以及其他类型的资源。 当为 Pod 中的容器指定了 request 资源时&#xff0c;代表容器运行所需的最小资源量&#xff0c;调度器…

打造去中心化透明储蓄罐:Solidity智能合约的又一实践

一、案例背景 传统的储蓄罐通常是由个人或家庭使用&#xff0c;用于存放硬币或小额纸币。然而&#xff0c;这样的储蓄罐缺乏透明性&#xff0c;用户无法实时了解储蓄情况&#xff0c;也无法确保资金的安全性。 通过Solidity智能合约&#xff0c;我们可以构建一个去中心化…

外汇天眼:外汇市场有哪些功能?

外汇市场有三个方面的功能&#xff0c;一是实现购买力的国际转移&#xff0c;二是提供资金融通&#xff0c;三是提供外汇保值和投机的市场机制。 实现购买力的国际转移 国际贸易和国际资金融通至少涉及到两种货币&#xff0c;而不同的货币对不同的国家形成购买力&#xff0c;…

02| JVM堆中垃圾回收的大致过程

如果一直在创建对象&#xff0c;堆中年轻代中Eden区会逐渐放满&#xff0c;如果Eden放满&#xff0c;会触发minor GC回收&#xff0c;创建对象的时GC Roots&#xff0c;如果存在于里面的对象&#xff0c;则被视为非垃圾对象&#xff0c;不会被此次gc回收&#xff0c;就会被移入…