午夜三级做爱黄片,午夜福利小视频,午夜国产成人精品,午夜黄色在线视频 - www.atkqc.com

由于操作過于頻繁坟瓢,請點擊下方按鈕進行驗證稼乃!

基于UML的列控系統(tǒng)車載人機界面和實現(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ā)出的命令和警告及時地進行響應。

  近年來隨著科技水平的不斷發(fā)展退博,鐵路裝各技術(shù)水平躍上了一個新臺階颖助,高速鐵路的崛起和發(fā)展給世界鐵路的重新振興帶來了勃勃生機。作為高速鐵路的關(guān)鍵設(shè)備之一漆埋。列車自動控制系統(tǒng)具有以下三大特點:1卤撬,以車載顯示為行車憑證;2,用速度命令代替色燈含義:3您窒,信號直接控制列車制動

  柄楼。正是因為這樣的特點,使得人機界面在整個系統(tǒng)中發(fā)揮更大的作用翻萨。良好的界設(shè)計可以將更多的信息清晰地顯示出來翅陪,有助于司機更好地了解要完成的任務,提高速度和精確性俄蔗,減少人為失誤的可能性钠台,在最大程度上保證列車的安全性。

  對于一般交互式軟件系統(tǒng)來說蛀漆,GUI設(shè)計和實現(xiàn)是軟件系統(tǒng)開發(fā)中的一個重要部分辟劲。人機界面是指軟件系統(tǒng)與使用者之間的交互。它為用戶提供各種形式的輸入盔憨,將用戶的輸入信息進行轉(zhuǎn)換后徙菠,傳給核心模塊進行處理,并將處理結(jié)果以可理解的方式反饋給用戶郁岩。它介于用戶和核心應用之間婿奔。設(shè)計既要針對使用者,義更適應核心模塊问慎。用戶界面的設(shè)計質(zhì)量萍摊,直接影響用戶對軟件產(chǎn)品的評價,并最終影響軟件產(chǎn)品的競爭力和壽命如叼。事實上冰木,在很多軟件的設(shè)計階段,由于缺乏行之有效的用戶界面設(shè)計手段笼恰,界面設(shè)計由實現(xiàn)人員直接編碼完成片酝,從而導致了實現(xiàn)與用戶需求之間的差距。

  本文分析了列車運行控制系統(tǒng)車載人機界面所要滿足的設(shè)計原則挖腰,設(shè)計了一種適合這種人機界面的GUI模型雕沿。選UML來描述人機界面的功能需求、總體設(shè)計和詳細設(shè)計的過程并進行建模场时,并利用其工具Rational Rose加以嚴格定義的圖形化語言的描述荡西。最后使用Microsoft公司的Visual C++開發(fā)工具進行了開發(fā)。

  1强进、人機屏面設(shè)計的原則

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

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

  1) 理解司機要進行的操作渔舵。典型的用戶界而設(shè)計都要進行任務分析來理解用戶任務的性質(zhì)鹅唠。

  2) 司機在與系統(tǒng)得交互過程中能夠掌握操作的控制權(quán)。無論何時用戶發(fā)起的操作都能夠可以被取消劈遂。

  3) 提供多種方式來兜成每個與界面相關(guān)的動作(例如關(guān)閉一個顯示窗口)给急。

  4) 當司機進行了錯誤的操作時,應能夠以醒目的方式及時進行提示疮炼。

  5) 重視可讀性和可理解性烁胳。提示信息應該簡明概要,所州的圖形信息便丁=-州機理解廷支。運用不同的顏色來表示信息的優(yōu)先級

  6) 盡量保持界而構(gòu)件的尺寸相同频鉴。充分利用空間關(guān)系。屏幕上的圖形構(gòu)件之間的距離不要太遠恋拍,必要時可以用一個框?qū)⑺麄儼鼑饋怼?/p>

  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是目前在國際上應用雖廣泛矗壹、功能最強大的支持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)件之間的交互以完成用戶任務;核心應用勾拉,即完成應用業(yè)務邏輯的功能模塊。幾種主要的GUI模型如盗温,Seeheim模犁藕赞,MVC(Model-View-Controller)模型和PAC (Presentation—(暫不可見)ntroller都基于這樣的基本思想。F面對最基本的Seeheim模型進行簡要說明卖局。

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

  2.2 車載人機界面建模

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

  需求分析就是明確從外圍系統(tǒng)的角度要求車載人機界面提供什么功能抽堵。在以往的需求分析中构眶,始終沒有一種合適的工具來保證系統(tǒng)需求的完整表達,所以直接導致了系統(tǒng)在完成后的檢測中發(fā)現(xiàn)與真實情況小符脑苫。從分析階段引入全面支持UML的Rational Rose這個有效的形式化上具贱起,以完整的,無歧義的語言來表達需求舱踊,簡化開發(fā)過程中的交流。

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

  

  圖1 車載人機界面模型用況圖

  接下來對用況進行形式化的描述。司機在進行操作時待秃,首先可以根據(jù)需要來調(diào)整界而的背景色拜秧,分辨率等參數(shù),這時執(zhí)行了界面設(shè)置用況章郁。當司機需要對列車長度等參數(shù)進行配置時枉氮,則要使用數(shù)據(jù)操作用況。在數(shù)據(jù)用況中還可以顯示列車的初始化信息暖庄×奶妫考慮到司機需要響應車載設(shè)備發(fā)出的指令以及進行人工干預。所以命令操作用況也是必不可少的培廓。司機操作人機界面的過程采用UML的活動圖做了描述惹悄。

  

  圖2 車載人機界面模型活動圖

  (2) GUI模型框架

  根據(jù)人機界面設(shè)計的原則〖缒疲考慮到實際的應用背景泣港,本文在Seeheim模型的基礎(chǔ)上,提出了一種適用于列車運行控制系統(tǒng)車載人機界面的GUI模型岂张,如圖3所示墓篇。模型由視圖模塊(View Mode1),視圖控制器(View Controller)和核心應用接口(Core Interface)三部分組成通冕,是一種面向對象的GUI設(shè)計模型阱纷。

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

  當用戶完成一項任務涉及到若干視圖時贬墩,View Controller負責各個視圖間的切換調(diào)度。它接受從View Model發(fā)送來的消息妄呕,由消息響應函數(shù)負責對相關(guān)的視圖進行控制陶舞。相對于View Model,View Controller是一種粗粒度的用戶交互模型绪励。它負責將用戶要完成的任務分解肿孵,然后映射到用戶界面的各個視圖中去。視圖內(nèi)部的用戶交互動作則由View Model去描述优炬。

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

  

  圖3 車載人機界面設(shè)計模型

  從圖3中可以看出,View Controller負責在各個視圖問的切換調(diào)度宴今。它接收來自各個視圖的事件母谋。View Controller在系統(tǒng)中是非可視化的,它只負責協(xié)調(diào)各個視圖問的調(diào)用换攘。運用UML的順序圖可以對調(diào)度的過程進行描述(圖4)堰哗。

  

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

  (3) 包和類的劃分和處理

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

  

  圖5 視圖模塊包圖

  對于包圖中的每一部分進一步分析可以得出類圖少辣。為了便于司機進行操作凌摄,在操作界面中,把相關(guān)的信息放在一起進行顯示漓帅,分成了五個不同的類望伦。速度類向司機提供有關(guān)列車目標速度,允許速度煎殷,緩解速度和當前速度等相關(guān)速度信息;計劃信息類提供司機選定的距離區(qū)域內(nèi)的提示信息例如車站的位置,坡度信息腿箩,起始位置信息豪直,速度曲線相關(guān)信息和地理信息,并且能夠顯示最大限制曲線珠移。列車進行制動時弓乙,監(jiān)督距離信息類提供目標停車點的預告距離,干涉預告時問信息钧惧。車載設(shè)備向司機發(fā)出的命令以及司機進行的人工干預暇韧,通過輔助駕駛信息類和監(jiān)測信息類來實現(xiàn)。每個類負責相關(guān)的信息顯示叮歧,在人機界面中分成了五個相對集中的部分作两。它們在的分布如圖6所示。

  

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

  對每一個類菌秘,我們還應識別屬性和操作袒覆。操作界面類和Core Interface類的一些屬性和方法定義如圖7所示。

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

  3、列車運行控制系統(tǒng)車載人機界面的實現(xiàn)

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

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

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

  

  圖7 操作界面和Core Interface類圖

  接下來分別對操作界面中的五個子類進行實現(xiàn)粗啼。在實現(xiàn)時肴奠,要充分結(jié)合上文論述的人機界面原則,例如在輔助駕駛信息類中顯示當前命令和提示以及系統(tǒng)狀態(tài)時蘸概,遇到要求司機進行操作乡优,將用黃色顯示并加上一個黃色閃爍的邊框。當操作正確時悄济,閃爍停止秫辨。在情況發(fā)生后(如離開隧道)或情況開始后(當列車的前端通過命令或提示指出的位置后,如降低受電弓)摄杂,命令或提示符號從這個區(qū)域被刪除坝咐。當操作不正確時循榆,符號以紅色顯示并加上一個紅色不閃爍的邊框,直到命令被正確回應為止墨坚。這樣可以利于司機及時觀察到提示信息秧饮,采取相應的措施。

  考慮到界面可理解性和美觀性的需要泽篮,在計劃信息類內(nèi)盗尸,采用了特定的圖形符號來表示命令和提示信息與速度曲線信息,同時 司機可以激活圖形符號來獲取第二層信息帽撑。在表示距離時泼各,應用對數(shù)表示距離范圍。因為用純對數(shù)無法顯示接近零的距離值亏拉,所以在O到100之間線性插值扣蜻。圖8為駕駛操作界面。

  

  圖8 駕駛操作界面

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

  

  圖9 制動時的操作界面

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

  對于GUI模型中Core Interface戚嗅,在程序中建立了專用的緩沖區(qū)來實現(xiàn)雨涛,緩沖區(qū)中設(shè)置了不同的容器(Vector)來存放View與車載設(shè)備之間交互的數(shù)據(jù)。車載設(shè)備把列車相關(guān)信息存放在Vector中懦胞,用戶界面可以從這里提取相應的數(shù)據(jù)進行顯示替久。因為空間的原因凉泄,某些信息不能完全表示在操作界面中。例如檢測信息區(qū)域可能不能夠完全顯示出檢測信息類中的信息蚯根。Core Interface可以使用戶通過功能鍵從Vector中選擇相應的信息顯示后众,避免了重要的信息被忽略或覆蓋,提高了代碼的完整性颅拦。

  

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

  4蒂誉、結(jié)論

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

  在建模過程中陡蝇,使用UML及其工具Rational Rose建立了靜態(tài)模型和動態(tài)模型的各種視圖,描述了系統(tǒng)的功能需求钧鸥、功能流程面塌、類的結(jié)構(gòu)與關(guān)系、對象之間的交互膏莽。對軟件進行了整體的規(guī)劃和設(shè)計嘱疑,有效地彌合界面設(shè)計與核心應用之間的分歧,提高了軟件設(shè)計的質(zhì)量和效率体六,減少了設(shè)計人員對需求的理解偏差仁灶、設(shè)計人員之間的理解偏差,以及設(shè)計人員與實現(xiàn)人員之間的理解偏差挥桑,提高了設(shè)計的一致性豪杉、完整性和可維護性。這種方法的優(yōu)勢达玉,在對列車運行控制系統(tǒng)車載人機界面的實現(xiàn)過程中充分的顯示了出來豆玖。


聲明:本網(wǎng)站所收集的部分公開資料來源于互聯(lián)網(wǎng),轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡分享蹲居,并不代表本站贊同其觀點和對其真實性負責沙峻,也不構(gòu)成任何其他建議。本站部分作品是由網(wǎng)友自主投稿和發(fā)布两芳、編輯整理上傳摔寨,對此類作品本站僅提供交流平臺,不為其版權(quán)負責怖辆。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻祷肯、圖片、文字如涉及作品版權(quán)問題疗隶,請第一時間告知佑笋,我們將根據(jù)您提供的證明材料確認版權(quán)并按國家標準支付稿酬或立即刪除內(nèi)容翼闹,以保證您的權(quán)益!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn蒋纬。

網(wǎng)友評論 匿名:

分享到