用通用硬件部件设计产品具有省时、省钱及改善质量和可靠性的优点。这种实用的方法使得制造商能大量生产产品。
在应用部件方面软件不像硬件那样成熟,但元件基开发(component -Based Development-CBD)使我们更接近软件通用性。
CBD的必要性
当今市场环境的现实是不断变化的测试要求、复杂的测试系统,更快的上市和预算限制。这些要求需要有一种更有效和可预测的软件开发方法。
技术的进步已极大地改善了测试软件开发进程,但也增加了对软件能力的期望。现在,要求软件能处理多种新仪器、平台和环境以及适用新的通信标准。随着通信的进步,消费者希望在任何地方和任何时间都易于得到数据。
公司需要不断地适应这种变化的环境。软件开发必须以前所未有的速度提供高品质应用。基于这些原因,任何软件方案都必须是可再用的。一个成功方案的关键是看它做过什么,所做的能证明什么。
定义元件
根据预定义性能指标构建部件的概念已经有一个多世纪了。现在,制造商用通用部件组装产品可以大量生产很多装置。
CBD应用相同的原理在软件开发中。根据预定义的性能指标,所设计的部件可以组装成各种应用装置。这些部件称之为元件(component)。
软件元件是和生产、获得、使用无关的二进制单元,它们相互作用构成一个功能系统。根据基本概念,软件元件是软件部件,可以一起用做建造一个应用。元件基软件开发的目标是标准化软件元件之间的界面,这样软件元件可以一起组装。
元件可认为是黑盒子。元件被密封,因为基本实现的详情对用户是保密的,而相互作用是通过恰当定义的接口实现的。
一个密封元件分离是什么,元件如何做接口定义元件和如何用元件。这种方法,使得用元件的任何使用者只关心如何相互配合。
元件必须具有可预知性能,而其现实与应用无关。图1示出密封概念。用户与一个元件通信是通过与代表客户端线路的适当定义接口,而客户不需要知道元件实现的详情。
一个元件不约束任何特定的应用。所生成的很多元件能满足一个特定应用的要求。但是,一旦生成元件,这些元件可用于不同的应用。因为元件具有严格定义的接口,所以只要元件接口满足客户需要,则同一元件可用于开发或增强其他应用。而且,元件只要支持相同的接口,它们可以用其他元件替换来提供新的或增强的功能。
图1示出元件是如何替换的。一个客户通过一个适当定义的接口与元件A通信。开发一个支持定义接口和新接口的新元件B。可以用元件B替换元件A,用户仍然可以与它通信而不必重新编译任何码。而且,任何新客户用任一种接口可以与元件B通信。
通过密封可独立实现一个元件,与其他元件无关。每个元件是自己本身所包含的开发和测试单元。
因为,在开始开发前可以定义元件接口,所以,人们可以独立或并行确定任务和开发软件元件。这确实影响产品上市时间并在软件开发过程中提供更多控制和管理性。
图1 密封概念
图2 元件演变过程
测试应用中采用元件的好处
采用元件的好处是可维护性、重新可用性和可测量性。元件的使用也捉进分布计算。
可维护性
在具有很大互相依赖性的单一应用中,改变应用的一个部分可影响其他部分。用分立元件设计一个应用,其系统不同部分之间的依赖性是最小的。隔离起作用元件的应用变化而不需要修改整个应用。
改善软件开发速度是有利的,但是,一旦完成应用,通常需要改变和维护它。例如,随着要求的改变,现有方案将需要进行改进。
在软件应用的使用期限,很多时间和精力是花费在维护上。处理变化的关键要求是保持它局部化,使它的范围和影响最小。
在元件基系统中,理论上只一次实现功能。容易维护,使系统成本降低、寿命较长。
重新可用性
具有密封数据的分立元件使系统依赖性最小,并减少对输入和希望输出集合的相互影响。这种黑盒子性能使得码重新可用性最大。
为了使用元件,开发人员应简单地调用其接口。这不需要知道它是如何实现的。在开发系统时,必须产生很多功能。若另一系统需要类似功能,则必须再次开发它。
测试工程师用CBD生成一个元件,这是一个完全的实现方案。
然后,元件再用于不同的系统,这有助于可维护性。
重新可用性增加了元件的耐用性。随着更多的应用采用元件方案,其缺陷是固定的,而且可增加功能。元件已被广泛采用,而客户知道从元件得到什么。元件成为一个更稳定的软件单元。
可扩展性
测试开发人员往往希望在不修改整个应用的情况下进一步增加更多的性能。消除一个应用中不同元件之间的相互影响是比较容易的,可根据动态需求扩展不同的部分。
所以,元件基系统比用传统设计技术构建的系统具有更大的适用性和扩展性。另外,通常不改变元件,但可替换。这使得能迅速地从一个仪器到另一个仪器或从一个 *** 作系统到另一个 *** 作系统转移。
分布计算
分布应用具有运行在不同计算机上的软件。CBD为测试开发人员提供分配软件模块和在不同PC上运行它们的能力。
这实现起来仍然是一个复杂的任务,但元件有助于实现。CBD使设计分布系统成为可能。DCOM,CORBA和.NET技术为元件间的通信提供平台,而使分布计算实现变容易。
元件使用实例
对于在不同功能的多测试系统上重复的任务,生成元件总是有用的。这些可重复的任务是进入系统,增加、编辑和删除客户,存储和检索配置信息,存储和检索测试数据,检验和打印测试合格证与UUT通信等,为这些任务开发的元件可用做为构建单元,在很多测试系统中可容易组装和再用这些单元。
例如,需要为Product A123开发一个功能测试系统,构建一个能处理与UUT通信的元件是有意义的。此通信元件可提供初始化和中止UUT的功能,用所选择的信息配置UUT、获得软件版本以及从文件执行过程程序。
用COM结构实现的码为:
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。然后用此目标调用初始化、配置、获得元件版本和执行过程程序。
若修改 Product A123,则只需要新版本替换现在的通信元件,而测试码不需要重新编译或做任何的改变。这种使码改变最小的能力是更快开发测试系统所需的。
元件技术
元件技术已经发展了十多年。大多数元件基系统具有一个基础软件结构。最通用的是CORBA(Common Object Request Broker Architecture)和DCOM (Distributed Component Object Model)。
借助所了解的商用元件技术,测试技术人员可在开发应用中选用合适的一种。图2给出这些技术随时间发展的情况,特别是近10年的发展。
COM,DCOM和COM+
COM(Component Object Model)从前称之为OLE,是1993年推出的,它是Microsoft的元件软件结构。COM被认为是最广泛采用的元件软件模块。
现在很多工具和编程环境适用于建造COM目标。为了支持分布计算,Microsoft于1996年推出DCOM(Distributed COM),它扩展COM模块,增加一个协议,使软件元件能在网络上直接通信。
Microsoft于1998年推出COM+(COM扩展型)和MTS (Microsoft TransacTIon Server),这增强了采用COM、MTS和其他COM基技术编写应用程序。COM+处理很多资源管理任务,这些任务(如情节分配和保密)从前开发人员必须编程。
AcTIveX
AcTIveX控制是基于COM的可再用的软件元件和服务。这些控制可增加特定的功能到测试应用。ActiveX已变得很知名,广泛用做开发可编程软件元件的结构,在很多应用和开发工具中得到应用。
CORBA
CORBA是OMG(Object Management Group)设计的固件,用于分布在网络中应用间的通信。CORBA被认为是非常可靠的,特别是具有大通信量和异常瞬间断率情况下。CORBA是独立平台,它的几种实现适用于支持不同的平台。
.NET
Microsoft的.NET是建造、开发和运行分布应用和系统的一种平台。它利用XML(Extended Markup Language)和其他技术标准。
.NET平台使得通过利用XML Web 服务能软件集成,XML Web服务是相互连接的小分立建造模块应用。.NET 工具恰好不适用于建造Web应用。可以用任何.NET语言生成标准Windows应用。
测试测量中的元件技术
当今,几乎所有流行的软件开发工具都支持ActiveX,C++OM和.NET。这使得人们有能力从开发环境(如LabVIEW,Agilent VEE,Labwindows/CVI,Visual Basic.NET,Visual C#,Visual C++)使用元件。
通过 ActiveX自动 *** 作,这些环境提供控制其他应用(如Microsoft Word,Excel和Access)的方法。用这种方法,可编程测试系统发送数据到应用来读数据和生成报告。
测试软件开发工具
Microsoft 的Visual Studio .NET支持所有.NET 技术和DCOM/COM,允许开发人员在集成环境利用这些技术和其他技术建造和使用元件。此工具与Microsoft的Visual Studio .NET集成为测试测量系统开发提供一种开发环境。
NI的LabVIEW包含对COM的支持,因为现在Version4.1. LabVIEW7 Express为COM模块、ActiveX控制和.NET元件提供支持。Lab Windows/CVI和TestStand也支持COM.Measurement Studio,为在ActiveX控制容器中构建测试测量软件提供ActiveX控制集。
Agileut公司的VEE支持ActiveX自动 *** 作和控制计算机运行Windows。ActiveX自动 *** 作支持使人们用VEE做为自动 *** 作控制器来执行其他Windows应用。
测试数据管理软件
通常,测试数据管理是一件麻烦的任务,要连接不同的数据源以及组合成正确的数据。
元件技术大大地改善这些不足之处。例如,所有一般商用RDBMS (RelationalDatabase Management Systems),如Oracle和SQL Server都支持ADO(ActiveX Data Object)和ADO .NET。ADO是基于COM的元件模式,它提供到多数据源的存取。ADO对任何支持COM的环境是可存取的。
另外,其他工具增加更高抽象级,使测试数据管理更容易。这些工具是从测试和管理的观点,而不是从RDBMS观点为模块数据提供更本能的接口和技术。VI Technology的Arendar产品就是这种工具的实例。
自动数据存取软件
OPC (OLE for Process Control)规范定义了基于Microsoft COM的标准接口组。传统上,存取任何现场装置或其数据,要求开发人员连线用户接口。OPC指定一个通用接口而消除了这种要求。
另外,OPC Foundation发布了基于XML和Microsoft .NET技术基础上的OPCXML规范。OPCXML基于现有OPC数据存取规范。
仪器驱动器软件
IVI(Interchangeable Virtual Instrumnet)规范为互换仪器的仪器驱动器和增强结构提供一种标准。IVI Fundation已为几种仪器(DMM,DC电源,示波器,任意波形/函数发生器)规定了规范。
IVI-COM是基于与COM相同的IVI驱动器结构。用IVI-COM,基于此规范的仪器驱动器能与工业标准软件开发环境(如Visual Studio .NET,Visual C++,Visual Basic和其他支持COM的测试测量软件)工作。
结语
元件技术从OLE到CORBA以及最近的.NET前后发展至少10年了。这些技术已被证明是可靠和有效的。它们正在用于不同行业的很多应用中。
与其他行业相比,测试工程采纳这些技术稍微慢了一步,但正在走向正确的方向。大多数一般商用仪器用这些技术提供驱动器和接口,这极大地简化了工程师与它们的接口方法。
做为测试系统的开发人员,具有一个良好的机会使其开发过程更有效和具有可预知性。在过度到CBD时,第一步是了解技术和形成包含CBD于开发过程的计划。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)