• 沒有找到結果。

題型樣版元件介面規格

在文檔中 元件式互動題目編輯系統 (頁 28-39)

第三章 基礎題型樣版元件(ITCBean)

第二節 題型樣版元件介面規格

在本研究中,我們所定義的 ITCBean 是架構在 JavaBean 的軟體元件 規格底下發展而成的,在 ITCBean 和 Actor 之間的關係如下圖。在軟體元 件內部所提及的 Component 以及 Container 的關係就如同下圖 13,一個 Component 是可以被 add 到 Container 之中來被使用,而一層一層的關係都

屬於 Container 以及 Component 的架構,所以 ITCBean 以及 Actor 亦屬於 此種關係。針對 ITCBean 而言,本身是 Container 而 Actor 是他的 Component;

針對 ITIS 而言,本身是 Container 而 ITCBean 是他的 Component。

圖 13 樣版關係示意圖

JavaBean 有著三個重要的部份,屬性(property)、事件(event)、方法 (method),而我們根據此元件的這三個特點將 ITCBean 元件的介面規格模 組制定如下:

1. Method for Actor initial:透過像 addImageActor(String,int,int)這一類 的 method 來使得開發 ITCBean 的開發者可以快速而且更容易的新 增一個演員到 ITCBean 裡。

2. Method for mouse control:預留滑鼠控制的方法使得開發者得己利 用簡單的 override 便可新增自己的滑鼠控制事件。方法如下:

public void addMousePressed (MouseEvent e) {}

public void addMouseDragged (MouseEvent e) {}

public void addMouseReleased (MouseEvent e) {}

public void addMouseClicked (MouseEvent e) {}

z Method for Actor mouse control:預留演員與 ITCBean 之間的滑鼠互 動關係,當演員有滑鼠事件產生時便會執行 ITCBean 的

childMouse 方法,開發者只需簡單的 override 即可成功改寫。方 法如下:

public void childPressed (MouseEvent e, Actor child) {}

public void childDragged (MouseEvent e, Actor child) {}

public void childReleased (MouseEvent e, Actor child) {}

public void childClicked (MouseEvent e, Actor child) {}

z Method for Item input/output:這個部份包含著 open( ) 和 save( ) 兩個方法,主要是針對試題的 input 及 output 的方法做實作,負責 讀寫 ITCBean 的 property 以及 actor 的部份。而方法內部的連結 架構更是充份運用 component and container 的概念,圖示如下圖 14。

圖 14 檔案流程

在 Framework 點選欲開啟的試卷,在讀取欲開啟的 ITCBean 時便會去 call ITCBean 的 open( ),而 ITCBean 的 open( )內部除了先 readProperty ( )之後便會執行 readActor ( ),而 readActor ( ) 即是 call Actor 的

openActor ( )。如此的一層一層的關係即是 component and container 的架 構。

z Method for Test log: 這個部份包含了自動判題的 result ( ) 以及作 答行為紀錄的 actionRecord ( ) 兩個方法。在自動判題時己內建有 判題的方法,假使開發者有其它需求更只需要簡單的 override 即 可成功改寫。行為紀錄的部份則是將作答者從進入這個題目便開 始紀錄所有和題目有關的動作以便之後進行分析以及利用。

z Property:

„ 內部方法:可以直接利用 method call 的方式去呼叫 getProperty() and setProperty() 等方法,來達到參數化的目

的。適用於題型內部預設參數化時。

fontColor getFontColor ( ) setFontColor (Color )

fontStyle getFontStyle ( ) setFontStyle (Font )

imageWidht getImageWidth ( ) setImageWidth (int )

imageHeight getImageHeight ( ) setImageHeight (int )

Score getScore ( ) setScore (int )

bgImage getBgImage ( ) setBgImage (String )

Mode getMode ( ) setMode (String )

linkline getLinkLine ( ) setLinkLine (String )

z Method for Test management: 內部包含著 testTime 和

itemShowTime ( ) 之類的方法。testTime 為限定作答的時間,

itemShowTime ( )則是希望題目可以讓受測者看幾次即強迫該題 作答結束。

z Method for interactive:內部包含所有互動式的方法,例如:Drag and Drop、Collide、Overlap 等。未來開發者可以再新增互動式的方法 於 ITCBean 來使用。

圖 15 ITCBean 的介面規格模組

一個標準的 ITCBean 是包含有如上圖 15 所列的 8 大部份。下圖 16 即 是 ITCBean 以及 ITIS 的運作關係圖。

圖 16 ITCBean 和 ITIS 的運作關係

由上圖可以清楚的了解,ITIS 可以實例化一個 ITCBean 並且針對它來 做初始化的動作,初始化完成會 add 到 ITIS 本身的 Container 上,而使用 者可以透過滑鼠事件或者互動式的方法來改變一個 ITCBean 的狀態,並且 ITIS 可以透過 ITCBean 內部的自動閱卷方法來取得成績結果,最後可以透 過 save ( ) 的方法來得到欲儲存的資訊字串。

而在 ITCBean 之中會有 Actor 加入而形成一個題目,ITCBean 和 Actor 的關係就是一層 Component and Container 的關係一樣,而 Actor 的介面規 格模組說明如下:

z field for Actor Property:內容包含 Actor 的屬性,例如:Name、Path、

Width、Height 等,每個演員都會有固定的屬性欄位,而 extends Base Actor 的 Actor(如 ImageActor)就保有基本的屬性,這樣可以使演員 元件的管理上有更著實的效益。 container 間的相互連結關係是一種各自分工的方式互不隸屬,

component 是 container 相反的 container 也是 component。重點取 決於所扮演的角色不同。

z method for Actor mouse Control: 這裡包含著演員本身的滑鼠事件 方法,當演員的滑鼠監聽器監聽到有事件時,便會來執行所對應 的方法,保留這些方法目的是為了讓開發新演員的開發者可以透 過簡單的 override 便可以新增演員的滑鼠事件。而滑鼠事件的方 法如下:

public void addActorMousePressed (MouseEvent e) {}

public void addActorMouseDragged (MouseEvent e) {}

public void addActorMouseReleased (MouseEvent e) {}

public void addActorMouseClicked (MouseEvent e) {}

z method for interactive: 演員和演員之間也有內建互動的方法,例 如:

checkCollide ( )就是確定在同一個 container 內部的演員有無互相 碰撞。

checkExitPanel ( )就是確定演員有沒有超出 container 的畫面範圍。

圖 17 Actor 的介面規格模組

一個標準的 Actor 是包含有如上圖 17 所列的 6 大部份。下圖 18 即是 Actor 以及 ITCBean 的運作關係圖。

圖 18 Actor 和 ITCBean 的運作關係

上圖可以很清楚的了解,一個 ITCBean 是可以實例化 Actor 並且針對 實例化完成的 Actor 做初始化的動作並且 add 到 ITCBean,而且可以讓使 用者透過滑鼠事件以及互動方法來做狀態改變,而最後可以透過

saveActor ()來取得欲儲存 Actor 的資訊字串。

定義這些規格介面目的是可以藉由這些介面讓 Actor and ITCBean 可 以相互溝通,並且 ITCBean and ITIS 可以相互溝通。下圖 19 為 Actor 的 系統架構。

圖 19 Actor 的系統架構

完整的基礎題型樣版元件以及演員的內部物件關係的 UML 圖如下圖 20。

圖 20 ITCBean 物件間 UML 圖

在文檔中 元件式互動題目編輯系統 (頁 28-39)

相關文件