摘 要:隨著工業(yè)自動(dòng)化越來(lái)越快的發(fā)展,各式各樣的新成果也漸漸滲透到人類(lèi)生活的方方面面。自動(dòng)測(cè)試系統(tǒng)軟件服務(wù)于計(jì)算機(jī),工業(yè)自動(dòng)化程度越來(lái)越高,計(jì)算機(jī)技術(shù)發(fā)展迅猛,工業(yè)控制計(jì)算機(jī),另外輔以A/D,D/A等板卡做外圍輔助接口,基于這些的自動(dòng)測(cè)試系統(tǒng)應(yīng)用極為廣泛。其特點(diǎn)就是將原本結(jié)合松散、常不兼容或者是分立的儀器設(shè)備轉(zhuǎn)化為一個(gè)高度集成的性能較高的自動(dòng)化與測(cè)量系統(tǒng),自動(dòng)測(cè)試軟件顯然是這一設(shè)備的核心內(nèi)容,因而,研究自動(dòng)測(cè)試系統(tǒng)軟件框架設(shè)計(jì)這一課題尤為必要。
關(guān)鍵詞:自動(dòng)測(cè)試系統(tǒng);軟件框架;設(shè)計(jì)
中圖分類(lèi)號(hào):TP311.52
自動(dòng)測(cè)試系統(tǒng)的規(guī)模逐年增大,其復(fù)雜性也是與日俱增,然而,由于傳統(tǒng)軟件的開(kāi)發(fā)方法在復(fù)用上出現(xiàn)了滯留現(xiàn)象,即在代碼復(fù)用階段出現(xiàn)了卡殼,復(fù)用的范圍受到局限,只能用于獨(dú)立的類(lèi)或者函數(shù),這樣一來(lái),就使得復(fù)用粒度十分有限,設(shè)計(jì)自動(dòng)測(cè)試系統(tǒng)軟件框架符合時(shí)代發(fā)展的需要。一旦開(kāi)發(fā)設(shè)計(jì)出來(lái)面向?qū)ο蟮能浖蚣?,就能解決大粒度的軟件復(fù)用問(wèn)題,同時(shí)還能在很大程度上縮短自動(dòng)測(cè)試系統(tǒng)設(shè)備的研制時(shí)間。設(shè)計(jì)出一套成功的自動(dòng)測(cè)試系統(tǒng)軟件框架,就能夠最大限度的提高工作效率,提高系統(tǒng)設(shè)備穩(wěn)定運(yùn)行的科學(xué)可靠性。
1 面向?qū)ο蟮能浖蚣?/p>
自動(dòng)測(cè)試系統(tǒng)的規(guī)模越來(lái)越大,面向?qū)ο蟮能浖蚣茚槍?duì)于解決大粒度的軟件復(fù)用,這一框架直指目的結(jié)局了這一棘手問(wèn)題,因而自然而然產(chǎn)生出設(shè)計(jì)自動(dòng)測(cè)試系統(tǒng)軟件的框架。面向?qū)ο蟮能浖蚣艹霈F(xiàn)在上一世紀(jì)八十年代,最早取得成功并且投入廣泛使用的軟件框架是small talk環(huán)境的MVC用戶(hù)界面框架,總的來(lái)說(shuō),框架技術(shù)為計(jì)算機(jī)領(lǐng)域應(yīng)用開(kāi)發(fā)提供出了大粒度軟件復(fù)用,對(duì)軟件的開(kāi)發(fā)效率有著極大的提高。
通俗來(lái)講,軟件框架就是指為了解決某類(lèi)問(wèn)題而進(jìn)行的設(shè)計(jì)和實(shí)現(xiàn)方案,解決的問(wèn)題通常指系統(tǒng)及其子系統(tǒng)領(lǐng)域,設(shè)計(jì)和實(shí)現(xiàn)方案是基于一組抽象類(lèi)的集合或者是實(shí)例對(duì)象,之后進(jìn)行交互協(xié)調(diào)的、可重用的開(kāi)發(fā)設(shè)計(jì)。就其本質(zhì)而言,軟件框架是某一個(gè)問(wèn)題進(jìn)行設(shè)計(jì)的軟件系統(tǒng)骨架,它的對(duì)象模型和所運(yùn)用的代碼是可重用的??蚣懿粌H僅提供了代碼的復(fù)用,還同時(shí)將軟件生產(chǎn)力意義的設(shè)計(jì)復(fù)用變?yōu)楝F(xiàn)實(shí),基于框架本身的領(lǐng)域性,它還可以分為系統(tǒng)底層結(jié)構(gòu)框架、企業(yè)應(yīng)用框架以及中間件集成框架三大類(lèi)別。
2 自動(dòng)測(cè)試系統(tǒng)軟件框架的設(shè)計(jì)
2.1 測(cè)試軟件主體框架設(shè)計(jì)
自動(dòng)測(cè)試系統(tǒng)軟件的主體框架設(shè)計(jì)時(shí)主要采用Microsoft MFC的文檔-視圖結(jié)構(gòu),選用這樣的應(yīng)用程序框架更具靈活性。具體分析為:MFC是建立在Windows API之上的一類(lèi)C++類(lèi)庫(kù),如此設(shè)計(jì),就會(huì)使的程序設(shè)計(jì)的過(guò)程極具效率性,與面向?qū)ο蟮奶匦愿呛希褂谜咧恍柽M(jìn)行簡(jiǎn)單的操作,即僅需對(duì)原本的主體框架進(jìn)行擴(kuò)展操作,就可以隨心所欲,建立成自己想要得到的應(yīng)用程序。主體框架設(shè)計(jì)的核心在于能夠有效率的識(shí)別出可重用的設(shè)計(jì),或者也可以稱(chēng)為“熱點(diǎn)”、“擴(kuò)展點(diǎn)”,靈活的做出相應(yīng)的設(shè)計(jì),因而,不難分析出自動(dòng)測(cè)試軟件主體框架設(shè)計(jì)的核心目的就是熱點(diǎn)識(shí)別。
自動(dòng)測(cè)試軟件主體框架設(shè)計(jì)時(shí),根據(jù)對(duì)于測(cè)試領(lǐng)域的分析不難分析出,測(cè)試的主框架主要的組成部分包括對(duì)參數(shù)的設(shè)置、測(cè)試過(guò)程的控制、對(duì)策是界面進(jìn)行維護(hù)以及對(duì)測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)籌管理幾個(gè)部分,這幾個(gè)部分作為主體框架圖的擴(kuò)展點(diǎn),大體來(lái)講就是作為測(cè)試系統(tǒng)里較為通用較為普遍的幾個(gè)領(lǐng)域。框架的設(shè)計(jì)針對(duì)的領(lǐng)域一般都是特定的,因而在進(jìn)行主體框架設(shè)計(jì)時(shí),最基本最首要的環(huán)節(jié)就是對(duì)于領(lǐng)域選取,并針對(duì)領(lǐng)域內(nèi)部所要解決的問(wèn)題有大體的規(guī)劃,這樣設(shè)計(jì)起來(lái)才會(huì)得心應(yīng)手,更易實(shí)現(xiàn)框架的價(jià)值。
2.2 硬件接口設(shè)計(jì)
自動(dòng)測(cè)試系統(tǒng)軟件框架的硬件接口這一模塊的工作流程是指,自動(dòng)測(cè)試軟件對(duì)測(cè)試的系統(tǒng)硬件進(jìn)行封裝,然后測(cè)試系統(tǒng)通過(guò)對(duì)這層封裝的測(cè)試來(lái)進(jìn)行對(duì)于測(cè)試系統(tǒng)的硬件部分的透明化操作。硬件接口這一模塊的模型如圖所示,
通過(guò)設(shè)計(jì)CDevice類(lèi)對(duì)硬件的設(shè)備進(jìn)行封裝操作,很容易看出,CDevice作為所有硬件接口的基類(lèi),其他的具體的硬件設(shè)備形式都是通過(guò)這一基類(lèi)派生而來(lái),繼而所有的硬件設(shè)備都會(huì)被分別進(jìn)行編譯,使其成為一個(gè)個(gè)獨(dú)立的DLL組件。
雖然,不同的硬件成分發(fā)揮著不同的功用,而且不同的硬件也有著不同的操作方法,然而,所有硬件步入正常運(yùn)行的流程是一樣的,都要經(jīng)過(guò)初始化以及自檢兩個(gè)步驟,顯然,這兩個(gè)環(huán)節(jié)屬于通用行為,同理可知其卸載的流程也是一致的。為了使得系統(tǒng)能夠擴(kuò)展靈活,盡量最大程度上避免不同的硬件接口間出現(xiàn)耦合現(xiàn)象,如上文所示,使硬件接口編譯為一個(gè)個(gè)獨(dú)立的DLL組件,這些組件必須包含的特性是通用性,還要有特殊的操作接口,如此就能夠?qū)τ布M(jìn)行所有操作。
2.3 硬件管理設(shè)計(jì)
自動(dòng)測(cè)試系統(tǒng)軟件框架的硬件部分除了接口的設(shè)計(jì),還包含對(duì)于硬件管理模塊進(jìn)行設(shè)計(jì)的操作,譬如說(shuō)對(duì)于各種板卡,測(cè)試儀器等。不同的測(cè)試系統(tǒng)它內(nèi)部的硬件構(gòu)架也是有著天壤之別的,并且除此之外,每一個(gè)獨(dú)立的測(cè)試系統(tǒng)通常會(huì)配備著多種多樣的硬件板卡,借此便能夠?qū)崿F(xiàn)各個(gè)硬件不同的功能,在硬件接口設(shè)計(jì)階段,首先必須應(yīng)當(dāng)進(jìn)行完成正確科學(xué)的初始化以及自檢流程,而且需要導(dǎo)入對(duì)于其進(jìn)行操作的接口函數(shù)。如此看來(lái),對(duì)自動(dòng)測(cè)試系統(tǒng)軟件框架時(shí)編制專(zhuān)門(mén)的硬件管理模塊非常有必要。
在這一模塊的設(shè)計(jì)中,無(wú)須對(duì)硬件管理進(jìn)行擴(kuò)展,只需進(jìn)行簡(jiǎn)單的操作就可以實(shí)現(xiàn)硬件管理的設(shè)計(jì),即底層的硬件提供封裝,繼而便可以進(jìn)行載入,載入系統(tǒng)之后,硬件管理模塊實(shí)質(zhì)上就是提供了一個(gè)隔層,隔離了底層到高層的路徑,使得底層的變動(dòng)不會(huì)對(duì)高層造成實(shí)質(zhì)性的影響。因此,對(duì)于硬件管理的設(shè)計(jì)而言,這一環(huán)節(jié)的主要工作就是將所有的硬件接口DLL組件載入系統(tǒng),然后做調(diào)用操作,調(diào)用提供的所有通用接口,如此一來(lái),就使得硬件裝置得到了合理的初始化,設(shè)計(jì)出相應(yīng)的類(lèi)CDevOpt,繼而進(jìn)行相應(yīng)操作。
2.4 數(shù)據(jù)管理設(shè)計(jì)
對(duì)數(shù)據(jù)管理進(jìn)行設(shè)計(jì)的目的就是為了使得整個(gè)的應(yīng)用軟件數(shù)據(jù)能夠進(jìn)行統(tǒng)一化的統(tǒng)籌管理,以此作為數(shù)據(jù)管理中心。通常來(lái)說(shuō),數(shù)據(jù)管理包含的內(nèi)容有數(shù)據(jù)存儲(chǔ)以及數(shù)據(jù)共享等多個(gè)方面,數(shù)據(jù)存儲(chǔ)又可以分為對(duì)數(shù)據(jù)的存儲(chǔ)以及對(duì)文件的存儲(chǔ),不同的數(shù)據(jù)處理系統(tǒng)對(duì)數(shù)據(jù)的處理方式也是截然不同的,因此,可以將文件與數(shù)據(jù)存儲(chǔ)作為設(shè)計(jì)的框架軟件的一個(gè)擴(kuò)展點(diǎn)。CPjtDoc作為文檔-視圖結(jié)構(gòu)的中文檔的擴(kuò)展品,或者可以推理CPjtDoc從CDocument派生而得到。
數(shù)據(jù)管理的設(shè)計(jì)模塊中,可將數(shù)據(jù)文件或者是數(shù)據(jù)庫(kù)置于IS站點(diǎn)下,這是一個(gè)虛擬目錄,通過(guò)在站點(diǎn)中建立ASP.net應(yīng)用程序來(lái)實(shí)現(xiàn)得出,繼而就可以實(shí)現(xiàn)數(shù)據(jù)的訪問(wèn)操作。換句話說(shuō),這一管理的優(yōu)點(diǎn)是應(yīng)用者可以自身隨時(shí)訪問(wèn)瀏覽器數(shù)據(jù),而并不需要客戶(hù)端的應(yīng)用軟件。因而,不難看出,進(jìn)行自動(dòng)測(cè)試系統(tǒng)軟件框架設(shè)計(jì)時(shí),進(jìn)行數(shù)據(jù)管理模塊的設(shè)計(jì)尤為重要。
3 自動(dòng)測(cè)試系統(tǒng)軟件框架的特點(diǎn)
自動(dòng)測(cè)試系統(tǒng)軟件框架的特點(diǎn)在其各個(gè)方面的設(shè)計(jì)中均有體現(xiàn),費(fèi)盡周折設(shè)計(jì)這樣一個(gè)自動(dòng)測(cè)試系統(tǒng)軟件框架,一定是因?yàn)槠渚邆渲鴱?qiáng)大的功能和特點(diǎn),值得人類(lèi)科學(xué)對(duì)其做出研究和分析。
自動(dòng)測(cè)試系統(tǒng)軟件框架的特點(diǎn)之一是動(dòng)態(tài)性,這是互動(dòng)的一組類(lèi),它封裝了對(duì)于解決其特定領(lǐng)域的問(wèn)題的控制流,所以說(shuō)這一軟件框架具有動(dòng)態(tài)的效果,不單作為一個(gè)靜態(tài)類(lèi)庫(kù),只是這種動(dòng)態(tài)是虛擬虛化的,只是一種效果,只有框架被實(shí)例化之后才會(huì)得以表現(xiàn);特點(diǎn)之二是易擴(kuò)展性,測(cè)試系統(tǒng)軟件框架不是一個(gè)客戶(hù)端應(yīng)用軟件,它是一個(gè)非常大的功能模板,不是應(yīng)用,只是存在潛在的應(yīng)用功能,或者可以說(shuō),軟件框架是一個(gè)應(yīng)用“半成品”,它可以通過(guò)其專(zhuān)有屬性-提供熱點(diǎn)來(lái)實(shí)現(xiàn)擴(kuò)展應(yīng)用程序;特點(diǎn)之三反轉(zhuǎn)的控制特性,測(cè)試系統(tǒng)軟件框架與平常的類(lèi)庫(kù)本質(zhì)的區(qū)別是自動(dòng)測(cè)試軟件系統(tǒng)中在內(nèi)嵌著控制流,所以,基于軟件框架的軟件開(kāi)發(fā)過(guò)程中必須有一個(gè)需要遵守的原則是:不能用應(yīng)用代碼對(duì)軟件框架進(jìn)行調(diào)用,而是應(yīng)當(dāng)用框架對(duì)應(yīng)用代碼做調(diào)用操作,如此一來(lái),就使得控制發(fā)生了反轉(zhuǎn);特點(diǎn)之四是可復(fù)用性,這一特點(diǎn)見(jiàn)文思意,即自動(dòng)測(cè)試系統(tǒng)軟件框架所提供出的解決問(wèn)題或者是就如何解決問(wèn)題做出的建議想法方法等是可復(fù)用的,而自動(dòng)測(cè)試系統(tǒng)軟件框架作為核心部件,它進(jìn)行設(shè)計(jì)的初衷就是可復(fù)用性,因而這一軟件框架的優(yōu)勢(shì)是顯然的。
4 自動(dòng)測(cè)試系統(tǒng)軟件框架的實(shí)例化過(guò)程
綜上講述了自動(dòng)測(cè)試系統(tǒng)軟件框架設(shè)計(jì)的方方面面、自動(dòng)測(cè)試系統(tǒng)軟件框架的原理模型以及其本身所具備的特點(diǎn),當(dāng)下,針對(duì)發(fā)展越來(lái)越迅速的工業(yè)自動(dòng)化程度,若想要建立一個(gè)自動(dòng)測(cè)試系統(tǒng),就必須對(duì)這一系統(tǒng)這一框架進(jìn)行實(shí)例化,總結(jié)而言,實(shí)例化的過(guò)程基本是這樣的:
首先,先要了解測(cè)試系統(tǒng)的基本硬件架構(gòu),基于測(cè)試系統(tǒng)軟件之上,對(duì)硬件系統(tǒng)的接口進(jìn)行封裝操作,這一部分尤為重要,這些都是由硬件接口模塊擴(kuò)展得出的;然后,設(shè)計(jì)一個(gè)載入的順序表,上一步驟,硬件接口的初始化已經(jīng)做完,這個(gè)環(huán)節(jié)的順序,即指硬件接口的初始化順序與測(cè)試系統(tǒng)的架構(gòu)有著密切聯(lián)系,因而,順序表的設(shè)計(jì)應(yīng)當(dāng)以系統(tǒng)構(gòu)架為根據(jù),之后將其在載入順序表的記錄中顯示出來(lái);繼而,進(jìn)行擴(kuò)展參數(shù)的配置操作,根據(jù)測(cè)試任務(wù)本身的特性,設(shè)計(jì)出合理科學(xué)的詳細(xì)參數(shù);再然后,對(duì)測(cè)試過(guò)程中的控制模塊以及測(cè)試界面模塊進(jìn)行擴(kuò)展操作;最后一步,對(duì)數(shù)據(jù)管理模塊進(jìn)行擴(kuò)展,針對(duì)這一模塊,擴(kuò)展系統(tǒng)所使用的數(shù)據(jù)容量,對(duì)各式各樣所需要的數(shù)據(jù)管理接口進(jìn)行重新寫(xiě)入,使其作為系統(tǒng)數(shù)據(jù)管理和進(jìn)行交互的中心。當(dāng)然,除此之外,設(shè)計(jì)一個(gè)完整的測(cè)試系統(tǒng),還需要對(duì)一些特殊功能進(jìn)行設(shè)計(jì),譬如啟動(dòng)界面顯示方式等內(nèi)容。
5 結(jié)束語(yǔ)
總而言之,自動(dòng)測(cè)試系統(tǒng)軟件框架的設(shè)計(jì)主要分為主體框架、接口、硬件管理以及數(shù)據(jù)管理和實(shí)時(shí)性幾個(gè)方面的設(shè)計(jì)。通過(guò)全面分析自動(dòng)測(cè)試系統(tǒng)的通用性,能夠進(jìn)行初步的確立,以縮短設(shè)計(jì)時(shí)間,最大程度上提高系統(tǒng)運(yùn)行的穩(wěn)定可靠性能。并且,某型空空導(dǎo)彈飛行在控制組件性能方面進(jìn)行綜合測(cè)試時(shí),就是基于自動(dòng)測(cè)試系統(tǒng)軟件的共性進(jìn)行設(shè)計(jì)的自動(dòng)測(cè)試系統(tǒng)軟件框架,其表現(xiàn)出了極大的優(yōu)勢(shì),譬如實(shí)現(xiàn)大粒度的軟件復(fù)用,以及簡(jiǎn)化軟件的開(kāi)發(fā)流程等。
參考文獻(xiàn):
[1]Mohamed E Eayad, 譯者:姜曉紅,李巖.特定領(lǐng)域應(yīng)用框架:行業(yè)的框架體驗(yàn)[M].北京:電子工業(yè)出版社,2004:55-56.
[2]田立民.青鳥(niǎo)自動(dòng)測(cè)試工具JBTEST的開(kāi)發(fā)研制[M].北京:電子工業(yè)出版社,2008:90-100.
[3]張毅剛,姜守達(dá).自動(dòng)測(cè)試系統(tǒng)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2011:34-35.
作者簡(jiǎn)介:陳一寧(1992-),女,遼寧遼陽(yáng)人,本科在讀,主要研究方向:軟件工程。
作者單位:大連理工大學(xué)城市學(xué)院,遼寧大連 116600