SCORM標準的LMS ELearning 學習平臺介紹

 
來自網絡SCORM標準 LMS介紹
  基本上會有幾個子系統:
  1. 賬號管理
  2. 開課、選課管理
  3. 討論板系統
  4. 作業、問卷、測驗系統
  其中最重要的是測驗系統。如果你功力不夠,短時間無法作一個好用的測驗系統的話,可以先 focus 在作業與問卷系統上,而測驗可以參考其它現有程序。. 如果你還想多同步的功能,可以再加個在線討論室。沒時間發展可以使用 Netmeeting 的方案或去找一個聊天室的 source 來改。
  最後一個『必須』要做的,就是有一個『教材步進』機制。看你是要很簡單地用一個 frame,裏頭放個 treeview 來展現教材目錄,或是厲害一點,讓你的 LMS 可以自動 launch 教材,都行。
  把這一切兜起來後,你就完成一個簡單的 LMS。當然,功能你自己還可以自由添加、刪減、修改。別忘了美工也很重要喔!
  因爲 ADL 有提供一份 Java 寫的 adapter 的 sample source,所以如果你會 Java,那就太幸運了,直接拿來用,你就少寫一萬三千多行程序,而且還有國際組織幫你維護程序代碼哩!
  不過這也輕鬆不到哪去,因爲你要自行設計 Database 的 schema 來存 SCORM 的數據,如果你的 LMS 自己沒設計 log,而完全要仰賴 SCORM 所產生的記錄,那麼這個 database 的設計可要花點時間跟腦筋囉!更何況,你必須先看懂這套程序代碼,才能寫它與你的 DB 之間的 bridge code。
  系統在符合 SCORM 之前,已有自己的 log 記錄方式、數據,所以除了 SCORM 它自己記一套,LMS 自己也會記一套,而且記得比 SCORM 還詳細。因此這個部份,作法就只需設計如何記錄 SCO 產生的 cmi 數據即可,不必擔心與原有 LMS 的資料是否衝突。
  這樣一來就簡單多了。因爲一個 SCO 只有一個 cmi data,只要逐個記入 DB table 裏就行了。所以,在 SCORM 兼容上,只需要多一個 Table 即可。
  在 table 的設計上,因爲 cmi 是一個 XML 格式的數據,如果拆成數個部份存,在『拆開存入』與『取出重組』這個部份會影響效能,但所用的數據庫並不是『原生 XML 數據庫』(native XML database),採用『仿真 XML 數據庫』方式,把 cmi 整個 XML 直接存入 field 中,既有原生 XML 數據庫的不必拆組優點,又保有關係數據庫的關聯性。
  歸納起來,你在這個部份就是要去下載 ADL 的 Sample Run-Time Environment http://www.adlnet.org/ADLDOCS/Other/SCORM(TM)Version1_2SampleRTEVersion1_2_1.zip ,並看懂它來設計你的數據庫 schema。
  如果你已經下載了 ADL 所釋出的 Sample Run-Time nvironment,而且決定使用 Java 或 .Net 來實做你平臺的 SCORM 部份,你可能要花不少時間來讀懂它裏面的三十多支 Java 程序,或者至少該知道這些程序該怎麼用。幾乎所有的 .java 程序,都爲了存取 XML 而寫。如果你已經熟讀SCORM RTE 的 Metadata,從檔名你就知道,幾乎是一個 Metadata 就用一支 java 來 take care。從事 java 程序開發的朋友都知道,java 需要自帶 XML 的函式庫,它無法直接使用 OS 所提供的 XML API (如果有的話,例如 windows)。而這個函式庫又超大,因此 java 在 XML 這方面有點先天失利,不過這並非指 java 不適合開發 SCORM,而是我 心目中有比用 java 更適合的對象-就是我在『技術』篇所提到的 SCORM 開發必備技能之二 - Jscript。請注意Jscript,而非 Javascript。這是 Microsoft 版本的 Javascript,它是一個遵循 ECMA-Script 標準的 script language ,除了在 Microsoft IE 底下有完整的 XMLDOM 可用,即使客戶端使用 Mozilla/Netscape 等瀏覽器,Jscript 也可以用標準的 XMLDOM 來實作 SCORM Adapter。
  在講到實作 Adapter 之前,我們先來看看 ADL 的 Sample 裏的兩支重要的 Jscript : APIWrapper.js 與 SCOFunctions.js。
  "APIWrapper.js" 是提供教材製作者,一個呼叫 Adapter API 的接口。教材製作者把這支程序與 Asset 合起來就構成一個簡單的 SCO,只要在教材被 launch 時,使用它的 findAPI() 去尋找 Adapter API,找到後就會有一個 API 的物件可用,而這個物件會 mapping 到 LMS 所實作的 Adapter 上,因此它就會有 RTE 所規範的八個方法 (method),開始供你的教材使用了。
  "SCOFunctions.js" 則是提供一些函式,供 Adapter 或者 Content 來使用。這些函式大部份是有關 SCO 在啓動與結束時,一些狀態屬性的 Metadata 偵測與設定。比如 "cmi.core.exit" 偵測這個 SCO 是正常結束或異常結束;"cmi.core.lesson_mode" 是一般閱讀或是參觀者瀏覽;還有 "cmi.core.session_time" 是記錄這個 SCO 從開始到結束的時間。哦!對了,SCORM 有個數據格式是 CMITimespan,這個是『時間長度』。它精確到小數點後兩位,但 Jscript 並沒有這樣的處理函式 (不知 Java 有沒有),所以必須自己寫個函式來處理這樣的時間加減。這支程序有三個函式:startTimer()、computeTime()、convertTotalSeconds() 可以幫你計算 session_time。它已經被寫在 loadPage() 函式中了,所以你只要在 SCO 啓動時,在 findAPI() 找到 API 後,用 loadPage() 來呼叫 Adapter 的 LMSInitialize(),再使用 unloadPage() 呼叫 LMSCommit() 與 LMSFinish(),你就完成一個 SCO 的最基本要求囉。
  simple sequencing 不僅僅可以應用在描述教材的走向,更可以擴展到整個 LMS 上,換句話說,教材的走向描述,不過是 LMS 走向描述的其中一個分歧。
  那麼,要怎麼利用這個觀念來達成整個 LMS 的 sequencing描述呢?首先你必須先定義幾個大模塊,剛好這些模塊都已經有標準定義,我們就可以直接拿來用:
  1. 學習者(賬號、註冊)系統
  2. 報名、選課、稽覈系統
  3. 課件(SCO)管理系統
  4. 開班、師生指定系統
  5. 測驗、問卷、操作系統 (QTI)
  6. 討論板系統
  7. 實時討論室、在線傳訊系統
  8. 權限控管系統
  9. 內、外信息透通之 Web Service 系統
  全部定義好後,你就可以把這些子系統,當作是 Simple Sequencing 裏頭所指的 resources,用 XML 把它們的流程與內容定義出來。這樣一來,不但學習者的學習活動,從註冊、報名、選課、上課、稽覈,有着明確而標準的流程,而且在客製化上,根本只要改變這個 LMS的 sequencing 描述 XML 檔內容,其它的一概不會動到,真正做到『一檔客製化』。
  這個 LMS Sequencing 的 Resources不只是上述的 9 個子系統,而是任何企業內既有的,符合 Web service 數據交換標準的系統。因此,新版本的系統,程序不一定比較大,因爲這是個軟件組件的概念。這個概念從很早就有了,只是缺乏一個『骨骼、神經』系統來把這些『器官』的連動一氣呵成。
  simple sequencing 剛好就是這個系統的『骨骼、神經』系統,它用 XML 來描述神經元如何脈衝,訊息傳遞,這些步驟可都是標準化、可程序化的。
  因爲 SCORM 它是個『標準』。標準是個『規格』,而且這個規格是一種『隱性』的特徵。我這麼說好了,假設 CNS 食品標準規定食品的大腸桿菌含量必須在 0.1 ppm 以下,你一定得用儀器才測得出某個食品『符不符標準』,光用肉眼看是看不來出的。
  同理,SCORM 是規範 content 與 LMS 之間的溝通,要以什麼 metadata、API 來進行,教材應具備哪些 metadata,這些都不是在前臺顯現,而是在網絡上、在 server 端、在程序裏運作,你要我展示給你看,除非你能化身成一個電子,在網絡、在程序中游覽,你才能『看到』SCORM 運作的過程。
  那要怎樣才知道 content、LMS 已經符合 SCORM 標準了呢?跟前面的例子一樣,你要藉由一個『儀器』來測量。而這個所謂的儀器,就是 ADL 所 release 的 SCORM test suite (最新版本 1.2.2)這個軟件。它可以對 content 與 LMS 進行 metadata 的檢測,以評估這個 content 或 LMS 是否符合它所規範的標準。
  對於 content ,它所進行的就是把 content package 丟給它,它會從包裝、imsmanifest.xml、API caller 等部份來進行檢查;而 LMS 稍爲複雜一點,這個部份分成兩小部份,一個是教材部份,一個是 monitor 部份。啓動 monitor 後,它會提示你把 test content 匯入 LMS,並進行課程。這時,test content 就會跟你的 LMS 進行 SCORM API 的『對話』,並且把結果回報給 monitor。
  一些廠商聲稱他們的 LMS 是符合 SCORM 標準的,就是要提出這個 test suite 之 monitor 所產生的 Log 記錄來左證。而如果你想要『看看』SCORM 相符前後有何不同的話,頂多也只是請對方操作一次 test suite 的測試,真的丟一份一般 SCORM 標準教材,你是看不出任何前後差異的啦!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章