基于ThinkPHP的微课用户学习行为平台设计
作者:杨辉煌 胡必波 何晓薇 李宇湘
来源:《电脑知识与技术》2020年第19期
作者:杨辉煌 胡必波 何晓薇 李宇湘
来源:《电脑知识与技术》2020年第19期
摘要:针对目前大部分高校创新创业微课学习系统暂缺的现状,该文以Think PHP框架和ZUI等多种框架相结合的技术为基础,采用B/S三层架构与MVC设计模式,完成了创智微课用户学习行为平台的整体设计和实现,为用户提供了一个展示和提高自身以及获取网络学习资源的平台,满足当前互联网+在线教育市场巨大的潜在需求。
关键词:微课;创新创业;用户学习行为;ThinkPHP
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2020)19-0073-02
開放科学(资源服务)标识码(OSID):
中国互联网络信息中心28日发布第45次《中国互联网络发展状况统计报告》显示[1],截至2020年3月,受新冠肺炎疫情影响,中国在线教育用户规模达4.23亿,较2018年底增长110.2%,占网民整体的46.8%,相信未来几年互联网+在线教育行业必然会迎来新一轮井喷式增长,得到更大的普及利用。
我国高等院校创新创业教育课程体系建设落后,面临缺乏新形态的课程教学资源,已有的视频网络学习平台与双创课程资源难以匹配等问题[2]。微课作为一个新生的网络视频教学方式,以其样式新颖、重点突出等特点受到教育界的广泛欢迎。基于微课教学理念推出的“创智微课用户学习行为平台”互联网+创新创业在线教育解决方案,通过教师精心制作的专创融合微课程,并进行学习计划定制和推送,帮助学生更轻松更高效学习双创知识,促进创新创业教育发展。
“创智微课”作为第三方网络视频服务平台,主要是为教师用户体提供微课视频的上传与审核功能,为学生用户体提供微课程的浏览和购买功能,涉及微课程、微视频和用户、订单等信息的展示与管理。系统平台使用统一数据库实现数据完整性和实时性,易学习、易
操作、安全可靠、容错性强、扩展性强。
1 功能需求描述
本系统分为学生用户、教师用户、管理员3种角,按照不同角的功能将系统分为前台用户系统、后台管理系统等[3]。如图1所示。
前台用户系统主要负责用户的注册、微视频上传和管理、微课程信息管理、留言与评论管理以及微视频审核结果查看等。1)公共信息模块。主要是用户注册、登录、投票页和视频页面等。2)微课程展示模块。主要是课程分类展示与分类检索、评论与回复、学习笔记、星级评分等。3)个人信息管理。主要是管理注册用户的密码更换和账户基本信息.包括邮箱、、研究方向和职称等。4)订单信息展示。对用户及其购买的课程订单展示。5)微视频信息管理。主要是管理自己的上传视频作品,包括视频的重传和信息修改,以及视频附件的上传和修改。上传后的视频要经过后台审核,才能在前台显示,重复上传会覆盖原作品,修改和重传均需要再次审核。
后台管理系统是系统管理员的管理系统,主要负责视频的审核与管理、站内视频的上传
和管理、站内链接和院系信息的管理。同时还可以查看系统信息,修改管理员的个人账户信息等。1)信息管理模块。主要负责管理员个人基本信息的管理,以及账户密码的修改。2)用户管理模块。主要是管理注册用户的账户信息。3)用户视频管理模块。用来管理和审核用户上传的视频,包括视频的删除、禁用和激活,默认是禁用状态。4)订单信息管理模块。主要是指对用户及其购买的课程的管理,包括:确认订单、查看订单、修改订单和完成订单等。5)评论信息管理模块。主要是管理用户在课程视频页面的留言信息。
2 总体设计
通过对用户需求与功能需求的进一步分析,并结合软件设计中的高内聚和低耦合的标准以及相关的启发规则,得到改进后的软件结构图,如图1所示。
根据上述说明,进一步分析得到平台数据库E-R关系图,主要包括普通用户信息、管理员用户信息、评论信息和视频上信息等数据库表,如图2所示。
本平台选用PHP语言、Sublime Text与WebStorm等开发工具、MySQL数据库,Apache Web服务器、采用阿里云服务器进行弹性Web托管部署网站,保证系统安全稳定、
可拓展性强。基于ThinkPHP、ZUI框架,采用B/S三层架构模式与MVC设计模式相结合开发,依据“分层解耦”的核心思想[4],B/S三层架构模式划分为数据访问层(DAL)、业务逻辑层(BII)、表现层(UI),主要解决了系统中各个业务操作过程中不同阶段的代码封装的问题,使得开发人员更加专注的处理某阶段的业务逻辑;MVC设计模式划分为模型(Model)、视图(View)、控制器( Controller),主要解决系统用户界面的样式替换问题,把展示数据的HTML页面尽可能地和业务代码分离,可以看作是对表现层的一种细分优化。如图3所示,三层架构中的BLL层、DAL层、Entity层可以对应于MVC中的Model模块;UI层则对应于MVC中的View模块、Controller模块。
3 关键模块设计与实现
根据前面总体设计的软件结构图,具体设计每个模块实现的方法和相关的交互界面。这里以视频上传模块为例,该模块允许已注册用户在指定区域上传视频文件、编辑课程的标题(一级和二级)、划分课程的章节和编辑视频的集数、以及填写视频的相关分类信息。用户在指定区域上传视频、输入课程的一二级标题、填写课程相关信息。首先,选择好视频文件,通过from组件同时采用post方法将视频文件上传到服务器上,上传完成后将文件移动到
指定目录,并用session对象存储视频所在目录;接着,通过选择视频所属的目录,将目录所对应的uid用sessIon对象存起来;最后,填写视频相关信息,完成后将所有数据写入数据库中。对于非法操作给予提示,反之则显示视频上传成功。
使用post方法将视频文件上传到服务器上,保证视频文件的传输。此外,还需用session对象存储视频目录所对应的uid,使之与视频文件对应起来,达到视频文件与目录章节相符合的目的,方便后期管理,模块代码实现如下。
class Upload extends \think\Controller
学生管理系统php {
public function index0
{
$infoid= input(”get.infoid”);
$t= ($infoid and $infoid!=”)?2:1;//.人口上传视频2.人口选择章节
session(' upload_t',$t);
session( 'upload_video’, null);
if($t==2)session(’upload_infoid’, $infoid); else session(’up-load_infoid’,null);
$this->assign(’t’,$t);
retum $this->fetch0;
)
public function upload0
{
$infoid= session(’upload_infoid');
$file= requestO->file(’vf,).
if($file)
{
$info=$file->move(ROOT_PATH.’public/uploads/vid-eo’、:
if($info)
{
/,成功上传后获取上传信息
//输出jpg
session(’upload_video’, $info->getSaveName0);
$this->success(”上传成功”,($infoid and $infoid!=”)?’upload/vlist’:’upload/message');
)
else $this->error($file->getError0);,/上传失败获取错误信息
)
else $this->error(”上传失败!”);
)
)
4 结束语
系统经过单元测试和集成测试后,上传阿里云服务器,并进行弹性Web托管,整体运行稳定安全。项目实施过程中应用横向到边、纵向到底、目标导向的分解原则,以主要可交付成果为_T作分解结构的第1层,例如产品原型、产品源代码、环境部署等,然后把第1层中的各个子系统在第2层继续分解,第2层的工作单元又可以在第3层中细分。如果后续能通过大数据、人工智能算法等进行产品技术升级,可以为每一位学生构建精准的学习画像[5],从而进行个性化学习计划定制和推送,让学生学习得更轻松高效,也将更好地满足当前互联网+在线教育市场巨大的潜在需求。
参考文献:
[1]邹松霖.截至3月我国在线教育用户规模达4.23亿,较2018年底增长2.22亿[EB/OL].[2020-04-28].http://finance.ifeng/c/7w2bOoolOx9.
[2]郝大江.高質量本科创新创业教育的问题及对策研究[J].商业经济,2019(11):186-187.
[3]王池,李隐峰.基于ThinkPHP的微课教学竞赛系统设计[J].电子科技,2014,27(10):51-54,58.
[4] Pfleeger S L,Atlee J M.软件工程[M].4版.北京:人民邮电出版社.2019.
[5]张华,魏大威.基于大数据的“国图公开课”用户学习行为研究[J].国家图书馆学刊,2019,28(3):63-74.
【通联编辑:谢媛媛】
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论