MOOC管理平台的设计与开发
2018-12-18吴大非
吴大非
摘要:随着MOOC在高校教学中得到广泛应用,极大地提高了教学质量。但是,对于普通教师来说,MOOC课程的开发和管理技术难度较大,影响了教师积极性。该文提出了一种操作简单、功能实用的MOOC管理平台设计方案,通过该平台能帮助教师轻松地创建和管理自己的MOOC课程资源,有效地应用到教学之中。
关键词:MOOC;课程管理平台;自动生成技术;设计与开发
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)27-0047-03
1 背景
近几年来,大规模开放在线课程(MOOC)在高校教学中得到了广泛应用,有效地提高了教学质量。MOOC平台中不仅提供课程教学视频,还包括课程公告、课程大纲、教学效果分析、在线考试、课后作业、交流讨论等模块,实体课程所具备的要素在 MOOC平台中均能完整地呈现。
但是,限于MOOC开发需要较高的专业技术水平,目前大部分MOOC课程平台都是课程负责单位或任课教师联系专业公司或专业技术人员进行前期制作和后期维护。在MOOC实际制作开发和运行维护过程中,涉及双方交流和沟通等问题,由此造成开发出来的MOOC课程在质量上存在一些问题,例如:MOOC课程建设速度慢、开发效率低下、课程修改难、维护难、更新难,运行维护成本较高。另外,国内外一些公司和大学开发了一些高质量的MOOC管理平台,如美国斯坦福大学的Coursera,清华大学的“学堂在线”,网易公司的网易大学MOOC平台,这些平台功能全面,质量较高。但是,普通教师要通过这些平台来创建和管理自己的课程,供学生网上在线学习,则要支付高昂的平台使用费用。
因此,高校教师迫切需要一个能免费使用的MOOC管理平台,能自主创建课程、设置板块栏目、自动生成课程网站,能够对课程网站进行课件、教学视频等教学资源进行上传,能进行生成考试试卷、答疑、交流讨论及作业批改等经常性、实时性的维护工作。
该文立足于广大高校教师的需求,主要研究如何设计开发一个简单实用的MOOC管理平台,帮助教师轻松地生成和管理自己的MOOC课程网站,减轻教师在MOOC课程开发中面临的技术压力,有效地整合和共享高校教师的课程教学资源,提升大学教学质量。
2 MOOC管理平台实现原理及相关技术
2.1 MOOC管理平台实现原理
要实现让教师在MOOC管理平台中通过简单交互,输入一些文字就能自主定义课程网站结构、自行设置板块栏目;通过单击交互按钮,上传一些课程资源后,能通过管理平台自动生成教师所需的MOOC课程网站,其实现原理主要有如下三种技术方法:
2.1.1 参数法生成
参数法生成是目前MOOC管理平台上自动生成MOOC课程网站的最常用方法,其原理就是通过管理平台操作界面,将用户输入或上传的交互式描述数据(如文字、图片、音频、视频等)进行分类后,存入后台数据库。然后,将数据库中的数据提取出来,替代已有的网页模板中的参数,通过程序接口来自动生成MOOC课程网站。参数法生成需要使用课程管理平台中已有的课程网站模板,需要后台数据库的支持。参数法生成非常适合不具备网站编程开发技术的普通教师,是建立MOOC课程网站的一种简便高效的方法,不足之处就是生成的课程网站是一般是静态页面。
2.1.2 变换法生成
变换法生成,其实现原理是基于某种规则把功能和数据需求,通过一次或多次的转换,得到课程网站生成代码。变换法生成技术,可以动态地进行数据的输出,还可以改变数据输出的顺序,根据转换规则输出添加的计算结果。变换法生成可以处理各种复杂业务层逻辑的动态页面[1]。
2.1.3 过程法生成
过程法生成是一种动态网页生成方法,其原理就是在后台内置了网站代码产生模式的一段程序,过程法生成需要分析生成網页及服务端数据存取代码的结构,最后根据网页操作数据对象的不同来生成不同的网页服务端程序代码[1]。
2.2 MOOC管理平台开发相关理论和技术
2.2.1 架构模式
目前,国内外知名的MOOC管理平台,其采用的架构模式都是B/S模式,即浏览器和服务器网络架构模式。在这种架构下,用户工作界面通过WEB浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
2.2.2 软件设计模式
软件设计模式是指一套被反复使用、多数人知晓,经过分类编目、代码设计经验的总结。使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码的质量。目前,国内外大多数MOOC管理平台的开发,使用的是MVC设计模式。MVC全名是Model View Controller,即模型(model)-视图(view)-控制器(controller)的缩写,它用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互时,不需要重新编写业务逻辑。MVC设计模式十分适合进行web开发,它具有良好的软件架构、复用性和较高的维护性。
2.2.3 编程语言
目前,用于开发MOOC管理平台的编程语言主要包括Python,Java和C#等;另外,用于开发MOOC平台的主流脚本语言包括JSP,PHP和ASP.NET等。
2.2.4 数据库技术
在开发MOOC管理平台时,需要用到一些结构化数据和非结构化数据,对于结构化数据可以通过SQL Server和Oracle等关系数据库管理系统进行存储和管理。对于非结构化数据可以使用非关系数据库管理系统,如Mongo DB 来进行存储和管理,将大量的非结构化数据(图形、图像、视频、音频、动画)等文件的索引和实际物理路径,通过索引服务器保存在 Mongo DB文档数据库中,其具体的物理文件则保存在分布式文件管理系统下对应的文件服务器硬盘中[2]。
3 MOOC管理平台需求分析
软件需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件接口细节,定义软件的其它有效性需求。在进行需求分析时,应注意一切需求都要从用户的角度上考虑,这在一定程度上能决定整个系统开发的成败。
3.1 功能需求分析
通过对国内外知名MOOC管理平台的深入使用来看,这些管理平台的功能主要包括课程公告、课程教学视频、测验与作业、课程考试、讨论区、常见问题、学习进度、后台管理等模块。通过对这些平台仔细分析,发现MOOC平台的功能主要分为三大块:核心功能模块,辅助教学模块和后台管理模块。其中核心功能模块是保证完成教学过程的模块,如课程教学视频、测验与作业、课程考试等。辅助教学模块则是为学习者更好地学习,提供必要的帮助,如学习进度监控、讨论区、学习笔记等,辅助教学模块可以根据实际情况进行增加或删除。后台管理模块主要是让教师能轻松地设置课程栏目,上传及修改课程资源等。
3.2 平台用户角色分析
MOOC管理平台中的用户主要包括三类人员,分别是管理员、教师和学生。
3.2.1 学生用户
学生用户在MOOC平台免费注册后,可以登录平台自主选择课程进行学习。其学习过程一般是:观看课程教学视频→做章节练习题→向教师提问、查看教师解答→参加课程主题讨论→在线参加课程期末考试→获得课程形成性成绩。
3.2.2 教师用户
教师用户主要是通过平台进行创建课程,编辑课程栏目,上传课程各种教学资源(教学视频、课程大纲、习题、课件等),对学生的提问进行解答,批改作业,获取学生学习情况,对教学效果进行分析等教学工作。
3.2.3 管理员用户
管理员用户主要是对教师和学生的信息进行编辑和修改,对用户设置初始密码和权限,发布课程上线公告等。
4 MOOC管理平台系统设计
4.1 系统设计方案
在进行系统方案设计时,通过综合考虑平台的系统兼容性、可扩展性和易于维护性等方面因素,该平台系统采用 B/S 架构,选择J2EE 开发环境和 SSH 架构(即struts+spring+hibernate集成框架)。系统采用分层设计原则,划分为用户视图层、业务逻辑层、控制器层和数据层。另外,在课程视频上传、存储和点播功能实现上,选择了开源免费的Flex5和 Red5 视频服务器技术;系统核心功能MOOC课程的自动生成,则采用文中2.1所述的参数法生成技术来实现。
4.2 系统结构设计
通过前期的系统需求分析,开发团队设计的该MOOC管理平台系统结构划分为十二个功能模块,如图1所示:
4.3 数据库设计
该MOOC管理平台中用到的数据实体主要包括:课程实体(课程id,课程名称,学分,授课教师),课程视频实体(视频id,视频名称,视频文件路径,课程id(FK)),测试题实体(题号id,题干,答案A,答案B,答案C,答案D,正确答案,分值),答疑实体(问题id,提问内容,提问时间,回复内容,回复时间,学生id(FK)),教师实体(教师id,工号,姓名,性别,出生日期,登录名,密码,权限),学生实体(学生id,,姓名,性别,出生日期,登录名,密码,权限),通知实体(通知id,标题,内容,发布时间)等,共有各类数据表26个。详细的实体联系模型(E-R图),因篇幅所限在此不再赘述。
5 系统实现
5.1 开发环境设置
在开发MOOC管理平台系统时,可以根据技术团队的实际情况,选择一些合适的开发工具来进行系统开发,该MOOC平台系统的开发环境如表1所示:
5.2 系统主要功能实现
5.2.1 MOOC平台后台管理
在平台系统中注册后,输入正确的用户名和密码登录后,如果属于教师权限用户,则跳转到MOOC平台的后台管理界面,如图2所示。在该界面中,教师可以创建自己的MOOC课程、编辑课程栏目、进行备课、上传各种教学资料、建立输入习题库、建立试卷库、进行教学效果分析等操作,详细编程代码因篇幅所限,在此省略。
5.2.2 课程栏目设置
教师在系统管理后台中创建一门课程之后,可以对课程栏目进行设置和修改,界面如图3所示。在确定好课程的框架结构之后,系统通过程序代码、采用参数法生成技术,结合平台中已内置的网站模板,将会自动生成MOOC课程网站。
5.2.3 课程栏目内容设置
当课程栏目设置好之后,教师就可以对各个栏目的详细内容进行设置,该MOOC平台主要是通过基于浏览器、功能强大、所见即所得的在线HTML编辑器eWebEditor插件来完成各栏目的文字输入,动画、视频等教学资料的上传与编辑。图4所示界面就是通过eWebEditor插件对MOOC课程课件中的第1讲教学视频进行编辑和上传,其他栏目内容的设置操作过程基本与此类似,不再赘述。
6 系统测试
系统测试是指在规定的条件下对设计开发的软件系统在真实环境下进行操作,对其是否能满足系统设计要求而进行评估的过程。为了保证系统能符合用户的功能需求和性能需求,通常需要进行多方面的测试,测试方法主要包括黑盒测试和白盒测试、功能测试和非功能测试。开发团队在测试过程中使用的测试工具主要包括Apache Jmeter和badboy,图5为该MOOC平台在进行功能测试时的某个测试界面,经过团队的多次全面测试,发现了一些小BUG并进行了修正,最终的测试结果证明该系统的功能和性能达到了用户的要求。
7 结束语
文章中提出了一种MOOC管理平台的设计方案,并选择了合适的开发工具进行了编程实现,最后将该平台上线在学校试用了一个学期,通过师生的反馈信息证明,在该MOOC管理平台中,教师能轻松地创建和管理自己的课程资源,操作简单方便,功能实用。当然,该平台系统还有一些需要改进的地方,比如后期可以通过负载均衡技术对视频服务器进行优化,通过对SQL 语句优化提高平台响应速度等,以此提高平台性能和用户体验。
参考文献:
[1] 胡南湘. 基于改进WebML建模的网站生成系统研究[D]. 长沙: 湖南大学, 2006.
[2] 黄首昌. 面向成人教育的轻量级MOOC平台设计与实现[D]. 长沙: 湖南大学, 2018.
[3] 李霞. 基于MOOC理念的在线学习系统设计与实现[D]. 北京: 北京工业大学, 2016.
[4] 白浩, 李新成. 基于MOOC的教师教育网络课程平台的设计与实现[J]. 中国教育信息化, 2013(21):73-77.
[5] 陈庆章, 张键. 网上课程自动生成系统的设计与实现[J]. 中国远程教育, 2000(11):45-48.
[6] 刘敏, 许伍霞, 任湘. 中英文MOOC平台的对比研究[J]. 新世纪图书馆, 2017(2):43-48.
[通聯编辑:谢媛媛]