Spring Boot框架下的教育导师匹配系统

第一章 绪论

1.1 选题背景

如今的信息时代,对信息的共享性,信息的流通性有着较高要求,尽管身边每时每刻都在产生大量信息,这些信息也都会在短时间内得到处理,并迅速传播。因为很多时候,管理层决策需要大量信息作为参考依据,也有些时候,各大企业或学校也需要使用工具宣传自身的文化理念等等,所以信息能够得到迅速传播并带给人们一定的参考价值,充分发挥信息本身的作用是很有必要的,而这些恰恰是传统模式所不能相比的。因此,借助工具让信息系统化,流程化,规范化是最终的发展结果,而这个工具则是计算机软件。本次设计实现的计算机软件卓越导师双选系统,让其遵循实际操作流程的情况下,对导师选择信息实施规范化处理,让导师选择信息通过电子的方式进行保存,无论是管理人员检索导师选择信息,维护导师选择信息都可以便利化操作,真正缩短信息处理时间,节省人力和信息管理的成本。

1.2 选题意义

为了让导师选择信息的管理模式进行升级,也为了更好的维护导师选择信息,卓越导师双选系统的开发运用就显得很有必要,因为它不仅可以让导师选择信息的管理人员统一完成信息管理,而且还会在保证导师选择信息处于安全状态的情况下,让导师选择信息的处理流程缩短,让信息的管理工作量减少,让导师选择信息的录入和后期维护缩短时间,以及节省管理导师选择信息需要投入的精力与资金。由于卓越导师双选系统运用的技术比较成熟,所以它本身就具备了稳定的性能,连续24小时运行都毫无压力。而且还可以保证数据处理的质量。另外,卓越导师双选系统为了满足易用性的用户需求,特意在页面的设计上合理布局各元素,让重要内容和导航功能在关键区域展示,让操作系统的用户可以毫不费力的完成系统的操作。总的说来,卓越导师双选系统实现了信息资源的共享,让信息可以以更好的方式进行传播,让管理员的管理水平得到提升的同时,也让导师选择信息计算机化。

1.3 研究内容

根据卓越导师双选系统设计与实现的流程来对整个系统进行说明。本文将从下述6个部分介绍系统。

第一部分:介绍选题的动因,包括介绍课题背景和意义等。

第二部分:介绍本系统选用的开发手段,包括编程语言,后台支持的数据库,开发类技术等。

第三部分:介绍系统的分析内容,包括投资决策必须的可行性研究,用户对功能的要求,系统运行的性能要求等知识。

第四部分:介绍系统的设计。包括对系统功能结构的设计,数据表结构设计等。

第五部分:介绍系统的实现。包括各模块实现的具体运行效果。

第六部分:介绍系统测试。包括检查系统功能,测试知识点的介绍等。

第四章 系统设计

设计一个系统不单单是设计系统的页面,可以说系统设计其本质是一个结合了众多设计过程的比较复杂的系统工程。一般来说,在完成系统设计时,需要了解和掌握很多设计的知识,有界面布局技术的知识,页面采用的字体和颜色的运用,还有页面空白的规范使用等,如何将这些元素进行组合,让页面可以直观表达信息内容的同时,也能维持页面整体的美观。

4.1 系统设计思想

系统开发必然需要统一设计思想。根据这个设计思想指导系统的开发,可以加快系统开发进程。根据目前用户对卓越导师双选系统的需求,确定下述原则即为本系统的设计思想。

(1)实用性:本系统依照用户需求设计功能,遵循用户使用方便的原则,把用户在实际工作中的各个操作细节也充分考虑进来,让使用者在没有系统操作说明书的情况下,也能很容易的完成系统的操作。

(2)先进性:为了让本系统具备高性能,设计时,需要把目前的各种成熟技术加以考虑,比如软件开发技术也要考虑进去,比如计算机技术也需要进行考虑。对于系统结构的选择,本系统将毫不犹豫的选择成熟先进的B/S结构,方便开发的同时,对于后期的维护也提供了便利。

(3)高安全性:设计本系统时,对于一些系统的关键数据要严加看管,比如管理员本人的账号和密码,一定要加密保存在数据库里面。除此以外,也需要充分使用安全措施对用户的共享资源进行保护。

(4)可维护性:设计时,要提前考虑本系统的可维护性,因为一个便于维护的系统在后期产生的维护成本将会大大降低。维护一般包括软硬件的维护还有对于网络的维护等。

(5)可扩展性:重新开发一个新系统相比在原有系统上升级,会花费大量的资金和精力,由此,一个好的系统必定具备良好的可扩展性。在用户需求变动的情况下,可以通过系统的更新和升级来持续满足用户需求,这样的系统就具备了可扩展性。

4.2功能结构设计

这部分内容使用结构图这样的工具,显示设计结果,设计的管理员功能见下图。管理员管理学员,导师,管理项目信息,管理项目提交,管理指导项目信息。

图4-1 管理员功能结构图

这部分内容使用结构图这样的工具,显示设计结果,设计的导师功能见下图。导师管理导师选择信息,管理项目,管理项目提交并对学员提交的项目进行指导。

图4-2 导师功能结构图

这部分内容使用结构图这样的工具,显示设计结果,设计的学员功能见下图。学员选择导师,查看项目,提交已完成的项目文件,查看导师对项目的指导信息。

图4-3 学员功能结构图

4.3数据库设计

现如今,关系数据库已经广泛占据了市场。其具有坚实的理论基础,并且它可以很好的支持SQL这样的查询语言。所以,大部分程序的后台数据库几乎都是关系数据库。它们被用于长期对程序数据进行保存,采用的方式就是正确使用SQL语句在数据库中完成数据的插入,修改,删除等操作。

4.3.1 数据库E-R图

系统设计的内容不仅仅是对功能进行模块设计,它也包括了对数据库进行设计。功能设计这部分内容已经完成了,接下来进行的数据库设计也要根据规定的流程进行。

数据库设计这部分内容也需要参照用户的需求来完成。同时为了方便展示数据库中存在的各种关系,需要使用到E-R图,并运用E-R图中常见的符号来表示用户需求中的数据内容。所以,在建立E-R模型前,需要把用户需求的数据信息进行拆分并分析,并确定实体,实体特征,还有它们之间的关联,然后选择某个绘制E-R模型的工具比如Visio,亿图,Navicat等,用规定的符号去表示这些数据。这些常用的符号分别是矩形,菱形,椭圆,它们表示的内容分别是实体,关系,属性。

(1)设计的项目实体,还有其属性见下图。

图4-3 项目实体属性图

(2)设计的学员实体,还有其属性见下图。

图4-4 学员实体属性图

(3)设计的指导项目实体,还有其属性见下图。

图4-5 指导项目实体属性图

(4)设计的导师实体,还有其属性见下图。

图4-6 导师实体属性图

(5)设计上述实体间关系见下图。

图4-7 实体间关系E-R图

4.3.2 数据库表结构

很多时候,在进行数据表的存储结构的设计时,都会遇到一些困扰,比如每张数据表如何命名,如何设计每张数据表里面的字段,如何为各个字段进行命名,以及如何设置字段的取值范围等信息。很多初学者,在进行表结构设计时,无论是对表进行命名,还是对字段进行命名,都是采用中文的方式,导致在编码阶段,在对数据进行操作时,总是报错,影响编码人员的开发速度,而且一旦数据表结构建立之后,后期进行修改也比较麻烦。因为设计数据表的结构,就意味着程序中需要长期保存的数据都是根据这样的结构进行保存的,在后面的使用中,无论是程序数据往数据表中写入,还是需要编辑或删除数据,都是按照这个规则进行。如此说来,设计数据库也是非常重要的任务,它关系到后面程序的开发,也关系到程序的运行使用。

通常在设计数据表结构时,会把前面设计的E-R图进行表结构的转化。把实体用来代表数据表,把其属性,也就是椭圆形代表的内容用来表示数据表中的字段,然后根据程序对于数据的存储要求,设计字段的类型和长度。比如用户的年龄可以用int(整数型),设置其长度为4或者6等。总之,数据表结构一旦建立,就可以往里面填充数据了。

表4.1 导师信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

gonghao varchar(200) 否 工号

mima varchar(200) 否 密码

jiaoshixingming varchar(200) 是 NULL 教师姓名

xingbie varchar(200) 是 NULL 性别

touxiang varchar(200) 是 NULL 头像

youxiang varchar(200) 是 NULL 邮箱

dianhua varchar(200) 是 NULL 电话

表4.2 导师详细信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

gonghao varchar(200) 是 NULL 工号

jiaoshixingming varchar(200) 是 NULL 教师姓名

xingbie varchar(200) 是 NULL 性别

suojiaokemu varchar(200) 是 NULL 所教科目

renshu int(11) 否 人数

youxiang varchar(200) 是 NULL 邮箱

dianhua varchar(200) 是 NULL 电话

gerenjianjie longtext 是 NULL 个人简介

表4.3 导师选择信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

gonghao varchar(200) 是 NULL 工号

jiaoshixingming varchar(200) 是 NULL 教师姓名

renshu int(11) 否 人数

xuanzeshijian datetime 是 NULL 选择时间

xuanzeneirong longtext 是 NULL 选择内容

xuehao varchar(200) 是 NULL 学号

xueshengxingming varchar(200) 是 NULL 学生姓名

sfsh varchar(200) 是 否 是否审核

shhf longtext 是 NULL 审核回复

表4.4 管理员信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

username varchar(100) 否 用户名

password varchar(100) 否 密码

role varchar(100) 是 管理员 角色

addtime timestamp 否 CURRENT_TIMESTAMP 新增时间

表4.5 项目提交信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

xiangmubianhao varchar(200) 是 NULL 项目编号

xiangmumingcheng varchar(200) 是 NULL 项目名称

gonghao varchar(200) 是 NULL 工号

jiaoshixingming varchar(200) 是 NULL 教师姓名

xiangmuwenjian varchar(200) 是 NULL 项目文件

xiangmuneirong longtext 是 NULL 项目内容

tijiaoshijian datetime 是 NULL 提交时间

xuehao varchar(200) 是 NULL 学号

xueshengxingming varchar(200) 是 NULL 学生姓名

表4.6 项目信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

xiangmubianhao varchar(200) 是 NULL 项目编号

xiangmumingcheng varchar(200) 否 项目名称

xuehao varchar(200) 是 NULL 学号

xueshengxingming varchar(200) 是 NULL 学生姓名

xiangmuyaoqiu longtext 是 NULL 项目要求

fujian varchar(200) 是 NULL 附件

fabushijian datetime 是 NULL 发布时间

gonghao varchar(200) 是 NULL 工号

jiaoshixingming varchar(200) 是 NULL 教师姓名

表4.7 学员信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

xuehao varchar(200) 否 学号

mima varchar(200) 否 密码

xueshengxingming varchar(200) 是 NULL 学生姓名

xingbie varchar(200) 是 NULL 性别

touxiang varchar(200) 是 NULL 头像

shouji varchar(200) 是 NULL 手机

youxiang varchar(200) 是 NULL 邮箱

表4.8 指导项目信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

xiangmubianhao varchar(200) 是 NULL 项目编号

xiangmumingcheng varchar(200) 是 NULL 项目名称

xuehao varchar(200) 是 NULL 学号

xueshengxingming varchar(200) 是 NULL 学生姓名

cunzaiwenti longtext 是 NULL 存在问题

xiangmudianping longtext 是 NULL 项目点评

fabushijian datetime 是 NULL 发布时间

gonghao varchar(200) 是 NULL 工号

jiaoshixingming varchar(200) 是 NULL 教师姓名

相关推荐
寻星探路6 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
崔庆才丨静觅8 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
曹牧8 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
passerby60618 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了9 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅9 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅9 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
爬山算法9 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty7259 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎9 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven