任云暉 趙利民
摘要:該文介紹了一套按高職院?!敖?、學、做”一體化要求設計開發(fā)的計算機網(wǎng)絡虛擬實驗系統(tǒng),總結(jié)了網(wǎng)絡虛擬實驗系統(tǒng)的開發(fā)方法,重點研究了系統(tǒng)中各功能模塊的實現(xiàn)過程。
關(guān)鍵詞:高職院校;網(wǎng)絡虛擬實驗;VRML;Java;EAI
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2014)01-0036-03
1 背景和現(xiàn)狀
高職教育以培養(yǎng)面向生產(chǎn)、建設、管理、服務第一線需要的高素質(zhì)技能型人才為目標。教育部要求高職院?!敖⒎霞夹g(shù)應用型人才培養(yǎng)目標要求的,基本實踐能力、操作能力與綜合技能有機結(jié)合的、相對獨立的實踐教學體系。”有鑒于此,我校開展了“教、學、做”一體化的教學改革。但是由于辦學資金緊張,難以配備齊全的專業(yè)網(wǎng)絡實驗設備,為此我們充分利用現(xiàn)有資源,建立了一套計算機網(wǎng)絡虛擬實驗系統(tǒng),解決了這一問題,取得了良好效果。
2 虛擬實驗系統(tǒng)特點
與傳統(tǒng)的實驗教學相比,虛擬實驗具有以下特點:(1)彌補實驗條件不足。虛擬實驗資金投入低,學生通過虛擬實驗獲得的感性認識與真實實驗相差無幾。(2) 降低實驗教學成本。虛擬實驗沒有易耗品的消耗,也沒有設備人為損壞的發(fā)生,更不會危及實驗學生的人身安全;(3) 具有良好的開放性。使用者不受時間和空間的限制,可以自主地、靈活地、交互地創(chuàng)建實驗環(huán)境。還可實現(xiàn)大型儀器設備的重復添置;(4)不受客觀條件的影響。可避免硬件實驗客觀存在的無謂干擾,如接觸不良、儀器故障等;(5)可實現(xiàn)實物實驗無法實現(xiàn)的功能。如自主學習和預習功能、實驗報告提交和評閱功能、考核和評價功能、實驗資料檢索功能等[1-2]。
2 系統(tǒng)內(nèi)容與功能
2.1 系統(tǒng)規(guī)劃
根據(jù)高職教育“理論夠用、應用為主、注重實踐”的教學目標,本系統(tǒng)從以下幾點入手進行規(guī)劃,第一,學生的實驗目標不是進行深入研究,而是掌握基本知識及技能,所以系統(tǒng)主要包括網(wǎng)絡組建、優(yōu)化等方面的基礎實驗;第二,基于高職高專學生的自學能力,系統(tǒng)本著便于使用的原則進行開發(fā),使初學者容易上手;第三,充分考慮學生接受能力的差異,系統(tǒng)中所有的實驗從最簡單最基本的開始,由淺入深,由易到難、循序漸進、逐步提升[3-4]。
所以,本網(wǎng)絡虛擬實驗系統(tǒng)規(guī)劃的核心內(nèi)容如圖1所示。
2.2 主要功能模塊
根據(jù)系統(tǒng)的主要內(nèi)容可劃分為以下幾個功能模塊,如圖2所示。
主功能模塊:即主界面模塊,進入其它功能模塊的通道;
認知模塊:即認識設備模塊,可以選擇自己想要熟悉的設備,通過拖動、旋轉(zhuǎn)等操作從多方位對設備進行立體展示;
組網(wǎng)模塊:即使用網(wǎng)絡設備組建網(wǎng)絡模塊,使用者可以在場景中選擇組建網(wǎng)絡所需要的材料和設備組建簡單網(wǎng)絡;
配置模塊:即網(wǎng)絡設備功能配置模塊,利用網(wǎng)絡設備的各種特性配置網(wǎng)絡,以實現(xiàn)更多的功能,發(fā)揮最好的性能;
驗證模塊:即實驗結(jié)果的正確性的檢測模塊,可以驗證網(wǎng)絡連接的可行性及設備配置的正確性;
信息查詢、保存及讀取模塊:該模塊可以將配置模塊中的有用信息長期保留下來,并能實現(xiàn)查詢、讀取等功能;
幫助模塊:可以幫助學習者快速學會使用該系統(tǒng),也可以幫助學習者解決在實驗過程中遇到的問題;
后臺信息庫模塊:即數(shù)據(jù)倉儲模塊,使用數(shù)據(jù)庫及相關(guān)文本對有用數(shù)據(jù)進行長期保存。
這些功能模塊成為網(wǎng)絡虛擬實驗平臺與實驗者之間的橋梁,可以幫助學生通過網(wǎng)絡,在沒有真實實驗場所的情況下完成實驗任務。
3 虛擬實驗系統(tǒng)功能模塊實現(xiàn)方法
由于VRML不是一種編程語言, 對于協(xié)同實驗環(huán)境下多用戶之間的復雜交互、信息處理等需要程序語言的介入。在網(wǎng)絡環(huán)境下, Java是最有效的語言[5], 當前的主流VRML瀏覽器也都對Java編程提供了支持。Java的加入為VRML提供了強大的編程能力和網(wǎng)絡訪問功能, 使這種描述性語言對各種需求功能的擴充成為可能: VRML負責場景的描述和接口的定義, 復雜的交互和高級應用讓Java來完成。所以在系統(tǒng)中采用了VRML和Java的結(jié)合, 使之成為創(chuàng)建基于網(wǎng)絡的虛擬實驗環(huán)境的理想平臺[6-7]。
3.1 主界面實現(xiàn)方法
主界面使用Java語言與VRML結(jié)合實現(xiàn),界面的主框架采用的是Java的Applet實現(xiàn)菜單和快捷按鈕的顯示及功能,編輯區(qū)采用VRML瀏覽器插件,利用EAI實現(xiàn)與Java Applet的通信。實現(xiàn)方法是將Java Applet與VRML置于同一Web頁面, 在JavaApplet中建立browser對象以標志一個唯一的VRML場景, 并由此獲得對VRML場景中已定義節(jié)點的引用, 然后通過直接指定引用節(jié)點的域值來達到動態(tài)效果。這樣, Java Applet既可控制VRML場景, 又能進行與HTML等其他媒體的交互及網(wǎng)絡控制, 從而實現(xiàn)復雜的虛擬環(huán)境系統(tǒng)。例如,在網(wǎng)頁中要嵌入VRML場景,可以在HTML代碼中加入。
3.2 認知模塊的實現(xiàn)
該模塊可以為使用者提供多角度的三維設備展示,提高對網(wǎng)絡的感性認識。由于VRML制作的三維物體及環(huán)境的功能沒有3DMAX強,所以可以利用兩者的結(jié)合制作出復雜的三維場景。是3DMAX可視化的三維建模工具,其創(chuàng)建三維對象快速而且視覺效果較好,但因文件大,不適于在網(wǎng)絡上實現(xiàn)。對于構(gòu)造較復雜的物體,將VRML和3Dmax結(jié)合作為建模工具是一種行之有效的方法,3Dmax有強大的建模和動畫制作功能可以彌補VRML在這方面的不足,為了更好地、更有效地、更全面地支持VRML[8],在3Dmax環(huán)境下可以很方便地建立三維設備及環(huán)境模型,其創(chuàng)作的文件可以導出成為VRML格式的wrl文件,較小的文件直接被VRML使用。
在這個模塊中,使用3DMax建立網(wǎng)絡設備模型,然后將模型轉(zhuǎn)化為VRML格式并進行優(yōu)化。對實驗中設備的放大、縮小、旋轉(zhuǎn)等動作建立VRML動畫時,可通過EAI交互,利用Java Applet控制面板中的相關(guān)按鈕對其進行控制。
3.3 組建網(wǎng)絡模塊的實現(xiàn)
交換機、路由器、防火墻、PC機、服務器、雙絞線、同軸電纜、光纜等組網(wǎng)材料的選擇可以通過菜單或者快捷圖標進行選取,當點擊所要選取的材料或設備的菜單或快捷圖標時,設備被選入編輯區(qū),并可根據(jù)組網(wǎng)需要移動其位置。例如,以交換機為例,實現(xiàn)該功能的VRML場景下的Java代碼為:
import vrml . 3 ;
import vrml . field. 3 ;
import vrml . node. 3 ; // 加入與Java相互通信的類包
public class J ava TimeSensor extends Script{
private SFNode t ranslation ,time ;
……
private SFTime toPause ;
float f [ ] = {0f ,0f ,0f} ; // 申明設備運動的相關(guān)變量
public void initialize () { // 取得VRML 程序中需要進行控制的字段的參考值
t ranslation = (SFNode) get Field (" set-translation" ) ;
// SFNode 型變量translation 從Script 節(jié)點的field 處獲取指針
……}
public void processEvent ( Event e) {
if (e. getName () . equals (" touchMe" ) = = t rue) {
// 如事件操縱類接收到從Script 節(jié)點傳來“touchMe”
…… //設備的運動
Node node_tr ; // 申明一個Node 類的對象node_tr
Node_tr = (Node) (translation. getValue () ) ;
// 返回SFNode 類型的對象,指向設備節(jié)點
Set_translation = (SFVec3f) (node_tr . get ExposedField (" translation" ) ) ;
…… // 獲得指針指向設備節(jié)點的translation 字段
set_translation. setValue (f) ;
// 由setValue()將float[ ]類型值寫入translation 字段
}else{
……}}
3.4 設備配置模塊的實現(xiàn)
與用戶之間的交互是由Java完成,用戶可以通過鼠標和鍵盤與Java Applet程序?qū)υ?。例如通過鼠標按下處理函數(shù)public boolean mouseDown(Event evt,int x,int y)和鼠標松開處理函數(shù)public boolean mouseUp(Event evt,int x,int y)來連接設備配置界面,網(wǎng)絡設備配置通過對簡單的文本文件的操作來實現(xiàn)。在操作界面區(qū)域?qū)υO備進行的配置,通過保存當前設備配置信息文件來實現(xiàn)網(wǎng)絡設備配置信息的保存,如果需要重新打開該設備的配置信息進行查詢或修改時,可以直接讀取服務器端的對應的設備配置文件,打開該文件即可以看到已經(jīng)配置的交換機信息,這時可以繼續(xù)操作或修改。
3.5 檢測模塊的實現(xiàn)
檢測模塊包括網(wǎng)絡設備連接檢測模塊、 PC配置檢測模塊、網(wǎng)絡設備配置檢測模塊、功能實現(xiàn)驗證模塊等,通過這些功能模塊可以實現(xiàn)網(wǎng)絡設備連接的正確與否,及網(wǎng)絡功能正確與否的驗證。由于篇幅有線,下面就以配置命令檢測為例,畫出流程圖如圖3所示:
圖3 配置命令檢測流程圖 (下轉(zhuǎn)第43頁)
(上接第38頁)
4 結(jié)論
本計算機網(wǎng)絡虛擬實驗系統(tǒng)主界面的主體框架部分采用JavaApplet來實現(xiàn),編輯區(qū)部分采用了VRML來實現(xiàn),兩者之間的結(jié)合采用的是EAI技術(shù)。在具體實現(xiàn)過程中,將VRML和JavaApplet置于同一個網(wǎng)頁中,以Java Applet作為控制面板,VRML場景作為三維展示平臺,通過EAI交互構(gòu)建虛擬場景。
本計算機網(wǎng)絡虛擬實驗系統(tǒng)基于高職高專人才培養(yǎng)要求,具有直觀、靈活、方便、便宜的特點,可以滿足計算機網(wǎng)絡組建實驗的教學任務和要求。但是還存在一些不成熟、不完善的地方,比如,還可以開發(fā)多人在線交互功能、實時會話功能等,進一步加強用戶身臨其境的感受。
參考文獻:
[1] 單美賢.虛擬實驗原理與教學應用[M].北京:教育科學出版社,2005.
[2] 黃榮懷.信息技術(shù)與教育[M].北京:北京師范大學出版社,2002.
[3] 任云暉.計算機網(wǎng)絡技術(shù).水利水電出版社,2010.
[4] Yunhui Ren, Research and Practice of ‘Teaching, learning, practice integration teaching model in Higher Vocational and Technical Education,2010 International Colloquium on Computing Communication Control and Management,2010.615.
[5] 王克宏.最新Java 2核心類庫詳解[M].北京:清華大學出版社,1999.
[6] 周勇,徐英卓.基于VRML-JAVA的網(wǎng)上協(xié)同虛擬實驗系統(tǒng)研究[J].電化教育研究,2006(5):52-55.
[7] 滕蘭芝,何瑾,薄芙麗.虛擬現(xiàn)實技術(shù)在多媒體網(wǎng)絡教學中的應用[J].電化教育研究,2002(7):48-50.
[8] 吳瑋,吳昌林,吳鹿鳴,吳立言. 結(jié)合AUTOCAD、3DMAX及VRML實現(xiàn)Web三維動畫[J].機械設計與制造, 2002(4):46-47.