摘 要:随着时代发展的需要,以及社会大环境的变化,中国之前的学习模式受到了巨大的冲击,人们从传统的线下教育方式开始逐步的向线上学习转变。尤其是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 |
否 |
否 |
电话号 |
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测试结论
本系统的设计与开发基本符合本科生所能把握的难度。在开发过程中遇到了很多技术方面的问题,都通过自学得以解决。在开发结束后,在进行系统的调试运行时遇到了一些不符合设计的问题,都已经及时的修改。对目前而言,这一系统基本上算是成功实现。在后续若发现其他新的问题,还是会进行及时的订正修改。总体说来,软件通过测试。
结论
总的来说,目前已实现对此系统的设计。能够正确执行各项操作,充分展现这一系统的原始理念,能够实现它应有的功能。在外观和操作方面也符合所追求的简单易上手要求,能够简洁明了的展现所能实现的功能。暂时来看,此系统已达到标准。当然,还会通过额外的培训和实践,获得实操项目的经验,提高自身能力,改进已开发的项目。综上,已成功达到对这个系统的设计预期,各项预期功能已成功实现。
参考文献:
- 杨勇.适性教育:学习网站的设计与实现[J].新课程(综合版),2016, (12):56-58.
- Tobias Pulls,Rasmus Dahlberg. Website Fingerprinting with Website Oracles[J]. Proceedings on Privacy Enhancing Technologies,2020,2020(1).
- 张卫国.基于JAVA教学网站平台关键技术的研究与实现[J].电子制作,2017,Z1:39-42.
- 李旋,王科,余万.网站的视觉交互设计研究[J].电脑迷,2018(11):240.
- 高长军.《网站设计与制作》[J].中小学实验与装备,2016,26(06):42-44.
- 李智.网站创新设计中的版式体系研究[J].大众文艺,2018(20):79.
- 孙践知.网络程序设计案例教程-ASP.NET+SQL Server(C#实现) [M].北京:清华大学出版社,2008.
- 陈伟 编著.SQL Server 2008数据库应用与开发教程[M].北京:清华大学出版社,2007.
- 朱玉超、鞠艳、王代勇 编著.ASP.NET 项目开发教程[M].北京:电子工业出版社,2008.
- Christain Wenz.Programming[J].ASP.NET 项目开发教程[M].北京:电子工业出版社,2008.
- AL Zabir,Omar.Building[J]. a Web 2.0 Portal with ASP.NET 3.5.南京:东南大学出版社,2008.
- Benfeng Chen,Vincent Y.Shen.Transforming[J].Web Pages to Become Standard-Compliant through Reverse Engineering.ACM New York,NY,USA,2006.
- 王雅文. “互联网+”背景下在线教育平台使用现状与发展对策研究[J].现代商业,2018.20(95).
- 朱新顺.“互联网+”时代在线教育研究与探索[J].现代信息科技,2019.3(22).
- 陈平.提升新冠疫情期间网络教学效果的途径研究[J].黑龙江教师发展学院学报,2020.39(05).