基于UML的列控系統(tǒng)車載人機界面設(shè)計和實現(xiàn)
引 言
列車運行控制系統(tǒng)是對列車速度自動控制的各種裝置的統(tǒng)稱,根據(jù)對速度控制程度的不同,一般分為:列車自動停車(ATS)系統(tǒng),列車超速防護(ATP)系統(tǒng),列車自動控制系統(tǒng),列車自動運行(ATC)系統(tǒng)和列車自動運行(ATO)系統(tǒng)。
列車運行控制系統(tǒng)車載人機界面是車載設(shè)備與駕駛員進行信息交互的平臺,是列車運行控制系統(tǒng)的一個重要組成部分。通過車載人機界面,司機可以對列車的相關(guān)參數(shù)進行設(shè)置,實時地得到有關(guān)列車和線路的相關(guān)狀態(tài)和數(shù)據(jù),對車載設(shè)備發(fā)出的命令和警告及時地進行響應(yīng)。
近年來隨著科技水平的不斷發(fā)展,鐵路裝各技術(shù)水平躍上了一個新臺階,高速鐵路的崛起和發(fā)展給世界鐵路的重新振興帶來了勃勃生機。作為高速鐵路的關(guān)鍵設(shè)備之一。列車自動控制系統(tǒng)具有以下三大特點:1,以車載顯示為行車憑證;2,用速度命令代替色燈含義:3,信號直接控制列車制動。正是因為這樣的特點,使得人機界面在整個系統(tǒng)中發(fā)揮更大的作用。良好的界面設(shè)計可以將更多的信息清晰地顯示出來,有助于司機更好地了解要完成的任務(wù),提高速度和精確性,減少人為失誤的可能性,在最大程度上保證列車的安全性。
對于一般交互式軟件系統(tǒng)來說,GUI設(shè)計和實現(xiàn)是軟件系統(tǒng)開發(fā)中的一個重要部分。人機界面是指軟件系統(tǒng)與使用者之間的交互。它為用戶提供各種形式的輸入,將用戶的輸入信息進行轉(zhuǎn)換后,傳給核心模塊進行處理,并將處理結(jié)果以可理解的方式反饋給用戶。它介于用戶和核心應(yīng)用之間。設(shè)計既要針對使用者,義更適應(yīng)核心模塊。用戶界面的設(shè)計質(zhì)量,直接影響用戶對軟件產(chǎn)品的評價,并最終影響軟件產(chǎn)品的競爭力和壽命。事實上,在很多軟件的設(shè)計階段,由于缺乏行之有效的用戶界面設(shè)計手段,界面設(shè)計由實現(xiàn)人員直接編碼完成,從而導(dǎo)致了實現(xiàn)與用戶需求之間的差距。
本文分析了列車運行控制系統(tǒng)車載人機界面所要滿足的設(shè)計原則,設(shè)計了一種適合這種人機界面的GUI模型。選用UML來描述人機界面的功能需求、總體設(shè)計和詳細設(shè)計的過程并進行建模,并利用其工具Rational Rose加以嚴格定義的圖形化語言的描述。最后使用Microsoft公司的Visual C++開發(fā)工具進行了開發(fā)。
1、人機屏面設(shè)計的原則
1.1 人機界面設(shè)計的原則
人機界面設(shè)計要講究藝術(shù)性和科學(xué)性,利用圖形藝術(shù)家的見解和人性因素的研究者的發(fā)現(xiàn),并考慮到用戶的直觀感覺。根據(jù)已有的用戶界面設(shè)計經(jīng)驗,針對列車運行控制系統(tǒng)車載人機界面的特點,總結(jié)出了以下幾點設(shè)計原則:
1) 理解司機要進行的操作。典型的用戶界而設(shè)計都要進行任務(wù)分析來理解用戶任務(wù)的性質(zhì)。
2) 司機在與系統(tǒng)得交互過程中能夠掌握操作的控制權(quán)。無論何時用戶發(fā)起的操作都能夠可以被取消。
3) 提供多種方式來兜成每個與界面相關(guān)的動作(例如關(guān)閉一個顯示窗口)。
4) 當司機進行了錯誤的操作時,應(yīng)能夠以醒目的方式及時進行提示。
5) 重視可讀性和可理解性。提示信息應(yīng)該簡明概要,所州的圖形信息便丁=-州機理解。運用不同的顏色來表示信息的優(yōu)先級
6) 盡量保持界而構(gòu)件的尺寸相同。充分利用空間關(guān)系。屏幕上的圖形構(gòu)件之間的距離不要太遠,必要時可以用一個框?qū)⑺麄儼鼑饋怼?
1.2 采用UML進行設(shè)計的優(yōu)勢
UML采用的足一種圖形表示法,是一種可視化的圖形建模語言 UML定義了建模語言的文法, 運用元模型對語言中的基本概念、術(shù)語和表示法給出了統(tǒng)一且比較嚴格的定義和說明,給出了這些概念的準確含義。UML為人們提供了從不同的角度去觀察和展示系統(tǒng)的各種特征的一種標準方法。在UML中,從任何一個角度對系統(tǒng)所作的抽象都可能需要用幾種模型圖來描述,而這些來自不同角度的模型圖最終組成了系統(tǒng)的完整圖像。
UML語言提供了模型管理視圖,用以描述系統(tǒng)各種模型之間的關(guān)系。通過模型管理視圖提供的機制,系統(tǒng)設(shè)計者可以將各個模型元素有機地分解為各個不同層次的包,從而從不同的層次粒度上對系統(tǒng)模型問的關(guān)系進行描述,極大地提高了系統(tǒng)設(shè)計的可讀性和可維護性。UML這種層次化、模塊化的管理機制非常適合于對列車運行控制系統(tǒng)車載人機界面進行建模。但是,如果由開發(fā)人員手工地繪制這些圖形,不僅非常煩瑣,而且很難保證不同視圖之間的一致性,因此UML的支持環(huán)境在實際的軟件開發(fā)中是必不可少的。
Rational公司的Rose是目前在國際上應(yīng)用雖廣泛、功能最強大的支持UML的CASE工具,在軟件開發(fā)過程的幾個階段都很有用。在項目開始階段,Rose可以產(chǎn)生用況模型;在細化與構(gòu)造階段,Rose可以開發(fā)活動框圖,顯示事件流程;順序圖和協(xié)作圖則顯示要開發(fā)的對象及其相互問的交互;Rose開發(fā)的類圖顯示對象間的相互關(guān)系:組件圖顯示系統(tǒng)組件間的相關(guān)性。此外Rational Rose最強大的特性之一是具有生成表示模型的代碼和逆向轉(zhuǎn)出工程代碼的能力,保證了代碼與對象模型的同步性。
2、使用UML對列車運行控制系統(tǒng)車載人機界面進行分析和建模
2.1 常用GUI模型簡介
通常GUI模型抽象為三個部分:界面的表現(xiàn)模型,即與使用者問的接口;界面構(gòu)件的對話過程,即用戶界而構(gòu)件之間的交互以完成用戶任務(wù);核心應(yīng)用,即完成應(yīng)用業(yè)務(wù)邏輯的功能模塊。幾種主要的GUI模型如,Seeheim模犁,MVC(Model-View-Controller)模型和PAC (Presentation—Abstraction.Controller都基于這樣的基本思想。F面對最基本的Seeheim模型進行簡要說明。
Seeheim模型將軟件體系結(jié)構(gòu)分為4個部分:核心模塊(Functional Core),核心應(yīng)用接口(Functional Core Adapter),對話控制器(Dialogue Contro1ler),界面構(gòu)件(Presentation Component)。Function Core對領(lǐng)域應(yīng)用進行建模。Functional Core Adapter為用戶界面與核心應(yīng)用之間建立一個緩沖區(qū),以減少二者之間的耦合。它通過一些交互協(xié)議為用戶界面與核心應(yīng)用之間提供同步或者異步的數(shù)據(jù)交換。Dialogue Controller是Seeheim模型中的核心部分。它通過界面構(gòu)件接收來自用戶的各種輸入請求,通過轉(zhuǎn)換后利用核心應(yīng)用接口與核心模塊進行數(shù)據(jù)交換,保證多個視圖間的一致性,以完成特定的用戶任務(wù)在Dialogue Contro11er中可以嵌套定義Seeheim子模型。這樣可以從不同粒度上對GUI系統(tǒng)進行建模。Presentation Component對界面構(gòu)件的具體交互動作和輸入輸出進行設(shè)計。
2.2 車載人機界面建模
(1) 系統(tǒng)需求分析
需求分析就是明確從外圍系統(tǒng)的角度要求車載人機界面提供什么功能。在以往的需求分析中,始終沒有一種合適的工具來保證系統(tǒng)需求的完整表達,所以直接導(dǎo)致了系統(tǒng)在完成后的檢測中發(fā)現(xiàn)與真實情況小符。從分析階段引入全面支持UML的Rational Rose這個有效的形式化上具,以完整的,無歧義的語言來表達需求,簡化開發(fā)過程中的交流。