3.2 软件系统
系统选用Windows XP操作系统为系统的运行环境,用微软公司的Visual C++作为系统软件开发平台,开发了应用程序界面。根据测试用仪表的SCPI命令来使用Visual C++。来编写硬件驱动库。
软件采用模块化程序设计方法,划分为不同的功能模块:硬件驱动程序部分、系统界面部分和数据管理部分。
3.2.1 软件设计思想
系统软件的设计主要采用面向对象的设计思想,基于面向对象技术的应用软件结构容易理解、修改和重用,能明显提高软件开发和维护的效率。
软件设计中根据各种不同的设备及其功能将各个测试仪表封装成类,即信号源类、信号分析类、电源类等,将对各仪表操作的函数及变量作为类的方法和属性封装到各个类中。这些类描述了具有公共方法和一般特性的一组相同对象,如信号源类表征了信号源的共有性质,如波形种类选择、波形参数设定等。并采用CObject类来派生一个测量数据类,将采样数据作为测量数据类的主要属性,将各种测量采样方法、数据处理方法、数据表现方法都作为测量数据类的接口方法。使用这种方法并结合设计模式和多态性有助于接口的规范化和自由扩展。
构造测量数据类,采用直接封装结构和数组,由于测量的数据量一般都比较大,全局对象和共享内存文件也是常用的办法。也可以使用模板类,如CArray类、CList类等。它们都支持复杂类的动态添加。
软件使用COM组件技术封装各种数据处理算法,如快速傅里叶变换、滤波等,对数据进行处理,再供用户界面使用。组件对象模型(Component Object Model,COM)定义了各种不同的对象如何利用一种公共约定的协议相互之间进行通信,是一种独立于语言和平台的标准。COM组件最重要的特点是具有面向对象的特性。通过面向对象技术,用户界面不需理会它现在操作的是什么样的硬件,它只需通过公共接口使用约定的协议,向组件收发数据和命令,而具体操作由组件去完成,从而实现设备无关性。