Spring Boot课程答疑:技术难题一网打尽

4系统概要设计
4.1概述
本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:
在这里插入图片描述

图4-1系统工作原理图
4.2系统结构
本系统是基于B/S架构的网站系统,设计的管理员功能结构图如下图所示:
在这里插入图片描述

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

本系统是基于B/S架构的网站系统,设计的老师功能结构图如下图所示:
在这里插入图片描述

图4-2老师功能结构图
本系统是基于B/S架构的网站系统,设计的用户功能结构图如下图所示:
在这里插入图片描述

图4-3 用户功能结构图

4.3.数据库设计
4.3.1数据库实体
概念设计的目标是设计出反映某个组织部门信息需求的数据库系统概念模式,数据库系统的概念模式独立于数据库系统的逻辑结构、独立于数据库管理系统(DBMS)、独立于计算机系统。
概念模式的设计方法是在需求分析的基础上,用概念数据模型(例如E-R模型)表示数据及数据之间的相互联系,设计出反映用户信息需求和处理需求的数据库系统概念模式。概念设计的目标是准确描述应用领域的信息模式,支持用户的各种应用,这样既容易转换为数据库系统逻辑模式,又容易为用户理解。数据库系统概念模式是面向现实世界的数据模型,不能直接用于数据库系统的实现。在此阶段,用户可以参与和评价数据库系统的设计,从而有利于保证数据库系统的设计与用户的需求相吻合。在概念模式的设计中,E-R模型法是最常见的设计方法。本系统的E-R图如下图所示:
(1)学生问题信息的实体属性图如下:
在这里插入图片描述

图4.12 学生问题信息实体属性图
(2)老师信息实体属性图如图4.13所示:
在这里插入图片描述

图4.13 老师信息实体属性图
(3)科目类型信息实体属性图如图4.14所示:
在这里插入图片描述

图4.14 科目类型信息实体属性图
4.3.2数据库设计表
课程答疑系统需要后台数据库,下面介绍数据库中的各个表的详细信息:

表4.1 老师回答评论表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
refid bigint(20) 否 关联表id
userid bigint(20) 否 用户id
nickname varchar(200) 是 NULL 用户名
content longtext 否 评论内容
reply longtext 是 NULL 回复内容
表4.2 老师信息评论表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
refid bigint(20) 否 关联表id
userid bigint(20) 否 用户id
nickname varchar(200) 是 NULL 用户名
content longtext 否 评论内容
reply longtext 是 NULL 回复内容
表4.3 学生问题评论表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
refid bigint(20) 否 关联表id
userid bigint(20) 否 用户id
nickname varchar(200) 是 NULL 用户名
content longtext 否 评论内容
reply longtext 是 NULL 回复内容
表4.4 交流区
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
title varchar(200) 是 NULL 帖子标题
content longtext 否 帖子内容
parentid bigint(20) 是 NULL 父节点id
userid bigint(20) 否 用户id
username varchar(200) 是 NULL 用户名
isdone varchar(200) 是 NULL 状态
表4.5 关注列表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
laoshizhanghao varchar(200) 是 NULL 老师账号
laoshixingming varchar(200) 是 NULL 老师姓名
xingbie varchar(200) 是 NULL 性别
shoujihaoma varchar(200) 是 NULL 手机号码
touxiang varchar(200) 是 NULL 头像
xueshengzhanghao varchar(200) 是 NULL 学生账号
xueshengxingming varchar(200) 是 NULL 学生姓名
表4.6 科目类型
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
kemu varchar(200) 是 NULL 科目
jianyao longtext 是 NULL 简要
表4.7 老师
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
laoshizhanghao varchar(200) 否 老师账号
mima varchar(200) 否 密码
laoshixingming varchar(200) 是 NULL 老师姓名
xingbie varchar(200) 是 NULL 性别
shoujihaoma varchar(200) 是 NULL 手机号码
touxiang varchar(200) 是 NULL 头像
表4.8 老师回答
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
wenti varchar(200) 是 NULL 问题
fengmian varchar(200) 是 NULL 封面
kemuleixing varchar(200) 是 NULL 科目类型
wentimiaoshu varchar(200) 是 NULL 问题描述
xueshengzhanghao varchar(200) 是 NULL 学生账号
xueshengxingming varchar(200) 是 NULL 学生姓名
laoshizhanghao varchar(200) 否 老师账号
laoshixingming varchar(200) 否 老师姓名
wentijieda longtext 否 问题解答
beizhu varchar(200) 是 NULL 备注
thumbsupnum int(11) 是 0 赞
crazilynum int(11) 是 0 踩
clicknum int(11) 是 0 点击次数
表4.9 老师信息
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
laoshizhanghao varchar(200) 是 NULL 老师账号
laoshixingming varchar(200) 否 老师姓名
xingbie varchar(200) 否 性别
shoujihaoma varchar(200) 是 NULL 手机号码
touxiang varchar(200) 是 NULL 头像
ziwojieshao longtext 否 自我介绍
thumbsupnum int(11) 是 0 赞
crazilynum int(11) 是 0 踩
clicktime datetime 是 NULL 最近点击时间
clicknum int(11) 是 0 点击次数
表4.10 收藏表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
userid bigint(20) 否 用户id
refid bigint(20) 是 NULL 收藏id
tablename varchar(200) 是 NULL 表名
name varchar(200) 否 收藏名称
picture varchar(200) 否 收藏图片
表4.11 管理员表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
username varchar(100) 否 用户名
password varchar(100) 否 密码
role varchar(100) 是 管理员 角色
addtime timestamp 否 CURRENT_TIMESTAMP 新增时间
表4.12 学生
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
xueshengzhanghao varchar(200) 否 学生账号
mima varchar(200) 否 密码
xueshengxingming varchar(200) 是 NULL 学生姓名
xingbie varchar(200) 是 NULL 性别
shoujihaoma varchar(200) 是 NULL 手机号码
touxiang varchar(200) 是 NULL 头像
表4.13 学生问题
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
wenti varchar(200) 否 问题
fengmian varchar(200) 是 NULL 封面
kemuleixing varchar(200) 否 科目类型
wentimiaoshu longtext 否 问题描述
fabushijian datetime 是 NULL 发布时间
xueshengzhanghao varchar(200) 是 NULL 学生账号
xueshengxingming varchar(200) 是 NULL 学生姓名
thumbsupnum int(11) 是 0 赞
crazilynum int(11) 是 0 踩
clicktime datetime 是 NULL 最近点击时间
clicknum int(11) 是 0 点击次数

5系统详细实现
5.1 管理员模块的实现
5.1.1 学生信息管理
课程答疑系统的系统管理员可以管理学生,可以对学生信息添加修改删除以及查询操作。具体界面的展示如图5.1所示。
在这里插入图片描述

图5.1 学生信息管理界面
5.1.2 科目类型管理
系统管理员可以查看对科目类型信息进行添加,修改,删除以及查询操作。具体界面如图5.2所示。
在这里插入图片描述

图5.2 科目类型信息管理界面
5.2 老师模块的实现
5.2.1 老师回答管理
老师可以对老师回答进行查看以及查询操作。界面如下图所示:
在这里插入图片描述

图5.3 在线报名信息管理界面
5.2.1 我的收藏管理
老师可以对报我的收藏信息进行添加修改删除操作,还可以对业务信息进行查询。界面如下图所示:
在这里插入图片描述

图5.4 我的收藏管理界面

5.2 学生模块的实现
5.2.2 学生问题
学生登录之后,可以查看学生问题信息,也可以发布学生问题信息。界面如下图所示:
在这里插入图片描述

图5.5 学生问题界面
5.2.3 留言反馈
学生登录后在首页查看老师回答信息。界面如下图所示:

在这里插入图片描述

图5.6 老师回答信息界面
5.2.3 交流区
学生登录后可以在交流区发布信息。界面如下图所示:

在这里插入图片描述

图5.7 交流区界面

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

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

相关文章

Spring Integration + MQTT

1. 简介 Spring Integration: Spring Integration是一个开源的Java库,用于构建基于消息的应用程序。它提供了一套丰富的组件和工具,使得开发者可以轻松地开发出可靠、灵活和可扩展的集成解决方案。以下是Spring Integration的一些主要用途&…

Webpack 完整指南

​🌈个人主页:前端青山 🔥系列专栏:Webpack篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来webpack篇专栏内容:webpack介绍 目录 介绍 一、webpack 1.1、webpack是什么 1.2 webpack五个核心配置 1.…

浏览器服务端文件下载控制(安全阻止、文件浏览器打开还是下载行为控制)

文章目录 简介Chrome已阻止不安全内容下载PDF直接打开txt、xml、js文件被自动打开了而不是下载阿里OSS设置response header阿里OSS修改metadata 简介 随着浏览器的发展,有很多安全方面的限制,对我们的文件下载行为产生了很大的影响。 在JavaScript下载…

云手机:社交平台运营的热门工具

随着互联网的飞速发展,社交平台已经成为企业推广和营销的核心渠道。传统的运营方式已经无法满足高效运营的需求,而云手机作为新兴工具,逐渐成为社交平台运营的前沿趋势。本文将深入分析云手机如何优化社交平台的运营流程,助力企业…

手机中的ip地址是什么意思?可以改手机ip地址吗

‌IP地址,作为手机与网络通信的关键要素,不仅承担着网络通信的基础角色,还涉及网络安全、位置定位以及网络管理等多重功能。了解手机IP地址的含义及其修改方法,对于保护个人隐私、突破网络访问限制等方面具有重要意义。 一、手机I…

如何将mov格式的视频转换mp4?5种解决方法任你选!

MOV即QuickTime影片格式,它是Apple公司开发的一种音频、视频文件格式,用于存储常用数字媒体类型。然而,它的兼容性主要局限于苹果生态系统。有时,我们需要IOS和Mac设备的视频图片保存到安卓手机或Windows系统中,却发现…

国标GB28181软件LiteGBS国标GB28181公网平台分享链接面临不生效该如何解决?

在当今社会,随着科技的飞速发展,各种新兴技术正以前所未有的速度融入我们的日常生活,其中,LiteGBS作为一种基于国标GB28181协议的视频监控平台,正以其独特的功能和广泛的应用领域,深刻地影响着我们的生活方…

MySQL-约束Constraint详解

文章目录 约束简介非空约束检查约束唯一约束列级约束与表级约束给约束起名字 主键约束主键概念以及注意事项 外键约束外键概念以及注意事项外键使用场景约束的删除与添加级联相关操作级联删除(on delete cascade)级联更新(on update cascade)级联置空(on delete set null) 约束…

使用js和canvas实现简单的网页打砖块小游戏

玩法介绍 点击开始游戏后,使用键盘上的←→控制移动,小球会不停移动,板子触碰小球时会反弹,碰撞到砖块时会摧毁砖块,如果没有用板子接住小球就游戏失败 代码实现 代码比较简单,直接阅读注释即可&#x…

抖音小游戏画图位置移动

文章目录 画图移动图形位置 画图 const canvas tt.createCanvas(); const context canvas.getContext(2d);context.width 500; context.height 500;let isPressing false; // 是否按下 let startX 0; let startY 0;context.fillStyle "#f00"; context.fillR…

骨传导耳机哪个牌子的最好?全面测评分享5大热门骨传导耳机

在当今快节奏的生活中,人们越来越重视健康与休闲的平衡,而音乐则是连接这两者的重要桥梁。对于经常进行户外活动或锻炼的人来说,传统入耳式耳机可能存在安全隐患,这时,骨传导耳机便成为了理想的选择。骨传导技术通过振…

82.【C语言】数据结构之顺序表

在软件开发中,存储列表常用顺序表或链表 1.线性表 定义:n个具有相同特性的数据元素的有限序列(相当于一条直线)(用数组存储),要求数据依次存储 2.分类 1.静态顺序表:使用定长数组存储元素 代码示例(写入Seqlist.h中) typedef int SLDataType;//将int重定义为SL…

Java:玩家打怪小游戏

今天,我们尝试用Java来做一个“打怪小游戏”,听名字就知道,我们是应该创建几个成员和怪物,还有知道知道成员和怪物的血量,一次攻击的伤害等等。。当然我们的游戏攻击模式是“回合制”(其实是别的方法&#…

云开发 | 微信小程序云开发无法获取数据库数据

1.我在我的云数据库中创建了一个数据表(即collection数据集)userList,并且存入了两条用户信息数据 2. 想要通过按钮触发事件拿取数据库中数据并且打印在控制台时,获取数据失败,控制台无输出 3. 初始化 | 在开始使用数据库 API 进…

androidStudio编译导致的同名.so文件冲突问题解决

files found with path lib/arm64-v8a/libserial_port.so from inputs: ...\build\intermediates\library_jni\debug\jni\arm64-v8a\libserial_port.so C:\Users\...\.gradle\caches\transforms-3\...\jni\arm64-v8a\XXX.so 解决方式如下: 1.将gradle缓存文件删…

Linux系统——lvm逻辑卷

Linux系统——lvm逻辑卷 一、lvm逻辑卷1、lvm操作流程2、操作指令 二、逻辑卷操作1、创建逻辑卷1.1 /dev/cloud/openstack 5G xfs /cloud/openstack1.2 /dev/cloud/docker 10G ext4 /cloud/docker 2、逻辑卷扩容2.1 扩容流程2.2 需求一:扩容ext4文件系统的逻辑卷2.3…

新手给视频加字幕的方法有哪些?4种加字幕方法推荐!

在视频制作中,字幕不仅是传递信息的重要手段,还能增强视频的观感和专业性。对于新手来说,如何给视频添加字幕可能是一个挑战。本文将介绍字幕的类型、推荐添加字幕的工具,以及详细添加字幕方法,帮助新手轻松掌握视频字…

宠物咖啡馆业务自动化:SpringBoot框架的实现方法

3系统分析 3.1可行性分析 通过对本基于Spring Boot的宠物咖啡馆平台的设计与实现实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本基于Spring Boot的宠物咖啡馆…

微前端 Spa qiankun

简介 首先什么是微前端? 他是一个软件架构模式。借鉴了后端的为服务架构思想,是将复杂单一的前端进行拆分成多个可以独立开发、部署、维护的小型应用。不同的应用关注不同的业务。最终将其集成到一个主框架里面。简单来说就是先分后合。 传统前端开发的…

【Unity - 屏幕截图】技术要点

在Unity中想要实现全屏截图或者截取某个对象区域的图片都是可以通过下面的函数进行截取 Texture2D/// <summary>/// <para>Reads the pixels from the current render target (the screen, or a RenderTexture), and writes them to the texture.</para>/…