面向对象方法在汽车排放测试系统软件开发中的应用
面向对象的程序设计方法是九十年代以来最重要的软件设计方法。汽车排放测试系统是基于底盘测功机、排放分析仪、数据采集卡等外围硬件设备,依照国家排放法规和生产研究的要求完成各类汽车排放试验数据采集和处理的计算机系统。由于系统要同外围设备交互,试验项目多且用户要求复杂,采用传统的基于功能分解的软件设计方法使得软件开发及调试十分困难,软件的可靠性差,并且随着硬件设备的变化、试验项目增加以及用户要求的变化,很难在原有系统上进行扩充。面向对象方法按照人们正常的思维习惯建立问题域模型,软件设计自然地表现问题域求解方法,抽象数据类型、数据封装以及继承等特点使得软件体系结构稳定、可重用性好、便于维护和扩充,可大大提高软件的开发效率。
1 汽车排放测试系统的硬件结构及软件需求
汽车排放测试系统总体结构如图1所示。输入信号中,大气压、干温、湿温、催化器前后温度及压力等信号来自于传感器,车速、距离脉冲来自于转鼓试验台,司机开始信号来自于遥控器。信号调理单元将这些信号转换成计算机接口能够接收的标准信号,主计算机通过A/D、DI/O接口卡对这些信号进行采集。主计算机通过GPIB接口卡与定容采样装置和排放分析仪通讯,读取数据并且按照试验流程控制这些设备。主计算机通过一块图形加速卡控制司机助显示器的工况曲线显示。软件需求如下:
(1)依照排放法规和生产研究的要求能够实现CVS试验、模态试验、催化器转化效率试验的流程控制。试验过程中系统要完成初始参数设定、数据采集、设备控制、显示监测界面等任务,并将测量结果写入磁盘文件。
(2)按照用户要求实现试验数据表格和曲线的打印输出,包括CVS结果表格、模态试验按工况和循环统计结果表格、排放污染物浓度曲线、催化器前后温度及压力曲线、催化器前后污染物浓度曲线等。
(3)试验开始前对采集卡、排放分析仪等硬件设备进行检查,若设备不正常则提示用户并停止试验。
(4)A/D输入通道可进行标定。
2 面向对象分析
抽象数据类型是面向对象程序设计的中心概念之一,一个面向对象软件系统的结构框架及高层设计最终表现为一系列类、它们的定义和对象。类是一个抽象的数据类型,它的定义包括一组属性数据和在属性数据上的一组操作,通过类的界面对外提供服务,对象是类的实例,对应于问题域中的实体。面向对象分析过程标识问题域中的实体,确定这些实体之间的关系,这一阶段产生描述系统功能和问题域基本特征的综合文档。汽车排放测试系统中的对象如图2所示。
“排放分析仪”对象封装了分析仪的操作;“I/O接口卡”封装了A/D接口卡和DI/O接口卡的输入及输出操作;“司机助”对象实现司机助显示器工况曲线的显示;“测试设备”对象封装了排放测试系统中的硬件设备操作。为“排放试验”对象提供服务;“排放试验”对象封装了试验流程,将测量结果存入磁盘文件;“数据文件”对象读取文件,实现数据表格及曲线的打印输出。
排放测试系统的硬件设备可能选用不同类型的分析仪,如HORIBA公司的MEXA_9000或AVL公司的CEB_x00,也可能选用不同类型的I/O接口卡,如中泰公司的PC_6313或研华公司的PCL_812,根据用户的要求也可能增加新的试验项目。在面向对象方法中,继承是使用现存类作为基础建立新类的技术,新类复用现存类的定义,并且可增加新的属性及操作。对象间通过消息进行通讯,消息是对操作的实际调用,其中“发送者”向“接收者”发送一个消息,以实现某些处理功能。排放测试系统中对象之间的关系如图3所示。
图中三角形表示整体与部分结构,半圆形表示一般与特殊结构,实线箭头表示消息连接。“测试设备”对象由“排放分析仪”、“数据采集卡”和“司机助”三个对象组成,“排放分析仪”、“数据采集卡”、“试验”和“数据文件”作为基类可派生出不同的子类,“试验”对象向“测试设备”对象发送消息实现数据采集、分析仪控制和司机助显示等功能。
由对象关系图可以看到,面向对象技术将软件结构建立在与问题域中实体对应的对象上,软件的功能分散到对象中间,由于对象相对稳定,软件的修改主要集中于封装在对象内部的属性和操作上而不影响软件的体系结构。这种修改的局部化保持了软件结构的稳定性,减少了软件修改的工作量和难度。
3 高层设计
面向对象分析过程标识的对象以及它们之间的关系构成了问题域模型,高层设计阶段开发系统的结构,构造应用软件的总体模型。对象封装了问题域内特定的的功能实现,并通过界面对外提供服务。而应用程序相当于一个驱动模块,负责建立类的实例(对象),接收用户输入并发送消息给对象实现功能
- LT3751如何使高压电容器充电变得简单(08-12)
- 三路输出LED驱动器可驱动共阳极LED串(08-17)
- 浪涌抑制器IC简化了危险环境中电子设备的本质安全势垒设计(08-19)
- 严酷的汽车环境要求高性能电源转换(08-17)
- 适用于工业能源采集的技术 (08-10)
- 单片式电池充电器简化太阳能供电设计(08-20)