卓权财
(中航工业综合技术研究所,北京 100028)
SCORM标准课件制作与运行平台设计实现
卓权财
(中航工业综合技术研究所,北京 100028)
[摘要]提出并设计实现了一个具有自主知识产权的基于SCORM标准的训练课件制作与运行平台,实现了课件的素材收集、制作、运行、学习全流程的功能。
[关键词]SCORM;训练;课件;共享内容对象参考模型
[收修订稿日期] 2015-09-23
随着互联网的蓬勃发展,在网络上传播及学习知识越来越方便容易,网络成为当前信息和知识传递最便捷的一个平台,基于网络的远程教学迅速成为当前学习培训的主流方向。但是,随着远程教学的逐步发展,一些问题也开始显现,比如现有的学习课件缺乏统一的格式和结构,不能在各个网络教学资源中进行共享,无法进行资源重用;不同的教学系统使用不同的内容格式,各个单位独立开发的课件管理系统和训练学习系统之间无法进行信息交流,无法记录学员的学习状态和进度。出现这些问题的根本原因在于课件技术标准的不统一,使得远程教育理论上的优势在现实中难以很好的体现。
SCORM(可共享内容对象参考模型)的制定解决了这些问题。一个符合SCORM标准的课件,可以在任何符合SCORM标准的平台上使用;随着需求的发展,系统功能可能发生变化,只要SCORM标准的版本不发生更改,课件就不需要重新制作或重新编写运行程序;而SCORM课件的最大特点在于可以记录学员的学习记录,提供了一个标准的接口用于记录学员的学习状态,任何符合SCORM标准的平台都能很容易地跟踪和记录每个学员的学习进度、学习成绩、学习状态、学习时间以及学习交互等状况。
训练课件制作与运行平台(下文简称平台)是以SCORM标准为基础,采用当前主流的IT技术和架构,自主研发的课件制作和运行平台,已经在某型号飞机的理论教学中进行使用。
可共享课程对象参照模型(Sharable Content Object Reference Model,SCORM)[1]标准起源于1997年,由美国白宫科技办公室与美国国防部所共同推动的ADL先导计划(Advanced Distributed Learning Initiative,ADL)中提出,希望通过“教材重复使用与共享机制”的建立,缩短教材的开发时间、减少开发成本、促进其能在各学习平台中互相流通。是目前使用范围最广、应用性最强的网络课程标准之一。
SCORM标准主要包括3方面的内容:“内容聚合模型(Content Aggregation Model,CAM)”[2]、“编序和导航(Sequencing and Navigation,SN)”[3]和 “运行时环境(Run-time Environment,RTE)”[4]。
SCORM内容模型描述了从学习资源中用于构建一次学习体验的SCORM组成部分。内容模型也说明了这些低水平可共享学习资源是如何聚合成高水平教学单元的。SCORM内容模型是由微单元、可共享内容对象和内容体系结构组成的。
编序和导航描述了符合SCORM的内容对象如何通过一系列的学习者或系统发起的导航事件来编序。内容对象的分支和流程可以通过在设计时预先定义一些有代表性的活动来描述。编辑和导航还描述了符合SCORM标准的学习管理系统(LMS)是如何根据学习者发起(或系统发起)的导航事件及其对运行时间环境的影响来解释排序规则。
SCORM运行时环境(RTE)描述了通用的内容对象运行机制,内容对象和LMS之间的通用传递机制API,以及跟踪学习者体验内容对象的通用数据模型。运行时环境:内容对象的运行SCO (Sharable Content Object,SCO)和 Asset(微单元),和SCO交流管理,运行时环境数据模型管理;应用编程接口(API):LMS API(Application Programming Interface,应用程序编程接口)要求、SCO传递要求、传递错误控制;运行时环境数据模型:数据模型管理和行为要求、数据要求。
2.1 总体框架
平台的体系架构见图1。
图1 体系架构图
平台采用B/S多层模式结构,从而保证了平台具有良好的可维护性、可扩展性。为了贯彻平台灵活性的要求,将主要的业务逻辑与数据库操作封装在JavaBean中。平台分层可分为用户界面层、业务层和数据模型层。这3层是互相分离的,降低了各个层次之间的耦合性,有利于平台中的各层进行扩展。
● 用户界面层
界面层是B/S架构的Web应用程序,使用J2EE + JSP + JFinal + EasyUI技术开发用户界面;
● 业务层
业务层由业务逻辑实现、对外接口、服务调用等部分组成,在平台中使用JFinal框架,并基于JFinal框架上架构系统服务层。
● 数据模型层
数据模型层即数据访问层,该层封装了平台中所有的数据库读写访问操作。JFinal框架提供了一个轻量级的数据库ORM(Object Relational Mapping,ORM)机制,本平台中的数据模型层将在JFinal框架ORM数据访问层基础上进行构建。
2.2 平台功能组成
平台包括素材管理、课件管理、课件打包、课件学习、用户管理、导入/导出等8大功能模块。
平台功能组成见图2。
图2 功能组成图
素材管理是对文本、图像、动画、音频、视频等多媒体文件的集中管理,包含上传、下载、删除等功能,用于实现在不同课件中的资源共享。
课件管理模块中提供了课件的全新创建、导入SCORM创建课件、课件内容完整性校验、课件预览和课件导出等功能。
课件制作主要用于学习课件的制作,包括组织结构树、元数据、编序、课件资源等的新增、编辑、删除等功能。
课件打包用于将相应的课件从数据库中获取并生成符合SCORM标准的课件包。
课件运行用于使用RTE以交互的方式运行课件内容。
课件学习用于学员对课件进行学习。
用户管理功能是用于管理使用系统的用户信息。
导入功能中实现了将标准SCORM课件包导入到系统中,导出功能则是将系统中的课件内容导出成标准的SCORM课件包。
2.3 平台数据库设计
平台数据库使用Oracle 10g。数据库主要分两大部分:内容管理库和学习管理库。
● 内容管理库
内容管理主要涉及素材和课件。素材包括编码、名称、密级、状态、版本等基本信息,以及包含素材文件、素材引用内容;素材文件使用文件内容表来存放,其包括文件标识、流文件大小、流文件内容、序号等基本信息。
课件包括名称、编码、密级、适用人员、分发状态、飞机批架次、责任人、责任单位等基本信息,并拥有编序、资源、元数据、内容组织等子模块信息;编序包括目标、投递控制、随机控制、汇总规则、控制模型、限制条件、强制选择设置、编序规则、汇总设置等信息;资源包含标题、类型、内容类型等信息;元数据包括通用、技术、生存期、元-元数据、权利等信息;内容组织包括默认内容组织、目标全局、结构、标题等信息。
● 学习管理库
学习管理围绕已经分发的课程进行。学员从接收课件学习开始到学习完毕用学员课件状态来存储整个动态过程;学员对某课件的学习记录用课件学习记录表存储;针对某个课件的学习过程中产生的学习笔记采用学习笔记存储。
3.1 课件制作
在平台中,课件数据存储在数据库的不同表中,涉及的数据模型有:课件基本信息、固化课件对应的内容引用信息、课件资源信息、课件活动信息、元数据信息、内容组织信息、编序信息,每个数据模型都包含相应的XML(Extensible Markup Language,XML)片段。
由于在编制的过程中使用的是实体对象而数据库中的保存是XML片段,所以在课件的制作和保存过程中,需要使用实体对象转换器对其数据进行转换;课件制作完成后可以通过课件生成服务生成相应的课件包。其过程见图3。
图3 课件制作流程图
3.1.1 课件包的组成
符合SCORM 标准的课件是以PIF(Package Interchange Format,包交换格式)的形式交付的,一般被称为课件包,其中包含了课件内容相关的所有文件。一个包指定了一个学习单位,可以是课程的一部分或一个课程。课件包内需要包含一个清单文件和一些物理文件。物理文件就是实际的课程内容、媒体、评估(测验)、XML 名称空间定义等一些文件,其结构见图4。
图4 课件包结构图
3.1.2 实体对象转换器
由于课件存储在数据中的是XML片段,而在平台中对课件的制作需要用到的是实体对象,所以必须使用实体对象转换器进行相应转换和解析。在课件编制的时候,通过实体对象转换器根据各个对象的XML片段解析成DOM对象,然后根据DOM对象构建成实体对象并传递给编辑控件;在课件保存的时候,将从编辑控件中获取的属性值转换成实体对象,然后根据实体对象构建成DOM(Document Object Model,DOM)对象,最后将DOM对象转换成XML片段,其流程见图5。
3.1.3 课件包的生成
图5 实体转换流程图
在课件制作完成后,可以通过课件生成服务,生成符合SCORM标准的课件包,其过程如下:
● 判断是否有缓存
生成课件包前,先调用文件缓存服务,查看该课件是否已经有缓存的课件包,如果则直接获取缓存的课件包;如果没有缓存,则开始生成新的课件包;
● 完整性检测
先对课件的内容进行完整性检测,如果不符合要求则给出详细的错误信息并终止生成;
● 获取数据
检测通过后,根据需导出的课件从数据库中获取相关的元数据、组织数据、活动数据、编序数据、资源数据,并根据获取的数据构建出课件树;
● 文件组织
获取完数据后,调用模板复制模块,复制生成清单文件所需要的schema文件,并根据预览引用资源模板组织文件;
● 导出引用资源
模板复制完成后,调用导出引用资源模块将该课件所引用到的资源全部导出到指定的目录;
● 生成清单
调用生成清单模块将上述模块获取的课程树、内容组织架构、元数据、编序和所涉及物理文件来源等信息用一个XML格式的文件进行描述,并产生一个清单文件;
● 打包文件
调用文件打包模块将所有文件打包形成所需的课件包。
3.2 课件运行及状态跟踪
学员登录平台后可以进行课件学习,在学习的过程中平台会跟踪和记录学员的学习进度、学习成绩、学习状态、学习时间以及学习交互等状况,其过程见图6。
图6描述的学习过程是:
图6 学习流程图
● 获取课件列表
学员通过课件学习界面请求获取课件列表,学习控制器会根据学员的信息,调用学习数据服务获取该学员的所有课件信息,并根据学员的学习情况设置课件的学习状态信息,学习状态包括“已完成”、“未完成”、“逾期未完成”这3种状态。
课件学习界面根据学习控制器返回的课件信息,动态设置每个课件的学习按钮,如果是“已完成”和“逾期未完成”都只显示复习按钮;如果“未完成”,只显示学习按钮;如果是复习,则表示课件运行的过程中不进行学习状态的跟踪。
● 获取课件活动树
学员选定某一课件请求学习,课件学习界面会先调用RTE控制器获取该课件的活动树信息,如果该课件有多个活动树,则需要学员选择当前学习的是哪一个活动树。
● 初始课件学习界面
学员选择完活动树后,平台会开始初始化API适配器,API适配器初始化后会调用RTE运行API的初始化;并根据运行类型设置课件学习界面的标题和决定课件的访问方式。运行类型有两种,学习和复习。如果运行类型为学习,则学习界面标题为“课件学习”,运行访问模式设置为跟踪学员学习状态信息;如果运行类型为复习,则学习界面标题为“课件复习”,运行模式为复习,不对学员的学习信息进行跟踪。
RTE运行API初始化完成后会根据活动树加载编序和活动数据,并根据学员课件活动学习进度信息设置课件活动的完成状态和当前的活动。学员课件活动学习进度信息用来记录每个学员的每个课件的活动学习进度,借此记录可以获取每个用户最后一次学习的是哪一个活动,以便下一次重新进入该课程时可以直接跳转到上次学习位置继续学习,相当于书签的功能。
● 课件学习
学员开始学习当前课件,平台将会记录学习的开始时间。在学习的过程中,平台会记录一系列的数据,用于学习跟踪。
● 学习结束
当学员结束学习的时候,平台会记录学习结束时间,并根据开始和结束时间计算课件学习所花的总时间;平台将相关数据修改并保存。
本文设计和实现的基于SCORM标准的训练课件制作与运行平台,适用于各种培训,实现了完全符合SCORM标准相关要求的课件制作、课件打包、课件学习。通过本平台制作的课件包可以在任何符合SCORM标准的平台上运行,目前已经在某型号飞机的培训中正式应用。
[参考文献]
[1] ADL SCORM 2004 3rd Edition Overview [S]. 2008.12.
[2] ADL SCORM 2004 3rd Edition Content Aggregation Model 1.3 [S]. 2008.12.
[3] ADL SCORM 2004 3rd Edition Sequencing and Navigation 1.3 [S]. 2008.12.
[4] ADL SCORM 2004 3rd Edition Run-time Environment 1.3 [S]. 2008.12.
(编辑:劳边)
[中图分类号]TP391
[文献标识码]C
[文章编号]1003–6660(2015)06–0011–05
[DOI编码]10.13237/j.cnki.asq.2015.06.003