新聞中心

EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 面向?qū)ο蠓椒ㄔ谄嚺欧艤y試系統(tǒng)軟件開發(fā)中的應(yīng)用

面向?qū)ο蠓椒ㄔ谄嚺欧艤y試系統(tǒng)軟件開發(fā)中的應(yīng)用

作者: 時間:2009-03-11 來源:網(wǎng)絡(luò) 收藏

面向的程序設(shè)計是九十年代以來最重要的軟件設(shè)計。排放是基于底盤測功機(jī)、排放分析儀、數(shù)據(jù)采集卡等外圍硬件設(shè)備,依照國家排放法規(guī)和生產(chǎn)研究的要求完成各類排放試驗數(shù)據(jù)采集和處理的計算機(jī)系統(tǒng)。由于系統(tǒng)要同外圍設(shè)備交互,試驗項目多且用戶要求復(fù)雜,采用傳統(tǒng)的基于功能分解的軟件設(shè)計使得軟件開發(fā)及調(diào)試十分困難,軟件的可靠性差,并且隨著硬件設(shè)備的變化、試驗項目增加以及用戶要求的變化,很難在原有系統(tǒng)上進(jìn)行擴(kuò)充。面向方法按照人們正常的思維習(xí)慣建立問題域模型,軟件設(shè)計自然地表現(xiàn)問題域求解方法,抽象數(shù)據(jù)類型、數(shù)據(jù)封裝以及繼承等特點使得軟件體系結(jié)構(gòu)穩(wěn)定、可重用性好、便于維護(hù)和擴(kuò)充,可大大提高軟件的開發(fā)效率。

本文引用地址:http://www.butianyuan.cn/article/197914.htm

1 排放的硬件結(jié)構(gòu)及軟件需求

  汽車排放總體結(jié)構(gòu)如圖1所示。輸入信號中,大氣壓、干溫、濕溫、催化器前后溫度及壓力等信號來自于傳感器,車速、距離脈沖來自于轉(zhuǎn)鼓試驗臺,司機(jī)開始信號來自于遙控器。信號調(diào)理單元將這些信號轉(zhuǎn)換成計算機(jī)接口能夠接收的標(biāo)準(zhǔn)信號,主計算機(jī)通過A/D、DI/O接口卡對這些信號進(jìn)行采集。主計算機(jī)通過GPIB接口卡與定容采樣裝置和排放分析儀通訊,讀取數(shù)據(jù)并且按照試驗流程控制這些設(shè)備。主計算機(jī)通過一塊圖形加速卡控制司機(jī)助顯示器的工況曲線顯示。軟件需求如下:

(1)依照排放法規(guī)和生產(chǎn)研究的要求能夠?qū)崿F(xiàn)CVS試驗、模態(tài)試驗、催化器轉(zhuǎn)化效率試驗的流程控制。試驗過程中系統(tǒng)要完成初始參數(shù)設(shè)定、數(shù)據(jù)采集、設(shè)備控制、顯示監(jiān)測界面等任務(wù),并將測量結(jié)果寫入磁盤文件。

  (2)按照用戶要求實現(xiàn)試驗數(shù)據(jù)表格和曲線的打印輸出,包括CVS結(jié)果表格、模態(tài)試驗按工況和循環(huán)統(tǒng)計結(jié)果表格、排放污染物濃度曲線、催化器前后溫度及壓力曲線、催化器前后污染物濃度曲線等。

  (3)試驗開始前對采集卡、排放分析儀等硬件設(shè)備進(jìn)行檢查,若設(shè)備不正常則提示用戶并停止試驗。

  (4)A/D輸入通道可進(jìn)行標(biāo)定。

2 面向分析

  抽象數(shù)據(jù)類型是面向?qū)ο蟪绦蛟O(shè)計的中心概念之一,一個面向?qū)ο筌浖到y(tǒng)的結(jié)構(gòu)框架及高層設(shè)計最終表現(xiàn)為一系列類、它們的定義和對象。類是一個抽象的數(shù)據(jù)類型,它的定義包括一組屬性數(shù)據(jù)和在屬性數(shù)據(jù)上的一組操作,通過類的界面對外提供服務(wù),對象是類的實例,對應(yīng)于問題域中的實體。面向?qū)ο蠓治鲞^程標(biāo)識問題域中的實體,確定這些實體之間的關(guān)系,這一階段產(chǎn)生描述系統(tǒng)功能和問題域基本特征的綜合文檔。汽車排放測試系統(tǒng)中的對象如圖2所示。

“排放分析儀”對象封裝了分析儀的操作;“I/O接口卡”封裝了A/D接口卡和DI/O接口卡的輸入及輸出操作;“司機(jī)助”對象實現(xiàn)司機(jī)助顯示器工況曲線的顯示;“測試設(shè)備”對象封裝了排放測試系統(tǒng)中的硬件設(shè)備操作。為“排放試驗”對象提供服務(wù);“排放試驗”對象封裝了試驗流程,將測量結(jié)果存入磁盤文件;“數(shù)據(jù)文件”對象讀取文件,實現(xiàn)數(shù)據(jù)表格及曲線的打印輸出。

  排放測試系統(tǒng)的硬件設(shè)備可能選用不同類型的分析儀,如HORIBA公司的MEXA_9000或AVL公司的CEB_x00,也可能選用不同類型的I/O接口卡,如中泰公司的PC_6313或研華公司的PCL_812,根據(jù)用戶的要求也可能增加新的試驗項目。在面向?qū)ο蠓椒ㄖ?繼承是使用現(xiàn)存類作為基礎(chǔ)建立新類的技術(shù),新類復(fù)用現(xiàn)存類的定義,并且可增加新的屬性及操作。對象間通過消息進(jìn)行通訊,消息是對操作的實際調(diào)用,其中“發(fā)送者”向“接收者”發(fā)送一個消息,以實現(xiàn)某些處理功能。排放測試系統(tǒng)中對象之間的關(guān)系如圖3所示。

圖中三角形表示整體與部分結(jié)構(gòu),半圓形表示一般與特殊結(jié)構(gòu),實線箭頭表示消息連接?!皽y試設(shè)備”對象由“排放分析儀”、“數(shù)據(jù)采集卡”和“司機(jī)助”三個對象組成,“排放分析儀”、“數(shù)據(jù)采集卡”、“試驗”和“數(shù)據(jù)文件”作為基類可派生出不同的子類,“試驗”對象向“測試設(shè)備”對象發(fā)送消息實現(xiàn)數(shù)據(jù)采集、分析儀控制和司機(jī)助顯示等功能。

由對象關(guān)系圖可以看到,面向?qū)ο蠹夹g(shù)將軟件結(jié)構(gòu)建立在與問題域中實體對應(yīng)的對象上,軟件的功能分散到對象中間,由于對象相對穩(wěn)定,軟件的修改主要集中于封裝在對象內(nèi)部的屬性和操作上而不影響軟件的體系結(jié)構(gòu)。這種修改的局部化保持了軟件結(jié)構(gòu)的穩(wěn)定性,減少了軟件修改的工作量和難度。

3 高層設(shè)計

  面向?qū)ο蠓治鲞^程標(biāo)識的對象以及它們之間的關(guān)系構(gòu)成了問題域模型,高層設(shè)計階段開發(fā)系統(tǒng)的結(jié)構(gòu),構(gòu)造應(yīng)用軟件的總體模型。對象封裝了問題域內(nèi)特定的的功能實現(xiàn),并通過界面對外提供服務(wù)。而應(yīng)用程序相當(dāng)于一個驅(qū)動模塊,負(fù)責(zé)建立類的實例(對象),接收用戶輸入并發(fā)送消息給對象實現(xiàn)功能調(diào)用。汽車排放測試系統(tǒng)的應(yīng)用程序結(jié)構(gòu)如圖4所示。系統(tǒng)劃分為三個處理功能:系統(tǒng)維護(hù)、排放試驗和數(shù)據(jù)處理?!跋到y(tǒng)維護(hù)”功能包括分析儀總精度檢查和通道標(biāo)定,“排放試驗”按照用戶選定的試驗類別完成試驗流程,“數(shù)據(jù)處理”功能根據(jù)用戶載入的數(shù)據(jù)文件完成打印輸出。用戶選擇某一功能時,應(yīng)用程序發(fā)送消息給相應(yīng)的對象,圖4中箭頭表示消息的發(fā)送。

4 面向?qū)ο蠓椒ǖ奶攸c分析

  (1)傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計是以“過程”和“操作”為中心構(gòu)造系統(tǒng)的,是面向處理的體系結(jié)構(gòu)。而“過程”和“操作”是不穩(wěn)定的,若基礎(chǔ)硬件、用戶需求、編程環(huán)境(編譯器和操作系統(tǒng))改變,處理的體系結(jié)構(gòu)可能也需要改變,系統(tǒng)的移植或升級需要花費很大代價。面向?qū)ο蟮某绦蛟O(shè)計對問題域進(jìn)行模型化,以“對象”和“數(shù)據(jù)結(jié)構(gòu)”為中心,軟件的體系結(jié)構(gòu)相對穩(wěn)定,思維成果的可重用性較好。

  (2)封裝和數(shù)據(jù)隱藏是面向?qū)ο蟪绦蛟O(shè)計的基本要素。把數(shù)據(jù)和與之相關(guān)的過程捆綁在一起定義為一個整體(即對象),操縱數(shù)據(jù)的過程和函數(shù)的作用域和可視性被限制在代碼局部區(qū)域內(nèi),改變數(shù)據(jù)結(jié)構(gòu)或算法僅局限于實現(xiàn)這個類的代碼區(qū)域內(nèi)而不會引起系統(tǒng)的變化,這對程序維護(hù)提供了方便。

  (3)類的抽象特性提供了模塊化的體系結(jié)構(gòu),類的界面指明它所提供的服務(wù),類的使用者無需關(guān)心這些服務(wù)的實現(xiàn)細(xì)節(jié)。將一些經(jīng)過測試的類存儲于類庫中,在建立新的應(yīng)用軟件時只需在類庫中找到所需要的類或通過繼承復(fù)用現(xiàn)存類以滿足問題域的改變,這使得面向?qū)ο笤O(shè)計的可重用性得以提高。

  作者按照軟件工程標(biāo)準(zhǔn),用面向?qū)ο蠹夹g(shù)完成了汽車排放測試系統(tǒng)軟件的設(shè)計,并在Win98下采用美國NI公司的圖形化編程語言LabVIEW實現(xiàn)。這套系統(tǒng)已在上海泛亞汽車技術(shù)中心投入使用,系統(tǒng)的開發(fā)周期短、可靠性好、便于維護(hù),充分體現(xiàn)了面向?qū)ο蟪绦蛟O(shè)計的優(yōu)點。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉