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

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 測試測量的元件基技術

          測試測量的元件基技術

          作者: 時間:2005-03-14 來源: 收藏

          2004年10月A版

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

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

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

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


          圖1 密封概念


          圖2 元件演變過程

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

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

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

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



          關鍵詞:

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();