基于SpringBoot的在线学习平台的设计与实现

目  录

摘  要

Abstract

第1 章 绪论

1.1 课题研究背景和意义

1.2 国内外现状分析

1.3 相关背景技术

1.3.1 Vue框架

1.3.2 SpringBoot

1.3.3 MVC模式

1.3.4 Apache

1.4 课题研究主要内容

第2章 需求分析与概要设计

2.1 系统目标

2.2 可行性分析

2.2.1 经济可行性研究

2.2.2 技术可行性研究

2.3 功能需求分析

(1)学生

(2)教师

(3)管理员

2.4 非功能性需求分析

2.5功能设计

2.6 功能模块

2.7 系统数据库设计

2.7.1 数据库概念结构设计

2.7.2 数据库逻辑结构设计

第3章 系统实现

3.1 教师管理

3.2 课程信息管理

3.3 课程作业管理

3.4 学院管理

3.5 课程信息展示

3.6 课程信息详细信息

3.7 讨论话题展示

第4章 系统测试

4.1 测试的目的

4.2 测试的要求

4.3 测试方法与内容

4.4 测试用例设计

5章 结论与展望

5.1 结论

5.2 展望

参  考  文  献

致    谢

基于SpringBoot的在线学习平台的设计与实现

摘  要

随着互联网技术和国内教育行业持续高速地发展,管理员为了能够更加方便地管理学生在线学习,在线学习平台被开发出来的目的是为了能够更加方便管理学生高质量的学习,一个良好的在线学习平台成为很多学校的目标。

本系统利用开源框架SpringBoot开发实现了在线学习平台,这会具有良好的扩展性。该在线学习平台使用了编程语言Java开发实现系统和数据库MySQL存储系统中产生的数据,最终实现了较为完整的系统。用户通过在浏览器输入网址就可以访问在线学习平台,管理员在后台管理界面上能够对系统的数据进行管理,因此用户和管理员能够较为方便操作系统。论文全面介绍了系统的功能设计、业务流程设计和需求分析。

关键词:SpringBoot,Java,MySQL

Design And Implementation Of Online Learning Platform Based On SpringBoot

Abstract

With the continuous and rapid development of Internet technology and domestic education industry, in order to manage students' online learning more conveniently, the purpose of online learning system is to manage students' high-quality learning more conveniently. A good online learning system has become the goal of many schools.

This system uses the open source framework SpringBoot to develop and realize the online learning system, which will have good expansibility. The online learning system uses the programming language java to develop and realize the data generated in the system and the database mysql storage system, and finally realizes a relatively complete system. Users can access the online learning system by entering the website in the browser. The administrator can manage the data of the system on the background management interface, so users and administrators can operate the system more conveniently. This paper comprehensively introduces the function design, business process design and demand analysis of the system.

Keywords:SpringBoot,Java,MySQL

引  言

互联网始于二十世纪,经过了多年的发展,发展得相对完善,基本可以实现计算机对在线学习平台的数据进行管理。到了现今在线学习平台有了很大的变化,我国在线学习平台发展速度快了非常多,当时推出了在国内影响较大的Coursera,自动化系统能够体现出社会分工的不同,使得在线学习平台的管理员能够专注于系统质量的提高。在这之前呢,在线学习平台发展速度相对来说比较慢,无论是技术还是理论研究上都没有很大的突破。国外发展在线学习平台的速度要明显快于我国,当时的在线学习平台由大型科技公司开发,在线学习平台因此由单一变为集成的系统。更加新型的在线学习平台虽然还没有出现,但是随着互联网行业的发展,人们有了新的需求,因此有良好的和数据库可以使得管理员的工作效率有所提高。

本在线学习平台使用Spring boot框架作为后台数据处理。相比于Spring和Springmv来说Spring Boot可以极大的减少开发人员的开发难度,在配置文件上极大的简化了原有配置文件的繁琐。本项目采用Mybatis作为数据持久层框架用来处理后台接收到数据之后根据对应的功能来进行相应的操作。并且Mybatis很好的集成了Spring框架,和Spring Boot搭配使用更加锦上添花。系统主要包括系统课程信息、课程视频、课程课件、课程作业、讨论话题等等功能模块。基本涵盖了在线学习平台的基本需求,

第1 章 绪论

1.1 课题研究背景和意义

在线学习平台为一个能够通过处理信息的库系统,通过利用编程语言封装好的库函数能够编码实现在线学习平台,这样有助于提高程序开发者的编程效率,降低在线学习平台的开发成本,互联网行业的迅速发展已经为在线学习平台发展奠定了基础[1]。管理员的手工服务已经不能够满足现在用户的需求。随着互联网行业的快速发展,高校需要突破传统的模式,在线学习平台通过利用计算机技术和联系用户的需求,提供信息化的服务,这有助于简化在线学习平台并提高其安全性。由于大数据时代的来临,信息系统的数据存储量相比于之前要大得多。在互联网时代有必要开发一套操作操作简单和数据存储安全的系统[2],这样不仅可以方便用户使用系统且管理员能够管理系统的信息。

二十一世纪是互联网时代,由于在数据管理方面数据量不少,因此管理员需要对大量的数据进行管理,所以人们可以利用计算机开发出相应的管理系统对数据进行管理。计算机的好处之一包括自动化处理,因此如果数据采用计算机处理的话,这无疑会提高系统的效率和安全性。如果管理员需要处理的数据越复杂的话越能够体现出利用计算机处理数据的优势。在刚开始的时候管理员对于信息处理的方式通常采用的是手工处理,但是数据量众多还使用人工的方式进行处理的话会导致很多问题的发生,例如数据丢失和管理员工作效率低下[3]。

1.2 国内外现状分析

互联网经过了多年的发展,发展得相对完善,基本可以实现计算机对在线学习平台的数据进行管理。到了现今在线学习平台有了很大的变化,我国在线学习平台发展速度快了非常多,自动化系统能够体现出社会分工的不同,使得在线学习平台的管理员能够专注于系统质量的提高。在这之前呢,在线学习平台发展速度相对来说比较慢,无论是技术还是理论研究上都没有很大的突破。国外发展在线学习平台的速度要明显快于我国,当时的在线学习平台由大型科技公司开发,在线学习平台因此由单一变为集成的系统。更加新型的在线学习平台虽然还没有出现,但是随着互联网行业的发展,人们有了新的需求,因此有良好的和数据库可以使得管理员的工作效率有所提高[4]。

1.3 相关背景技术

1.3.1  Vue框架

Vue.js是现今受前端程序员喜爱的框架之一,最早出现的时间为2014年,不仅提取了Angular框架的优秀功能,还构建了轻量级的框架,框架所关注的部分为视图层,通过组件和方法能够实现视图与系统中模型之间的响应。程序开发者可以实现DOM元素与数据进行绑定,Vue模板属于合法的HTML,能够被解析器进行解析。Vue.js的核心是能够使用模板语法将数据添加到DOM系统中,在创造出实体之前需要声明根式属性,视图需要和模型同步更新,如果将视图和模型进行绑定的话,Vue框架能够监控模型的变化从而实现视图的同步更新。Vue.js具有的特性有组件和响应式系统等。

1.3.2 SpringBoot

经过多年的完善,SpringBoot框架已经发展得很成熟,相比于Spring框架少了很多配置,SpringBoot框架内嵌了Tomcat,不用额外配置Tomcat服务器运行系统,在编写代码操作上也可以利用R对象完成,SpringBoot编写而成的程序能够和前端页面方便交互,对异常也能够很好地处理,能够捕抓到很多异常,SpringBoot框架是利用接口进行实现交互的,因此在后期修改的时候,能够快速方便修改。

1.3.3 MVC模式

MVC模式属于较为常见的软件设计模式,通过这种架构模式通常可以把系统分为三个部分,即模型、视图和控制器。在这个过程当中,模型能够用来封装物流信息管理系统所需要的相关信息,需要和数据库表形成相映射,能够利用数据库SQL语句操作数据库记录,不需要关注前端界面的处理。视图层能够表示客户端的用户操作界面,能够把数据在前端界面中,视图层需要管理相对应的数据模型。控制器能够处理用户发起的数据请求处理,能够起到不同的组织作用。

1.3.4 Apache

Apache服务器属于Web服务器中的一种,是一个网络开源服务器,在安全性上也较有保障,程序员们广泛使用并且在此基础上作修改。Apache很大的一个特点为能够跨平台,操作系统的兼容性也比较强,Linux属于较稳定的系统。另外,由于Apache服务器具有执行效率高和运行速度快的特点,属于比较优秀的服务器软件。

Web服务器的种类包括Apache和Tomcat,Apache主要作用为解析HTTP服务,在处理静态页面的时候,Apache相比于Tomcat的速度要快得多。Tomcat容器的主要作用为能够解析Servlet和JSP。如果采用的是Java开发的话,则使用的服务器需要为Tomcat。

1.4 课题研究主要内容

(1)本次针对在线学习平台提出实现方案,按照软件开发的一般流程进行前期的调研和分析确定软件是否能够正常实现、技术是否可行和系统功能模块的设计开发,最后确定了使用的技术和实现系统的方案。

(2)框架属于一种程序开发者实现的功能集合,可以帮助软件开发者快速构建软件层次架构和复用功能的一款工具,本平台框架使用了开源框架,具有比较好的开发优势,可以帮助软件开发者快速构建基本的程序开发框架出来,通过调用开源框架开源帮助程序开发者减少开发难度,提升了在线学习平台的安全和稳定性,能够帮助程序开发者完成系统功能模块的开发和数据的处理。

(3)管理员操作和管理学生在线学习平台的数据不仅需要框架规范约束还需要满足一定基础的标准,使用MySQL数据库中的约束关系能够根据系统中实体的关系从而生成数据库表,这样在实现系统的时候可以设置系统实体之间的关系。通过上面所说的流程能够形成最终的软件,在线学习平台中的每个功能部分属于不同的层级,这有助于满足不同的功能模块,这些功能模块互相作用,推动软件的实现。

第2章 需求分析与概要设计

在设计系统之前需要了解到客户的需求,才能够分析出系统所需要的功能,进而确认完成的业务逻辑的功能,最后实现出系统。

2.1 系统目标

最终完成的在线学习平台需要设置以下的目标:

(1)用户登录在线学习平台的时候在操作上不能够过于复杂,程序开发者在设计的时候需要简化系统操作的步骤。

(2)系统需要设置用户权限以区分不同的用户角色。

(3)系统所使用的数据库需要有并发和安全的作用。

(4)设计实现的在线学习平台需要允许多个用户登录。

(5)管理员登录在线学习平台之后能够对系统的信息通过数据库SQL语句进行管理[5]。

2.2 可行性分析

2.2.1 经济可行性研究

在线学习平台从需求分析到最后系统实现的时候花费的时间不是很多,并且不用购买昂贵的计算机硬件,在线学习平台在普通的电脑上就可以运行,因此经济花费相对来说不是很高。在线学习平台设置了后台管理界面能够对系统的信息进行管理,管理员管理系统的信息所花费的时间会比较少,能够花费更多的时间在系统功能改善上[6]。

2.2.2 技术可行性研究

根据前期对系统背景介绍之后确定软件体系架构和开发技术最终完成系统的实现,本次设计的在线学习平台不论是软件体系架构和实现系统所使用的开源框架都是较为成熟的技术,结合市场上现有的在线学习平台,本次开发的在线学习平台在技术方面问题较小。

2.3 功能需求分析

(1)学生

图2-1 学生用例图

(2)教师

图2-2 教师用例图

(3)管理员

图2-3 管理员用例图

2.4 非功能性需求分析

(1)安全性。在线学习平台数据库使用的是MySQL,用户在客户端界面中不可以直接修改系统的数据,如果没有登录系统则不能够使用系统功能。

(2)可扩展性。在线学习平台的功能需要不断更新,使得系统能够不断适应时代的发展和用户新的要求。本在线学习平台使用的框架都为新型的开源框架,这能够有助于后续系统的功能扩展。如果系统需要添加新的功能的时候只需要新添加对应的接口。

(3)效率性。本系统存储系统的数据使用的数据库为MySQL,能够使用MySQL缓存系统常用的数据库信息,当用户下次访问相同的信息时候,系统能够快速响应。

2.5功能设计

(1) 注册

在注册界面中用户需要填写注册的信息,如果输入两次密码不一致则不能够成功在数据库中添加用户记录。

   

图2-4 注册流程图

2) 登录

在登录界面中输入用户名和密码,在服务端需要判断用户名和密码是否为空,如果用户没有输入记录的话需要在客户端中进行提示,如果输入的数据和数据库记录相同的话则能够登录成功。

图2-5 登录流程图

3)收藏课程课件

学生登录系统之后可以收藏课程课件。

图2-6 收藏课程课件流程图

4)学生管理

管理员登录后台管理界面中进入学生管理功能模块中可以对学生信息管理。

图2-7 学生管理流程图

2.6 功能模块

图2-8 功能模块图

2.7 系统数据库设计

数据库是在线学习平台必要的一部分,一个设计得优秀的数据库结构合理和低冗余[7]。本在线学习平台设计的数据库采用的是第三范式的形式,降低了在线学习平台的冗余性。数据库能够支撑一个在线学习平台的数据,这有益于系统的稳定性和健壮性。如果数据库设计得较为优秀的话可以提高系统的处理效率,一个设计得较为优秀的数据库除了能够提高系统的处理效率之外,还能够节省不少的资源和数据错误。在线学习平台在日常运作的时候会产生出不少的数据,因此需要有一个稳定且安全的数据库存储数据,这有助于保证系统能够正常运行。关系型数据库使用特殊的存储结构能够有效组织系统的数据。MySQL数据库具有完善的完整性约束建立起不同表之间的关联,这样可以隔离数据结构和表现形式。

2.7.1 数据库概念结构设计

由于在概念模型中没有固定不变的模型,因此可以利用数据模型表示在线学习平台中实体的关系,程序开发者可以根据需要建立专属的概念模型。所有的概念模型可以通过E-R图表示。本在线学习平台有着大量的数据,因此需要建立对应的数据模型。根据前面的分析从而得出本在线学习平台的E-R[8]。

图4-6 系统全局E-R图

2.7.2 数据库逻辑结构设计

(1)教师信息表

2-1 教师信息表

列名

数据类型

长度

主外键

id

bigint

20

addtime

timestamp

0

jiaoshigonghao

varchar

200

mima

varchar

200

jiaoshixingming

varchar

200

xingbie

varchar

200

zhaopian

varchar

200

zhicheng

varchar

200

lianxidianhua

varchar

200

xueyuan

varchar

200

(2)课程作业表

2-2 课程作业

列名

数据类型

长度

主外键

id

bigint

20

addtime

timestamp

0

kechengbianhao

varchar

200

kechengmingcheng

varchar

200

zuoyemingcheng

varchar

200

fengmiantupian

varchar

200

xiangguanfujian

varchar

200

jiaoshigonghao

varchar

200

jiaoshixingming

varchar

200

buzhishijian

date

0

yaoqiushijian

date

0

zuoyeneirong

 longtext

0

(3)课程信息表

2-3 课程信息表

列名

数据类型

长度

主外键

id

bigint

20

addtime

timestamp

0

kecheng

varchar

200

kechengtupian

date

0

kechengshipin

varchar

200

kechengziliao

varchar

200

fabutaolun

longtext

0

kechengxiangqing

varchar

200

jiaoshigonghao

varchar

200

jiaoshixingming

varchar

200

lianxidianhua

varchar

200

clicktime

datetime

userid

bigint

20

(4)学生信息表

2-4 学生信息表

列名

数据类型

长度

主外键

id

bigint

20

addtime

timestamp

0

xuehao

varchar

200

mima

varchar

200

xueshengxingming

varchar

200

xingbie

varchar

200

touxiang

varchar

200

xueshengshouji

varchar

200

xueyuan

varchar

200

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值