卓權財
(中航工業綜合技術研究所,北京 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