基于JavaEE开发的捷优享在线教育网

基于JavaEE架构的捷优享在线教育系统的设计与实现

摘要

:随着时代的进展,社会发展的人才需要,日益增长的竞争压力。好的教育资源能在一定程度上能够让你在学习的道路上少拐弯路,让你能在竞争中更具优势。因此,教育对于学生来说是非常重要的,受教育的方式也是如此。传统的教育方式便是集中式的面授,以小班或者大班为主,每个班每个学科分配一个教育者,甚至不同班有共同的教育者等等。到后来发展成一对一、校内补习、校外补习等等。都脱离不开身边固定的教学资源。教学资源流动性差,会导致教育水平呈现地域差异性。
规范化、制度化、信息化的教育方式应运而生,在线教育是解决上述问题的重要方法,针对以上问题,结合实际业务需求,开发一个基于J2EE平台的、B/S架构的、使用MVC设计模式和SpringBoot开源框架的在线教育网站。本系统采用最新的计算机技术、网络技术等等,开发一个适合于大众、拥有可视化操作界面、有在线答疑讨论等功能的网站,使得当代学生不再受限于教育方式、教学资源的限制。并且能够根据自己的弱项选择相对应的补习课程,从而自高自身竞争力。本系统主要包括了后台管理、课程管理、安全管理、用户管理等模块组成,完成了课程的增加、查询、删除等基本操作,在线观看教学视频、成为用户、购买课程等等工作。
在系统的实现上,本系统的开发是在主流平台Intellij Idea上的,使用当前主流的框架SpringBoot和主流微服务框架SpringCloud、数据库框架JPA、MyBatis等。Intellij Idea工具是当今被业界公认为最好的Java开发工具,它是由JetBrains公司开发的,还能够集成多种开发工具于一身,例如:Git、Lombok、JProfiler等,同时支持代码重构、自动检测代码语法、代码设计分析等等功能。它实际上也是IDE工具,同时也是作为本系统最重要的工具。而SpringBoot是作为本系统最重要的框架,是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。它采用M-V-C(Model-Control-View)模式,并整合其他主流框架和工具类,结合Maven,只需要简单配置,即可达到快速进行web开发的功能。
关键词:框架,模式,在线教育,课程,信息化
Design and Implementation of Java Enterprise Edition Online Education System Based on Java Enterprise Edition Architecture

Abstract:With the development of the times, the need for talents for social development and increasing competition pressure. Good educational resources can to a certain extent enable you to take fewer turns in your learning path and give you an advantage in the competition. Therefore, education is very important for students, and so is the way they are educated. The traditional education method is centralized face-to-face teaching, which is mainly based on small classes or large classes. Each class is assigned an educator, and even different classes have a common educator. Later, it developed into one-on-one tuition, in-school tutoring, off-school tutoring, and so on. Are inseparable from the fixed teaching resources around them. The poor mobility of teaching resources will lead to regional differences in education levels.
A standardized, institutionalized, and information-based education method came into being. Online education is an important method to solve the above problems. In light of the above problems and in combination with actual business needs, develop a J2EE platform, B / S architecture, and MVC design pattern. And SpringBoot open source framework online education website. This system uses the latest computer technology, network technology, etc. to develop a website that is suitable for the general public, has a visual operation interface, and has online Q & A and other functions, so that contemporary students are no longer limited by educational methods and teaching resources. And can choose the corresponding tuition courses according to their weaknesses, so as to improve their competitiveness. This system mainly consists of background management, course management, security management, user management and other modules. It completes basic operations such as adding, querying, and deleting courses, watching instruction videos online, becoming users, purchasing courses, and so on.
In terms of system implementation, the development of this system is on the mainstream platform Intellij Idea, using the current mainstream framework SpringBoot and mainstream microservices framework SpringCloud, database framework JPA, MyBatis, etc. Intellij Idea tool is recognized as the best Java development tool in the industry today. It is developed by JetBrains. It can also integrate multiple development tools, such as Git, Lombok, JProfiler, etc., and supports code refactoring, automatic Detects code syntax, code design analysis, and more. It is actually also an IDE tool, and it is also the most important tool for this system. As the most important framework of this system, SpringBoot is a new framework provided by the Pivotal team. Its design purpose is to simplify the initial construction and development of new Spring applications. It adopts M-V-C (Model-Control-View) mode, and integrates other mainstream frameworks and tools. In combination with Maven, only simple configuration is needed to achieve rapid web development.

Keywords: Framework, Model, Online Education,Course,informationize

目录

第一章 绪论 7
1.1 系统开发背景以及意义 7
1.2 国内外在线教育研究现状 8
1.3 目前学校在线教育发展现状 9
1.4 本论文主要研究内容 10
第2章 系统需求分析 10
2.1 可行性分析 11
2.2 系统的总体需求 11
2.3 系统的业务需求 12
2.4系统功能的需求分析 12
2.5 UML系统建模 14
2.6 本章小结 20
第三章 系统设计 20
3.1 系统功能设计 20
3.2 捷优享系统类图 21
3.3 系统顺序图 22
3.4 捷优享系统活动图 27
3.5 系统状态图 27
3.6 数据库设计 28
3.7 网络接口设计 29
3.8 本章小结 29
第4章 系统实现 30
4.1 捷优享在线教育客户端界面实现 30
4.2 捷优享在线教育后台管理端界面实现 30
4.3 本章小结 30
第5章 系统测试 31
5.1 系统测试的目的 31
5.2 系统测试的意义 31
5.3 测试用例及结果 31
第6章 结束语 32
6.1 全文总结 32
6.2 课题展望 32
参考文献 32
致 谢 33
指导教师签名: 34
年 月 日 34

第一章 绪论

1.1 系统开发背景以及意义
当今信息时代,越来越多的实体产业转换为互联网形式,当然,教育也不例外,日益增长的竞争压力。越来越多的学生不满足于课堂的知识,从而在课外找补习机构,但是,课外的补习机构质量参差不齐,这行里面泥沙俱下,良莠不齐,整个社会的教育资源整体来说远不算优质,有一群人在线下就招摇撞骗,转线上教育无非是换个脸面上阵再捞一笔钱[[匿名知乎用户,为什么说在线教育在未来两年会迎来爆发期?会像电商一样普及吗?
https://www.zhihu.com/question/20756580,2018-11-17]]。老师单一,教育资源不平衡,课程昂贵,问问题不方便等问题也会逐渐显现。这些问题使得教育也逐渐走向信息化。该系统目的便是让教育的形式与时俱进,把教育不局限于实体。在线教育的方式诞生以后,收到广大学生或者其余受教育团体的众多好评。不仅如此,在线教育的方式使得教育变得方便、快捷的同时,还能选择性补短。
因此,究竟如何让教育能够达到面授教育的效果的同时,还能够方便广大学生群体、社会人士等。便是这个系统的主要需要解决的问题。捷优享在线教育网的出现,通过安全可信的认证系统,为这一问题提供了很好的解决方式。同时与时俱进的在线虚拟教育,既能及时与被教育者交流网谈,也能使教育者更快的了解被教育者的情况,同时,也能让被教育者之间相互认真交流,从而达到面授教育更达不到的效果。
在线教育的目的不仅能够提供优质便利的教学资源,还能够为教育者提供额外的薪酬补贴,为一些好的教育者提供优秀的教育环境,也能够为我们网站开发者提供生活薪酬,从而达到双赢甚至多赢。

1.2 国内外在线教育研究现状
1.2.1国外在线教育发展状况
早在二十世纪末期,在互联网刚刚发展起来的时候,美国凤凰城大学就已经试着通过互联网形式向学生提供学习服务。同时在1989年成为美国第一批被认可的提供网络学位的教育学校。其最早开始是以大学教育为主,在职教育者是以非专业教育者为主,而受教育者则是以年龄23岁左右的在职成年人,网络在线教育的目的则是帮助他们获取学位证书。因此得知,在线教育早在很久之前便有了雏形,只不过原本那时候的计算机,还是极少数人拥有的。
在国外其他地方则是和国内差不多,都是等到互联网时代的来临,在线教育的模式才渐渐发展起来。

1.2.2国内在线教育发展状况
国内对于在线教育的态度,在早些年一直比较乐观的,因此,在近十年,国内互联网迅速发展的时期,也诞生了许多以在线教育形式的网校,例如:泸江网校、学而思、中国MOOC等著名网校。这些名校,随着计算机、移动智能手机等发展,可以说是顺应着潮流,帮助在线教育掀起了在线教育的浪潮。

1.3 目前学校在线教育发展现状
随着计算机技术与产品的不断发展,其实,在线教育已成为一种必然的趋势。很多学校的学生,由于竞争压力与快节奏的学习,有可能慢慢的就落下了课堂老师的节奏,到后面越讲课越跟不上,越跟不上学习便越差,周而复始,便成为恶性循环。
1.4 本论文主要研究内容
本论文主要介绍了项目是在Intellij Idea平台上用最新的能够快速开发的主流框架SpringBoot,基于J2EE,搭建一个在线教育系统,并使用Vue.js和HTML5开发系统的可视化操作界面。实现了在线学习和管理,包括课程管理、媒资管理、用户管理、文件管理等主要功能模块。使得系统组成分明有序。使得在线学习系统稳定、便捷的给多方用户使用,节省人力物力。本论文的主要研究内容如下:
(1)使用Idea工具、B/S架构、MVC模式和SpringBoot框架,搭建一个数据交互的捷优享在线教育网的后台系统。
(2)介绍系统实现所使用的主要的技术、设计模式、和使用框架的开发流程。
(3)对各学校的学生学科需求度进行统计调研,对教育资源进行调研,并结合调研结果,进行需求分析,在需求分析的基础上进行系统的总体设计,之后进行系统详细设计,包括对具体技术的选型、项目的架构方式、数据库的设计与选取等等问题。
(4)对关于使用SpringBoot框架的系统如何进行测试。

第2章系统需求分析

在设计系统前,往往需要知道这个系统到底要做什么,只有知道了这个系统到底要干什么,才能设计出一个完整的系统。这一个过程便是需求分析。本系统的需求分析包含以下步骤:
(1)首先分析学校总共划分的等级,例如把课程划分为小学、初中、高中、兴趣等,了解各课程之间的关系,以及各学科之间的组成关系,以便业务流程的分析。
(2)调查各个学科的分类情况,每个课程包含的基本信息,以及数据组成;然后根据调查再分析交互的数据是什么,如何加工处理数据,输出什么数据格式,存储的数据格式、数据的流向。
(3)对前面的调查结果进行初步分析,分析的目标便是“系统必须做什么”,也就是确定本系统的功能模块的问题。

2.1可行性分析
2.1.1经济可行性
基于JavaEE架构的捷优享在线教育系统设计与实现是本人毕业设计项目,整个系统从设计到实现全部都由本人来完成。在开发过程中,优先考虑零费方案,使得本项目无使用经费。在系统开发完成后,则为教育者提供利润和优质经营方式,为被教育者提供便捷优质能够享受的学习的教学服务,为被教育者节省时间和精力。

2.1.2技术可行性
该系统由于是本人的毕业项目,而本人在校已修完所有的在校课程,同时还在课外学习更多的新知识。因此,本人已经具备了开发Web后台服务器的技术,后台服务器是使用当今主流框架SpringBoot和微服务框架SpringCloud,采用了Java语言。数据库则是使用了当前主流的MySQL5.7、Redis、MongoDB。服务器则使用了Nginx和Tomcat8.0。

2.1.3操作可行性
捷优享在线教育系统基于Java语言,前端采用Html5+Vue.js。拥有简明的系统管理和后台管理系统,对于管理者来说也是能简洁明了的看见功能所在。从而简化管理者的工作。还有美观简洁的UI、便捷操作的交互方式和过程也是该系统的优点。使进来的游客或者用户直接就能找到自己想要的课程。由此可见,在操作上,捷优享在线教育系统并不是问题。

2.2系统的总体需求
该系统需要有客户端、后台管理、系统管理三个页面:客户端用户可以浏览主流课程分类、热门课程轮播图推荐、搜索想要知道的课程,并且在已经登录的情况下可以进入个人中心查看正在学习的课程,以及消息等等;后台管理则是在机构账户登录的条件下,实现本机构的课程管理、媒资管理等。

2.3系统的业务需求
捷优享在线教育系统的业务需求如下图2-3捷优享系统业务流程图:
在这里插入图片描述

图2-3 捷优享系统业务流程图
2.3.1 捷优享客户端
用户在打开捷优享的门户页面的时候,有三个片段,课程的查询、热门课程推荐、课程的分类查找。全部用户都可进入到门户网站,并进行注册,同时根据首页推荐课程选择或者根据学科、课程名字、老师名字等信息查询相应的课程,并查看课程详情页面,最后选择购买课程并观看课程。如果用户已登录,则可以进入个人中心查看已购买学习的课程。
2.3.2 捷优享后台管理端
由管理员给账号和对应页面给机构,机构根据页面和账号登录后台管理页面,课程的管理。可提供机构的课程管理,机构可以在相应的后台系统对课程进行基本增删改查,课程媒资文件管理,课程的logo、价格、课程计划等信息的查询修改。修改的信息同时能够在门户网站显示出来。

2.4系统功能的需求分析
捷优享在线教育系统主要分为用户子系统、后台管理(机构)子系统:在用户子系统主要包括:登录注册、课程学习管理、个人信息、查看购买课程等;后台管理子系统主要包括:课程管理、登录注册、媒资管理等。该系统的功能组成模块图如图2-4捷优享功能模块图:
在这里插入图片描述

图2-4 捷优享功能模块图
2.4.1客户端子系统功能分析
(1)登录注册:实现该系统的登录注册,游客用户只有在登录或者注册成功之后才能进入个人中心进行个人信息管理、查看购买课程、课程学习管理。
(2)课程学习管理:用户在登录后,从主页面找到对应课程或者从个人中心找到需要学习的课程,进入课程详情页面,然后点击开始学习便开始学习本课程。
(3)个人信息:用户在登录后,点进个人中心,可以查看个人信息并修改,例如昵称、头像等。
(4)查看购买课程:用户在登录后,可以进入个人中心,点击已购买课程并查看已购买课程列表。

2.4.2后台管理子系统功能分析
(1)登录注册:管理员给机构账号登录,而如果机构自行注册则需要系统管理员的审核。登录后才能进行后续的操作。
(2)课程管理:机构在登录后,可以查询自己的课程、新增课程、修改课程和删除课程。同时可以对课程信息进行进一步管理,例如课程分类、价格、logo、教师、课程计划等等。
(3)媒资管理:机构在登录后,可以对课程的音频文件进行查询、上传、删除以及对

2.5 UML系统建模
2.5.1用例图
用例,主要就是使用者(参与者)、动作,结合系统完成一个用例。
客户端子系统的业务如图2-5 捷优享客户端用例图:
在这里插入图片描述

图2-5捷优享客户端用例图

后台管理系统的业务如图2-51捷优享后台管理用例图:
在这里插入图片描述

图2-51捷优享后台管理用例图
2.5.2用例规约
用户、机构和系统管理员用例规约表:
表2-1登录注册用例规约表
用例编号 2-1 用例名称 登录注册
功能描述 当游客注册或登录之后,便转换为用户。
执行者 游客、商家
前置条件 捷优享系统正常运行。
后置条件 如果是游客,游客身份变为用户;
如果是机构用户,成功进入系统。
涉众利益 游客登录注册之后,可以进行课程学习管理、修改个人信息、查看购买课程列表等操作;
商家登录注册后,可以进行课程管理、媒体资料管理等操作。
基本路径 游客:1. 选择注册,进入注册页面;
2.按制定规则填写个人信息;
2.1系统校验手机号码
2.1.1 校验成功则发送验证码
2.1.2 失败则重新输入手机号码
3. 点击注册;
3.1 校验验证码
3.1.1 正确,则通过注册
3.1.2 错误,则返回注册页面
3.2 注册成功,成为用户
4. 如果用户已注册,则输入登录信息;
5. 角色变为用户并成功进入系统。
机构:1. 如果机构为注册,则点击注册;
2. 把机构信息、机构营业执照、教师证等资料按规则填写;
3. 注册成功并进入后台管理系统;
4. 如果机构已注册,则输入登录信息;
5. 登录成功并进入后台管理系统。
扩展 无
字段列表 用户:1. 邮箱、用户名、密码、手机
机构:1. 机构名称;2. 联系电话;3. 邮箱;4. 登录密码;5. 省;6. 市;7. 区;8.机构具体地址;9. 营业执照号;
业务规则 无
备注 无

表2-2查看课程信息用例规约表
用例编号 2-2 用例名称 查看课程信息
功能描述 当用户或游客进入捷优享系统客户端的时候,会页面左侧会展列出主流的课程分类以及课程名字,中间则是热门课程的图片展示与介绍的推荐,点击图片或者列表信息会展示相应的课程详情页面。
执行者 用户、游客
前置条件 进入捷优享系统客户端。
后置条件 显示课程的基础信息。
涉众利益 用户和游客可以获得课程的基本信息,从而决定是否进入对应的课程详情介绍页面,再然后决定是否购买学习该课程。
基本路径 1.输入网址进入系统客户端首页
2.点击首页刷新热门课程。
扩展 1.在搜索栏输入课程名称可以进行搜索
1.1 手动输入商店名称搜索;
字段列表 1.课程名称;2.课程图片;3.销量;4.评分;
业务规则 无
备注 无
表2-3课程学习用例规约表
用例编号 2-3 用例名称 课程学习
功能描述 在用户进入某个课程,购买之后可以立即开始学习。
执行者 用户
前置条件 登录到捷优享在线教育系统
后置条件 已购买课程
涉众利益 用户可以在线学习,不用跑出去。
基本路径 1.点击其中一个课程进入课程详情页面;
2.判断是否登录
2.1 是,下一步
2.2 否,返回登录页面
3.判断是否拥有学习权限
3.1 是,开始学习
3.2 否,则点击购买进入订单信息页面;
4.开始学习
扩展 3a.输入支付密码完成支付操作。
3a1.输入支付密码成功,购买完成。
3a2.输入密码错误,返回订单页面。
字段列表 1.订单编号;2.用户编号;3.机构编号;4.联系电话;5.课程编号;6.总价;7.订单状态
业务规则 需要用户身份才能下单
备注 无

表2-4个人信息用例规约表
用例编号 2-4 用例名称 个人信息管理
功能描述 用户可以查看并修改个人资料。
执行者 用户
前置条件 登录到捷优享系统客户端。
后置条件 用户查看并修改个人资料成功。
涉众利益 用户及时完善修改个人信息,避免下单时出错。
基本路径 1.点击首页个人中心按钮进入个人信息页面;
2.点击修改按钮进入相应编辑页面;
3.填写修改的信息。
4.提交。
扩展 无
字段列表 1.用户名;2.密码;3.头像;4.邮箱;5.手机号码;6余额;7支付密码
业务规则 无
备注 无

表2-5课程管理用例规约表
用例编号 2-5 用例名称 课程管理
功能描述 机构可以对课程进行查看、新增、修改和删除操作。
执行者 机构
前置条件 登录到捷优享系统后台管理端。
后置条件 对课程进行管理。
涉众利益 机构可以对课程分类进行修改、增加课程优惠方案等方式来吸引用户 。
基本路径 1.点击左侧课程管理按钮,显示课程列表
2.课程列表第一个图片有个增加课程按钮,点击它可以进入课程添加页面
3.每个课程图片下方有个管理课程按钮,点击可以进入编辑课程基本信息页面;
3.1 进入基本信息页面可以直接显示课程基本信息并支持修改,点击提交完成修改课程基本信息操作;
3.2 进入基本信息页面,还有课程图片按钮,支持修改课程图片
3.3 进入基本信息页面,点击课程营销按钮,支持修改或者添加课程市场价格信息。
3.4 进入基本信息页面,点击教师信息,支持添加或者修改教师信息
3.5 进入基本信息页面,点击发布课程按钮,进入发布课程页面
3.5.1 点击课程预览,预览课程详情页面
3.5.2 点击课程发布,实现一键发布课程
扩展 无
字段列表 1.课程名称;2.课程分类;3.课程学习模式;4.课程介绍;5.课程状态;6.机构编号;7.课程计划;8建议适合人群
业务规则 需要认证机构编号
备注 无

表2-6媒资管理用例规约表
用例编号 2-6 用例名称 媒资管理
功能描述 机构可以对媒体资料进行查看、新增上传、修改和删除操作。
执行者 机构
前置条件 登录到捷优享系统后台管理端。
后置条件 对媒体资料进行管理。
涉众利益 机构可以自行上传媒体资料,并得到反馈,避免上传失败导致课程学习失败。
基本路径 1.进入后台管理端首页,点击左侧媒资管理按钮,进入上传文件与我的媒资页面
2.点击上传文件,出现上传文件页面
2.1 根据提示点击选择文件;
2.2 确认无误后点击开始上传即完成基本上传新增媒体资料操作;
3.点击我的媒资进入媒资管理页面,并展示本机构所有已上传的媒体资料
3.1 点击选定媒体资料右侧删除按钮
3.1.1 弹出提示框,确认则删除
3.1.2 取消则返回媒资管理页面
3.2 点击媒资管理页面上传文件按钮跳转至上传文件页面。

扩展 3a.查询媒资
3a1.在页面首页顶部搜索栏,输入标签、上传时文件名或者选择媒资文件处理状态,点击查询按钮完成查询操作,显示相应搜索媒资文件列表;
字段列表 1.上传时文件名;2.处理后的文件名;3.媒体资料访问URL;4.文件标签;5.文件大小;6.媒资状态;7.创建时间;8.机构编号;
业务规则 需要认证机构编号
备注 无

2.6 本章小结
本章主要分析了该系统的客户端、后台管理端、系统管理端;然后对三个端的业务需求进行分析并且用业务流程图分别展示了三端的业务流程。首先对系统进行可行性分析,然后通过功能模块图和需求分析展示了三端的功能需求。最后,对各个模块的功能进行说明。

第三章 系统设计

3.1 系统功能设计
本系统由客户端、后台管理和系统管理组成。
3.1.1客户端系统
(1)登录注册功能:在未登录的客户端首页或者搜索页面右上角找到登录注册按钮,点击登录按钮,进入登录页面,游客可以根据注册时的用户名/邮箱/电话和密码进行登录操作。登录成功后回到主页面,并显示个人中心按钮; 也可以在未登录的主界面右上角找到注册按钮,点击注册按钮进入主页页面,游客可以输入制定规则的个人信息进行注册。注册成功后返回首页并默认登录该账户。
(2)课程学习管理:在首页展示的分类可查看课程分类基础信息,在轮播图中可看到热门课程的图片介绍信息,或者在搜索栏根据课程名称搜索课程等。选中课程后进入课程详情页面,点击购买课程后便可以开始学习。
(3)个人信息管理:在登录之后,在主页面找到个人中心按钮,点击个人中心按钮进入个人中心页面,在这个页面可以进行个人信息修改。
(4)课程购买信息管理:在个人中心页面,点击已购买课程的按钮,进入课程购买列表,显示已购买的课程,并可以查看相应的订单信息。

3.1.2后台管理系统
(1)登陆注册:机构可以根据管理员给的账号密码登录进后台管理系统界面,没有账号的在注册页面填写相应的信息
(2)课程管理:机构登录后,会进入教学后台,页面左侧有可以下拉选项的课程管理按钮,点击之后显示课程列表,在课程列表页面,有一个新增课程按钮,点击进入课程信息页面,提交之后可以新增课程;每一个课程都对应一个管理课程按钮,点击对应课程管理按钮,进入对应课程信息页面,可以对课程基本信息、课程市场信息、课程图片进行修改,同时还能在线预览、发布课程。
(3)媒资管理:进入后台管理系统,点击媒资管理,显示已上传媒体资料,以及对媒体资料进行删除、查找、处理等操作。

3.1.3系统管理
(1)登陆:管理员可以根据开发者提供的账号进行登录,登录后进入系统管理页面。
(2)客户端页面管理:进入系统管理页面,点击左侧页面列表,显示所有客户端页面,在页面列表页面也可以对客户端页面进行查询,页面上方有搜索栏和新增页面按钮,点击编辑可以修改页面信息,上方的搜索栏输入指定条件可搜索出指定页面;点击新增按钮输入页面基本信息,可新增客户端展示的页面信息。点击对应页面的删除按钮,可对页面进行删除。
(3)分类管理:进入系统管理页面,点击左侧分类节点按钮进入分类节点页面,显示课程已有的课程分类,上方有搜索栏和新增分类按钮;点击搜索栏搜索按钮可根据输入信息对页面进行搜索;点击大分类对应的按钮进入分类节点页面,并对子节点进行增删改查操作。

3.2 捷优享系统类图
捷优享系统涉及到的实体类有如图3.1捷优享在线教育系统类图:

在这里插入图片描述

图3.1捷优享在线教育系统类图

3.3 系统顺序图
3.3.1 客户端系统顺序图
1.游客注册顺序图
在这里插入图片描述

图3.2游客注册顺序图
(1)进入注册页面,输入个人信息和手机号码
(2)客户端校验手机是否是有效的格式,正确的话,可点击获取验证码,否则不可获取验证码;
(3)捷优享客户端就会请求服务器获取验证码;
(4)服务器就会发送验证码给第三方手机平台;
(5)第三方平台发送验证码给用户;
(6)用户获取验证码之后,输入验证码并确认注册;
(7)用户端就会向捷优享客户端系统服务器发起注册请求;
(8)服务器会判断验证码是否正确;
(9)如果判断验证码错误,则捷优享客户端会收到错误信息提示;
(10)如果判断验证码正确,则捷优享客户端进一步查询该账号是否存在;
(11)如果服务器查到该用户已存在,则捷优享客户端会收到错误信息提示
(12)如果服务器查明该用户未存在,则捷优享客户端将注册成功并自动登录。

2.用户登录顺序图

在这里插入图片描述

图3.2游客登录顺序图

(1)用户进入首页,点击右上角登录按钮进入登录页面,并输入登录信息;
(2)捷优享客户端会向捷优享服务器发起登录请求;
(3)捷优享服务器收到请求,会判断对应用户的登录信息是否正确;
(4)如果捷优享服务器的判断结果为是,则把用户信息发给捷优享客户端;
(5)如果捷优享服务器的判断结果为否,则把错误信息发给捷优享客户端;

3.用户课程学习顺序图
在这里插入图片描述

图3.3用户学习顺序图

(1)用户在捷优享客户端进入课程页点击开始学习;
(2)客户端发送请求;
(3)服务器判断是否登录;
(4)已登录:服务器判断是否购买
(5)未登录:返回登录界面;
(6)已购买:开始学习并自动播放
(7)未购买:捷优享客户端跳转订单页,会让用户确认订单;
(8)用户已确认;
(9)捷优享客户端发送信息给服务器
(10)服务器校验后请求第三方支付平台
(11)第三方支付平台返回支付页面并提示用户支付;
(12)用户输入支付密码;
(13)第三方服务器会判断支付密码是否正确;
(14)返回支付结果给捷优享服务器
(15)判断支付结果,成功,则从服务器端返回到客户端支付成功。并开始自动播放第一节
(16)判断支付结果,失败,则从服务器端返回到客户端支付失败,再返回到客户端。

3.3.2 后台管理系统顺序图
1.机构公司注册顺序图

在这里插入图片描述

图3.4机构注册顺序图
(1)机构或者公司填写制定规则注册信息并点击提交;
(2)后台管理系统客户端将注册信息提交给捷优享服务器;
(3)服务器审核机构或公司信息。
(4)捷优享服务器返回审核结果,成功,将注册结果返回给后台管理系统端。
(5)失败,提示注册失败,信息不符。

2.机构公司登录顺序图
在这里插入图片描述

图3.4机构登录顺序图
(1)机构按照要求填写登录信息;
(2)后台管理系统客户端把信息发给捷优享服务器,然后进行登录操作;
(3)捷优享服务器校验登录信息是否正确;
(4)捷优享服务器返回校验结果给后台系统客户端。

3.机构添加课程顺序图

(1)机构点击新增课程,跳转到新增页面,输入课程信息,点击添加;
(2)后台管理提交课程信息
(3)后台管理反馈信息;

在这里插入图片描述

图3.5机构添加课程顺序图

4.机构修改课程信息顺序图
在这里插入图片描述

图3.6机构修改课程顺序图
(1)机构选择修改的课程,进入修改页面,提交修改信息;
(2)后台管理提交修改的数据;
(3)服务器返回结果;

5.机构上传媒体资料信息顺序图
在这里插入图片描述

图3.7机构上传文件顺序图
(1)机构选择要上传的文件,点击上传;
(2)后台管理提交文件信息和流到服务器;
(3)把文件写入系统;
(4)返回上传结果;

6.机构删除媒体资料信息顺序图
在这里插入图片描述

图3.8机构删除文件顺序图
(1)机构选择要删除的文件,点击删除;
(2)后台管理提交文件信息和删除请求
(3)在系统删除对应信息;
(4)返回删除结果;

3.4 捷优享系统活动图
1.用户课程学习活动图
用户进入客户端,找到课程点进课程,点开始学习。客户端提交学习请求,服务器判断用户是否购买该课程,如购买,则直接开始学习;如未购买,则跳转去支付页面,支付成功后即开始学习,支付失败则跳转回订单页面。

在这里插入图片描述

图3.9用户学习活动图

2.机构课程管理活动图
机构进入后台管理,点击课程管理,点击新增课程,提交信息;点击课程,输入修改信息,点击确定;

在这里插入图片描述

图3.10机构课程管理活动图
3.5 系统状态图
在这里插入图片描述

图3.11媒体资料状态图

3.6 数据库设计
一个优秀完整的捷优享在线教育系统,少不了一个优质的数据库支持。如果想要提高系统的健壮性、稳定性等,那么数据库也是一块重要的环节。以下是该系统的数据库设计。包含分类表、课程基本信息表、课程营销表、课程展示表、课程图片表、课程预览表、课程发布表、课程教学计划表、教学计划媒资表。
1、category(课程分类表),表的详细数据见下表3-2课程分类表:

表3-2用户信息表
列名 数据类型 是否为空 主外键 描述
id varchar(32) Not null 主键 分类编号
name varchar(32) Not null 分类名称
label varchar(32) Not null 分类标签
parentid varchar(32) Not null 父节点id
isshow char(1) Not null 是否显示
orderby int(4) Not null 排序字段
isleaf char(1) Not null 是否叶子

2、course_base(课程基本信息表),表的详细数据见下表3-3课程基本信息表:
表3-3课程基本信息表
列名 数据类型 是否为空 主外键 描述
id varchar(32) NOT NULL 主键 课程id
name varchar(32) NOT NULL 课程名称
users varchar(500) NOT NULL 适用人群
mt varchar(32) NOT NULL 课程大分类
grade varchar(32) NOT NULL 课程等级
studymodel varchar(32) NOT NULL 学习模式
teachmode varchar(32) NOT NULL 授课模式
description text NOT NULL 课程介绍
st varchar(32) NOT NULL 课程小分类
status varchar(32) NOT NULL 课程状态
company_id varchar(32) NOT NULL 外键 教育机构
user_id varchar(32) NOT NULL 外键 创建用户

3、course_market(课程营销表),详细见下表3-4课程营销表
表3-4课程营销表
列名 数据类型 是否为空 主外键 描述
id varchar(32) NOT NULL 主键 课程id
charge varchar(32) NOT NULL 收费规则
valid varchar(32) NOT NULL 有效性
expires timestamp NOT NULL 过期时间
qq varchar(32) NOT NULL 咨询qq
price float(10,2) NOT NULL 价格
price_old float(10,2) NOT NULL 原价
start_time datatime NOT NULL 课程有效期-开始时间
end_time datatime NOT NULL 课程有效期-结束时间

4、course_off(课程展示表),详细见下表3-5课程展示表
表3-5课程展示表
列名 数据类型 是否为空 主外键 描述
id varchar(32) NOT NULL 主键 课程id
name varchar(32) NOT NULL 课程名称
users varchar(500) NOT NULL 适合人群
mt varchar(32) NOT NULL 大分类
st varchar(32) NOT NULL 小分类
grade float(10,2) NOT NULL 课程等级
studymodel varchar(32) NOT NULL 学习模式
description text NOT NULL 课程介绍
timestamp timestamp NOT NULL 时间戳
charge varchar(32) NOT NULL 收费规则
valid varchar(32) NOT NULL 有效性
qq varchar(32) NOT NULL 咨询qq
price float(10,2) NOT NULL 价格
price_old float(10,2) NOT NULL 原价格
expires timestamp NOT NULL 过期时间
pic varchar(500) NOT NULL 课程图片
teachplan text NOT NULL 课程计划

5、course_pic(课程图片表),详细见下表3-6课程图片表
表3-6课程图片表
列名 数据类型 是否为空 主外键 描述
courseid varchar(32) NOT NULL 主键 课程id
pic varchar(32) NOT NULL 图片访问链接

6、course_pre(课程预览表),详细见下表3-7课程预览表
表3-7课程预览表
列名 数据类型 是否为空 主外键 描述
id varchar(32) NOT NULL 主键 课程id
name varchar(32) NOT NULL 课程名称
users varchar(500) NOT NULL 适合人群
mt varchar(32) NOT NULL 大分类
st varchar(32) NOT NULL 小分类
grade float(10,2) NOT NULL 课程等级
studymodel varchar(32) NOT NULL 学习模式
description text NOT NULL 课程介绍
timestamp timestamp NOT NULL 时间戳
charge varchar(32) NOT NULL 收费规则
valid varchar(32) NOT NULL 有效性
qq varchar(32) NOT NULL 咨询qq
price float(10,2) NOT NULL 价格
price_old float(10,2) NOT NULL 原价格
expires timestamp NOT NULL 过期时间
pic varchar(500) NOT NULL 课程图片
teachplan text NOT NULL 课程计划

7、course_pub(课程发布表),详细见下表3-8课程发布表
表3-8课程发布表
列名 数据类型 是否为空 主外键 描述
id varchar(32) NOT NULL 主键 课程id
name varchar(32) NOT NULL 课程名称
users varchar(500) NOT NULL 适合人群
mt varchar(32) NOT NULL 大分类
st varchar(32) NOT NULL 小分类
grade float(10,2) NOT NULL 课程等级
studymodel varchar(32) NOT NULL 学习模式
teachmode varchar(32) NOT NULL 教育模式
description text NOT NULL 课程介绍
timestamp timestamp NOT NULL 时间戳
charge varchar(32) NOT NULL 收费规则
valid varchar(32) NOT NULL 有效性
qq varchar(32) NOT NULL 咨询qq
price float(10,2) NOT NULL 价格
price_old float(10,2) NOT NULL 原价格
expires timestamp NOT NULL 过期时间
pic varchar(500) NOT NULL 课程图片
teachplan text NOT NULL 课程计划
pub_time varchar(32) NOT NULL 发布时间

8、teachplan(教学计划表),详细见下表3-9教学计划表
表3-9教学计划表
列名 数据类型 是否为空 主外键 描述
id varchar(32) NOT NULL 主键 教学计划id
pname varchar(64) NOT NULL 计划名称
parentid varchar(32) NOT NULL 父母id
grade char(1) NOT NULL 层级,分为1、2、3级
ptype char(1) NOT NULL 课程类型:1视频、2文档
description varchar(500) NOT NULL 章节及课程时介绍
timelength double(5,2) NOT NULL 时长,单位分钟
courseid varchar(32) NOT NULL 外键 课程id
orderby varchar(32) NOT NULL 排序字段
status char(1) NOT NULL 状态:未发布、已发布
trylearn char(1) NOT NULL 是否试学

9、teachplan_media(教学计划媒资表),详细见下表3-10教学计划媒资表
表3-10教学计划媒资表
列名 数据类型 是否为空 主外键 描述
teachplan_id varchar(32) NOT NULL 主键 课程计划id
media_id varchar(32) NOT NULL 媒资文件id
media_fileoriginalname varchar(128) NOT NULL 媒资文件的原始名称
media_url varchar(256) NOT NULL 媒资文件访问地址
courseid varchar(32) NOT NULL 外键 课程Id

10、user(用户表),详细见下表3-11用户表
表3-11用户表
列名 数据类型 是否为空 主外键 描述
id varchar(32) NOT NULL 主键 用户id
name varchar(32) NOT NULL 用户名
phone int NOT NULL 手机
email varchar(32) NOT NULL 邮箱
courseids varchar(128) NOT NULL 外键 课程id
create_time date NOT NULL 创建时间
password varchar(32) NOT NULL 密码
birthday date NOT NULL 出生日期
grade char(1) NOT NULL 等级
payPassword varchar(32) NOT NULL 支付密码
address varchar(32) NOT NULL 所在地
idcard int NOT NULL 身份证号

11、company(机构公司表),详细见下表3-12机构公司表
表3-12机构公司表
列名 数据类型 是否为空 主外键 描述
id varchar(32) NOT NULL 主键 机构id
cname varchar(32) NOT NULL 机构名
courseids varchar(128) NOT NULL 外键 课程id
create_time date NOT NULL 创建时间
password varchar(32) NOT NULL 密码
businessid varchar(32) NOT NULL 营业执照号
phone int NOT NULL 企业联系电话
address varchar(32) NOT NULL 企业所在地
categoryid varchar(64) NOT NULL 外键 主要运营分类id
teacherids varchar(64) NOT NULL 外键 教师id
idcard int NOT NULL 身份证号

12、teacher(教师表),详细见下表3-13教师表
表3-13教师表
列名 数据类型 是否为空 主外键 描述
id varchar(32) NOT NULL 主键 教师id
name varchar(32) NOT NULL 教师名字
phone int NOT NULL 手机
email varchar(32) NOT NULL 邮箱
courseids varchar(128) NOT NULL 外键 教育课程id
create_time date NOT NULL 创建时间
password varchar(32) NOT NULL 密码
birthday date NOT NULL 出生日期
payPassword varchar(32) NOT NULL 支付密码
address varchar(32) NOT NULL 所在地
idcard int NOT NULL 身份证号
tid varchar(32) NOT NULL 教师资格证编号
experience varchar(128) NOT NULL 教学经历

3.7 网络接口设计
网络编程重要的便是IP、端口以及层与层的协议,web互联网交互的本质是计算机进程之间的交互通信。因此,捷优享在线教育系统采用OKHttp3工具包来和SpringMVC框架来做网络框架。实现方便快捷的访问。同时根据Java开发规范设计对应的接口。

3.8 本章小结
本章对捷优享在线教育系统的两个子系统:客户端和后台管理端做了详细的功能设计,然后设计并画出了系统的类图、顺序图,部分活动图和状态图。使得开发过程更加直观明了。然后根据该系统的功能设计,设计出一个数据库,最后对该系统的网络接口进行设计。

第4章 系统实现

根据上一章的系统模块的设计,本章给出了它们的实现。下面分别是它们大概的实现的界面效果。

4.1 捷优享在线教育客户端界面实现

  1. 图4-1是客户端首页的展示,主要分为四个模块,一个是顶部导航栏,第二个是轮播图和导航选项,第三个则是精品课程推荐,第四部分就是尾部捷优享教育网的介绍。
    在这里插入图片描述

图4-1 客户端首页展示

2.图4-2 则是个人中心页面展示,主要分为3个部分,一个是顶部导航栏、中部个人信息管理、尾部捷优享教育网介绍。
在这里插入图片描述

图4-2 个人中心展示

3.课程搜索页面,主要分类两部分搜索,一个分类搜索,一个关键词搜索。也可以两部分结合一起搜索。
在这里插入图片描述

图4-3 搜索页面

4.课程详情页面,主要展示课程的详细信息,如果已购买的用户,可以直接点击开始学习,由于考虑用户访问数量最高,如果每一个用户的页面都渲染,会对服务器会造成较大压力,因此使用Freemarker静态化技术,采取模板组合数据的方式组合页面。
在这里插入图片描述

图4-4 课程详情页面展示

4.2 捷优享在线教育后台管理端界面实现
1.后续主要展示了机构后台管理页面。包括了首页、课程列表、媒资列表等等。
在这里插入图片描述

图4-5 后台管理页面展示

在这里插入图片描述

图4-6 后台管理页面课程列表展示

在这里插入图片描述

图4-7 后台管理页面媒体资料列表展示

4.3 本章小结
本章主要简单展示了该系统的客户端首页的页面以及后台管理的首页的页面。

第5章 系统测试

5.1 系统测试的目的
系统测试的目的最主要的就是找出系统中,因疏忽或者考虑不周而导致的漏洞或者错误。在每次开发模块、功能等过程中进行测试,能够更加准确、更加能理清业务逻辑以及数据交互的方向,同时为后续开发的顺利打下坚实的基础。所以,系统测试作为软件开发的步骤,是非常重要且必不可少的一个环节。

5.2 系统测试的意义
在当今时代,软件迭代速度非常迅猛,数量之大令人咋舌。这是信息化时代推进的结果。因此,如果能够快捷的开发出质量好又少漏洞的软件,测试便成了一个重要的环节。系统测试能够帮助本人,找出捷优享在线教育系统中,各种功能之间的漏洞或者数据传递的错误等,从而让系统上线后运行更加稳定。使用户和机构等体验更好。

5.3 测试用例及结果
捷优享在线系统分为客户端测试和后台管理测试,表5-1为用户端测试用例及结果,表5-2为后台管理的测试用例及结果。
表5-1客户端测试用例及结果
用例编号 用例名称 测试目的 测试结果
J-1 TestPhone 测试用户输入正确格式的手机号码,然后才能继续操作(获取验证码,提交等) 用户只有输入正确格式的手机号才能继续操作
J-2 TestStudy 测试用户在未购买课程的时候能否学习 在未购买时,不能学习,会回退到课程页
J-3 TestSearch 测试用户随意搜索课程关键字能否找到相应的课程 用户输入随意关键字可以找到
J-4 TestPayPassword 测试用户设置的系统内部的支付密码的位数是否只能六位 支付密码只能6位数字
J-5 TestPay 测试输完支付密码之后是否会完成支付 输入密码之后完成支付
J-6 TestLogin 测试课程是否只能在登录状态下点击购买 用户只能登录之后才能购买
J-7 TestPersonal 测试用户是否在登录状态下修改个人信息 用户只有在登录情况下才能修改个人信息
J-8 TestCenter 测试游客能否在未登录时进入个人中心 游客无法擅自访问个人中心链接,会跳到登录页面
J-9 TestPassword 测试用户是否只有在登录情况下,才能设置密码和支付密码 用户只有在登录情况下才能设置密码和支付密码
J-10 TestStudy2 测试游客能否在未登录时购买课程 游客只有在登录后才能点击购买按钮
J-11 TestClient 测试客户端能否正常获取安全令牌 在提供正确的客户端授权账号密码之后,可以获取
J-12 TestPasswordEncoder 测试密码能否转换成BCrypt加密编码 能够正常转换,并能够正常匹配

表5-2后台管理测试用例及结果
用例编号 用例名称 测试目的 测试结果
C-1 TestRegister 测试机构是否填完完整信息才能点击注册,如果注册的信息有误,是否会提示 机构只有填写完整信息才能进行注册并且如果填写的信息有误会提示错误信息
C-2 TestRegister2 测试机构输入的信息(包括营业执照号)能否正确审核 能够正确审核
C-3 TestTeacher 测试机构能否乱添加教师信息 机构只有正确填写教师信息才能输入教师信息
C-4 TestCourse 测试课程是否填完完整信息才能新增 机构不需要填写完整的课程信息就能新增,但基本信息则必须。
C-5 TestPublish 测试机构能否在未完善课程信息时发布课程 机构能在填写基本信息后发布课程
C-6 TestUpload 测试机构能否正常上传媒体资料 能够正常上传

5.4 本章小结
本章首先讲述了系统测试的目的和意义,然后结合要求给出主要的测试用例,用来证明捷优享在线教育的基本功能是没有问题的。

第6章 结束语

6.1 全文总结
通过这几个月的不懈努力,基于J2EE平台的捷优享在线教育的设计与实现基本上已经完成并告一段落了。捷优享在线教育面向用户群体的界面设计使用当今主流的模块设计风格,简洁又不失美观;Java虽然目前已经收费,但是其强大的语言功底以及完善的全家桶、成熟的技术栈是我选择的重要原因;SpringBoot的快速开发,集成各种插件,是我选择作为框架的重要原因;Idea工具方便操作、拥有简洁美观的界面、集成插件,是我选择作为编程工具的理由;MySQL作为主要数据库支持,辅以MongoDB;再结合第三方支付和短信系统。捷优享在线系统便能正常运作。

6.2 课题展望
由于受到第三方支付和短信的使用条件约束,所以在最初开发时没有完整的开发出这部分功能,而选择了模拟的效果暂时替代;由于时间和技术的不足,该项目没有加入直播的功能,以后有机会将新增直播功能,并且优化课程观看以及课程计划设计。最后,如果有机会将继续完善后台管理系统、教师管理端、以及增加系统管理端。

参考文献

[1] 王珊,李盛恩.数据库基础与应用[M].北京:人民邮电出版社,2008。
[2] Cay S. Horstmann,Core Java Volume I—Fundamentals,美国:Pearson Education,2016。
[3] BenForta, MySQL Crash Course,人民邮电出版社,2009。
[4] 张海藩、牟永敏,软件工程导论(第六版)北京:清华大学出版社,2013
[5] 李兴华,王月清,JavaWeb开发实战经典基础篇,北京:清华大学出版社,2010
[6] 朱忠华,RabbitMq实战指南,电子工业出版社,2017。
[7] 杨开振,深入浅出Springboot2.x,人民邮电出版社,2018。
[8] 张耀春,Vue.js权威指南,电子工业出版社,2016。
[9] 杨开振 周吉文等,JavaEE互联网轻量级框架整合开发,电子工业出版社,2017。
[10] 许晓斌,Maven实战,机械工业出版社,2010。
[11] [2] Cay S. Horstmann,Core Java Volume Ⅱ,美国:Pearson Education,2016。
[12]Radu Gheorghe,Elasticsearch实战,人民邮电出版社,2018。
[13]Kyle Banker,MongoDB in Action,人民邮电出版社,2018。

致 谢

写到这里,已是捷优享在线教育系统的设计与实现的尾声了,一个系统的设计与实现不单单是自己一个人能够完成的,还需要他人的帮助,如指导老师、其他任课老师和同学等,所以,我非常感谢他们给予我的帮助。也不仅仅是帮助,甚至对我还有一点影响。在这里我需要特别感谢各位老师了,从大一开始教我们各种计算机的知识,让我领略到计算机的知识的海洋的美,可以说他们是我做捷优享系统的设计与实现帮助最大的人了。最后,感谢广州大学松田学院为我们提供学习的平台,感谢广大松田计算机科学与技术系各个科任老师的辛勤付出,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_1406299528

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值