當(dāng)前位置:機(jī)電之家首頁(yè) >> PLC技術(shù)>> PLC基礎(chǔ) >> 人機(jī)界面 >> 基于UML的列控系統(tǒng)車(chē)載人機(jī)界面設(shè)計(jì)和實(shí)現(xiàn)
基于UML的列控系統(tǒng)車(chē)載人機(jī)界面設(shè)計(jì)和實(shí)現(xiàn)

   列車(chē)運(yùn)行控制系統(tǒng)是對(duì)列車(chē)速度自動(dòng)控制的各種裝置的統(tǒng)稱(chēng),根據(jù)對(duì)速度控制程度的不同,一般分為:列車(chē)自動(dòng)停車(chē)(ATS)系統(tǒng),列車(chē)超速防護(hù)(ATP)系統(tǒng),列車(chē)自動(dòng)控制系統(tǒng),列車(chē)自動(dòng)運(yùn)行(ATC)系統(tǒng)和列車(chē)自動(dòng)運(yùn)行(ATO)系統(tǒng)。

        列車(chē)運(yùn)行控制系統(tǒng)車(chē)載人機(jī)界面是車(chē)載設(shè)備與駕駛員進(jìn)行信息交互的平臺(tái),是列車(chē)運(yùn)行控制系統(tǒng)的一個(gè)重要組成部分。通過(guò)車(chē)載人機(jī)界面,司機(jī)可以對(duì)列車(chē)的相關(guān)參數(shù)進(jìn)行設(shè)置,實(shí)時(shí)地得到有關(guān)列車(chē)和線路的相關(guān)狀態(tài)和數(shù)據(jù),對(duì)車(chē)載設(shè)備發(fā)出的命令和警告及時(shí)地進(jìn)行響應(yīng)。

       近年來(lái)隨著科技水平的不斷發(fā)展,鐵路裝各技術(shù)水平躍上了一個(gè)新臺(tái)階,高速鐵路的崛起和發(fā)展給世界鐵路的重新振興帶來(lái)了勃勃生機(jī)。作為高速鐵路的關(guān)鍵設(shè)備之一。列車(chē)自動(dòng)控制系統(tǒng)具有以下三大特點(diǎn):1,以車(chē)載顯示為行車(chē)憑證;2,用速度命令代替色燈含義:3,信號(hào)直接控制列車(chē)制動(dòng)。正是因?yàn)檫@樣的特點(diǎn),使得人機(jī)界面在整個(gè)系統(tǒng)中發(fā)揮更大的作用。良好的界面設(shè)計(jì)可以將更多的信息清晰地顯示出來(lái),有助于司機(jī)更好地了解要完成的任務(wù),提高速度和精確性,減少人為失誤的可能性,在最大程度上保證列車(chē)的安全性。

       對(duì)于一般交互式軟件系統(tǒng)來(lái)說(shuō),GUI設(shè)計(jì)和實(shí)現(xiàn)是軟件系統(tǒng)開(kāi)發(fā)中的一個(gè)重要部分。人機(jī)界面是指軟件系統(tǒng)與使用者之間的交互。它為用戶提供各種形式的輸入,將用戶的輸入信息進(jìn)行轉(zhuǎn)換后,傳給核心模塊進(jìn)行處理,并將處理結(jié)果以可理解的方式反饋給用戶。它介于用戶和核心應(yīng)用之間。設(shè)計(jì)既要針對(duì)使用者,義更適應(yīng)核心模塊。用戶界面的設(shè)計(jì)質(zhì)量,直接影響用戶對(duì)軟件產(chǎn)品的評(píng)價(jià),并最終影響軟件產(chǎn)品的競(jìng)爭(zhēng)力和壽命。事實(shí)上,在很多軟件的設(shè)計(jì)階段,由于缺乏行之有效的用戶界面設(shè)計(jì)手段,界面設(shè)計(jì)由實(shí)現(xiàn)人員直接編碼完成,從而導(dǎo)致了實(shí)現(xiàn)與用戶需求之間的差距。

        本文分析了列車(chē)運(yùn)行控制系統(tǒng)車(chē)載人機(jī)界面所要滿足的設(shè)計(jì)原則,設(shè)計(jì)了一種適合這種人機(jī)界面的GUI模型。選用UML來(lái)描述人機(jī)界面的功能需求、總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)的過(guò)程并進(jìn)行建模,并利用其工具Rational Rose加以嚴(yán)格定義的圖形化語(yǔ)言的描述。最后使用Microsoft公司的Visual C++開(kāi)發(fā)工具進(jìn)行了開(kāi)發(fā)。

1、人機(jī)屏面設(shè)計(jì)的原則

1.1 人機(jī)界面設(shè)計(jì)的原則

        人機(jī)界面設(shè)計(jì)要講究藝術(shù)性和科學(xué)性,利用圖形藝術(shù)家的見(jiàn)解和人性因素的研究者的發(fā)現(xiàn),并考慮到用戶的直觀感覺(jué)。根據(jù)已有的用戶界面設(shè)計(jì)經(jīng)驗(yàn),針對(duì)列車(chē)運(yùn)行控制系統(tǒng)車(chē)載人機(jī)界面的特點(diǎn),總結(jié)出了以下幾點(diǎn)設(shè)計(jì)原則:

1) 理解司機(jī)要進(jìn)行的操作。典型的用戶界而設(shè)計(jì)都要進(jìn)行任務(wù)分析來(lái)理解用戶任務(wù)的性質(zhì)。
2) 司機(jī)在與系統(tǒng)得交互過(guò)程中能夠掌握操作的控制權(quán)。無(wú)論何時(shí)用戶發(fā)起的操作都能夠可以被取消。
3) 提供多種方式來(lái)兜成每個(gè)與界面相關(guān)的動(dòng)作(例如關(guān)閉一個(gè)顯示窗口)。
4) 當(dāng)司機(jī)進(jìn)行了錯(cuò)誤的操作時(shí),應(yīng)能夠以醒目的方式及時(shí)進(jìn)行提示。
5) 重視可讀性和可理解性。提示信息應(yīng)該簡(jiǎn)明概要,所州的圖形信息便丁=-州機(jī)理解。運(yùn)用不同的顏色來(lái)表示信息的優(yōu)先級(jí)
6) 盡量保持界而構(gòu)件的尺寸相同。充分利用空間關(guān)系。屏幕上的圖形構(gòu)件之間的距離不要太遠(yuǎn),必要時(shí)可以用一個(gè)框?qū)⑺麄儼鼑饋?lái)。
1.2 采用UML進(jìn)行設(shè)計(jì)的優(yōu)勢(shì)

        UML采用的足一種圖形表示法,是一種可視化的圖形建模語(yǔ)言 UML定義了建模語(yǔ)言的文法, 運(yùn)用元模型對(duì)語(yǔ)言中的基本概念、術(shù)語(yǔ)和表示法給出了統(tǒng)一且比較嚴(yán)格的定義和說(shuō)明,給出了這些概念的準(zhǔn)確含義。UML為人們提供了從不同的角度去觀察和展示系統(tǒng)的各種特征的一種標(biāo)準(zhǔn)方法。在UML中,從任何一個(gè)角度對(duì)系統(tǒng)所作的抽象都可能需要用幾種模型圖來(lái)描述,而這些來(lái)自不同角度的模型圖最終組成了系統(tǒng)的完整圖像。

        UML語(yǔ)言提供了模型管理視圖,用以描述系統(tǒng)各種模型之間的關(guān)系。通過(guò)模型管理視圖提供的機(jī)制,系統(tǒng)設(shè)計(jì)者可以將各個(gè)模型元素有機(jī)地分解為各個(gè)不同層次的包,從而從不同的層次粒度上對(duì)系統(tǒng)模型問(wèn)的關(guān)系進(jìn)行描述,極大地提高了系統(tǒng)設(shè)計(jì)的可讀性和可維護(hù)性。UML這種層次化、模塊化的管理機(jī)制非常適合于對(duì)列車(chē)運(yùn)行控制系統(tǒng)車(chē)載人機(jī)界面進(jìn)行建模。但是,如果由開(kāi)發(fā)人員手工地繪制這些圖形,不僅非常煩瑣,而且很難保證不同視圖之間的一致性,因此UML的支持環(huán)境在實(shí)際的軟件開(kāi)發(fā)中是必不可少的。

        Rational公司的Rose是目前在國(guó)際上應(yīng)用雖廣泛、功能最強(qiáng)大的支持UML的CASE工具,在軟件開(kāi)發(fā)過(guò)程的幾個(gè)階段都很有用。在項(xiàng)目開(kāi)始階段,Rose可以產(chǎn)生用況模型;在細(xì)化與構(gòu)造階段,Rose可以開(kāi)發(fā)活動(dòng)框圖,顯示事件流程;順序圖和協(xié)作圖則顯示要開(kāi)發(fā)的對(duì)象及其相互問(wèn)的交互;Rose開(kāi)發(fā)的類(lèi)圖顯示對(duì)象間的相互關(guān)系:組件圖顯示系統(tǒng)組件間的相關(guān)性。此外Rational Rose最強(qiáng)大的特性之一是具有生成表示模型的代碼和逆向轉(zhuǎn)出工程代碼的能力,保證了代碼與對(duì)象模型的同步性。

2、使用UML對(duì)列車(chē)運(yùn)行控制系統(tǒng)車(chē)載人機(jī)界面進(jìn)行分析和建模

2.1 常用GUI模型簡(jiǎn)介

      通常GUI模型抽象為三個(gè)部分:界面的表現(xiàn)模型,即與使用者問(wèn)的接口;界面構(gòu)件的對(duì)話過(guò)程,即用戶界而構(gòu)件之間的交互以完成用戶任務(wù);核心應(yīng)用,即完成應(yīng)用業(yè)務(wù)邏輯的功能模塊。幾種主要的GUI模型如,Seeheim模犁,MVC(Model-View-Controller)模型和PAC (Presentation—Abstrbbbbbb.Controller都基于這樣的基本思想。F面對(duì)最基本的Seeheim模型進(jìn)行簡(jiǎn)要說(shuō)明。

       Seeheim模型將軟件體系結(jié)構(gòu)分為4個(gè)部分:核心模塊(Functional Core),核心應(yīng)用接口(Functional Core Adapter),對(duì)話控制器(Dialogue Contro1ler),界面構(gòu)件(Presentation Component)。Function Core對(duì)領(lǐng)域應(yīng)用進(jìn)行建模。Functional Core Adapter為用戶界面與核心應(yīng)用之間建立一個(gè)緩沖區(qū),以減少二者之間的耦合。它通過(guò)一些交互協(xié)議為用戶界面與核心應(yīng)用之間提供同步或者異步的數(shù)據(jù)交換。Dialogue Controller是Seeheim模型中的核心部分。它通過(guò)界面構(gòu)件接收來(lái)自用戶的各種輸入請(qǐng)求,通過(guò)轉(zhuǎn)換后利用核心應(yīng)用接口與核心模塊進(jìn)行數(shù)據(jù)交換,保證多個(gè)視圖間的一致性,以完成特定的用戶任務(wù)在Dialogue Contro11er中可以嵌套定義Seeheim子模型。這樣可以從不同粒度上對(duì)GUI系統(tǒng)進(jìn)行建模。Presentation Component對(duì)界面構(gòu)件的具體交互動(dòng)作和輸入輸出進(jìn)行設(shè)計(jì)。

2.2 車(chē)載人機(jī)界面建模

(1) 系統(tǒng)需求分析

      需求分析就是明確從外圍系統(tǒng)的角度要求車(chē)載人機(jī)界面提供什么功能。在以往的需求分析中,始終沒(méi)有一種合適的工具來(lái)保證系統(tǒng)需求的完整表達(dá),所以直接導(dǎo)致了系統(tǒng)在完成后的檢測(cè)中發(fā)現(xiàn)與真實(shí)情況小符。從分析階段引入全面支持UML的Rational Rose這個(gè)有效的形式化上具,以完整的,無(wú)歧義的語(yǔ)言來(lái)表達(dá)需求,簡(jiǎn)化開(kāi)發(fā)過(guò)程中的交流。

        列車(chē)運(yùn)行控制系統(tǒng)車(chē)載人機(jī)界面是車(chē)載設(shè)備與司機(jī)進(jìn)行信息交互的平臺(tái)。車(chē)載人機(jī)界面要保證司機(jī)可以對(duì)列車(chē)的相關(guān)參數(shù)進(jìn)行設(shè)置,實(shí)時(shí)地得到有關(guān)列車(chē)和線路的相關(guān)狀態(tài)和數(shù)據(jù),對(duì)車(chē)載設(shè)備發(fā)出的命令和警告及時(shí)地進(jìn)行響應(yīng)。運(yùn)用UML的用例圖可以清晰的表示出以上需求。


點(diǎn)擊察看原圖

圖1 車(chē)載人機(jī)界面模型用況圖

       接下來(lái)對(duì)用況進(jìn)行形式化的描述。司機(jī)在進(jìn)行操作時(shí),首先可以根據(jù)需要來(lái)調(diào)整界而的背景色,分辨率等參數(shù),這時(shí)執(zhí)行了界面設(shè)置用況。當(dāng)司機(jī)需要對(duì)列車(chē)長(zhǎng)度等參數(shù)進(jìn)行配置時(shí),則要使用數(shù)據(jù)操作用況。在數(shù)據(jù)用況中還可以顯示列車(chē)的初始化信息??紤]到司機(jī)需要響應(yīng)車(chē)載設(shè)備發(fā)出的指令以及進(jìn)行人工干預(yù)。所以命令操作用況也是必不可少的。司機(jī)操作人機(jī)界面的過(guò)程采用UML的活動(dòng)圖做了描述。

點(diǎn)擊察看原圖


圖2 車(chē)載人機(jī)界面模型活動(dòng)圖

(2) GUI模型框架

       根據(jù)人機(jī)界面設(shè)計(jì)的原則??紤]到實(shí)際的應(yīng)用背景,本文在Seeheim模型的基礎(chǔ)上,提出了一種適用于列車(chē)運(yùn)行控制系統(tǒng)車(chē)載人機(jī)界面的GUI模型,如圖3所示。模型由視圖模塊(View Mode1),視圖控制器(View Controller)和核心應(yīng)用接口(Core Interface)三部分組成,是一種面向?qū)ο蟮腉UI設(shè)計(jì)模型。

        視圖模塊(View Model)對(duì)用戶界面的可視部分進(jìn)行描述。它接受司機(jī)的輸入,并為司機(jī)提供可視化信息,是GUI模型中唯一直接與司機(jī)打交道的部分。它的設(shè)計(jì)采用多級(jí)遞階的設(shè)計(jì)思想,從邏輯功能上分解為各個(gè)視圖(view),每個(gè)視圖又可以分解為多個(gè)子視(Sub—View)。子視圖是對(duì)上一層視圖的進(jìn)一步分解和細(xì)化。視圖的靜態(tài)特性可以包含視圖的大小、位置和可見(jiàn)性等與視圖自身表現(xiàn)形式有關(guān)的屬性。它的動(dòng)態(tài)行為包括視圖內(nèi)部的動(dòng)作和與其他視圖問(wèn)的協(xié)作,以及與司機(jī)之間進(jìn)行的交互。視圖模塊的建模以消息響應(yīng)為核心,通過(guò)消息響應(yīng)過(guò)程對(duì)用戶事件進(jìn)行處理。例如響應(yīng)車(chē)載設(shè)備命令或改變界面樣式等。當(dāng)View與其他視圖進(jìn)行交互時(shí)。將用戶消息發(fā)送給View Controller進(jìn)行調(diào)度。由View Controller來(lái)實(shí)現(xiàn)在不同的視圖之間的轉(zhuǎn)換。

       當(dāng)用戶完成一項(xiàng)任務(wù)涉及到若干視圖時(shí),View Controller負(fù)責(zé)各個(gè)視圖間的切換調(diào)度。它接受從View Model發(fā)送來(lái)的消息,由消息響應(yīng)函數(shù)負(fù)責(zé)對(duì)相關(guān)的視圖進(jìn)行控制。相對(duì)于View Model,View Controller是一種粗粒度的用戶交互模型。它負(fù)責(zé)將用戶要完成的任務(wù)分解,然后映射到用戶界面的各個(gè)視圖中去。視圖內(nèi)部的用戶交互動(dòng)作則由View Model去描述。

        Core Interface為用戶界面中的視圖(View)提供了與車(chē)載設(shè)備進(jìn)行數(shù)據(jù)交互的接口。車(chē)載設(shè)備把列車(chē)相關(guān)信息通過(guò)這個(gè)接口傳送給用戶界面,向司機(jī)進(jìn)行顯示;當(dāng)需要司機(jī)進(jìn)行操作時(shí),也通過(guò)該接口向車(chē)載設(shè)備進(jìn)行信息發(fā)送。Core Interface在用戶界面與車(chē)載設(shè)備之間建立起一個(gè)緩沖區(qū),減少了兩者之間的相互耦合,提高了代碼的可維護(hù)性和可重用性。



圖3 車(chē)載人機(jī)界面設(shè)計(jì)模型

       從圖3中可以看出,View Controller負(fù)責(zé)在各個(gè)視圖問(wèn)的切換調(diào)度。它接收來(lái)自各個(gè)視圖的事件。View Controller在系統(tǒng)中是非可視化的,它只負(fù)責(zé)協(xié)調(diào)各個(gè)視圖問(wèn)的調(diào)用。運(yùn)用UML的順序圖可以對(duì)調(diào)度的過(guò)程進(jìn)行描述(圖4)。



圖4 View Controller的調(diào)度順序圖

(3) 包和類(lèi)的劃分和處理

       對(duì)用況進(jìn)行詳細(xì)的描述后,可以進(jìn)一步對(duì)系統(tǒng)的功能模型和車(chē)載人機(jī)界面模型進(jìn)行定義和描述。UML提供了在設(shè)計(jì)初期描述對(duì)象總體框架的工具——包(package)。包就是對(duì)象組,借助包圖,可以描述出系統(tǒng)的對(duì)象組之間的聯(lián)系,確定出系統(tǒng)對(duì)象集合之間的層次和結(jié)構(gòu) 包圖是用況圖歸納分類(lèi)的結(jié)果,它往往可從用況圖直接導(dǎo)出。作為GUI模型中唯一直接與司機(jī)打交道的部分,視圖模塊包由配置界面、數(shù)據(jù)界面和操作界面三部分組成(圖5)。



圖5 視圖模塊包圖

        對(duì)于包圖中的每一部分進(jìn)一步分析可以得出類(lèi)圖。為了便于司機(jī)進(jìn)行操作,在操作界面中,把相關(guān)的信息放在一起進(jìn)行顯示,分成了五個(gè)不同的類(lèi)。速度類(lèi)向司機(jī)提供有關(guān)列車(chē)目標(biāo)速度,允許速度,緩解速度和當(dāng)前速度等相關(guān)速度信息;計(jì)劃信息類(lèi)提供司機(jī)選定的距離區(qū)域內(nèi)的提示信息例如車(chē)站的位置,坡度信息,起始位置信息,速度曲線相關(guān)信息和地理信息,并且能夠顯示最大限制曲線。列車(chē)進(jìn)行制動(dòng)時(shí),監(jiān)督距離信息類(lèi)提供目標(biāo)停車(chē)點(diǎn)的預(yù)告距離,干涉預(yù)告時(shí)問(wèn)信息。車(chē)載設(shè)備向司機(jī)發(fā)出的命令以及司機(jī)進(jìn)行的人工干預(yù),通過(guò)輔助駕駛信息類(lèi)和監(jiān)測(cè)信息類(lèi)來(lái)實(shí)現(xiàn)。每個(gè)類(lèi)負(fù)責(zé)相關(guān)的信息顯示,在人機(jī)界面中分成了五個(gè)相對(duì)集中的部分。它們?cè)诘姆植既鐖D6所示。



圖6 操作界面中功能模塊的分布圖

對(duì)每一個(gè)類(lèi),我們還應(yīng)識(shí)別屬性和操作。操作界面類(lèi)和Core Interface類(lèi)的一些屬性和方法定義如圖7所示。

       UML對(duì)面向?qū)ο笤O(shè)計(jì)的表述能力相當(dāng)強(qiáng)大,可以較好地描述車(chē)載人機(jī)界面模型的各個(gè)層面。通過(guò)UML用例圖可以很清晰地導(dǎo)出View Model,View Controller以及Core Interface。利用UML 的包圖和類(lèi)圖對(duì)模型進(jìn)行分解細(xì)化。創(chuàng)建順序圖和活動(dòng)圖描述了模塊之問(wèn)的協(xié)作關(guān)系以及模塊內(nèi)部的狀態(tài)轉(zhuǎn)移順序。車(chē)載人機(jī)界面的層次化和模塊化結(jié)構(gòu)可以較好地與UML各個(gè)粒度的設(shè)計(jì)工具相結(jié)合,較好地融入到整個(gè)軟件的設(shè)計(jì)過(guò)程中。

3、列車(chē)運(yùn)行控制系統(tǒng)車(chē)載人機(jī)界面的實(shí)現(xiàn)

        Rose在構(gòu)造階段根據(jù)對(duì)象設(shè)計(jì)創(chuàng)建組件。組件圖顯示組件間的編譯相關(guān)性,選擇每個(gè)組件的語(yǔ)言后,可以產(chǎn)生框架代碼。在此,我們采用c++這種面向?qū)ο蟮木幊陶Z(yǔ)言,并用Microsoft公司的Visual C++工具進(jìn)行了軟件開(kāi)發(fā)。

       根據(jù)建立的GUI模型,采用Visual c++中基于對(duì)話框的程序架構(gòu)來(lái)開(kāi)發(fā)軟件系統(tǒng)。整個(gè)軟件系統(tǒng)由多個(gè)對(duì)話框(Dialogue)組成。View Model由多個(gè)Dialogue組成,每個(gè)Dialogue分別表示不同的View。Dialogue之間的轉(zhuǎn)換,由View Controller來(lái)控制,通過(guò)消息映射來(lái)完成這樣功能。

        在開(kāi)發(fā)過(guò)程中,首先根據(jù)包圖和類(lèi)圖的描述對(duì)界面中的各種視圖進(jìn)行實(shí)現(xiàn) 人機(jī)界面的視圖中操作界面是最重要也是最復(fù)雜的,下面以操作界面為例來(lái)說(shuō)明開(kāi)發(fā)的過(guò)程。首先利用Rational Rose自動(dòng)生成表示模型代碼的能力,可以產(chǎn)生操作界面的框架代碼,將圖7中描述的操作界面類(lèi)轉(zhuǎn)化為用c++描述的代碼,操作界面基類(lèi)和各個(gè)子類(lèi)得到了很好的封裝,保證了代碼與對(duì)象模型的同步性。有了界面的框架代碼,我們只需要在函數(shù)體中。添加實(shí)現(xiàn)具體功能的代碼就可以了,采用這種方法避免了設(shè)計(jì)人員與實(shí)現(xiàn)人員之間的理解偏差,提高了軟件的整體性。



圖7 操作界面和Core Interface類(lèi)圖

        接下來(lái)分別對(duì)操作界面中的五個(gè)子類(lèi)進(jìn)行實(shí)現(xiàn)。在實(shí)現(xiàn)時(shí),要充分結(jié)合上文論述的人機(jī)界面原則,例如在輔助駕駛信息類(lèi)中顯示當(dāng)前命令和提示以及系統(tǒng)狀態(tài)時(shí),遇到要求司機(jī)進(jìn)行操作,將用黃色顯示并加上一個(gè)黃色閃爍的邊框。當(dāng)操作正確時(shí),閃爍停止。在情況發(fā)生后(如離開(kāi)隧道)或情況開(kāi)始后(當(dāng)列車(chē)的前端通過(guò)命令或提示指出的位置后,如降低受電弓),命令或提示符號(hào)從這個(gè)區(qū)域被刪除。當(dāng)操作不正確時(shí),符號(hào)以紅色顯示并加上一個(gè)紅色不閃爍的邊框,直到命令被正確回應(yīng)為止。這樣可以利于司機(jī)及時(shí)觀察到提示信息,采取相應(yīng)的措施。

       考慮到界面可理解性和美觀性的需要,在計(jì)劃信息類(lèi)內(nèi),采用了特定的圖形符號(hào)來(lái)表示命令和提示信息與速度曲線信息,同時(shí) 司機(jī)可以激活圖形符號(hào)來(lái)獲取第二層信息。在表示距離時(shí),應(yīng)用對(duì)數(shù)表示距離范圍。因?yàn)橛眉儗?duì)數(shù)無(wú)法顯示接近零的距離值,所以在O到100之間線性插值。圖8為駕駛操作界面。



圖8 駕駛操作界面

        View內(nèi)部的動(dòng)作以及與司機(jī)之間進(jìn)行的交互以消息響應(yīng)為基礎(chǔ),通過(guò)消息響應(yīng)過(guò)程對(duì)用戶事件進(jìn)行處理。例如操作界面收到車(chē)載設(shè)備發(fā)出的制動(dòng)消息后,觸發(fā)位于操作界面左上方的制動(dòng)信息類(lèi)信息顯示。干涉預(yù)告時(shí)間顯示在屏幕左上角的正方形區(qū)域內(nèi)。正方形的尺寸按照距離干涉的時(shí)間進(jìn)行相應(yīng)的動(dòng)態(tài)變化。豎直的矩形條用來(lái)指示距離列車(chē)將要停車(chē)點(diǎn)的預(yù)告距離(見(jiàn)圖9)。



圖9 制動(dòng)時(shí)的操作界面

        按照同樣的方法,可以對(duì)View Model中其他的View進(jìn)行開(kāi)發(fā)。在View Model的基礎(chǔ)上,為了實(shí)現(xiàn)不同View之間的交互,根據(jù)活動(dòng)圖和調(diào)度順序圖的描述, 來(lái)實(shí)現(xiàn)View Controller的功能。View Controller對(duì)不同View的調(diào)度如圖l0所示。司機(jī)首先對(duì)界面的參數(shù)進(jìn)行設(shè)置,接下來(lái)通過(guò)數(shù)據(jù)輸入界面對(duì)列車(chē)的初始數(shù)據(jù)進(jìn)行配置 配置完成后,進(jìn)行確認(rèn),進(jìn)入駕駛操作界面。當(dāng)司機(jī)需要查看或者從新配置初始數(shù)據(jù)時(shí),也可以根據(jù)狀態(tài)圖的描述在不同的View間相互轉(zhuǎn)換。

         對(duì)于GUI模型中Core Interface,在程序中建立了專(zhuān)用的緩沖區(qū)來(lái)實(shí)現(xiàn),緩沖區(qū)中設(shè)置了不同的容器(Vector)來(lái)存放View與車(chē)載設(shè)備之間交互的數(shù)據(jù)。車(chē)載設(shè)備把列車(chē)相關(guān)信息存放在Vector中,用戶界面可以從這里提取相應(yīng)的數(shù)據(jù)進(jìn)行顯示。因?yàn)榭臻g的原因,某些信息不能完全表示在操作界面中。例如檢測(cè)信息區(qū)域可能不能夠完全顯示出檢測(cè)信息類(lèi)中的信息。Core Interface可以使用戶通過(guò)功能鍵從Vector中選擇相應(yīng)的信息顯示,避免了重要的信息被忽略或覆蓋,提高了代碼的完整性。



圖10 初始數(shù)據(jù)輸入界面

4、結(jié)論

        本文深入分析了列車(chē)運(yùn)行控制系統(tǒng)車(chē)載人機(jī)界面所要實(shí)現(xiàn)的功能,設(shè)計(jì)了一種能夠很好的完成需求的GUI模型。這種模型為車(chē)載人機(jī)界面的需求分析、界面結(jié)構(gòu)化和層次化設(shè)計(jì),以及界面動(dòng)態(tài)交互任務(wù)設(shè)計(jì)提供了逐步細(xì)化的設(shè)計(jì)框架。

         在建模過(guò)程中,使用UML及其工具Rational Rose建立了靜態(tài)模型和動(dòng)態(tài)模型的各種視圖,描述了系統(tǒng)的功能需求、功能流程、類(lèi)的結(jié)構(gòu)與關(guān)系、對(duì)象之間的交互。對(duì)軟件進(jìn)行了整體的規(guī)劃和設(shè)計(jì),有效地彌合界面設(shè)計(jì)與核心應(yīng)用之間的分歧,提高了軟件設(shè)計(jì)的質(zhì)量和效率,減少了設(shè)計(jì)人員對(duì)需求的理解偏差、設(shè)計(jì)人員之間的理解偏差,以及設(shè)計(jì)人員與實(shí)現(xiàn)人員之間的理解偏差,提高了設(shè)計(jì)的一致性、完整性和可維護(hù)性。這種方法的優(yōu)勢(shì),在對(duì)列車(chē)運(yùn)行控制系統(tǒng)車(chē)載人機(jī)界面的實(shí)現(xiàn)過(guò)程中充分的顯示了出來(lái)。
作者:未知 點(diǎn)擊:1337次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:基于UML的列控系統(tǒng)車(chē)載人機(jī)界面設(shè)計(jì)和實(shí)現(xiàn)
* 由于無(wú)法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《基于UML的列控系統(tǒng)車(chē)載人機(jī)界面設(shè)計(jì)和實(shí)現(xiàn)》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

富林泰克產(chǎn)品系列j電子樣
:胡先生
:13736436955
:嘉興市科力電子有限公司
個(gè)人求購(gòu)

朱女士 【求購(gòu)】  安全開(kāi)關(guān)  2024-10-21
劉波 【求購(gòu)】  鉆孔測(cè)斜儀  2024-10-21
 【求購(gòu)】  攪拌機(jī)  2024-10-21
王燈旺 【求購(gòu)】  半干反應(yīng)塔  2024-10-21
徐先生 【求購(gòu)】  磁性分離器  2024-10-18
王有生 【求購(gòu)】  減速電機(jī)  2024-10-18
李協(xié)議 【求購(gòu)】  宣傳欄  2024-10-18
鄧志偉 【求購(gòu)】  壓力顯示儀  2024-10-18
VIP公司推薦