• 沒有找到結果。

OOSM物件規格定義

第四章 OOSM Framework

4.1 OOSM物件規格定義

根據前一章的物件模型,OOSM是由四個主要的物件類型所組成的,詳細的規 格如下:

序列物件

序列物件為構成教學活動樹的主要物件,在OOSM中透過父代的序列物件與子 代的序列物件構成一個活動(Activity)(參考圖9),並由父代與子代的序列物件提供 流程需要的規則:

父代序列物件:定義流程控制模型(Sequence Control Mode)以及累計規則 (Rollup Rules)。

子代序列物件:定義序列規則。

圖 9. 由SO構成Activity

20

因此在序列物件中必須要封裝這些在活動中所需要的資訊,需要封裝的屬性

ParentSequence 序列物件在群集中的父代 Sequence

ChildSeqNodes 序列物件在群集中的子代集合 Sequence集合

IfRollupSatisfied 設定活動追蹤的狀態是否要應用在父代的累計規則 中

布林值

RollupObjMeasureWeight 設定目標正規分數(Objective Normalized Measure) 對於父代的目標正規分數的權重

Decimal

IsForwardOnly 設定子代的序列物件為順序向前執行,不允許回前

一項瀏覽也不允許選擇(Choice)

布林值

CanChoice 設定子代的序列物件流程可以不按順序執行 布林值

CanFlow 設定子代的序列物件為順序向前執行 布林值

CanExit 設定在CanChoice狀況下,是否可以直接離開現在的

活動

布林值

除此之外,在SO中也必須要封裝序列規則Sequencing Rule)。每個序列規則 (Sequencing Rule)由一組條件(Condition)以及相對應的動作(Action)所組成,格式 為:

if [condition_set] then [action]

不同的排序規則將會導致不同的教學流程。課程排序規則中的動作類別可分 為以下三種:

21

1. 先決動作(Precondition Action)

這是一種在學習某活動前的確認動作。根據學生以往的學習狀態,及該課程 學習先決條件來決定該生是否有能力學習此課程;如果條件成立則可學習,反之 則否。表3為先決動作的成員。

表 3. 先決動作的成員

Action Element Description

Skip 可以省略.

Disabled 停止學習活動

Stop Forward raversal 停止向前執行其他流程 Hidden From Choice 隱藏Choice的選項

2. 後決動作(Postcondition Action)

根據學生在該活動的學習狀態來決定之後的課程排序。當完成一個活動的學 習後,後決規則就會被執行。如果能夠滿足後決動作的條件,則後決動作即可被 驅動。表4為後決動作的成員。

表 4. 後決動作成員

Action Element Description

Exit Parent 結束目前活動

Exit All 結束課程

Retry 回到前面的學習活動

Retry All 重新進行前面所有的學習.

Continue & Previous 設定執行下一個跟前一個活動.

(3) 退出動作(Exit Action)

在所有和SCORM相容的教學管理系統(Learning Management System,LMS) 中,當學生將課程中的所有活動都學完後,退出動作將會被執行。藉由設定退出

22

動作的條件,可以決定課程結束的時機。

PreConditionRuleSet 先決條件集合 PostConditionRuleSet 後決條件集合

ExitRuleSet 退出條件集合

ObjectiveSet 學習目標集合

RollupRuleSet 累計規則集合

另外,群集(Cluster)是設計課程序列的最基本單元;而教學流程的改變往往跟 先前的學習狀態息息相關。對於單一的活動,可以很容易評量學生的學習成果;

然而,對於一個群集來說,需要一個累算(Roll-up)的機制來評量學生在這個群集的 學習狀態。根據SCORM 2004中的定義,累算規則的結構為“if [condition_set] True for [child activity set] then [action]",如圖10所示,當所指定的子代活動(Child

Activity Set)之狀態皆符合累算條件時,群集的狀態就可被設定。因此累算的規則 一樣定義成一個單獨的RollupRuleSet集合,封裝在SO之中。

圖 10. 累算規則的架構 (SN 2004)

23

每個活動中都有數個學習目標,在OOSM當中,無論是區域的學習目標,或是 廣域的學習目標,都是封裝到SO中;因此定義了ObjectiveSet的集合,用來儲存學 習目標。

在表6中列出的是SO必須提供的方法(Methods):

表 6. Sequence物件具備的方法

方法名稱 用途

AppendChild /RemoveChild 新增/移除 子代的SO

AddSeqRule/RemoveSeqRule 新增/移除 流程規則(先決、後決或退出條件) AddRRRule/RemoveRRRule 新增/移除 累計規則

AddObjective/RemoveObjective 新增/移除 學習目標

資源物件(Resource Object)

在OOSM中,Resource物件(RO)的用途,就是用來封裝Leaf Activity的狀態資 訊的。Leaf Activity除了需要有流程的定義之外,還需要跟Content關聯。因此在 OOSM中,透過物件導向的繼承觀念,從SO衍生出RO物件。在RO中,我們必須 要改寫(Override)一些繼承而來的特性:

z RO為活動樹流程的最末層,因此ChildSeqNodes屬性值為Null。

z RO不需要提供AppendChild/RemoveChild的動作

除此之外,RO也需要定義一些擴充的屬性(參考表7)以及方法(參考表8)。

24

表 7. 資源物件的屬性列表

屬性名稱 用途說明 資料型態

ResourceType RO所關連的Content種類 字串

IsSCO RO所關連Content是否為Sharable Content Object 布林值

Href RO所關連的資源位置 字串

Files 其他相關檔案位置 字串集合

表 8. RO擴充的方法

方法名稱 用途

AddContent /RemoveContentFile 新增/移除 RO中的相關檔案

目標物件(Objective Object)

在每個活動都會有數個學習目標(Learning Objective)。學習目標可分為兩類:

區域目標(Local Objective)跟廣域目標(Global Objective)。區域目標只能被隸屬的活 動所參照,其他活動無法對其作任何存取的動作;廣域目標則不同,它可以被許 多個活動所參照,可應用來設計更為複雜的教學流程,參考圖11。因為每個學習 目標都有自己的狀態資訊,而且可以重複使用。因此在OOSM中定義了Objective物 件,用來封裝學習目標的資訊。Objective物件需要封裝的屬性如表9。

25

圖 11. 學習目標 表 9. Objective物件的屬性

屬性名稱 用途說明 資料型態

ObjectiveID 用來識別Objective的屬性 字串

IsGlobal 是否為廣域目標 布林值

IsSatisfiedByMeasure 設定MinSatisfiedMeasure屬性值是否參予目標 值的計算

布林值

MinSatisfiedMeasure 目標達成的門檻 字串

IsContributesRollp 設定當累計(rollup)計算時,需不需要使用 MinSatisfiedMeasure屬性值和目標達成狀態 (Objective Satisfied Status)

布林值

轉換物件(Translation Object)

轉換物件的用途,主要是用來執行SM2CP的過程。因此當每個轉換物件建立 時,都需要匯入對應的屬性對應定義(Property Mapping Definition,PMD ),將SO所

26

封裝的屬性資料轉換成教材的流程定義。Translation物件所需要提供的屬性參考表 10:

表 10. 轉換物件的屬性

屬性名稱 用途說明 資料型態

TransID 用來識別Translation物件的屬性 字串

PackageType 教材格式名稱 字串

PMD 屬性對應定義資料 Xml Document

而轉換物件必須提供Parse方法(參考表11),傳入SO之後可以根據所參考的 PMD定義,建立教材。

表 11. 轉換物件所提供的方法

方法名稱 用途

Parse 執行SM2CP的動作

相關文件