论文部分内容阅读
显控软件作为任意波形发生器人机信息与操作交互的窗口,直接决定任意波形发生器设计的优劣。传统的任意波形发生器显控软件在进行功能升级扩展时,由于代码耦合性太高,需要对显控软件代码做出大量的改动,极大的增加了软件开发人员的工作量。基于提高显控软件的可扩展性和可移植性,本设计采用插件式思维模式,把功能相对独立的模块做成插件,在功能上保证了独立性、隔离性、可扩展性,同时增加了代码的可移植性,在开发同系列新产品时极大的降低代码编写人员的工作量,这对任意波形发生器显控软件的发展有着深远的意义。主要研究内容如下:1、基于插件式软件结构设计。对显控软件进行详细的需求分析,将其中功能相对独立的模块设计成插件,插件之间通过接口函数进行通信。在插件内部,采用MVP(Model,View,Presenter)(模型,视图,逻辑)设计模式将三层结构进行解耦,同时设计MVP组方案,通过信号机制实现插件内部多个MVP之间的相互通信,减少了大量的冗余代码,提升了软件的可维护性与可扩展性。2、波形属性和通道属性完全解耦。通过不同插件实现波形属性和通道属性,插件之间相对独立,仅通过统一接口进行通信。波形相关属性由波形管理插件管理,通道相关属性由通道基本属性插件管理,实现波形属性和通道属性完全解耦,极大的降低了代码的耦合度。3、绑定机制。显控软件包含大量的视图和数据,在操作过程中需要实现视图层到模型层的绑定、模型层到视图层的绑定以及视图层和模型层之间的相互绑定,通过绑定机制可以极大的降低逻辑层的复杂度,提高代码的可维护性。4、GTK(GIMP Toolkit)主题设计。针对显控软件色彩单调、美观度低的问题,通过控件或者容器种类的不同,分层次进行索引,找到要修饰的控件对其样式进行设置,不仅提高了显控软件的美观性和易操作性,鉴于主题中通过类型而不是控件或者容器的名称来进行索引,也提高来代码的可移植性,适用于更多的显控软件。经过测试和验证,显控软件可以输出11种类型的函数波、任意波、13种调制方式的调制波、序列波和复杂序列波,支持自定义波形名称、实时修改输出波形的参数、设置序列波和复杂序列波的重复次数和跳转标志。采用上述方法设计显控软件,极大的提高了代码的可移植性、可维护性、可扩展性。