SpringBoot+Vue开发在线学习系统

             SpringBoot+Bootstrap+Vue开发在线学习系统

本课题的主要内容是开发基于Java EE的在线学习平台,使用MVC经典开发模式、Java EE的框架                       SSM(Spring+SpringMVC+Mybatis)等相关技术开发网站系统。

在线演示   在线演示

使用的开发环境是以MyEclipse为开发环境,采用Tomcat服务器作为Web应用容器,并应用MySQL为系统的数据库管理。

在MVC模式中,应用程序被划分成了模型(Model)、视图(View)和控制器(Controller)三个部分。其中,模型部分包含了应用程序的业务逻辑和业务数据;视图部分封装了应用程序的输出形式,也就是通常所说的页面或者是界面;而控制器部分负责协调模型和视图,根据用户请求来选择要调用哪个模型来处理业务,以及最终由哪个视图为用户做出应答。

模型层(Model)主要完成业务的逻辑处理以及数据的存储。包括业务流程、状态处理及业务规则的处理。业务逻辑接收视图层的请求数据,并返回最终的处理结果。数据模型是实体对象的数据保存,实现了视图层和模型层之间的交互。视图层(View)主要是进行用户和系统的交互,展示用户 所需要的 数据,主要是界面,包括输入和输出。一般可采用JSP、HTML页面、XML等技术实现。一个应用程序可以有很多不同的应用视图,MVC模式只进行视图上数据的采集及处理,及用户的请求,而不在视图上进行业务流程的处理,而是由模型层来处理这些业务流程及状态的改变。

系统是使用到以下的核心Java EE技术。

1)Spring

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

2)Spring MVC

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

3)MyBatis

MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

   项目运行说明书:

Eclipse,MyEclipse,IDEA开发工具都可快速导入启动!!

            论文章节结构:

 部分内容节选:

在线学习平台主要分为三大功能模块:系统管理员模块、教师模块和学生模块。如图2-1所示。

图2-1  系统功能概述

1、管理员模块:每一个应用系统都需要这样的一个角色,它能保证系统能够在动态中稳定运行,管理系统各种配置属性,即拥护最高的权限。具体功能如下:

学院管理:对学院这个实体进行添加、删除、查询、修改等操作。

课程管理:对课程这个实体进行添加、删除、查询、修改等操作。课程应该归属指定的学院。

教师管理:对教师信息进行管理,包括添加、删除、查询、修改。同时可以通过excel表格批量导入教师信息。

学生管理:对学生信息进行管理,包括添加、删除、查询、修改。同时可以通过excel表格批量导入学生信息。

课程资料管理:对教师上传的课程视频、文档进行管理。

考试管理:可以对教师发布的考试进行管理。

论坛管理:对师生之间的讨论信息进行管理。

公告管理:对在线学习平台的全局公告进行管理。

3.1.1 系统类图设计

从在线学习平台的需求分析中大致可以分析出一些类,但是还不能全面的分析出系统中的实体类。考虑著名的MVC模式,我们需要识别实体、控制和边界三种对象。按照MVC模式来为识别对象做指导,是非常好的做法。对象识别的结果,就是我们所需要的静态模型,通常表现为类图。这个过程使用UML建模技术,将系统中的类结构描绘出来。

首先识别出实体对象,这些对象是比较容易看出来的,例如系统中的角色(管理员、教师、学生)。根据现实世界,角色应该有姓名、性别、电话号码、身份证等属性。系统角色类图如图3-1所示。

在线学习平台中的学院、课程、课件等实体类。其中课程应该归属某一个学院的,并且课件的应该是属于某一个课程,由教师上传。课件可以由学生登录平台进行在线观看和下载,其中path字段存储文件的路径。其类图如图3-2所示:                                     除了上面这些实体类,还有一些通知类。系统公告,是所有的登录用户都可以看到的。教师可以发布课程的问题让学生参与其中讨论,这样就需要一个讨论的实体类discuss。有些实体对象需要稍微分析一下才能得到,例如,在在线学习平台中,为了记录学生对教师发布的讨论进行回复,这时就需要一个对象来专门记录这一信息(Discuss_post实体)。其类图如图3-3所示:

在线学习平台还有一个在线测试的功能,教师发布考试并且添加试题同时给出试题的正确答案。学生登录系统后,可以在线完成测试,系统自动给该生打分。这样一个功能的完成,需要的实体类有task(考试)、task_question(试题详细)、student_task(学生成绩)。其类图如图3-4所示:

               系统文件介绍

           项目结构

部分功能演示:

图5-12  考试信息列表

图5-13  试题信息

项目开发技术路线1 Spring+Spring MVC +MyBatis+JSP
项目开发技术路线2
Spring+Spring MVC+MyBatis+Vue

          【系统在线演示】 test Reward          有需要的联系  2027776292  【在线演示】

功能升级:主要是对JSP版本升级【添加各个模块的检索,课程收藏等功能,及部分优化】

增加:
1.    学生端和教师端--课程视频

.除了文件名、所属课程和上传时间外,在1.处加上一个“发布教师”
.在工具栏2.处所在位置加一个“筛选”功能,
可以根据“所属课程”或者“发布教师”进行筛选(两种筛选方式,不是“与”),结果在下方显示。

新增功能效果:                    教师端,只能看到自己发布的信息,不需要筛选

2.    学生端和教师端--课程文件
.除了文件名、所属课程和上传时间外,在1.处加上一个“发布教师”
.在工具栏2.处所在位置加一个“筛选”功能,可以根据“所属课程”或者“发布教师”进行筛选(两种筛选方式,不是“与”),结果在下方显示。

新增功能效果:                    教师端,只能看到自己发布的信息,不需要筛选

3.    学生端和教师端--话题讨论

同上,在1处加一个“筛选”功能。根据“所属课程”或者“发布教师”筛选

新增功能效果:              教师端,只能看到自己发布的话题,不需要筛选

4.学生端和教师端--完成作业和作业信息查询 
 
同上,在1处加一个“筛选”功能。根据“所属课程”或者“发布教师”筛选

新增功能效果:              教师端,只能看到自己发布的话题,不需要筛选

5.    管理员端:
在以下地方增加各一个“筛选”功能:
学生信息查询(根据“学生学号”或者“所属学院”进行筛选)
教师信息查询(根据“教师编号”或者“所属学院”进行筛选)
课程信息查询(根据“课程编号”或者“所属学院”进行筛选)
话题讨论(根据“所属课程”或者“发布教师”筛选)

学生信息查询

教师信息查询

课程信息查询

话题讨论

6.    学生端--课程管理
 
?    在“课程管理”目录下增加一个“我的课程”模块(与“查看课程信息”并列);
?    实现:学生可以在“查看课程信息”里查询相关课程,并且可以将某课程添加至“我的课程”里;
?    学生点击“我的课程”,可以查看自己添加的课程,并可以进入该课程,观看此课程的视频、文档,参与此课程的讨论和完成此课程的作业。(也就是将“文件管理”、“讨论管理”、“作业管理”三个模块转移至“我的课程”里对应的课程下。)
?    例如:某学生在“查询课程信息”里查询课程,并将《Java Web 程序设计》这门课程添加至“我的课程”,然后该学生进入“我的课程”里的《Java Web 程序设计》课程下,观看该课程视频和文档,完成该课程的作业和讨论。

新增功能效果:

 【系统在线演示】 test Reward          有需要的联系  2027776292

原文地址:https://www.cnblogs.com/gqzdev/p/12683296.html

时间: 2024-10-28 22:46:56

SpringBoot+Vue开发在线学习系统的相关文章

用它来开发“在线Excel”系统,竟如此简单!

最近关注到"知乎"上的一个热门问题:国内有哪些类似 Google Docs 的在线文档编辑软件?大家的回复基本上都是围绕成熟的在线文档编辑软件展开,如石墨文档.腾讯文档.有道云协作等,其中每一款软件都有其最适合的使用场景,有些注重数据存储和数据安全,有些则注重团队管理和文档协作,对于最终用户来说,市面上各类成熟的在线文档编辑软件产品种类繁多,但只有最适合业务需求的那一款才是最好的. 针对不同的业务需求,用户关注的方向也有很大区别: 大型公司更加注重数据安全.协作效率,与原系统文档兼容性

《脑机交互促进学习有效发生的路径及实验研究——基于在线学习系统中的注意力干预分析》 文献随笔(八)

一.基本信息 标题:脑机交互促进学习有效发生的路径及实验研究——基于在线学习系统中的注意力干预分析时间: 2019来源: 前沿搜索关键字:脑机交互:脑机接口:学习路径:学习注意力:实验研究:自适应学习:智能测评 二.研究 脑机交互在技术层面诞生并逐渐发展,但更多的还停留在技术层面,在基于1985-2018年的SCI和SSCI期刊论文中关于“脑机接口的演化过程及其在教育领域的应用”的知识图谱分析,其脑机接口在学习过程的核心,体现为大脑和双向救护,包括人工智能技术.教育大数据分析技术.大脑-心理-计

SSM开发在线考试系统-完整版+视频教程

SSM框架在线考试系统实战开发教程 开发软件: MyEclipse.Eclipse.Idea + JDK8.0以上 + Tomcat8.0 + MySQL5.7以上 [Java开发环境&工具]链接: https://pan.baidu.com/s/1RPQV0RMwd6TUmlzDIghNag 提取码: 9qrv 环境搭建教程: 项目后台管理功能介绍(整理需求): 专业学科管理(专业名称.备注). 考生管理(用户名.密码.所属专业.姓名.联系方式.注册时间). 试题管理(试题类型管理(单选.多选

《学生在线学习系统》开发心得

经过将近四个星期的项目开发,我了解到在开发一个项目的过程中,最重要的还是团队协作,特别是对于开发一个大型的项目. 从程序编码者角度来说,通过这次项目开发,我了解到在开发一个完整的软件项目过程中,除了编码,还有很多部分要做.从最开始的项目开发计划,到需求分析,再到数据库设计,然后到编码实现,最后到整个项目的测试,每一个过程都必须认真思考,特别是数据库设计,因为数据库设计的是否合理,关系到整个工程项目编码实现的难易程度.另外在此过程中,对整个工程项目的具体实现目标,都要有侧重点.对编码人员来说,最重

易学堂在线学习系统 v3.1.0多处注入

前台注入 其实造成注入的原因是一样的 忘了过滤了 第一处 public function order(){ $state=I("get.state"); $user_id=sp_get_current_userid(); $where=empty($state)?array("user_id = $user_id"):array("user_id = $user_id and state=$state");//对传入的$state没有进行过滤 $

《基于微服务架构的在线学习系统设计与实现》第三章 文献随笔(四)

一.基本信息 标题:基于微服务架构的在线学习系统设计与实现 时间:2019 来源:微服务架构 关键字:在线学习系统:微服务架构:spring cloud框架:API网关 二.研究内容 1.研究背景 基于对国内外的各学习网站的体验与分析,结合软件工程的需求分析方法,综合大学生的学习习惯以及学习方法对系统进行的功能性需求分析以及非功能性需求分析. 2.在线学习系统的需求分析   (1)功能需求分析 学生用户需求分析: 网站注册.用户登录.个人信息管理.课程列表.课程公告.课程评分.课程收藏.课程讨论

打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件

第三章 建议学习时间8小时      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demoback.lalalaweb.com  前台:demo.lalalaweb.com 演示过程中可能会发现bug,希望即时留言反馈,谢谢 源码下载:https://github.com/sutianbinde/classweb               //不是全部的代码,每次更新博客才更新代码 学

【在线教育-PC+手机-源代码】HDEDU在线网校系统--学习+练习+考试+支付+营销一站式![20

系统功能: (1)学习模块:视频点播.图文.课件下载:视频支持上传到服务器,也可以采用视频托管. (2)练习模块:在线刷题.错题回顾.高频错题.笔记收藏.进度保存.试题解析.模拟考试: (3)考试模块:定时考试.时间区间考试.智能阅卷.答题详情预览.成绩导出.高并发处理.考试仿切屏.强制交卷: (4)支付模块:在线支付:支付宝支付.微信支付:人工充值:管理员后台直接充值. (5)营销模块:积分,优惠券,学习卡,三级分销,试学,限时免费. 系统角色介绍: 学员:学员主要就是在线学习,学员可以直接在

标题:【在线教育-PC+手机-源代码】HDEDU在线网校系统--学习+练习+考试+支付+营销一站式!

系统功能: (1)学习模块:视频点播.图文.课件下载:视频支持上传到服务器,也可以采用视频托管. (2)练习模块:在线刷题.错题回顾.高频错题.笔记收藏.进度保存.试题解析.模拟考试: (3)考试模块:定时考试.时间区间考试.智能阅卷.答题详情预览.成绩导出.高并发处理.考试仿切屏.强制交卷: (4)支付模块:在线支付:支付宝支付.微信支付:人工充值:管理员后台直接充值. (5)营销模块:积分,优惠券,学习卡,三级分销,试学,限时免费. 系统角色介绍: 学员:学员主要就是在线学习,学员可以直接在