劉連照,王道酉,徐 宙,余 磊,馬 暉, 楊會民
(電子信息系統(tǒng)復(fù)雜電磁環(huán)境效應(yīng)國家重點實驗室,河南 洛陽 471003)
雷達裝備是電子信息裝備試驗中的重要組成部分。為了保證雷達裝備測試數(shù)據(jù)的準確性,必須對其技術(shù)狀態(tài)進行定期的測試。隨著雷達技術(shù)的快速發(fā)展,使得對雷達裝備測試指標的要求越來越多,測試需求越來越多樣化,每種雷達裝備參數(shù)測試軟件的開發(fā)都需要占用大量的人員和時間,專用雷達裝備參數(shù)測試軟件的開發(fā)難度也不斷增加。其主要表現(xiàn)為以下兩點:首先是測試目標多樣,多種測試總線并存,針對具體的測試需求,在綜合成本、指標、應(yīng)用環(huán)境等多方面因素的前提下,規(guī)范測試系統(tǒng)的軟、硬件結(jié)構(gòu),使其發(fā)揮出最佳的測試性能是問題的關(guān)鍵[1-5];其次系統(tǒng)的研發(fā)成本過高,針對特定測試需求開發(fā)專用測試系統(tǒng)耗費大量的人力和物力,即使在時間等條件允許的情況下成功開發(fā)的測試系統(tǒng),也不能適應(yīng)日后的不停變化的測試需求,必須再次開發(fā)新的專用測試系統(tǒng),如此循環(huán)往復(fù)造成極大的人力、物力等的資源浪費[6-8]。
目前,主流的雷達裝備參數(shù)測試軟件開發(fā),是面向儀器的一種測試軟件開發(fā)模式[9]。面向儀器的雷達裝備參數(shù)測試軟件開發(fā),要求軟件開發(fā)人員和測試人員具備較高的儀器控制軟件開發(fā)和雷達裝備參數(shù)測試技能,同時由于雷達裝備參數(shù)測試中涉及的儀器種類繁多、生產(chǎn)廠家和型號都不相同,加大了雷達裝備參數(shù)測試軟件開發(fā)的周期和難度,大大降低了TPS的可移植性和儀器的互換性。本文提出的面向需求驅(qū)動的雷達裝備參數(shù)測試軟件開發(fā)方法,以雷達裝備參數(shù)測試需求為基礎(chǔ),通過設(shè)計可重構(gòu)的數(shù)據(jù)流結(jié)構(gòu)模型,實現(xiàn)雷達裝備參數(shù)測試軟件的按需組合配置,縮短了雷達裝備參數(shù)測試軟件的開發(fā)周期,提高了模型的可移植性和復(fù)用性。
需求驅(qū)動是指軟件的生成依賴于用戶的需求分析結(jié)果[10]。以雷達裝備參數(shù)測試需求為最基礎(chǔ)的依據(jù),往往能夠體現(xiàn)現(xiàn)階段雷達裝備參數(shù)測試的具體期望和未來雷達裝備參數(shù)測試的發(fā)展趨勢。需求驅(qū)動從測試需求出發(fā),通過用戶總結(jié)、分析測試需求內(nèi)容、特點,逐步歸納形成完備的測試需求描述,以測試需求描述的方式輸入到軟件生成編輯器中,自動生成新的測試項目或測試軟件,如圖1所示。
圖1 基于需求驅(qū)動的軟件生成方法
以需求描述方式生成雷達裝備參數(shù)測試軟件,使普通的雷達裝備參數(shù)測試人員不需要具備專家級的軟件開發(fā)能力,只需要理解需求描述與軟件生成編輯器輸入的對應(yīng)關(guān)系,就可完成新的測試軟件生成,降低了雷達裝備參數(shù)測試軟件開發(fā)門檻,同時正是由于普通測試人員的大量使用,豐富了軟件底層控件庫,解決了現(xiàn)有雷達裝備參數(shù)測試中測試方法、測試資源、測試流程等多變的難題,也能夠覆蓋未來雷達裝備參數(shù)測試中大帶寬、多數(shù)據(jù)量、長時采集等需求的發(fā)展趨勢。
為了使雷達裝備參數(shù)測試軟件可以根據(jù)測試需求自由配置,并進一步增強測試軟件的可重用性、模塊化,需要對電子信息裝備常用的雷達裝備測試系統(tǒng)特點及測試需求進行梳理總結(jié),將測試需求細化,完成雷達裝備參數(shù)測試的用例需求分析[11-12]。雷達裝備參數(shù)測試軟件用例需求分析如圖2所示。雷達裝備參數(shù)測試過程中主要存在測試人員和軟件開發(fā)人員兩種參與者,其中軟件開發(fā)人員可以泛化為測試人員;測試人員針對雷達裝備參數(shù)測試需求進行已有測試項目使用和新建測試項目的開發(fā);已有測試項目時,測試人員對相應(yīng)測試儀器進行基本參數(shù)的設(shè)置,操作專用控件獲取測試數(shù)據(jù),并對測試結(jié)果進行保存;新建測試項目開發(fā)時時,首先選擇所需類型的測試儀器,然后根據(jù)測試需求判定該測試軟件是否加載基本操作控件、專用測試控件及結(jié)果顯示控件等,完成新的測試需求描述,最后通過軟件生成編輯器生成對應(yīng)測試需求的的測試項目或軟件系統(tǒng);在測試人員進行新建測試項目開發(fā)因參數(shù)測試功能控件不具備或不完整時,就需要軟件開發(fā)人員對相應(yīng)的基本控件和專用控件進行編輯添加。一般一種類型測試儀器的基本控件建立后就不再需要進行基本控件的開發(fā),只需要對與參數(shù)測試功能、流程對應(yīng)的專用測試控件進行開發(fā)編輯。
圖2 雷達裝備參數(shù)測試用例圖
通過對雷達裝備參數(shù)測試的特點、多種參數(shù)的測試方法流程進行分析研究,進一步歸納總結(jié)試驗常用測試需求,梳理建立不同類型測試儀器與測試需求的對應(yīng)關(guān)系。需求分析首先解析需求描述,通過解析來建立最終實現(xiàn)軟件目標的模型[13-15]。上述用例圖中的雷達裝備試驗測試需求可以總結(jié)歸納為5個部分,分別為測試儀器類型、配置基本控件需求、專用測試控件需求、顯示方式需求以及數(shù)據(jù)輸出需求,如圖3所示。
圖3 雷達裝備參數(shù)測試需求歸納圖
測試儀器類型主要包括信號源、頻譜分析儀、數(shù)字示波器、矢量網(wǎng)絡(luò)分析儀、功率計等常用雷達裝備參數(shù)測試儀器種類;配置基本控件需求主要按照不同類型的測試儀器總結(jié)歸納常用設(shè)置控件,以頻譜分析儀為例常用設(shè)置控件主要包括頻率、掃寬、分辨力帶寬、視頻帶寬、幅值以及掃描時間等;專用測試控件需求根據(jù)用戶常用的頻率表掃描測量、多控件標記測量、長時間信號監(jiān)測、靈敏度測試、天線增益測試等特殊需求加載生成軟件專用測試控件,以多點掃描專用測試控件功能需求為例,該功能一般要求實現(xiàn)多個頻率點的配置寫入,然后通過多點掃描按鈕點擊事件控制相應(yīng)的信號源、頻譜分析儀等測試儀器完成信號的生成及測試;結(jié)果顯示方式需求根據(jù)用戶選擇的測試儀器類型生成測試結(jié)果界面,高速采集時顯示方式可以關(guān)閉,存在多種顯示方式的儀器(比如矢量網(wǎng)絡(luò)分析儀)可以選擇不同類型的顯示方式(X-Y,極坐標以及Smith圓圖);測試數(shù)據(jù)輸出要求主要包括試驗測試數(shù)據(jù)需求的指標數(shù)目、測試點數(shù)以及結(jié)果的計算,軟件按需進行測試數(shù)據(jù)表格的數(shù)據(jù)庫構(gòu)建,以控制多臺頻譜儀測量進行多頻率點掃描為例,需要將多臺儀器的測試結(jié)果進行合并,完后以DataGridView控件的形式進行當前測試數(shù)據(jù)的顯示,實現(xiàn)測試數(shù)據(jù)的數(shù)據(jù)庫更新、報告及數(shù)據(jù)的導(dǎo)出功能。
基于需求分析快速建立軟件原型,旨在演示目標系統(tǒng)主要功能的可運行系統(tǒng)。以數(shù)據(jù)流圖的方式構(gòu)建原型,能夠描繪當數(shù)據(jù)在軟件系統(tǒng)中移動時被變換的邏輯過程,指明系統(tǒng)擁有的數(shù)據(jù)變換的功能,因此數(shù)據(jù)流圖是建立功能模型的基礎(chǔ)[16-17]。
通過不斷地模塊分解,根據(jù)通用儀器自動控制方案中的數(shù)據(jù)流向[18-20],將一個通用儀器自動控制過程分解為硬件掃描類、基本控件類、專用控件類、數(shù)據(jù)讀取類、結(jié)果顯示類和數(shù)據(jù)存儲類共6大基礎(chǔ)類,基于UML建立的雷達裝備參數(shù)測試軟件開發(fā)模型如圖4所示。每一基類設(shè)計采用標準的數(shù)據(jù)流輸入和輸出規(guī)范,以滿足軟件對6大基類的靈活組合配置要求。首先,軟件通過調(diào)用硬件掃描類進行混合總線(如LAN總線、GPIB總線、USB總線等)下的儀器硬件掃描,獲取硬件VISA地址的字符串列表;用戶通過選擇要使用通信地址和測試需求后,根據(jù)試驗測試需求生成儀器基本控件和專用測試控件,并根據(jù)測試儀器型號獲取需要的控制命令字符串,實現(xiàn)測試儀器的狀態(tài)控制和測試控制;使用上一階段獲取的控制命令和測試控制方法,分別獲取顯示波形的數(shù)據(jù)矩陣和需要的測試數(shù)據(jù);根據(jù)用戶的試驗測試結(jié)果顯示方式的選擇,調(diào)用結(jié)果顯示類進行數(shù)據(jù)波形的繪制,并按照測試操作獲取需保存的測試結(jié)果參數(shù)、點次以及數(shù)據(jù);結(jié)合用戶的數(shù)據(jù)保存選擇方式和參數(shù)種類、點次等需求,建立專用試驗測試數(shù)據(jù)表格或數(shù)據(jù)庫,實現(xiàn)所需試驗數(shù)據(jù)的保存及導(dǎo)出。
圖4 基于需求驅(qū)動的雷達測試軟件開發(fā)模型
根據(jù)模塊化的思想將基于通用儀器的多參數(shù)測試軟件的基類分為硬件掃描、數(shù)據(jù)讀取、結(jié)果顯示、基本控件、專用控件、數(shù)據(jù)存儲六個基類。硬件掃描類是主要通過對計算機上的多種硬件總線(如LAN總線、GPIB總線、USB總線等)進行掃描,獲取并顯示各總線上連接儀器的VISA資源信息,并將公共屬性Ins_VISA傳遞給后續(xù)各類,如圖5所示。
圖5 硬件掃描類結(jié)構(gòu)示意圖
圖6 基本控件類結(jié)構(gòu)示意圖
圖7 數(shù)據(jù)讀取類結(jié)構(gòu)示意圖
圖8 結(jié)果顯示類結(jié)構(gòu)示意圖
圖9 專用控件類結(jié)構(gòu)示意圖
測試數(shù)據(jù)輸出要求主要包括試驗測試數(shù)據(jù)需求的指標數(shù)目、測試點數(shù)以及結(jié)果的計算,軟件按需進行測試數(shù)據(jù)表格的構(gòu)建。以控制多臺頻譜儀測量進行多頻率點掃描為例,需要將多臺儀器的測試結(jié)果進行合并,完后以DataGridView控件的形式進行當前測試數(shù)據(jù)的顯示,實現(xiàn)測試數(shù)據(jù)的數(shù)據(jù)庫更新、報告及數(shù)據(jù)導(dǎo)出等操作,如圖10所示。
圖10 數(shù)據(jù)存儲類結(jié)構(gòu)示意圖
在開發(fā)硬件掃描類、基本控件類、專用控件類、數(shù)據(jù)讀取類、結(jié)果顯示類及數(shù)據(jù)存儲類6個基類的基礎(chǔ)上,需要根據(jù)用戶選擇的測試需求組合生成典型的測試項目,以驗證基于數(shù)據(jù)流的通用儀器軟件控制模型的正確性。
測試項目生成程序根據(jù)硬件掃描得到的混合總線下的各儀器VISA資源,選擇需要控制一個或多個的測試儀器,然后軟件自動連接選擇控制的測試儀器判斷相應(yīng)的儀器類型,并讀取相應(yīng)儀器類型的6大基類選項,用戶通過下拉列表選擇對應(yīng)描述測試需求的6大基類選項,然后通過項目生成事件調(diào)用相應(yīng)的基類進行實例化和相對位置的配置,生成對應(yīng)測試需求的測試項目或軟件系統(tǒng)。測試項目生成流程如圖11所示。
圖11 測試項目生成程序流程圖
為了驗證基于需求驅(qū)動的雷達裝備參數(shù)測試軟件開發(fā)模型的有效性,下面以特體雷達多參數(shù)經(jīng)測試系統(tǒng)軟件開發(fā)為例進行驗證。特體雷達多參數(shù)測試系統(tǒng)主要以電子信息裝備試驗中特殊型號、特殊體制雷達為測試對象,因此其測試需求存在著測試項目多變、數(shù)據(jù)采集要求不一、測試儀器可替換等難題。
以某型號特體雷達新增的天線增益測試需求為例,主要測試需求為:被測裝備頻率范圍為1~2 GHz,需要控制10 Hz~26.5 GHz頻段的信號源E8267D、9 kHz~40 GHz頻段的頻譜分析儀E4447A進行頻譜測試,要求具備中心頻率、SPAN、分辨力帶寬、視頻帶寬及掃描時間等頻譜儀和信號源的基本參數(shù)設(shè)置功能,顯示頻譜分析儀E4447A的頻譜波形,信號源E8267D具備標準天線測量、被測天線測量及天線增益結(jié)果的自動計算,能夠?qū)崿F(xiàn)測試數(shù)據(jù)的保存及導(dǎo)出。按照測試需求分別配置6大基類,實現(xiàn)測試項目的生成及測試項目實現(xiàn)效果分別如圖12、圖13所示。
圖12 雷達天線增益測試軟件生成圖
圖13 雷達天線增益測試軟件實現(xiàn)效果圖
通過該方法生成的特體雷達多參數(shù)測試系統(tǒng)能夠完成天線增益、靈敏度、動態(tài)范圍、帶寬、信號樣式、線性調(diào)頻信號產(chǎn)生與分析等測試,對應(yīng)新的頻段、帶寬、信號樣式、存儲點數(shù)等測試需求,能夠?qū)崿F(xiàn)不同生產(chǎn)廠家、不同型號的同類型測試設(shè)備的快速互換,可以兼容GPIB、USB及TCPIP總線,并且生成的軟件系統(tǒng)能夠移植到其他測試系統(tǒng)中應(yīng)用。
本文通過對雷達參數(shù)測試進行詳盡的用例需求分析,在歸納總結(jié)測試需求的基礎(chǔ)上使用UML建立了基于需求驅(qū)動的雷達參數(shù)測試軟件開發(fā)模型,并詳細介紹了模型中的類圖設(shè)計方法。實踐表明該模型能夠在雷達參數(shù)測試中完成相應(yīng)軟件系統(tǒng)生成,大大提高測試軟件開發(fā)效率、可移植性及儀器互換性,對于其他裝備參數(shù)軟件開發(fā)也具備一定的參考、借鑒價值。