<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 測試測量的元件基技術(shù)

          測試測量的元件基技術(shù)

          作者: 時(shí)間:2005-03-14 來源: 收藏

          2004年10月A版

          本文引用地址:http://www.ex-cimer.com/article/4612.htm

          用通用硬件部件設(shè)計(jì)產(chǎn)品具有省時(shí)、省錢及改善質(zhì)量和可靠性的優(yōu)點(diǎn)。這種實(shí)用的方法使得制造商能大量生產(chǎn)產(chǎn)品。
          在應(yīng)用部件方面軟件不像硬件那樣成熟,但元件基開發(fā)(component -Based Development-CBD)使我們更接近軟件通用性。

          CBD的必要性
          當(dāng)今市場環(huán)境的現(xiàn)實(shí)是不斷變化的測試要求、復(fù)雜的測試系統(tǒng),更快的上市和預(yù)算限制。這些要求需要有一種更有效和可預(yù)測的軟件開發(fā)方法。
          技術(shù)的進(jìn)步已極大地改善了測試軟件開發(fā)進(jìn)程,但也增加了對(duì)軟件能力的期望?,F(xiàn)在,要求軟件能處理多種新儀器、平臺(tái)和環(huán)境以及適用新的通信標(biāo)準(zhǔn)。隨著通信的進(jìn)步,消費(fèi)者希望在任何地方和任何時(shí)間都易于得到數(shù)據(jù)。
          公司需要不斷地適應(yīng)這種變化的環(huán)境。軟件開發(fā)必須以前所未有的速度提供高品質(zhì)應(yīng)用?;谶@些原因,任何軟件方案都必須是可再用的。一個(gè)成功方案的關(guān)鍵是看它做過什么,所做的能證明什么。

          定義元件
          根據(jù)預(yù)定義性能指標(biāo)構(gòu)建部件的概念已經(jīng)有一個(gè)多世紀(jì)了?,F(xiàn)在,制造商用通用部件組裝產(chǎn)品可以大量生產(chǎn)很多裝置。
          CBD應(yīng)用相同的原理在軟件開發(fā)中。根據(jù)預(yù)定義的性能指標(biāo),所設(shè)計(jì)的部件可以組裝成各種應(yīng)用裝置。這些部件稱之為元件(component)。
          軟件元件是和生產(chǎn)、獲得、使用無關(guān)的二進(jìn)制單元,它們相互作用構(gòu)成一個(gè)功能系統(tǒng)。根據(jù)基本概念,軟件元件是軟件部件,可以一起用做建造一個(gè)應(yīng)用。元件基軟件開發(fā)的目標(biāo)是標(biāo)準(zhǔn)化軟件元件之間的界面,這樣軟件元件可以一起組裝。
          元件可認(rèn)為是黑盒子。元件被密封,因?yàn)榛緦?shí)現(xiàn)的詳情對(duì)用戶是保密的,而相互作用是通過恰當(dāng)定義的接口實(shí)現(xiàn)的。
          一個(gè)密封元件分離是什么,元件如何做接口定義元件和如何用元件。這種方法,使得用元件的任何使用者只關(guān)心如何相互配合。
          元件必須具有可預(yù)知性能,而其現(xiàn)實(shí)與應(yīng)用無關(guān)。圖1示出密封概念。用戶與一個(gè)元件通信是通過與代表客戶端線路的適當(dāng)定義接口,而客戶不需要知道元件實(shí)現(xiàn)的詳情。
          一個(gè)元件不約束任何特定的應(yīng)用。所生成的很多元件能滿足一個(gè)特定應(yīng)用的要求。但是,一旦生成元件,這些元件可用于不同的應(yīng)用。因?yàn)樵哂袊?yán)格定義的接口,所以只要元件接口滿足客戶需要,則同一元件可用于開發(fā)或增強(qiáng)其他應(yīng)用。而且,元件只要支持相同的接口,它們可以用其他元件替換來提供新的或增強(qiáng)的功能。
          圖1示出元件是如何替換的。一個(gè)客戶通過一個(gè)適當(dāng)定義的接口與元件A通信。開發(fā)一個(gè)支持定義接口和新接口的新元件B??梢杂迷﨎替換元件A,用戶仍然可以與它通信而不必重新編譯任何碼。而且,任何新客戶用任一種接口可以與元件B通信。
          通過密封可獨(dú)立實(shí)現(xiàn)一個(gè)元件,與其他元件無關(guān)。每個(gè)元件是自己本身所包含的開發(fā)和測試單元。
          因?yàn)?,在開始開發(fā)前可以定義元件接口,所以,人們可以獨(dú)立或并行確定任務(wù)和開發(fā)軟件元件。這確實(shí)影響產(chǎn)品上市時(shí)間并在軟件開發(fā)過程中提供更多控制和管理性。


          圖1 密封概念


          圖2 元件演變過程

          測試應(yīng)用中采用元件的好處
          采用元件的好處是可維護(hù)性、重新可用性和可測量性。元件的使用也捉進(jìn)分布計(jì)算。
          可維護(hù)性
          在具有很大互相依賴性的單一應(yīng)用中,改變應(yīng)用的一個(gè)部分可影響其他部分。用分立元件設(shè)計(jì)一個(gè)應(yīng)用,其系統(tǒng)不同部分之間的依賴性是最小的。隔離起作用元件的應(yīng)用變化而不需要修改整個(gè)應(yīng)用。
          改善軟件開發(fā)速度是有利的,但是,一旦完成應(yīng)用,通常需要改變和維護(hù)它。例如,隨著要求的改變,現(xiàn)有方案將需要進(jìn)行改進(jìn)。
          在軟件應(yīng)用的使用期限,很多時(shí)間和精力是花費(fèi)在維護(hù)上。處理變化的關(guān)鍵要求是保持它局部化,使它的范圍和影響最小。
          在元件基系統(tǒng)中,理論上只一次實(shí)現(xiàn)功能。容易維護(hù),使系統(tǒng)成本降低、壽命較長。
          重新可用性
          具有密封數(shù)據(jù)的分立元件使系統(tǒng)依賴性最小,并減少對(duì)輸入和希望輸出集合的相互影響。這種黑盒子性能使得碼重新可用性最大。
          為了使用元件,開發(fā)人員應(yīng)簡單地調(diào)用其接口。這不需要知道它是如何實(shí)現(xiàn)的。在開發(fā)系統(tǒng)時(shí),必須產(chǎn)生很多功能。若另一系統(tǒng)需要類似功能,則必須再次開發(fā)它。
          測試工程師用CBD生成一個(gè)元件,這是一個(gè)完全的實(shí)現(xiàn)方案。
          然后,元件再用于不同的系統(tǒng),這有助于可維護(hù)性。
          重新可用性增加了元件的耐用性。隨著更多的應(yīng)用采用元件方案,其缺陷是固定的,而且可增加功能。元件已被廣泛采用,而客戶知道從元件得到什么。元件成為一個(gè)更穩(wěn)定的軟件單元。
          可擴(kuò)展性
          測試開發(fā)人員往往希望在不修改整個(gè)應(yīng)用的情況下進(jìn)一步增加更多的性能。消除一個(gè)應(yīng)用中不同元件之間的相互影響是比較容易的,可根據(jù)動(dòng)態(tài)需求擴(kuò)展不同的部分。
          所以,元件基系統(tǒng)比用傳統(tǒng)設(shè)計(jì)技術(shù)構(gòu)建的系統(tǒng)具有更大的適用性和擴(kuò)展性。另外,通常不改變?cè)商鎿Q。這使得能迅速地從一個(gè)儀器到另一個(gè)儀器或從一個(gè)操作系統(tǒng)到另一個(gè)操作系統(tǒng)轉(zhuǎn)移。
          分布計(jì)算
          分布應(yīng)用具有運(yùn)行在不同計(jì)算機(jī)上的軟件。CBD為測試開發(fā)人員提供分配軟件模塊和在不同PC上運(yùn)行它們的能力。
          這實(shí)現(xiàn)起來仍然是一個(gè)復(fù)雜的任務(wù),但元件有助于實(shí)現(xiàn)。CBD使設(shè)計(jì)分布系統(tǒng)成為可能。DCOM,CORBA和.NET技術(shù)為元件間的通信提供平臺(tái),而使分布計(jì)算實(shí)現(xiàn)變?nèi)菀住?br/>元件使用實(shí)例
          對(duì)于在不同功能的多測試系統(tǒng)上重復(fù)的任務(wù),生成元件總是有用的。這些可重復(fù)的任務(wù)是進(jìn)入系統(tǒng),增加、編輯和刪除客戶,存儲(chǔ)和檢索配置信息,存儲(chǔ)和檢索測試數(shù)據(jù),檢驗(yàn)和打印測試合格證與UUT通信等,為這些任務(wù)開發(fā)的元件可用做為構(gòu)建單元,在很多測試系統(tǒng)中可容易組裝和再用這些單元。
          例如,需要為Product A123開發(fā)一個(gè)功能測試系統(tǒng),構(gòu)建一個(gè)能處理與UUT通信的元件是有意義的。此通信元件可提供初始化和中止UUT的功能,用所選擇的信息配置UUT、獲得軟件版本以及從文件執(zhí)行過程程序。
          用COM結(jié)構(gòu)實(shí)現(xiàn)的碼為:
          Dim objUUT As New MYCommComponent.Product A123
          obj UUT.initialize
          obj UUT.Configure(TEST-
           CONFIGURAT10N-A)
          If objUUT.Getsoftware
           Version()=“1.0.23”Then
           objUUT.Execnte ScriptFromFile(PATH-TO-SCRIPT-FILE)
          .......
          此元件為MyCommComponent,它陳述接口ProductA123
          首先,生成新目標(biāo)objUUT。然后用此目標(biāo)調(diào)用初始化、配置、獲得元件版本和執(zhí)行過程程序。
          若修改 Product A123,則只需要新版本替換現(xiàn)在的通信元件,而測試碼不需要重新編譯或做任何的改變。這種使碼改變最小的能力是更快開發(fā)測試系統(tǒng)所需的。

          元件技術(shù)
          元件技術(shù)已經(jīng)發(fā)展了十多年。大多數(shù)元件基系統(tǒng)具有一個(gè)基礎(chǔ)軟件結(jié)構(gòu)。最通用的是CORBA(Common Object Request Broker Architecture)和DCOM (Distributed Component Object Model)。
          借助所了解的商用元件技術(shù),測試技術(shù)人員可在開發(fā)應(yīng)用中選用合適的一種。圖2給出這些技術(shù)隨時(shí)間發(fā)展的情況,特別是近10年的發(fā)展。
          COM,DCOM和COM+
          COM(Component Object Model)從前稱之為OLE,是1993年推出的,它是Microsoft的元件軟件結(jié)構(gòu)。COM被認(rèn)為是最廣泛采用的元件軟件模塊。
          現(xiàn)在很多工具和編程環(huán)境適用于建造COM目標(biāo)。為了支持分布計(jì)算,Microsoft于1996年推出DCOM(Distributed COM),它擴(kuò)展COM模塊,增加一個(gè)協(xié)議,使軟件元件能在網(wǎng)絡(luò)上直接通信。
          Microsoft于1998年推出COM+(COM擴(kuò)展型)和MTS (Microsoft Transaction Server),這增強(qiáng)了采用COM、MTS和其他COM基技術(shù)編寫應(yīng)用程序。COM+處理很多資源管理任務(wù),這些任務(wù)(如情節(jié)分配和保密)從前開發(fā)人員必須編程。
          ActiveX
          ActiveX控制是基于COM的可再用的軟件元件和服務(wù)。這些控制可增加特定的功能到測試應(yīng)用。ActiveX已變得很知名,廣泛用做開發(fā)可編程軟件元件的結(jié)構(gòu),在很多應(yīng)用和開發(fā)工具中得到應(yīng)用。
          CORBA
          CORBA是OMG(Object Management Group)設(shè)計(jì)的固件,用于分布在網(wǎng)絡(luò)中應(yīng)用間的通信。CORBA被認(rèn)為是非??煽康模貏e是具有大通信量和異常瞬間斷率情況下。CORBA是獨(dú)立平臺(tái),它的幾種實(shí)現(xiàn)適用于支持不同的平臺(tái)。
          .NET
          Microsoft的.NET是建造、開發(fā)和運(yùn)行分布應(yīng)用和系統(tǒng)的一種平臺(tái)。它利用XML(Extended Markup Language)和其他技術(shù)標(biāo)準(zhǔn)。
          .NET平臺(tái)使得通過利用XML Web 服務(wù)能軟件集成,XML Web服務(wù)是相互連接的小分立建造模塊應(yīng)用。.NET 工具恰好不適用于建造Web應(yīng)用。可以用任何.NET語言生成標(biāo)準(zhǔn)Windows應(yīng)用。

          測試測量中的元件技術(shù)
          當(dāng)今,幾乎所有流行的軟件開發(fā)工具都支持ActiveX,COM和.NET。這使得人們有能力從開發(fā)環(huán)境(如LabVIEW,Agilent VEE,Labwindows/CVI,Visual Basic.NET,Visual C#,Visual C++)使用元件。
          通過 ActiveX自動(dòng)操作,這些環(huán)境提供控制其他應(yīng)用(如Microsoft Word,Excel和Access)的方法。用這種方法,可編程測試系統(tǒng)發(fā)送數(shù)據(jù)到應(yīng)用來讀數(shù)據(jù)和生成報(bào)告。
          測試軟件開發(fā)工具
          Microsoft 的Visual Studio .NET支持所有.NET 技術(shù)和DCOM/COM,允許開發(fā)人員在集成環(huán)境利用這些技術(shù)和其他技術(shù)建造和使用元件。此工具與Microsoft的Visual Studio .NET集成為測試測量系統(tǒng)開發(fā)提供一種開發(fā)環(huán)境。
          NI的LabVIEW包含對(duì)COM的支持,因?yàn)楝F(xiàn)在Version4.1. LabVIEW7 Express為COM模塊、ActiveX控制和.NET元件提供支持。Lab Windows/CVI和TestStand也支持COM.Measurement Studio,為在ActiveX控制容器中構(gòu)建測試測量軟件提供ActiveX控制集。
          Agileut公司的VEE支持ActiveX自動(dòng)操作和控制計(jì)算機(jī)運(yùn)行Windows。ActiveX自動(dòng)操作支持使人們用VEE做為自動(dòng)操作控制器來執(zhí)行其他Windows應(yīng)用。
          測試數(shù)據(jù)管理軟件
          通常,測試數(shù)據(jù)管理是一件麻煩的任務(wù),要連接不同的數(shù)據(jù)源以及組合成正確的數(shù)據(jù)。
          元件技術(shù)大大地改善這些不足之處。例如,所有一般商用RDBMS (RelationalDatabase Management Systems),如Oracle和SQL Server都支持ADO(ActiveX Data Object)和ADO .NET。ADO是基于COM的元件模式,它提供到多數(shù)據(jù)源的存取。ADO對(duì)任何支持COM的環(huán)境是可存取的。
          另外,其他工具增加更高抽象級(jí),使測試數(shù)據(jù)管理更容易。這些工具是從測試和管理的觀點(diǎn),而不是從RDBMS觀點(diǎn)為模塊數(shù)據(jù)提供更本能的接口和技術(shù)。VI Technology的Arendar產(chǎn)品就是這種工具的實(shí)例。
          自動(dòng)數(shù)據(jù)存取軟件
          OPC (OLE for Process Control)規(guī)范定義了基于Microsoft COM的標(biāo)準(zhǔn)接口組。傳統(tǒng)上,存取任何現(xiàn)場裝置或其數(shù)據(jù),要求開發(fā)人員連線用戶接口。OPC指定一個(gè)通用接口而消除了這種要求。
          另外,OPC Foundation發(fā)布了基于XML和Microsoft .NET技術(shù)基礎(chǔ)上的OPCXML規(guī)范。OPCXML基于現(xiàn)有OPC數(shù)據(jù)存取規(guī)范。
          儀器驅(qū)動(dòng)器軟件
          IVI(Interchangeable Virtual Instrumnet)規(guī)范為互換儀器的儀器驅(qū)動(dòng)器和增強(qiáng)結(jié)構(gòu)提供一種標(biāo)準(zhǔn)。IVI Fundation已為幾種儀器(DMM,DC電源,示波器,任意波形/函數(shù)發(fā)生器)規(guī)定了規(guī)范。
          IVI-COM是基于與COM相同的IVI驅(qū)動(dòng)器結(jié)構(gòu)。用IVI-COM,基于此規(guī)范的儀器驅(qū)動(dòng)器能與工業(yè)標(biāo)準(zhǔn)軟件開發(fā)環(huán)境(如Visual Studio .NET,Visual C++,Visual Basic和其他支持COM的測試測量軟件)工作。

          結(jié)語
          元件技術(shù)從OLE到CORBA以及最近的.NET前后發(fā)展至少10年了。這些技術(shù)已被證明是可靠和有效的。它們正在用于不同行業(yè)的很多應(yīng)用中。
          與其他行業(yè)相比,測試工程采納這些技術(shù)稍微慢了一步,但正在走向正確的方向。大多數(shù)一般商用儀器用這些技術(shù)提供驅(qū)動(dòng)器和接口,這極大地簡化了工程師與它們的接口方法。
          做為測試系統(tǒng)的開發(fā)人員,具有一個(gè)良好的機(jī)會(huì)使其開發(fā)過程更有效和具有可預(yù)知性。在過度到CBD時(shí),第一步是了解技術(shù)和形成包含CBD于開發(fā)過程的計(jì)劃。(益林)



          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();