以物件導向方法描述網路電腦輔助教學模型

以物件導向方法描述網路電腦輔助教學模型

以物件導向方法描述網路電腦輔助教學模型<?XML:NAMESPACE PREFIX = O />

Using object oriented method in network CAI model

林敏慧、黃正魁、汪柏*、陳慶帆*

淡水學院資管系、淡江大學資工所*

臺北縣淡水鎮真理街32

[email protected] , [email protected], lmh@ jupiter.touc.edu.tw

 

摘要

  近年來的網路科技迅速進步,對於網路資源蒐集變得更加容易,而傳統的電腦輔助教學(Computer assisted instruction)系統所缺乏的是教學資源的更新,因此多元的教材就可以藉由全球網路來相互傳遞。探討教學資源的互相傳遞可以說是教材的重複使用,如何能讓電腦輔助教學的資源再使用,就必須將物件導向的方法導入電腦輔助教學過程的架構中,此方法中將教學的流程切割成一個一個的元件,並使用 Unified Modeling Language(UML) 的技術來規劃每一個流程所產生的元件,另外在元件的重複使用實作方面,只要在網路上遵循着 Common Object Request Broker Architecture (CORBA)Distributed Component Object Model (DCOM)的規格來製作出教學資源元件,並且下傳到自己的或是其他人的教學系統中,就可獲得豐富的教學資源,廣泛地增加系統的可看性。

 

ABSTRACT

  The renewal of instructive resources is lacking for the traditional CAI systems. And in recent years ,the sapid advancement of Internet technology has brought about the easy collection of resources on Internet ,so the diverse instructive materials can be passed through the Internet for each other. To discuss the passage of instructive resource is to discuss the reuse of the instructive materials ,whenever we want to reuse the resources of CAI systems ,we must take the object-oriented method into the architecture of constructing CAI systems. In our thesis ,we partition the whole teaching process into several individual objects ,and we use the unified modeling language (UML) to design the object for every corresponding phase in the teaching process . We just obey the specification of Common Object Request Broker Architecture (CORBA) or Distributed Component Object Model (DCOM) to implement the instructive objects ,then we can achieve the reuse of objects . And thereafter ,we can download these objects to our own on others CAI systems ,such that we all can get the abundant instructive resources and raise the value of CAI systems.

 

關鍵字

Use CaseUMLCAIObject OrientedJava

 

1. 前言

  美國電腦教育學家 Bork 1978年時曾預測 :「到西元 2000年時,各級學校及幾乎各類科的主要學習方式,將是透過電腦的互動學習來進行」,由此可以預期電腦輔助教學在未來帶給授課者和學習者更多的和更容易的資訊,有效地整合了動畫、影片、音效、聲光、文字等各種多媒體的材料,但這些多媒體資源卻往往是無法流通的,原因可能是這些教學資源都盡侷限在一定區域的系統使用者在使用,不可否認的這些資源可以重新使用在其他的系統中,所以將這些教學資源包裝成元件,放在網路上給其他的系統開發者再使用,是可以因此達成教學資源的多方面流通。電腦輔助教學的元件規劃是以物件導向爲背景,要如何去規劃這些元件達成再使用的好處,可以藉由 Grady BoochIvar JacobsonJames Rumbaugh 等人所訂出的 UML 來規劃,並且以 UML 中的 Use Case 來說明整體系統的運作。Use Case 在物件的領域中已實用多年,主要是將系統中的行爲或者傳遞的訊息用詳細的方法來說明,而 CAI 不啻是一套電腦輔助教學系統,論文中將說明如何使用 Use Case 來規劃 CAI 系統。

 

2.比較傳統 CAI 和物件導向式 CAI 的流程規劃

  以目前 CAI 系統在網路上運用的程面來整合規劃,都會比較強調人機介面的整合。一般來說只要使用者啓動使用端的瀏覽器,不論在何時、何地都可以上網際網路來呈現出教學內容的撥放,如此這些系統的教學資源都一一整合成多媒體檔案或是資料庫,往往這些資料都僅定位在區域性(Local),這樣的系統規劃方式可以讓使用者共享伺服端的資源,卻無法達到和其他伺服端內教學資源的共享。

  另外,在系統開發規劃當中比較欠缺一致的擴充性,以目前資料庫的方式而言,都會較以關聯式的方式來策動一個系統的資料庫,並且藉由個體關聯模式(entity-relationship model)的設計法來規劃、說明系統的資料庫,而系統教學的檔案也都由樹狀方式來存放資料,往後的管理者會比較難去維護系統的資料。而如果改由以物件導向的方式來規劃一套 CAI 的系統,不管是系統中開發出的程式,或是以物件導向爲背景的資料庫 ODB ,都會易於開發者的管理與維護,而且這些資源經過CORBADCOM 的方式封裝起來後,都還可以在不同異質的系統下進行元件的重複使用,不論在任何網路系統下教學資源都可以互相傳遞,而且在三層式的架構下,中介層的元件管理和控制都會有相當的利用,降低其他層的控制負擔。

 

3.Use Case 的研究方法

3.1.Use Case

  在本質上來說,Use Case 是一個介於使用者和電腦系統的實體互動表示法,也可以用下列幾點來說明 Use Case 的所代表的特性:

?Use Case 是可以獲得一些使用者能夠看到的函數。

?Use Case 是可能依系統的結構來表示成小或大。

?Use Case 是可以讓使用者達到他們個別的目的。

?Use Case 是一種功能分解的技術。

綜合以上幾點來看,Use Case 技術很容易使用,但也很容易誤用,必須用得正確才能在系統開發時獲得較高品質的需求規格,而 Use Case 不是僅僅「表達」需求而已,Use Case 還可以尋找及定義系統的需求。

 

3.2.敘述 CAI Use Case

  現在就以目前的網路電腦輔助教學系統來實例說明如何使用 Use Case 來整體規劃系統。BP(business process)企業程序,爲一連串符合系統的動作,幾乎使用 Use Case 開發出的系統都會遵循此原則,其原則包含了:爲一序列的服務和必須滿足系統的期望。先將CAI 的流程以企業程序動作來說明:

使用者透過 TCP/IP 通訊協定的方式進入全球資訊網,以瀏覽網頁的方式連結到電腦輔助教學系統,並且在進入系統前接受系統的安全認證,然後選擇要參與學習的科目,再來藉由 HTMLXML 或者 ASP 的互動方式來呈現教學的內容,使用者可以切換教學網頁來進行上課內容傳授。當教學輔助系統告一段落後,使用者不需更換介面環境,只需切換至另外一個網頁,進入智慧型的適性測驗系統,直接在線上接受測驗,並且可以按每位學習者的學習效率和程度立即得到答案和課後評語,而後使用者也可以在線上(BBS)和一同上課的同學進行心得交換,不瞭解的地方也可以在線上或者使用電子郵件(Email)和老師討論。

 

上述的執行電腦輔助教學說明將以 Use Case 技術來表達說明,敘述如下:

Use Case :電腦輔助教學

     使用者端            系統服務端

1.進入教學系統

2.輸入使用者姓名和密碼

                     3.審覈使用端身份

                     4.與使用者端的簽證做確認

5.選擇上課的科目

                     6.按使用者的屬性產生教學內容

                     7.展示電腦教學內容

                     8.再針對使用者屬性產生題庫

                     9.進行評量

                     10.互動式交談和課後討論

11.使用者離開系統

                     12.紀錄使用端的學習資料

  總體而言,以上的 Use Case 模型只是希望能讓開發者更易於瞭解 CAI 系統的規劃流程,論文中僅舉例說明小部份的系統功能流程考量,也許開發小組有新的想法(Idea)再浮現而一直加入下去,必須花許多時間直到達成每位參與人員有所共識才可,也就是說明了 BP已達到一個理想的境界。爲何要進行如此討論的抽象工作?因爲越多次的討論結果,更會找出電腦輔助教學系統的本質,而且較少次的 CAI 系統描述,日後的重用(Reuse)機會越大;越低層次的抽象結果,包含較多的細節和現況限制,日後重用的機會就會降低。在開發完專案後,所有的抽樣層次討論結果都可以保留下來,供給日後如果有相同類型開發軟體的專案重新使用,相似性高的專案可以重用到較低層次的討論結果;而相似度低的可以重用較高層次的討論結果。

  說明 Use Case 來規劃系統後,就可以更進一步使用 UML 中的循序圖(Sequence diagram)來詳細說明出整個教學系統執行的動作和過程:

 <?XML:NAMESPACE PREFIX = V />oocai.1.gif

圖一:CAI 的教學流程循序圖

 

  UML 下的循序圖裏有四個主控物件,而 UML 中的類別圖(Class diagram)可以更加說明四個物件之間互動的屬性和動作並且將四個物件成員列表解釋:

oocai.2.gif

圖二:四個物件的類別圖

 

類別名稱

類別成員

成員說明

Identify

Uname

傳入使用者輸入辨識的代號

 

Password

傳入使用者的辨識密碼

 

Exe_query

對使用者身份資料庫下詢問的指令

 

Open_table

開啓辨識在異質資料庫中使用者身份的 Table

 

Class_id

對每個identify物件做編號,主要可以易於統一管理

 

Check()

確認使用者身份,經過比對後傳回結果以迴應於畫面上

Classes

Class_id

紀錄課程類別代號

 

Keyword

課程內容的關鍵字,紀錄使用者上課的主要內容

 

Class_type

紀錄本課程的型態

 

Show_method

展示課程媒體的方式如:文字、聲音或影像

 

Showed_time

本課的展示次數,藉此可以得知每章節受歡迎的程度

 

Create_onclass()

當使用者選定課程主題後,程式負責排列課程順序

 

Show_onclass

排定課程後負責依序展示課題內容

Testing

GUID

產生每一個測試元件的唯一辨識碼

 

Media_type

展示測試媒體的媒體型態

 

Keyword

本次測試內容的主要課題,可產生針對主題的測試題目

 

Test_no

紀錄每一個測試題目的編號

 

Used_time

每一個測試題目的使用次數

 

Get_right

紀錄答對本題目的人數,藉由此計算客觀的題目困難度

 

Test_ans

本題目的正確解答

 

Ans_detail

詳細解題說明

 

Pretest()

測試初試者的程度,藉此可以再調整使用者的程度

 

Create_examquestion()

產生考題

 

Show_examquestion()

展示考題內容

Analysis

Test_no

試題分類代碼(IRT mode)

 

Test_attribute

試題屬性(IRT mode)

 

Test_style

試題題型(IRT mode)

 

Difficulty_index

試題難度指標(IRT mode)

 

Discrimination_index

試題鑑別度指標(IRT mode)

 

Twice_coefficient

試題二系列相關係數(IRT mode)

 

Point_coefficient

試題點二系列相關係數(IRT mode)

 

Test_trust

測驗的信度(IRT mode)

 

Effect

試題效度(IRT mode)

 

Response_identify

試題反應理論之鑑別度(Classic mode)

 

Degree_difficulty

試題難度(Classic mode)

 

Surmise

試題猜測度(Classic mode)

 

Exe_IRTmode()

執行項目反應理論(item response theory)來分析使用者

 

Exe_Classicmode()

執行古典測量理論來分析使用者

 

3.3.使用 Use Case 規劃的總結

  不論任何一套系開發前期使用 Use Case ,都必須先了解開發系統的本質活動,而本質活動又可以再分本質次活動。總而言之,開發者所必須重視的是跟使用者目的有關的必要活動,着重於哪些(What)活動而不是如何(How To)進行活動,基於這點是告訴開發者如何去把使用者的溝通介面架構出來,而不是如何去把系統的功能實作出來,開發的出發點都以審覈這項活動是否有存在的必要,所以當 BP 的活動、次活動、次次活動已經足夠詳細時就可以停止。

 

4.結論

  本論文是說明藉由 Use Case 來將電腦輔助教學的過程詳細地拆解出來,而 Use Case 最具威力(Powerful)的功能是在物件導向領域下,將系統的開發程序詳細的分解成一個、一個的物件,並且說明每個物件的封裝性、繼承性、和多元性等,物件和物件之間的訊息、行爲也可以明顯地表現出來。也因此在電腦輔助教學的領域下也可如此,包括開發上課的內容或是線上考試的題庫等,開發者都可以把它當成一個、一個的元件,因爲往往電腦輔助教學所欠缺的是教材的蒐集,然而這些都是 CAI系統開發完畢後必須的,因爲科技一直進步教學的材料也要適時更新,纔不會造成使用者對系統的不新鮮感,而這些媒體、程式的蒐集不是老師、系統開發者、資料維護者或是使用者所能完全提供的,而必須藉由包裝元件的協定方法將這些資料以物件的方式來包裝起來,透過網路蒐集全世界發出的物件提供給教學輔助系統更豐富的教學資源(Resource),如此便可以減少電腦輔助教學系統中對資料的維護與人力浪費的成本。

 

附錄

附錄一:

The CAI class structure (Use Java)

Class identify{ // The identify class structure

  protected string uname; // input user name

  protected string password; // input user of password

  private string exe_query; // query to find user dbase

  private string open_table; // which dbases table with use

  public int class_id; // class id

  public static void check (string uname,password,exe_query,open_table)

    { //The check of implementing class methods , that certain user }}

 

Class classes{ // The classes class structurepublic int class_id;

  protected string keyword; // the keyword of those questions

  protected byte class_type; // how to show the multimedia of classes

  protected byte show_method; // how to show this apative test

  protected byte showed_time; // how many people were answered this question?

  public static void create_onclass(byte class_type,string keyword)

    {// create a class content }

  public static void show_onclass(byte show_method,showed_time)

    {// show class conent }}

 

Class testing{ // The testing class structure public const GUID; // globally unique identifier of the object

  protected byte media_type; // catch dbase at this questions type

  protected string keyword; // reference test dbase of keyword

  protected int test_no; // this questions no

  private byte used_time; // the questions use time

  protected byte get_right; // how many people are get right

  private string test_ans; // correct answer

  private string ans_detail; // the answers detail

  public static void pretest(int begin_mode){

    // create a first question to test users attribute }

  public static void create_examquestion()

    {// create an apative test }

  public static void how_examquestion()

    {// show an question }}

 

Class analysis{ // The analysis class structure

  protected int test_no; // testing no(IRT mode)

  protected byte test_attribute; // attribute(IRT mode)

  protected string test_style; // test style(IRT mode)

  private int difficulty_index; // difficulty_index(IRT mode)

  private int discrimination_index; //discrimination_index(IRT mode)

  private byte twice_coefficient; // twice_coefficient(IRT mode)

  private byte point_coefficient; // point_coefficient(IRT mode)

  private byte test_trust; // trust of testing(IRT mode)

  private byte effect; // effect of testing(IRT mode)

  private int response_Identify; // response_Identify(Classic mode)

  private int degree_difficulty; // degree_difficulty(Classic mode)

  private int surmise; // surmise(Classic mode)

  public static void exe_IRTmode(){

    // item response theory operation}

  public static void exe_Classicmode(){

    // classic mode operation }}

 

參考資料

[Jac95] Ivar Jacobson, et. al,The Object Advantage,Addison Wesley,1995.

[Fire93] Donald Firesmith, Object-Oriented Requirements Analysis and Logical Design,John Wiley,1993

[Cons95] Larry Constantine,What Do Users Want?,Windows Tech Journal,DEC 1995,pp.30-33

J.Carter Shanklin,UML Distilled applying the standard object modeling language, ISBN0-201-32563-2

廖世義(87)。環保多媒體電腦輔助教學系統發展之實務,第七屆國際電腦輔助教學研討會,p149-p153

孫光天、謝凱隆、鄭東海、陳新豐(87)。智慧型線上適性測驗系統,第七屆國際電腦輔助教學研討會,p81-p86C

吳慧瓊(87)。寫出高品質的 Use Case 敘述,物件導向雜誌(JOF)1998.4~5p40-p49

何榮桂、陳麗如、郭再興、蘇建誠、籃玉如(86)。虛擬測驗服務中心 建構在Internet的適性測驗環境,TANET97

 

作者介紹

陳慶帆(Ching-Fan Chen) ,淡江大學資訊工程研究所博士班,專長爲資料庫系統設計、軟體工程、網路程式,目前服務於淡水學院計算機中心。

汪柏,目前服務於淡江大學資訊工程研究所教授。

林敏慧(Min-Hui Lin) ,淡江大學資訊工程研究所碩士,專長爲資料庫系統設計、軟體工程,目前爲淡水學院資管系講師。

黃正魁(Zheng-Kui Huang) ,淡水工商管理學院資訊管理學系學生。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章