【摘要】當前,高校學生利用與英語教材配套發行的教學輔助光盤(英語課件)進行自主學習已成為英語教學中一個重要的環節。本文通過比較現有一些大學英語課件的開發過程,分析其在開發過程存在問題。針對存在問題,作者依托已經出版發行的《大學英語(第三版)》的開發過程,對在Director環境下面向對象的程序設計與實現進行了探討,以期為同類課程課件的開發和應用提供借鑒和思路。
【關鍵詞】英語課件;面向對象;Director
【中圖分類號】G434 【文獻標識碼】B 【論文編號】1009—8097 (2007) 12—0081—04
一 英語課件開發過程現狀分析
隨著2004年教育部的《大學英語課程教學要求(試行)》的頒布,許多高校針對培養學生的英語綜合應用能力進行了一系列的教學改革。學生個性化學習方法的形成和自主學習能力的發展已經成為衡量教學改革成功的一個重要標志。當前,高校學生利用與英語教材配套發行的英語課件進行自主學習已成為英語教學中一個重要的環節。這對英語課件的開發在質量上提出了更高的要求,在數量上提出了更大的需求。
針對目前國內大多數高校所采用大學英語教材的配套光盤的開發過程,作者從以下幾個方面進行了調研,調研比較結果參見表1:

表1中所列英語課件均由專業開發人員在課件寫作工具(如:Director、Authorware)環境下開發制作。通過比較分析不難看出大多數英語課件在開發過程中存在以下問題:
第一,功能導向式的一次性課件產品開發,程序代碼不能復用。采用功能導向式的開發方式,開發者只需關注課件的功能,這在一定程度上避開了由于英語教學方式和教學內容多樣化所決定的英語課件設計和開發的復雜性。但是,由于是一次性的英語課件,代碼不能為同類型的英語課件復用,且開發周期長,數據維護復雜。
第二,程序與數據不能有效分離。程序與數據不分離必然會影響課件開發的速度,造成開發過程的資源浪費。而且也不利于課件程序以及腳本數據的重復利用,更不能提高課件的審校效率和質量。
第三,腳本數據可復用性低或者數據格式不通用。目前與教材配套的英語光盤課件大多數都面臨著修訂版、再修訂版的問題,這就對腳本數據的可復用性和通用性提出了更高的要求。重復利用老版課件的腳本數據不僅可以節省大量的人力物力,而且也能大大縮短修訂版課件開發的周期。同時采用通用的數據格式(比如HTML、XML等)能夠更有效的對源文件進行重復利用,而且也能夠兼顧以后網絡課件的需要。
第四,程序與數據不能同步開發。在數據與程序有效分離的基礎上進行程序代碼和腳本數據的并行開發無疑能夠大大縮短開發的周期。
二 提出解決方案
針對以上存在問題,作者引入了在Director環境下利用面向對象的開發方法,實現了程序與數據的分離,界面與業務的分離。雖然過去也有人提出了將面向對象的開發方法引入課件開發,但大多數是針對課件寫作工具的開發或者僅僅是簡單論述,真正在Director環境下運用面向對象開發方法的實例并不多。
面向對象軟件工程是目前軟件開發領域主流的開發模式。Director在課件開發領域應用非常廣泛,它在自己的實現中遵循著基本的面向對象模式,提供了Lingo和JavaScript兩種腳本語言的支持,使用它們我們可以按照面向對象的方式編程。一般使用Director開發課件都是采用Lingo腳本語言。在Lingo中與OOP(Object-oriented programming)術語等價的術語如圖1。[1]

這里所提出的解決方案就是采用面向對象的方法對英語課件進行分析設計,然后依據所定義的類模型在Director環境下采用與OOP等價的Lingo代碼加以實現。比如,對各種類定義的實現,可以采用父代劇本。由于Lingo只是一種基于面向對象的語言,它并不能提供完全的面向對象的功能,比如對多態性并沒有提供太多的支持。因此在實現類定義時,必須進行適當的轉換和割舍。
三 案例應用
本文以已出版發行的上海外語教育出版社《大學英語(第三版)》配套光盤課件的開發過程為例,闡述在Director環境下面向對象的設計開發過程。其實現是基于Lingo腳本語言的。腳本數據格式采用可復用的XML文件組織。源文件讀取通過開發Director Xtra插件來實現。
1 面向對象建模
建立對象模型是面向對象設計中最關鍵的一步。建模的任務就是找出需求空間中的對象,然后對它們的屬性和方法進行定義,找出它們之間的靜態和動態關系,并按它們之間的關系進行組織,最后得到面向對象的需求分析模型。[2]
首先,對英語課件的教學內容按題型進行歸納,總結出8種題型,即單題填空題、完型填空題、表格填空題、選擇題、課文、寫作題、音樂欣賞和電影欣賞。另外各類填空題均包含三個可選的屬性:一是提示框,即需要在指定的提示信息內選擇,適當改變形式進行答題;二是聲音播放條,即需要在界面上設置播放條以便于播放試題聲音;三是評測方式,即是否評測學生答案或者是否帶首字母評測。
其次,將每個題型抽象為功能對象和界面對象(包括圖像和文字對象)。功能對象保證與素材無關,而每個界面對象則是對應于素材庫中的一些素材演員和行為庫中一些行為,并依賴于指定的功能對象,與之相互作用。它們之間的關系表現為對象的靜態聯系關系。對于一些通用的播放條對象、滾動條對象等可以抽象為通用對象。通用對象也對應于素材庫中的一些素材演員,由一定的功能對象或者界面對象創建產生,為其提供所需要的功能。它們與功能對象或者界面對象之間的關系表現為靜態創建關系。同時各功能對象、界面對象和通用對象之間又保持著一定的動態關系。各對象之間關系如圖2。

最后,為了便于各類對象、素材和行為的組織,我們將課件分為五個庫:功能對象庫、界面對象庫、通用對象庫、交互行為庫和界面素材庫。
2 精讀課件中的對象及其定義
在定義了各對象類之間的各種靜態關系和動態關系以后,下一步就需要清楚描述類繼承關系和類定義以便于具體的代碼實現。下面就從這兩個方面進行描述。
(一)類繼承
通過需求分析精讀課件確定采用兩級導航,即單元之間導航和單元內部導航。其執行邏輯為:系統初始化創建總體導航對象,讀取單元列表文件,給用戶提供單元選擇的功能。用戶選擇某一單元進入單元內部,系統創建單元導航對象。該對象首先讀取本單元結構的源文件,然后創建默認練習題的功能對象。功能對象則會讀取當前練習的源文件,初始化問題文本演員,記錄與該題型相關的屬性,提供相關的方法。功能對象創建完成后,下一步就根據功能對象的類型創建界面對象。界面對象則依賴功能對象所提供的屬性有選擇的創建通用對象,并進行初始化,為用戶顯示交互界面,提供交互功能。另外,在創建新對象同時需要對舊對象進行銷毀,以釋放所占用的通道資源。至此整個初始化過程就已完成。
經過分析可將所有對象歸為兩類:一類是需要讀取源文件的對象,包括各題型的功能對象、總體導航對象、單元導航對象;一類是不需要讀取源文件的對象,包括各題型的界面對象、通道管理對象、播放條對象、滾動條對象。另外有些題型可以合并,比如表格填空和完型填空。圖3就給出了類之間的繼承關系。

(二)類定義
各對象類均根據其所實現的功能,提供了相應的屬性和方法,記錄了與該類型有關的信息。下面僅以選擇題為例來說明類定義。
根據圖三可以看出選擇題TChoice的繼承關系為:TChoice→TFile→TRoot。TRoot作為所有類型的根類,它提供當前類型的屬性定義,因此TRoot的簡化定義如下:
TRoot= class
public
className: string;
……
end;
TFile類主要負責源文件的讀取,簡化定義如下:
TFile= class(TRoot)
protected
dataList: TPropertyList;
function readXML(Filename: string): TPropertyList;
……
end;
TChoice類提供與選擇題相關的屬性和方法,簡化定義如下:
TChoice= class(TFile)
private
procedure initialize;
public
……
end;
3 Director環境下基于面向對象的實現
根據前面的描述,類定義可以采用父代劇本實現。對于選擇題的父代劇本實現步驟:首先,創建一個新的、空的劇本演員;然后,點擊Script窗口里的Info按鈕,并用Type下拉菜單把劇本的類型屬性改為Parent;再次,在劇本的Name欄里輸入TChoice這個名稱;最后,在該父代劇本演員里實現所有TChoice類定義的函數。在TChoice類中會需要專門的界面對象類和相關通用對象類支持,它們會由TChoice對象創建、管理、銷毀。TChoice類代碼簡化形式如下:
property ancestor
property chekType
on new me
ancestor=new(script \" TFile \")--創建父類
initialize me
return me
end
on initialize me--初始化對象
……
end
on check me--評測用戶答案,并反饋結果
……
return temList
end
……
至此選擇題的類定義已全部實現。在需要的地方我們只需創建TChoice類對象即可,其創建的代碼如下:
gObject=new(script “TChoice”)
通過創建TChoice類對象,程序將自動按照傳遞文件名字讀取源文件,創建與之相關的界面對象和通用對象。此對象將全面負責用戶與該題型的所有交互控制,直到用戶離開當前練習轉到其他部分學習,TChoice類對象才銷毀。
四 應用效果分析
采用Director環境下面向對象的開發方案所開發的英語課件,具有非常理想的開發優勢。
第一、通過程序與數據的分離、界面與業務的分離,使得開發者可以模塊化設計,積累更多的題型類,為今后同類課件的開發構建可復用代碼的功能庫。
第二、在既定接口的前提下程序與數據可以同步開發,大大縮短了開發周期,降低開發成本,及時搶占市場份額。
第三、腳本數據采用標準的XML文件,具有可復用的優點,為今后再修訂版的開發,以及網絡版的開發都提供了極大的便利。
第四、由于整套英語課件采用面向對象的設計實現,為其后期的維護升級提供了接口。
該套英語課件經測試使用后一致認為其也有很強的人機交互性。穩定性高,在不同配置的電腦上運行穩定。目前已由上海外語教育出版社隨教材一起出版發行。通過收集用戶反饋,大多數用戶認為其導航清晰、指示明確,界面美觀大方,程序運行穩定,兼容性好。
當然由于Director自身對面向對象開發方法并沒有提供完全的支持,這也限制了這種開發方案在英語課件開發中的應用。因此我們要在開發過程中充分發揮各種開發方法的優勢,各取所長,盡可能的在最短的時間內以最小的代價開發出高質量的英語課件。作者希望這種開發方案能夠為同類課程課件開發和應用提供借鑒和思路。
——————————
參考文獻
[1]Gary Rosenzweig,網絡工作室譯.Director 8開發使用手冊[M].北京:機械工業出版社,2001:357-365.
[2]蔣更千.面向對象的建模技術[J].上海大學學報(自然科學版),1997,(3):209-212.
Pilot Study of Developing an Object-Oriented English Courseware in the Director Environment
XUEDong-hai
(Modern Educational Technology Center of China Science and Technology University, Hefei,Anhui,230026 )
Abstract: Currently, it has been an important step for undergraduate students to learn autonomously by using instruction assisted CD-ROMs (English Courseware) published with the related English textbooks. By comparing the development processes of some existing College English Coursewares, this paper analyzed the problems. Aimed at these problems, object-oriented program design and implementation in the Director environment were discussed on the basis of the development process of the published College English (Third Edition). The goal is to provide references and clues for the development and application of the coursewares in similar courses.
Keywords: English Courseware; Object-Oriented; Director