周淑華
摘 要:文章針對(duì)設(shè)備虛擬連接訓(xùn)練軟件的應(yīng)用需求,設(shè)計(jì)了一種設(shè)備連接虛擬訓(xùn)練軟件,提出了軟件設(shè)計(jì)的思路和實(shí)現(xiàn)方法,并進(jìn)行了實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,軟件設(shè)計(jì)方法可行,具有一定推廣應(yīng)用價(jià)值。
關(guān)鍵詞:軟件設(shè)計(jì);虛擬訓(xùn)練
虛擬訓(xùn)練軟件可以在不動(dòng)用實(shí)裝的情況下開展訓(xùn)練,不僅可以大幅提高訓(xùn)練質(zhì)量,還能顯著提升訓(xùn)練效益,節(jié)省訓(xùn)練經(jīng)費(fèi)。目前,有很多通裝虛擬訓(xùn)練軟件,比如在網(wǎng)絡(luò)設(shè)備操作方面,有Packet Tracer、GNS3等,都得到了廣泛的運(yùn)用,發(fā)揮了其特有的優(yōu)勢(shì)。但是,對(duì)于一些特有的應(yīng)用領(lǐng)域,比如航天、軍事等領(lǐng)域,還需要開發(fā)一些專有的虛擬訓(xùn)練軟件,基于此,本文提出了一種設(shè)備連接虛擬訓(xùn)練軟件的設(shè)計(jì)方法,并進(jìn)行了實(shí)現(xiàn),實(shí)驗(yàn)結(jié)果表明,具有一定推廣應(yīng)用價(jià)值。
1 軟件設(shè)計(jì)思路
軟件設(shè)計(jì)基于C#語言完成,首先,根據(jù)設(shè)備接口及連接特性,設(shè)計(jì)通用設(shè)備操作類:DEVICE;其次,在具體應(yīng)用背景下,根據(jù)所需設(shè)備的數(shù)量、每種設(shè)備的接口數(shù)目、接口名稱等特性,對(duì)每種設(shè)備進(jìn)行初始化;然后,在鼠標(biāo)單擊、移動(dòng)等事件的控制下,改變?cè)O(shè)備接口特性,并將接口特性以連線的形式進(jìn)行呈現(xiàn),形成設(shè)備連接圖,呈現(xiàn)給用戶;最后,根據(jù)每種設(shè)備接口的實(shí)際連接關(guān)系,對(duì)用戶所進(jìn)行的連接正確與否進(jìn)行判斷,并在連接圖上通過不同顏色進(jìn)行呈現(xiàn)。
2 軟件設(shè)計(jì)內(nèi)容
(1)設(shè)備操作類(DEVICE)的設(shè)計(jì)與實(shí)現(xiàn)
設(shè)備操作類是對(duì)一般實(shí)體設(shè)備的操作特性進(jìn)行抽象形成的一個(gè)類,其類名稱為DEVICE,所包含的屬性主要有:設(shè)備名稱devicename、設(shè)備在拓?fù)鋱D中的位置location、用于對(duì)設(shè)備進(jìn)行唯一標(biāo)識(shí)的設(shè)備號(hào)deviceNo、設(shè)備端口數(shù)量portnum、本地端口號(hào)名稱portname、本地端口號(hào)localport、端口是否連接標(biāo)識(shí)isconnected、端口是否正確鏈接標(biāo)識(shí)isRightconnect、端口所連接設(shè)備名稱remotedeviceNo、端口所連接設(shè)備的端口號(hào)remoteport。
(2)設(shè)備初始化函數(shù)設(shè)計(jì)與實(shí)現(xiàn)
設(shè)備初始化是根據(jù)實(shí)裝對(duì)每種具體設(shè)備的屬性進(jìn)行設(shè)置,也即指根據(jù)實(shí)際應(yīng)用環(huán)境,確定本次連接所用設(shè)備的數(shù)量、名稱、端口數(shù)目等DEVICE類的屬性,對(duì)于每種設(shè)備的屬性,需要逐一進(jìn)行初始化。初始化所用函數(shù)為initDevice(),其實(shí)現(xiàn)過程及代碼如下:
(3)設(shè)備連接函數(shù)設(shè)計(jì)與實(shí)現(xiàn)
設(shè)備連接是指用戶通過鼠標(biāo)實(shí)現(xiàn)對(duì)設(shè)備接口虛擬連接的操作。一次完整的設(shè)備連接過程分為以下幾步:首先,用戶右鍵點(diǎn)擊設(shè)備,彈出設(shè)備接口下拉菜單,供用戶選擇準(zhǔn)備連接的源接口;其次,用戶拖動(dòng)鼠標(biāo),開始畫線;然后,用戶右鍵點(diǎn)擊目標(biāo)設(shè)備,彈出接口下拉菜單,用戶選擇目標(biāo)接口;最后,形成源接口至目標(biāo)接口的一條直線,至此,一次設(shè)備連接操作結(jié)束。
設(shè)備連接程序流程圖如下圖所示。
(4)結(jié)果判斷函數(shù)設(shè)計(jì)與實(shí)現(xiàn)
結(jié)果判斷函數(shù)是根據(jù)實(shí)裝的設(shè)備連接規(guī)范,判斷用戶的設(shè)備連接是否正確,根據(jù)判斷結(jié)果修改設(shè)備接口的是否正確連接屬性,即isRightconnect屬性,判斷過程需要針對(duì)每個(gè)設(shè)備逐一進(jìn)行。
(5)連線繪制函數(shù)設(shè)計(jì)與實(shí)現(xiàn)
設(shè)備連接完畢,需要繪制連接線纜,向用戶呈現(xiàn)設(shè)備連接圖。連線繪制主要依據(jù)設(shè)備接口的isconnected屬性,如果設(shè)備的isconnected為真,也即接口和另一個(gè)接口發(fā)生了連接操作,此時(shí)在設(shè)備的接口和遠(yuǎn)端設(shè)備的接口(remotedeviceNo)之間繪制一條連線。
3 軟件測試結(jié)果
采取文中軟件設(shè)計(jì)思路和步驟,在VS2010環(huán)境下進(jìn)行了測試,測試中設(shè)置4個(gè)設(shè)備,用戶可以實(shí)現(xiàn)設(shè)備之間的自由連接,當(dāng)鼠標(biāo)置于設(shè)備之上3秒鐘,可以自動(dòng)顯示設(shè)備接口連線情況,對(duì)于錯(cuò)誤的連接線纜,用戶可以進(jìn)行刪除和重新連接,達(dá)到了軟件設(shè)計(jì)的目的。軟件測試界面如下圖所示。endprint