SpringBoot在线教育系统:性能优化策略

3系统分析

3.1可行性分析

通过对本在线教育系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。

3.1.1技术可行性

本在线教育系统采用SSM框架,JAVA作为开发语言,是基于WEB平台的B/S架构系统。

(1)Java提供了稳定的性能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及服务。整个系统帮用户做了大部分不重要的琐碎的工作。

(2)基于B/S模式的系统的开发已发展日趋成熟。

(3)众所周知,Java是面向对象的开发语言。程序开发员可以在Eclipse平台上面方便的使用一些已知的解决方案。

因此,在线教育系统在开发技术上具有很高可行性,且开发人员掌握了一定的开发技术,所以此系统的开发技术具有可行性。

3.1.2经济可行性

本在线教育系统采用的软件都是开源的,这样能够削减很多的精力和资源,降低开发成本。同时对计算机的配置要求也极低,即使是淘汰下来的计算机也能够满足需要,因此,本系统在经济上是完全具有可行性的,所以在经济上是十分可行的。

3.1.3操作可行性

本在线教育系统的界面简单易操作,用户只要平时有在用过电脑,都能进行访问和操作。本系统具有易操作、易管理、交互性好的特点,在操作上是非常简单的,因此在操作上具有很高的可行性。

综上所述,此系统开发目标已明确,在技术、经济和操作方面都具有很高的可行性,并且投入少、功能完善、管理方便,因此系统的开发是完全可行的。

3.2系统性能分析

3.2.1 系统安全性

此在线教育系统要严格控制管理权限,具体要求如下:

(1)要想对在线教育系统进行管理,首先要依靠用户名和密码在系统中登陆,无权限的用户不可以通过任何方式登录系统和对系统的任何信息和数据进行查看,这样可以保证系统的安全可靠性和准确性。

(2)在具体实现中对不同的权限进行设定,不同权限的用户在系统中登陆后,不可以越级操作。

3.2.2 数据完整性

(1)所有记录信息要保持全面,信息记录内容不可以是空。

(2)各种数据间相互联系要保持正确。

(3)相同数据在不同记录中要保持一致。

3.3系统界面分析

目前,界面设计已经成为对软件质量进行评价的一条关键指标,一个好的用户界面可以使用户使用系统的信心和兴趣增加,从而使工作效率提高,JSP技术是将JAVA语言作为脚本语言的,JSP网页给整个服务器端的JAVA库单元提供了一个接口用来服务HTTP的应用程序。创建动态页面比较方便。客户界面是指软件系统与用户交互的接口,往往涵盖输出、输入、人机对话的界面格式等。

1.输出设计

输出是由电脑对输入的基本信息进行解决,生成高质量的有效信息,并使之具有一定的格式,提供给管理者使用,这是输出设计的主要责任和目标。

系统开发的过程与实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计。这是由于输出表格与使用者直接相联系,设计的目的应当是确保使用者可以很方便的使用输出表格,并且可以将各部门的有用信息及时的反映出来。输出设计的准绳是既要整体琢磨不同管理层的所有需要,又要简洁,不要提供给用户不需要的信息。

2.输入设计

输入数据的收集和录入是比较麻烦的,需要非常多的人力和一定设备,而且经常出错。一旦输入系统的数据不正确,那么处理后的输出就会扩大这些错误,因此输入的数据的准确性对整个系统的性能起着决定性意义。

输入设计有以下几点原则:

1)输入量应尽量保持在能够满足处理要求的最低限度。输入量越少,错误率就会越少,数据的准备时间也越少。

2)应尽可能的使输入的准备以及输入的过程进行时比较方便,这样使错误的发生率降低。

3)应尽量早检查输入数据(尽量接近原数据发生点),以便使错误更正比较及时。

4)输入数据尽早地记录成其处理所需的形式,以防止数据由一种介质转移到另一种介质时需要转录而可能发生的错误。

3.4系统流程和逻辑

图3-3登录流程图

图3-4修改密码流程图

4系统概要设计

4.1概述

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

图4-1系统工作原理图

4.2系统结构

本系统是基于B/S架构的网站系统,设计的功能结构图如下图所示:

图4-2功能结构图

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 创建时间

userid bigint(20) 否 用户id

address varchar(200) 否 地址

name varchar(200) 否 收货人

phone varchar(200) 否 电话

isdefault varchar(200) 否 是否默认地址[是/否]

表4.2 购物车表

字段 类型 空 默认 注释

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

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

tablename varchar(200) 是 kecheng 商品表名

userid bigint(20) 否 用户id

goodid bigint(20) 否 商品id

goodname varchar(200) 是 NULL 商品名称

picture varchar(200) 是 NULL 图片

buynumber int(11) 否 购买数量

price float 是 NULL 单价

discountprice float 是 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 创建时间

refid bigint(20) 否 关联表id

userid bigint(20) 否 用户id

nickname varchar(200) 是 NULL 用户名

content longtext 否 评论内容

reply longtext 是 NULL 回复内容

表4.5 名师评论表

字段 类型 空 默认 注释

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.6 讲师

字段 类型 空 默认 注释

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

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

jiangshigonghao varchar(200) 否 讲师工号

mima varchar(200) 否 密码

jiangshixingming varchar(200) 否 讲师姓名

xingbie varchar(200) 是 NULL 性别

nianling varchar(200) 是 NULL 年龄

touxiang varchar(200) 是 NULL 头像

lianxidianhua varchar(200) 是 NULL 联系电话

jiangshiyouxiang varchar(200) 是 NULL 讲师邮箱

money float 是 0 余额

表4.7 教师

字段 类型 空 默认 注释

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

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

jiangshigonghao varchar(200) 是 NULL 讲师工号

jiangshixingming varchar(200) 是 NULL 讲师姓名

xingbie varchar(200) 是 NULL 性别

touxiang varchar(200) 是 NULL 头像

huojiangzhengshu longtext 是 NULL 获奖证书

suoshudanwei varchar(200) 是 NULL 所属单位

jiaoshoukecheng varchar(200) 是 NULL 教授课程

xiangxixinxi longtext 是 NULL 详细信息

表4.8 课程

字段 类型 空 默认 注释

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

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

kechengbianhao varchar(200) 是 NULL 课程编号

kechengmingcheng varchar(200) 是 NULL 课程名称

suoshufenlei varchar(200) 是 NULL 所属分类

keshishu int(11) 是 NULL 课时数

suoshujiangshi varchar(200) 是 NULL 所属讲师

kechengfengmian varchar(200) 是 NULL 课程封面

suoshudaxue varchar(200) 是 NULL 所属大学

kechengshipin varchar(200) 是 NULL 课程视频

kechengdagang longtext 是 NULL 课程大纲

kechengxiangqing longtext 是 NULL 课程详情

clicktime datetime 是 NULL 最近点击时间

clicknum int(11) 是 0 点击次数

price float 否 价格

表4.9 课程分类

字段 类型 空 默认 注释

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

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

fenlei varchar(200) 是 NULL 分类

表4.10 课程管理员

字段 类型 空 默认 注释

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

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

kechengzhanghao varchar(200) 否 课程账号

mima varchar(200) 否 密码

kechengxingming varchar(200) 否 课程姓名

xingbie varchar(200) 是 NULL 性别

shouji varchar(200) 是 NULL 手机

youxiang varchar(200) 是 NULL 邮箱

zhaopian varchar(200) 是 NULL 照片

money float 是 0 余额

表4.11 名师

字段 类型 空 默认 注释

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

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

jiangshigonghao varchar(200) 是 NULL 讲师工号

jiangshixingming varchar(200) 是 NULL 讲师姓名

xingbie varchar(200) 是 NULL 性别

touxiang varchar(200) 是 NULL 头像

huojiangzhengshu longtext 是 NULL 获奖证书

suoshudanwei varchar(200) 是 NULL 所属单位

jiaoshoukecheng varchar(200) 是 NULL 教授课程

xiangxixinxi longtext 是 NULL 详细信息

clicktime datetime 是 NULL 最近点击时间

表4.12 订单

字段 类型 空 默认 注释

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

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

orderid varchar(200) 否 订单编号

tablename varchar(200) 是 kecheng 商品表名

userid bigint(20) 否 用户id

goodid bigint(20) 否 商品id

goodname varchar(200) 是 NULL 商品名称

picture varchar(200) 是 NULL 商品图片

buynumber int(11) 否 购买数量

price float 否 0 价格/积分

discountprice float 是 0 折扣价格

total float 否 0 总价格/总积分

discounttotal float 是 0 折扣总价格

type int(11) 是 1 支付类型

status varchar(200) 是 NULL 状态

address varchar(200) 是 NULL 地址

tel varchar(200) 是 NULL 电话

consignee varchar(200) 是 NULL 收货人

表4.13 普通管理员

字段 类型 空 默认 注释

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

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

putongzhanghao varchar(200) 否 普通账号

mima varchar(200) 否 密码

putongxingming varchar(200) 否 普通姓名

xingbie varchar(200) 是 NULL 性别

shouji varchar(200) 是 NULL 手机

youxiang varchar(200) 是 NULL 邮箱

zhaopian varchar(200) 是 NULL 照片

money float 是 0 余额

表4.14 收藏表

字段 类型 空 默认 注释

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.15 管理员表

字段 类型 空 默认 注释

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

username varchar(100) 否 用户名

password varchar(100) 否 密码

role varchar(100) 是 管理员 角色

addtime timestamp 否 CURRENT_TIMESTAMP 新增时间

表4.16 用户

字段 类型 空 默认 注释

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

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

zhanghao varchar(200) 否 账号

mima varchar(200) 否 密码

nicheng varchar(200) 否 昵称

xingbie varchar(200) 是 NULL 性别

shouji varchar(200) 是 NULL 手机

youxiang varchar(200) 是 NULL 邮箱

zhaopian varchar(200) 是 NULL 照片

money float 是 0 余额

相关推荐
冼紫菜16 分钟前
Spring Cloud 项目中优雅地传递用户信息:基于 Gateway + ThreadLocal 的用户上下文方案
java·开发语言·spring boot·后端·spring cloud·gateway
Object-v28 分钟前
部署一个自己的Spring Ai 服务(deepseek/通义千问)
java·spring boot·ai
认真的小羽❅33 分钟前
Spring Boot整合Drools规则引擎实战指南
spring boot·后端
weixin_440597452 小时前
Spring Boot 中的条件注解
java·spring boot·后端
风象南3 小时前
SpringBoot中6种拦截器使用场景
java·spring boot·后端
梦之马4 小时前
spring boot 2升级3 记录
java·spring boot·后端
李少兄11 小时前
解决Spring Boot多模块自动配置失效问题
java·spring boot·后端
他҈姓҈林҈12 小时前
Spring Boot 支持政策
spring boot
ss27313 小时前
基于Springboot + vue + 爬虫实现的高考志愿智能推荐系统
spring boot·后端·高考
两点王爷14 小时前
springboot项目文件上传到服务器本机,返回访问地址
java·服务器·spring boot·文件上传