第三章 物件導向序列模型(OOSM)的設計概念
3.2 OOSM物件關聯
OOSM把學習活動定義成由序列物件(SO)所組成的模型,並且將序列規則封裝 到SO之中。而課程架構就變成SO的集合。
定義一:AT = {SO1, SO2, ..., SOn}
根據SO在課程結構中的特性,SO必須要封裝下面的屬性:
1. Parent-Child關聯:用來記錄SO在活動樹中的階層關係,在每一個SO中都
會記錄其上一層的SO,以及包含在內的SO。根據分析的結果,每一個群集都是由 一個父代的SO加上數個子代的SO所構成,因此在每一個SO中,必須要有兩個基本 的屬性,用來記錄這種關聯性:z Parent_SequenceObject:紀錄父代的SO。
z Child_SequenceObjects:紀錄所有子代的SO。
2. Sequence Control Model:影響整個流程是如何的被應用在一個群集上,並
17
且當處理關於順序性的請求時,整個活動是如何被考慮的。
3. Sequence Rules:定義出如何由許多順序性行為去做評估。
4. Objectives:定義出評估一個活動的物件進行資訊。
5. Rollup Rules:藉由評估所有的子活動的資訊,表現出該有的行為。
SO同時也是流程模型的每一個端點(Node)的基礎型別,如果有需要可以透過 繼承的方式,定義新的種類的SO。像是在教學活動樹中,有一些SO並非是用來作 為群集的父代,而是單純使用在Leaf Activity中,用來定義教材內容(content)的序列 規則(sequencing rules)的。這一些SO需要一些擴充的屬性跟行為,用來紀錄在Leaf Activity中的關聯。因此在OOSM模型中,透過OOM的繼承方式,定義出繼承自SO 的Resource物件類別(簡稱RO),封裝在Leaf Activity中的序列規則與教材內容。於 是整個活動樹的層級架構,就可以由OOCM的SO與RO建構出來(參考圖7)。
圖 7. 由SO、RO構成的教學活動樹
RO會繼承SO的特性,因此一樣具備序列規則、教學目標等特性,同時也有幾 個不一樣的地方:
RO中不包含子代的SO,因此只需紀錄父代的SO資訊。
RO中須記錄其關聯的教材內容資訊,因此在RO中必須要提供擴充的屬性。
RO必須要改寫(override)繼承自SO的功能,讓教材內容資料可以存入RO之中。
18
除了SO與RO之外,在每一個群集以及整個活動樹中,也存在學習目標 (Learning Objectives)。在SN的規範中,一個活動可以擁有多個學習目標,每一個 學習目標都可以重覆使用,而且有自己的狀態(參考圖8)。在OOCM模型中,將學 習目標單獨定義成Objective物件類別。教師可以根據不同的教學目標建立不同的 Objective 物件實體,然後再將Objective 物件實體參照到SO或RO中作為區域學習 目標(local objectives),或是設為廣域學習目標(global objectives)。
圖 8. 學習目標
當活動樹建立完成之後, OOCM中定義了Translation 物件類別,以及
Property Mapping Definition (簡稱PMD)的規格轉換教材格式。因為SO、RO、
Objective等物件是根據OOM所建立出來的,因此每一個SO或是RO的物件實體中,
都會封裝跟流程有關的狀態資訊;然後再由Translation 物件讀取這一些狀態資訊,
將流程模型輸出成指定的教材格式。然而,OOCM中的物件模型在未來可能根據 需要,會透過OOM的繼承方式再加以擴充;未來也可能隨時有新的教材標準出現。
因此為了維持OOCM的可擴充性,所以將物件的狀態與教材標準間對應的關係,
定義在PMD中,再由Translation物件讀取PMD的定義,透過SM2CP的過程,將整 個課程轉成指定的格式輸出。
19