Java课程在线视频学习系统的设计与实现

摘  要:随着时代发展的需要,以及社会大环境的变化,中国之前的学习模式受到了巨大的冲击,人们从传统的线下教育方式开始逐步的向线上学习转变。尤其是2019年来,由于疫情的影响,不出门、不与别人接触成为评价一切活动的首要标准,这就使得网络在线学习成为必需品。在线学习是一种符合时宜的学习方式,这种方式是指在网络上建立一个平台,在平台上展示视频和文字以及图片、音频等等。使得这个平台能够满足用户的个性化学习的需要,用户可以根据自己的需要自由选择学习内容、学习时间、学习地点等。对于Java这门课程而言,学习的人群更加不局限于学生,它是面向学生、已工作等群体的一种技能型课程,这就更加强调了对上课时间、地点等的灵活性要求。因此,对于Java技术的学习,就更加的适合于借鉴这种在线学习的模式。根据视频的内容进行分类,按照其不同的课程类型,将这些相应类型的学习视频发布到网站上,各类群体用户在学习、工作等过程中遇到问题时,就可以通过视频教程来寻找相应的解决方案。

关键词:Java课程在线视频学习系统;B/S结构;线上学习平台

1引言 

1.1课题背景

首先,在中国,高校依旧普遍采取线下课的授课方式。虽然,这种上课模式有利于创造良好的上课氛围,有利于师生的及时沟通。但是在一定程度上,这种方式不利于学生对重点知识的及时笔记、难点的反复琢磨以及整体知识的回顾反思。而且,在课堂上能用于师生互动的时间过于有限,这种不可避免的时间问题只能通过别的方法来改变,因此需要想办法将课上的问题放到课下解决,也就是需要使课堂能延伸到课下的同时不受时间以及空间的限制,通过建立网上辅助教学环境即可适当的解决这一问题[1]。它可以作为主要学习途径供学生学习思考,也可作为辅助方式提供学生查缺补漏、温故知新的方式。它即补充了线下课的不足,又能够尽可能地继承线下课易互动、良好氛围的优点。其次,自2019年来,由于疫情的影响,这种“零接触”成为各种工作的必要。进行网课,师生之间可以跨空间、跨时间进行讲授与学习的互动,这样,学习者可以在足不出户的条件下进行学习。适应社会大环境的同时不耽误个人的学习工作需要。再次,视频学习有利于对良好师资进行共享。打破空间、时间的局限,使得良好师资进行最大共享化,利于全行业知识水平的提高[1]。最后,由于Java课程本身的特殊性,它不止是一种课本知识供学生学习,也是一种编程工具供相关从业者使用。这就意味着,这门课程的学习者更加注重学习时间、空间的安排。该系统的设计就很好的保证了这一点需求。在线学习平台为用户提供了方便,用户可以自由选择学习的内容,充分尊重用户的个性,激发学习动机。它适应于任何群体的任何时间、地点要求,利于求学者的使用。

因此,开发一个网上互动知识学习系统很有必要。 

1.2研究现状 

在上世纪九十年代之前,中国的教育主要是采用线下方式。随着后期数字化的发展,也仅仅是在线下教育的基础上增加了新媒体手段。比如说引用电子教案,用多媒体展示课件。从本世纪初,国家开始大力推行“三分屏”的电子教育类型,启动了相应的建设项目,并且开设先行试点,准许它们颁发相应的文凭,它们在当时占据了在线教育市场总量的90%以上。但因为相关从业者思路上的欠缺,一直未能找到一个适合于此行业的发展模式,所以导致这一行业的前景不佳。整体上看,虽然也能逐年提高市场的容量,但是跟同类型的行业相比,还是看不到良好的前景,发展速度相对比较缓慢。2010年到2016年期间,幸于3G、4G、WIFI的飞快发展,在线教育进入移动互联网时代[1]。从2010年开始,由于网络的发展,有很多名校名师被大众熟知,所以这些名课也开始在网络上流传,也因此发展出很多用于播放的专门渠道。

随着人工智能、大数据分析、云计算等的飞速发展,方方面面都进入了新阶段的发展,教育这一行业也包含在内。也因此,进入一个需要对知识付费的时代。根据数据显示,在中国人口大基数的前提下,中国网络教育用户的增长率已飞速增长到81.9%左右,很多的在线教育平台都已经达到了每天千万级的访客量。

2系统关键技术

2.1 thymeleaf

thymeleaf是一款用来渲染HTML内容的模板引擎,它能够很方便的与springmvc等web框架集成。并且它也能够在不启动web应用的条件下,用浏览器直接打开,并能正确的显示页面。

2.2 B/S结构

B/S结构就是指浏览器/服务器结构。须由一台服务器安装和维护,浏览器软件由客户端运行。

2.3 MYSQL数据库

MYSQL是近年来最流行的关联数据库管理系统之一,它的速度快且灵活性高。 

3系统分析

3.1可行性分析

3.1.1技术可行性

本公开课在线视频培训系统的编写使用到了Java语言、B/S结构、thymeleaf等的技术。采用这些技术在充分实现系统功能的同时,还保证了简单操作这一原则。在开发过程中,能够满足系统功能的需要,以及交互、安全、可靠的要求。

3.1.2操作可行性

在这一系统的设计中,整体追求简单这一原则。因为自身能力的局限性以及考虑到用户的体验,在页面的设计上避免了花里胡哨而无实际意义的设计,整体追求简洁大方。再者,网页设计的目的是让用户无需使用培训课程就可以直接轻松地入门,越简洁越方便用户的操作[2]。当然,一些关键的操作还是需要为用户提供适当的提示,以便用户可以使用公共在线课程视频培训系统,以便于操作。

3.1.3经济可行性

由于自身没有经济来源,且暂时未考虑将此系统投用于市场所以短期内不会有收入,因此暂时不会在这个系统上过多投资。所采用的开发工具都可以在官网下载后免费使用,相关参考文献也不需要付费。因此,开发在线视频培训系统不需要太多预算投入。

3.1.4法律可行性

这一系统暂时不会投放于市场中用于盈利,所使用的开发软件也都是从官方网站下载,开发过程中未涉及到非法行为。

3.2系统功能需求分析

结合系统所要实现的功能,系统分析从三个角色的角度进行展开:管理员角色角度、学生用户角度以及教师用户角度。

3.2.1管理员模块

当管理员在注册入口成功注册后,便可通过管理员入口输入账户密码,确认权限之后可登陆进入管理员界面[3]。管理员可以执行用户管理和课程管理这两种操作。在用户管理中可进行普通用户维护和作者用户维护。其中,在普通用户维护中可查看并修改其账户、昵称、密码以及注册时间,并可进行修改操作;在作者用户维护中,增加了在普通用户维护的基础上更多的功能,可以查看用户申请时提供的表单,包括性别、年龄、身份证号、电话、邮箱、职业、职称、教师编号的详细信息,并可选择是否通过其申请。在课程管理中,有课程类别管理和课程审核管理两大类。在课程类别管理中,可以修改或删除课程类别、前台展示标题、前台展示描述[3]。在课程审核管理中,可以查看课程名称、课程价格、课程类别、课程作者、描述、首图、视频、上传时间、状态以及上传时间,并可以进行下架、通过、不通过的操作。

3.2.2普通用户模块

普通用户在注册入口成功注册后,便可通过用户入口输入账户密码,确认权限之后可登陆进入用户界面。可以查看已购买的课程,了解其课程信息(课程名称、订单编号、学习进度、课程有效剩余时间)、购买日期、花费金额、交易状态,并可进行删除订单的操作。

3.2.3作者用户模块

普通用户在注册入口成功注册后,便可通过用户入口输入账户密码,确认权限之后可登陆进入用户界面[4]。通过界面中的教师用户申请操作,可按表单填写信息升级为作者用户。成功升级后,可以进行上传课程的操作,需要进行课程名称、课程类别、课程描述、课程价格、课程首图上传、上传视频课程的填写操作。

3.3系统性能分析

本课程在线培训系统根据三个不同的角色会进行不同的操作。在每一种操作中,都要保证数据的安全存取,相应操作的正常执行[5]。操作要尽可能地干净简洁,不涉及无用的命令执行。将从下列的四个方面对系统的性能进行分析。

(1)存储性:在这个系统中,设计了三个不同的角色。而每一个角色都有不同的功能。这意味着要有大量的数据来支撑这些功能的实现。对数据的每一次修改都要保证安全准确,要尽可能地选取最佳的存储方式,且保证实现功能的多样性。

(2)数据要求:由于该系统涉及到的用户角色较多,所以对数据的要求很高。需要保证每一次合法的用户操作都能有正确的数据存储与之对应。当在系统中执行操作时,要确保数据的一致性以及稳定性,不被非法操作或者由于数据的错误而导致功能不能正常实现。

(3)安全性:开发此系统涉及到了前后端的互动,因此通过多次前后端联调来完善其安全性是很必要的。当用户在系统的前端做出操作时,要保证后端相应的地方做出同步修改,保障系统的正常运行,实现系统的安全运行。且要保障数据的安全性,保护其不被非法使用。

(4)可靠性:可靠性是涉及到系统方方面面的一个要求。要保证数据的可靠性,要求用户的正确输入,要求系统的正常使用[6]。也要注重系统的可靠性,在用户进行符合要求的操作时,系统要正确的执行相应的指令,实现对应的功能。

3.4系统流程分析

3.4.1开发流程

设计这一系统的基本方法是先对这一系统想要实现的功能做出定位,设计它的具体功能以及用于实现的算法和方法。对大的问题进行分解,逐步解决小问题最终实现整个系统的设计。开发结束后要多次实现前后端联调,对错误以及不合理的地方进行反复修改,并做好后期的各项维护[7]。系统开发流程设计如图3-1所示:

图3-1系统开发流程设计

3.4.2普通用户注册流程

只要是首次使用、未注册过的新用户,就可以在进入网站后注册。普通用户注册模块的设计如图3-2所示:

图3-2普通用户注册模块流程设计

3.4.3作者用户注册流程

本系统的设计只允许注册普通用户,若想要成为作者用户,则必须通过填写升级表单来成为作者用户[8]。升级注册模块流程设计如图3-3所示:

图3-3升级注册模块流程设计

3.4.4登录流程

系统设置了三个不同的角色,每一个角色有不同的登陆方式:作者只有在获得升级批准后才能输入,用户和管理员如果正确输入帐户和密码,就可以自由登录。如果普通用户和管理员没有注册,应该第一次注册。一旦成功注册,并且存储的帐户和密码可以在数据库中成功验证,通过验证进入网站;如果失败,系统将提示无法进入主页[9]。成功注册为普通用户后,成为作者用户时必须通过授权。成功升级后,访问过程将与普通用户相同。进行登陆操作的流程如图 3-4所示:

图3-4登录操作的流程设计

3.5视频学习系统UML用例分析

UML可以用图形的方法表示面向对象系统的整体结构。Java课程在线视频学习系统的用例图如图3-5所示:

图3-5用例图

4系统设计

4.1系统结构设计 

这一设计是为了将一个大的设计目标分解为小的目标从而逐步击破。从这一系统的功能入手,将系统划分出三个不同的角色,从这三个角度分析每一个角色的具体功能,再分析每一项功能所涉及到的更小的功能[10]。一层层的分解最终得到整个系统的整体功能。本Java在线视频培训系统的系统结构如图4-1所示

图4-1系统结构图

4.2数据库设计

有大量的数据处理是这一系统最基本的特点,这意味着数据库的设计将会是一切设计的基点。在系统操作中会大量出现数据的导入和其他处理,每一项数据还会涉及到不同的角色,因此,需要正确的建立数据表[11]。建立正确的数据表的结构,以及不同数据表之间的联系。要避免因数据的错误处理而导致的系统不运行问题。

4.2.1数据库E-R

实体、属性、实体与实体的联系是E-R图的三个基本要素。下面列出了本在线视频培训系统中主要的E-R图。

(1)管理员角色信息实体图

此角色的功能是管理本网站上的课程和用户信息[12]。管理员信息的实体图如图4-2所示:


图4-2管理员角色信息实体图

(2)用户信息实体图

普通的用户可查看自己已购课程的信息,并可通过填写申请进行教师认证。用户信息实体图如图4-3所示:

图4-3普通用户角色信息实体图 

4.2.2数据库表设计

Java在线视频培训系统使用MYSQL数据库存储和处理数据。以下列出了数据库表。

(1)用户表(主键,用户账号,用户密码,用户昵称,注册时间,用户类别):描述了用户角色的详细信息,用户角色分为普通用户角色、作者用户角色和管理员角色,其编号是唯一的。用户表见表4-1所示:

表4-1用户表

字段名称

数据类型

长度

本字段是否为主键

是否允许本

字段为空值

相关说明

id

bigint

20

主键ID

username

varchar

30

用户账号

password

varchar

30

用户密码

nickname

varchar

30

用户昵称

create-time

varchar

30

注册时间

status

int

1

用户类别

is-deleted

int

1

是否删除

(2)课程信息表(主键,课程类别,前台展示标题,前台展示描述):它用于输入有关课程的基本信息,其中编号是主码。课程信息表见表4-2所示:

表4-2课程信息表

字段名称

数据类型

长度

本字段是

否为主键

是否允许本

字段为空值

相关说明

id

bigint

20

主键id

class-type

varchar

30

课程类别

title

varchar

30

前台展示标题

description

varchar

30

前台展示描述

is-delete

int

1

是否删除

(3)管理员信息表(主键,管理员账号,管理员昵称,管理员密码):描述了管理员的详细信息,主键就是主码。管理员信息表见表4-3所示:

表4-3 管理员信息表

字段名称

数据类型

长度

本字段是

否为主键

是否允许本

字段为空值

相关说明

id

bigint

20

主键id

username

varchar

30

管理员账号

password

varchar

30

管理员密码

nickname

varchar

30

管理员昵称

is-delete

int

1

是否删除

(4)作者用户信息表(主键,真实姓名,性别,年龄):描述了用户的详细信息,主键就是主码。作者用户信息表见表4-4所示:

表4-4作者用户信息表

字段名称

数据类型

长度

本字段是

否为主键

是否允许本

字段为空值

相关说明

id

bigint

20

主键id

name

varchar

30

真实姓名

sex

int

1

性别

age

int

3

年龄

id-card

varchar

30

身份证号

tel

varchar

30

电话号

email

varchar

30

邮箱

occupation

varchar

30

职业

academic-title

varchar

30

职称

teacher-id

varchar

30

教资编号

user-id

bigint

20

外键

is-deleted

int

1

教资编号

(5)课程类型信息表:描述了课程类型的详细信息,主键就是主码。课程类型信息表见表4-5所示:

表4-5课程类型信息表

字段名称

数据类型

长度

本字段是

否为主键

是否允许本

字段为空值

相关说明

id

bigint

20

主键

class-type

varchar

30

课程类型

title

varchar

30

前台展示标题

description

varchar

30

前台展示描述

is-deleted

int

1

是否删除

(6)订单表(主键,订单号,有效时长):描述了订单的详细信息,主键就是主码。订单表见表4-6所示:

表4-6订单表

字段名称

数据类型

长度

本字段是

否为主键

是否允许本

字段为空值

相关说明

id

bigint

20

id

order-no

varchar

25

订单号

effective-time

varchar

25

有效时长

create-time

varchar

25

创建时间

price

int

20

价格

status

int

1

状态

curriculum-id

bigint

20

课程id

user-id

bigint

20

用户id

is-deleted

int

1

是否删除

(7)购物车表(id,用户id,课程id):描述了购物车的详细信息,id就是主码。购物车表见表4-7所示:

表4-7购物车表

字段名称

数据类型

长度

本字段是

否为主键

是否允许本

字段为空值

相关说明

id

bigint

20

id

user-id

bigint

20

用户id

curriculum-id

bigint

20

课程id

create-time

varchar

25

创建时间

is-delete

int

1

是否删除

5系统的实现

5.1用户功能模块的实现

在用户进入系统后未进行登录操作时,只会显示系统的主页面[13]。其中系统主页如图 5-1所示:

图5-1 系统主页

5.1.1用户注册操作界面

找到注册和登录按钮可以进行相应操作。如果你从未注册过账户,只能先注册后登录。用户注册操作界面如图5-2所示:

图5-2用户注册操作界面

5.1.2用户登录操作界面

已经注册过的用户可以进行登录操作,前提是输入的账户和密码正确。用户的登录操作界面如图5-3所示:

图5-3用户登录操作界面

5.1.3用户登录操作后的界面

用户登陆后可查看购物车和已购买课程并进行相应操作,用户登录后的界面如图5-4所示:

图5-4用户登录操作后的界面

5.2管理员功能模块的实现

5.2.1管理用户角色的界面

当管理员登录系统后,可以执行对用户进行管理这一操作。用户管理界面如图5-5所示:

图5-5管理用户角色的界面

5.2.2课程管理界面

当管理员登录系统后,可执行对课程信息进行管理这一设定功能。课程管理界面如图5-6 所示:

图5-6进行课程管理的界面

6系统测试

任何系统在开发之后都需要进行反复的调试及修改。测试的目的,一是为了发现错误,及时改正,从而保证系统的正常运行,保障系统的质量[14]。另一方面是,通过调试可以发现设计不合理的地方,从而完善系统的合理性、完整性,提高系统的质量。

6.1测试特性

系统在完成测试之后,只意味这系统可以暂时的正常执行。而对于系统是否真正的保障能够正常使用,还需要在后期进行其他功能方面的调试。如果出现了预期之外的运行结果,或者是预想的功能没有正常实现,都需要及时分析问题所在,并根据具体的功能做出相应的修改。系统的调试将会是一项持久战[15]。如果不对系统进行反复的测试,有可能会导致设计的功能不能够正常的使用,甚至会导致整个系统都无法使用,从而导致系统开发所付出的心血都付之东流。所以,系统的调试运行是一项必不可少且至关重要的工作。

(1)复杂性:系统的测试在一定程度上甚至难于系统的开发。需要我们不断地试错,来判断系统是否有正确的容错能力,以及是否能够成功的判断出错误的操作。这要求我们要明确系统的每一项功能,以及每一项功能的预期结果。

(2)长期性:调试工作是一项持久战。一方面是,发现错误不是一个及时的工作,它需要在长期的操作中得以发现,从而进行改进[15]。另一方面,在改正错误的过程中,难免会因为数据间的联系而产生新的错误,从而使得错误不断出现,这也是难以避免的大工程。

6.2测试用例

表6-1 功能测试用例表

测试功能

测试步骤

预期结果

测试结果

用户登录功能

点击“登录”——输入账户密码——点击“登录”按钮

成功登录

正确

用户注册功能

点击“注册”——不输入密码——点击“注册”

未成功注册

正确

用户注册功能

点击“注册”——按要求填写——点击“注册”

成功注册

正确

用户“升级”功能

填写升级表单——输入信息——点击“提交”

成功提交信息

正确

图6-1登陆成功界面

图6-2注册失败界面

图6-3 注册成功界面

图6-4“升级”成功界面

6.3测试结论

本系统的设计与开发基本符合本科生所能把握的难度。在开发过程中遇到了很多技术方面的问题,都通过自学得以解决。在开发结束后,在进行系统的调试运行时遇到了一些不符合设计的问题,都已经及时的修改。对目前而言,这一系统基本上算是成功实现。在后续若发现其他新的问题,还是会进行及时的订正修改。总体说来,软件通过测试。

结论

总的来说,目前已实现对此系统的设计。能够正确执行各项操作,充分展现这一系统的原始理念,能够实现它应有的功能。在外观和操作方面也符合所追求的简单易上手要求,能够简洁明了的展现所能实现的功能。暂时来看,此系统已达到标准。当然,还会通过额外的培训和实践,获得实操项目的经验,提高自身能力,改进已开发的项目。综上,已成功达到对这个系统的设计预期,各项预期功能已成功实现。

参考文献:

  1. 杨勇.适性教育:学习网站的设计与实现[J].新课程(综合版),2016, (12):56-58.
  2. Tobias Pulls,Rasmus Dahlberg. Website Fingerprinting with Website Oracles[J]. Proceedings on Privacy Enhancing Technologies,2020,2020(1).
  3. 张卫国.基于JAVA教学网站平台关键技术的研究与实现[J].电子制作,2017,Z1:39-42.
  4. 李旋,王科,余万.网站的视觉交互设计研究[J].电脑迷,2018(11):240.
  5. 高长军.《网站设计与制作》[J].中小学实验与装备,2016,26(06):42-44.
  6. 李智.网站创新设计中的版式体系研究[J].大众文艺,2018(20):79.
  7. 孙践知.网络程序设计案例教程-ASP.NET+SQL Server(C#实现) [M].北京:清华大学出版社,2008.
  8. 陈伟 编著.SQL Server 2008数据库应用与开发教程[M].北京:清华大学出版社,2007.
  9. 朱玉超、鞠艳、王代勇 编著.ASP.NET 项目开发教程[M].北京:电子工业出版社,2008.
  10. Christain Wenz.Programming[J].ASP.NET 项目开发教程[M].北京:电子工业出版社,2008.
  11. AL Zabir,Omar.Building[J]. a Web 2.0 Portal with ASP.NET 3.5.南京:东南大学出版社,2008.
  12. Benfeng Chen,Vincent Y.Shen.Transforming[J].Web Pages to Become Standard-Compliant through Reverse Engineering.ACM New York,NY,USA,2006.
  13. 王雅文. “互联网+”背景下在线教育平台使用现状与发展对策研究[J].现代商业,2018.20(95).
  14. 朱新顺.“互联网+”时代在线教育研究与探索[J].现代信息科技,2019.3(22).
  15. 陈平.提升新冠疫情期间网络教学效果的途径研究[J].黑龙江教师发展学院学报,2020.39(05).
  • 1
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

加瓦程序设计师

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

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

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

打赏作者

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

抵扣说明:

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

余额充值