基于springboot+vue高校实验室教学管理系统的设计和实现(源码+L文+ppt)4-045
4 系统总体设计
此次高校实验室教学管理系统通过springboot框架。springboot适合快速构建Web应用。springboot将B/S设计模式中的视图分成了View模块和Template模块两部分,将动态的逻辑处理交给View处理,页面通过Template来实现。Model和Template由View连在一起,如此划分后,程序中的每一部分只做一件事情,耦合度大大降低,便于开发者管理。为了更好的去理清本系统整体思路,对该系统以结构图的形式表达出来,设计实现该高校实验室教学管理系统的功能结构图如下所示:
图4-1 系统总体结构图
4.1 数据库设计原则
数据库设计之后,根据数据库关系,可以更加清晰地了解到数据库结构,每一个数据表之间的关系,再创建数据表。快速更改和查询对应的信息,有了数据库就不用在程序和代码中寻找。
分析高校实验室教学管理系统的数据结构后,在E-R图中分析管理员登录时的模式,需要输入用户名与密码、角色,管理员信息E-R如图4-2所示。
图4-2 管理员信息E-R图
学生信息E-R图如图4-3所示。
图4-3学生信息E-R图
教师信息E-R图如图4-4所示。
图4-4教师信息E-R图
学分信息E-R图如图4-5所示。
图4-5课学会信息E-R图
高校实验室教学管理系统总体E-R图如图4-6所示。
图4-6高校实验室教学管理系统总体E-R图
4.2模型的设计 (共18张表)
在关系数据E-R图中,分析并创建数据表,数据表用来记录信息,数据表关系由多个数据表组成,该系统中存在多个自定义模型,下面依次进行介绍。
表4-1:课程预约表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint |
| 主键 | 主键 |
|
addtime | timestamp |
| 创建时间 |
| CURRENT_TIMESTAMP |
jiaoshizhanghao | varchar | 200 | 教师账号 |
|
|
jiaoshixingming | varchar | 200 | 教师姓名 |
|
|
kechengmingcheng | varchar | 200 | 课程名称 |
|
|
kechengtupian | longtext | 4294967295 | 课程图片 |
|
|
shangkedidian | varchar | 200 | 上课地点 |
|
|
shangkeshijian | varchar | 200 | 上课时间 |
|
|
yuyueshijian | datetime |
| 预约时间 |
|
|
xueshengxuehao | varchar | 200 | 学生学号 |
|
|
xueshengxingming | varchar | 200 | 学生姓名 |
|
|
sfsh | varchar | 200 | 是否审核 |
| 待审核 |
shhf | longtext | 4294967295 | 审核回复 |
|
|
表4-2:课程信息表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint |
| 主键 | 主键 |
|
addtime | timestamp |
| 创建时间 |
| CURRENT_TIMESTAMP |
jiaoshizhanghao | varchar | 200 | 教师账号 |
|
|
jiaoshixingming | varchar | 200 | 教师姓名 |
|
|
kechengmingcheng | varchar | 200 | 课程名称 |
|
|
kechengfenlei | varchar | 200 | 课程分类 |
|
|
kechengtupian | longtext | 4294967295 | 课程图片 |
|
|
shangkeshijian | varchar | 200 | 上课时间 |
|
|
shangkedidian | varchar | 200 | 上课地点 |
|
|
kechengjianjie | longtext | 4294967295 | 课程简介 |
|
|
sfsh | varchar | 200 | 是否审核 |
| 待审核 |
shhf | longtext | 4294967295 | 审核回复 |
|
|
thumbsupnum | int |
| 赞 |
| 0 |
crazilynum | int |
| 踩 |
| 0 |
storeupnum | int |
| 收藏数 |
| 0 |
此处省略16张表。。。
表4-18:公告信息表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint |
| 主键 | 主键 |
|
addtime | timestamp |
| 创建时间 |
| CURRENT_TIMESTAMP |
title | varchar | 200 | 标题 |
|
|
introduction | longtext | 4294967295 | 简介 |
|
|
typename | varchar | 200 | 分类名称 |
|
|
name | varchar | 200 | 发布人 |
|
|
headportrait | longtext | 4294967295 | 头像 |
|
|
clicknum | int |
| 点击次数 |
| 0 |
clicktime | datetime |
| 最近点击时间 |
|
|
thumbsupnum | int |
| 赞 |
| 0 |
crazilynum | int |
| 踩 |
| 0 |
storeupnum | int |
| 收藏数 |
| 0 |
picture | longtext | 4294967295 | 图片 |
|
|
content | longtext | 4294967295 | 内容 |
|
|
5 系统详细设计与实现
按照软件工程的流程来说,在系统的详细设计与实现阶段,要把模块、视图、模板进行相应的组合完成一个个所需的功能,此章将会把设计中模块进行说明如何设计和实现的。
5.1前台学生功能模块
当用户打开系统的网址后,首先看到的就是首页界面。在这里,用户能够看到高校实验室教学管理系统的导航条显示系统首页、课程信息、论坛交流、公告信息、个人中心等。系统首页界面如图5-1所示:
图5-1系统首页界面
在注册流程中,学生在Vue前端填写必要信息(如学生名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查学生名是否唯一,并将新学生数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知学生完成注册。这个过程实现了新用户的数据收集、验证和存储。
如图5-2所示:
图5-2 学生注册界面
在登录流程中,学生首先在Vue前端界面输入学生名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许学生访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-3所示:
图5-3 学生登录界面
点击课程信息,学生在课程信息页面搜索栏输入教师姓名和课程名称进行查询,还可以查看教师账号、教师姓名、课程分类、上课时间和上课地点等信息,还可以点击课程预约、赞、踩和收藏等操作,如图5-4所示。
图5-4课程信息界面图
点击论坛交流学生在资料信息页面搜索栏输入标题进行查询,还可以发布帖子等操作,如图5-5所示。
图5-5论坛交流界面图
学生点击个人中心,在个人中心页面可以更新个人详细信息,还可以对修改密码、课程预约、实验数据、成绩信息、学分信息、我的发布、我的收藏进行详细操作;如图5-6所示:
图5-6个人中心界面
5.2前台教师功能模块
教师登录,通过登录页面输入用户名、密码、选择角色等信息,进行登录操作,如图5-7所示。
图5-7 教师登录界面图
当教师登陆系统后,首先看到的就是首页界面。在这里,教师能够看到高校实验室教学管理系统的导航条显示系统首页、课程信息、论坛交流、公告信息、个人中心等。系统首页界面如图5-8所示:
图5-8首页界面图
教师点击前台点击个人中心,主要包括对系统首页、个人资料、修改密码、课程信息、课程预约、实验室信息、实验室预约、实验室设备、实验数据、成绩信息、学分信息、我的发布、我的收藏管理等功能进行操作。学生主页面如图5-19所示:
图5-9教师个人中心界面图
5.3 后台管理员功能模块
管理员登录,通过登录页面输入用户名、密码、选择角色等信息,进行登录操作,如图5-10所示。
图5-10管理员登录界面图
管理员点击登录摁钮页面跳转到高校实验室教学管理系统对系统首页、学生管理、教师管理、课程分类管理、课程信息管理、课程预约管理、实验室信息管理、实验室预约管理、实验室设备管理、实验数据管理、成绩信息管理、学分信息管理、论坛交流、系统管理、用户信息等功能,进行相应操作,如图5-11所示。
图5-11管理员功能界面图
学生功能在视图层(view层)进行交互,比如点击“添加学生”按钮或填写学生信息表单。这些学生信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查询、新增、更新或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便学生功能可以看到最新的信息或相应的操作反馈。管理员点击学生管理,在学生管理页面对学生学号、学生姓名、性别、年龄、手机号和头像等信息,进行查询,添加、修改或删除学生信息等操作。如图5-12所示:
图5-12学生管理界面
教师功能在视图层(view层)进行交互,比如点击“添加教师”按钮或填写教师信息表单。这些教师信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查询、新增、更新或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便教师功能可以看到最新的信息或相应的操作反馈。管理员点击教师管理,在教师管理页面对教师账号、教师姓名、性别、年龄、手机号、身份证和头像等信息,进行查询,添加、修改或删除教师信息等操作。如图5-13所示:
图5-13教师管理界面
管理员点击课程信息管理,在课程信息管理页面对教师账号、教师姓名、课程名称、课程分类等信息,进行查询、添加、审核或删除课程信息等操作。如图5-14所示:
图5-14课程信息管理界面
管理员点击课程预约管理,在课程预约管理页面对教师账号、教师姓名、课程名称、课程图片、上课地点等信息,进行查询或删除资料信息等操作。如图5-15所示:
图5-15课程预约管理界面
管理员点击实验室信息管理,在实验室信息管理页面对实验室名称、实验室规模、实验室图片等信息,进行查询、添加、修改或删除课程作业等操作。如图5-16所示:
图5-16实验室信息管理界面
管理员点击实验室设备管理,在实验室设备管理页面对实验室名称、实验室位置、设备名称、设备图片等信息,进行查询、添加、修改或删除实验室设备等操作。如图5-17所示:
图5-17实验室设备管理界面
管理员点击成绩信息管理,在成绩信息管理页面对教师账号、教师姓名、课程名称、上课地点、上课时间等信息,进行查询、修改或删除成绩信息等操作。如图5-18所示:
图5-18成绩信息管理界面
管理员点击学分信息管理,在学分信息管理页面对教师账号、教师姓名、课程名称、上课地点、上课时间等信息,进行查询、修改或删除成绩信息等操作。如图5-19所示:
图5-19学分信息管理界面