《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > UML在嵌入式系統(tǒng)設(shè)計(jì)中的應(yīng)用

UML在嵌入式系統(tǒng)設(shè)計(jì)中的應(yīng)用

2008-08-06
作者:黃承安 張 躍

  摘? 要: 介紹了UML及將UML應(yīng)用于系統(tǒng)設(shè)計(jì)" title="系統(tǒng)設(shè)計(jì)">系統(tǒng)設(shè)計(jì)" title="嵌入式系統(tǒng)設(shè)計(jì)" title="嵌入式系統(tǒng)設(shè)計(jì)">嵌入式系統(tǒng)設(shè)計(jì)">嵌入式系統(tǒng)設(shè)計(jì)中的作用和意義;分析了在嵌入式系統(tǒng)設(shè)計(jì)中應(yīng)用UML的基本步驟和難點(diǎn);結(jié)合車載GPS終端系統(tǒng)" title="終端系統(tǒng)">終端系統(tǒng)的設(shè)計(jì),描述了一個(gè)UML的具體應(yīng)用過程,。

  關(guān)鍵詞: UML(統(tǒng)一建模語(yǔ)言" title="統(tǒng)一建模語(yǔ)言">統(tǒng)一建模語(yǔ)言)? 嵌入式系統(tǒng)設(shè)計(jì)? 車載GPS系統(tǒng)

?

  嵌入式系統(tǒng)設(shè)計(jì)是一個(gè)軟,、硬件結(jié)合的協(xié)同設(shè)計(jì)(Hardware/Software Co-design),需要不同技術(shù)背景的人共同開發(fā),。這就帶來(lái)了一個(gè)問題,如何使這些具有不同技術(shù)背景和專長(zhǎng)的人聯(lián)合開發(fā),、協(xié)同設(shè)計(jì),。在軟,、硬件設(shè)計(jì)領(lǐng)域中,統(tǒng)一建模語(yǔ)言UML(Unified Modeling Language)采用一種簡(jiǎn)單而直觀的圖形化方式描述系統(tǒng)設(shè)計(jì)中的各個(gè)問題和細(xì)節(jié),。不同技術(shù)背景的設(shè)計(jì)師只需懂得簡(jiǎn)單的UML符號(hào)就可以輕易地與對(duì)方交流,、共同設(shè)計(jì),。正是因?yàn)檫@些特點(diǎn),在嵌入式系統(tǒng)設(shè)計(jì)中使用UML建模并書寫文檔通常可以起到事半功倍的效果,。

  本文將重點(diǎn)討論如何在嵌入式系統(tǒng)設(shè)計(jì)中使用UML技術(shù),并用車載GPS終端項(xiàng)目作為實(shí)例來(lái)具體演示采用UML的嵌入式系統(tǒng)設(shè)計(jì)過程,。

1 統(tǒng)一建模語(yǔ)言UML及其特點(diǎn)

1.1 統(tǒng)一建模語(yǔ)言UML

  統(tǒng)一建模語(yǔ)言UML是可視化建模語(yǔ)言中的一種。它將模型中的信息用標(biāo)準(zhǔn)圖形元素直觀地顯示,使用戶,、開發(fā)人員,、測(cè)試人員、管理人員和其他涉及項(xiàng)目的人員可以更好地交流,。最常用的可視建模語(yǔ)言有Booch法,、對(duì)象建模技術(shù)(OMT)和統(tǒng)一建模語(yǔ)言UML。其中UML是ANSI和OMG組織所采用的標(biāo)準(zhǔn),被世界上絕大多數(shù)公司所接受,。

  UML是Grady Booch,、James Rumbaugh和Ivar Jacobson等許多科學(xué)家的集體智慧結(jié)晶??梢詫?duì)任何靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為進(jìn)行系統(tǒng)的建模,適用于系統(tǒng)開發(fā)的不同階段,。采用UML進(jìn)行設(shè)計(jì)具有以下優(yōu)勢(shì):

  ·不同背景的開發(fā)人員和設(shè)計(jì)師可以互相交流;

  ·可視化描述比較直觀;

  ·簡(jiǎn)單易學(xué),、易用;

  ·是行業(yè)標(biāo)準(zhǔn),被絕大多數(shù)業(yè)內(nèi)人士認(rèn)同;

  ·有利于保存系統(tǒng)設(shè)計(jì)的精髓以供下次開發(fā)使用(而不僅僅是一堆電路圖和代碼);

  ·有利于項(xiàng)目的回溯、測(cè)試,。

1.2 UML框圖

  作為一種可視化建模語(yǔ)言,UML中的所有語(yǔ)素是一個(gè)個(gè)框圖,。設(shè)計(jì)人員就是用這一個(gè)個(gè)框圖描述整個(gè)系統(tǒng)的設(shè)計(jì)。UML模型的框圖主要有以下幾種:

  ·Business Use Case框圖和Use Case框圖,前者主要描述整個(gè)機(jī)構(gòu)的功能,后者主要從用戶的角度描述系統(tǒng)的功能,。所以后者通常用于與系統(tǒng)客戶交流,提取用戶的需求,。

  ·Class框圖,這一種是靜態(tài)圖,描述系統(tǒng)中的類。在此框圖中可以體現(xiàn)類的主要內(nèi)容和功能,、類之間的結(jié)構(gòu)和相互關(guān)系,。

  ·State Chart框圖提供了建模對(duì)象的各種狀態(tài)及它們之間的轉(zhuǎn)換關(guān)系。它提供建模系統(tǒng)的動(dòng)態(tài)功能,。這些框圖廣泛用于建立實(shí)際的系統(tǒng),將會(huì)生成系統(tǒng)的全部代碼,。

  ·Activity框圖與State Chart框圖同樣描述系統(tǒng)的動(dòng)態(tài)功能,但它著重于顯示系統(tǒng)的功能流,顯示Use Case框圖中某個(gè)案例(Case)的事件流。它定義了工作流從何時(shí)開始,、哪里開始,、按什么順序發(fā)生、最終在哪結(jié)束,。

  ·Sequence框圖顯示了Use Case框圖中各對(duì)象的具體功能流程,。Sequence框圖演示了業(yè)務(wù)過程的細(xì)節(jié)。值得注意的是,這個(gè)框圖只顯示對(duì)象,不顯示類,。即Sequence框圖是針對(duì)某個(gè)特定情況,、特定對(duì)象進(jìn)行的描述。

  ·Collaboration框圖與Sequence框圖同樣描述對(duì)象間的相互關(guān)系,。但它并不像Sequence框圖那樣以時(shí)間順序描述,而是著重顯示對(duì)象與角色之間的交互,。其目的是讓質(zhì)量保證工程師和系統(tǒng)建筑師分析對(duì)象之間處理過程的分布情況。如果分布不合理,系統(tǒng)建筑師可能考慮重新分配處理工作,。

  ·Component框圖顯示模型的物理視圖,也顯示系統(tǒng)中軟,、硬件組件及其相互關(guān)系。

  ·Deployment框圖則顯示了系統(tǒng)的物理布局和各組件的位置及配置方法,。

這些框圖為系統(tǒng)的分析,、設(shè)計(jì)、建模提供了多種圖形表達(dá)形式,可應(yīng)用于開發(fā)的不同階段,。它們的有機(jī)結(jié)合可以構(gòu)建一個(gè)完整而一致的系統(tǒng),。下面針對(duì)于車載GPS終端這個(gè)具體項(xiàng)目說明UML在嵌入式系統(tǒng)設(shè)計(jì)中的具體應(yīng)用。

2 UML在車載GPS終端設(shè)計(jì)中的應(yīng)用

2.1 車載GPS終端系統(tǒng)簡(jiǎn)介????????

  車載GPS終端是置于機(jī)動(dòng)車內(nèi)的實(shí)時(shí)定位裝置,如圖1所示,。它的應(yīng)用對(duì)象是需要定位,、調(diào)度的車隊(duì),例如:運(yùn)輸車隊(duì)和出租車等。車輛可以通過終端和GPS衛(wèi)星進(jìn)行實(shí)時(shí),、準(zhǔn)確的定位,并通過無(wú)線通訊網(wǎng)絡(luò)上報(bào)遠(yuǎn)程的中心系統(tǒng),。中心可以通過終端遠(yuǎn)程監(jiān)視車行軌跡,甚至在特殊情況下通過終端控制車輛,。同時(shí),終端還可以起到車載電話的作用,并可在車輛遇險(xiǎn)時(shí)進(jìn)行報(bào)警。另外,通過終端車輛還可以接收少量的調(diào)度信息,。

?

2.2 需求分析

  在對(duì)系統(tǒng)進(jìn)行需求分析" title="需求分析">需求分析時(shí),可以使用Use Case圖進(jìn)行功能上的需求分析,。Use Case圖分角色(Actor)和案例(Case)兩部分。角色是與系統(tǒng)交互的人或物,而案例是系統(tǒng)提供的功能塊,。使用Use Case觀察系統(tǒng)能夠?qū)⑾到y(tǒng)實(shí)現(xiàn)與系統(tǒng)目標(biāo)分開,有助于開發(fā)人員了解最重要的部分,滿足用戶需求,而不會(huì)沉浸于實(shí)現(xiàn)細(xì)節(jié),。

  對(duì)于車載GPS終端,主要的角色有兩種:車載終端用戶和監(jiān)控中心用戶。終端用戶可以報(bào)警,打車載電話等;而監(jiān)控中心可以查詢車輛位置,發(fā)送調(diào)度信息,。其Use Case框圖如圖2所示,。

?

2.3 規(guī)格說明

  規(guī)格說明比需求分析更詳細(xì),通過UML設(shè)計(jì)可以使規(guī)格說明更直觀、更清晰,。首先,使用Class框圖描述系統(tǒng)處理的數(shù)據(jù)結(jié)構(gòu),。例如在車載GPS終端的規(guī)格說明設(shè)計(jì)時(shí)可以使用Class框圖描述需要接收的GPS衛(wèi)星信號(hào),如圖3所示。

?

  第二,在規(guī)格說明階段,還需要識(shí)別出系統(tǒng)的對(duì)象,。首先以功能塊劃分,廣泛地找出系統(tǒng)的主要對(duì)象;然后使用Collaboration框圖描述它們之間的關(guān)系,。圖4描述了車載GPS終端的主要對(duì)象,根據(jù)框圖可以進(jìn)行進(jìn)一步的細(xì)化。

最后,在規(guī)格說明階段進(jìn)行系統(tǒng)的業(yè)務(wù)描述,。即規(guī)范系統(tǒng)完成一定功能的主要流程,。這可以利用Activity框圖進(jìn)行。圖5顯示了GPS數(shù)據(jù)到達(dá)時(shí),車載GPS終端系統(tǒng)所進(jìn)行的處理流程,。

?

?

2.4 系統(tǒng)設(shè)計(jì)

  規(guī)格說明完成后,需要對(duì)系統(tǒng)的各個(gè)模塊及模塊之間的關(guān)系仔細(xì)地分析,從而確定哪些部分使用硬件完成,哪些部分使用軟件實(shí)現(xiàn),。在本例中,需要硬件實(shí)現(xiàn)的模塊有:GPS接收模塊、電源模塊,、用戶控制模塊、LCD顯示模塊和GSM通訊模塊,。所有的控制邏輯和數(shù)據(jù)計(jì)算全部由主控制器的軟件實(shí)現(xiàn),。

  隨后,系統(tǒng)設(shè)計(jì)分為兩個(gè)分支:硬件設(shè)計(jì)及軟件設(shè)計(jì)。使用UML的Collaboration圖和Component圖對(duì)系統(tǒng)的硬,、軟件分別進(jìn)行系統(tǒng)設(shè)計(jì),。圖6用Component框圖描述了車載GPS終端系統(tǒng)的軟件系統(tǒng)架構(gòu)。

?

2.5 構(gòu)件設(shè)計(jì)

  接下來(lái)對(duì)每一個(gè)系統(tǒng)構(gòu)件進(jìn)行詳細(xì)的設(shè)計(jì),。對(duì)于某些大型工程,甚至需要把每一個(gè)構(gòu)件作為一個(gè)項(xiàng)目,重新以需求分析,、規(guī)格說明開始展開構(gòu)件設(shè)計(jì)循環(huán)。在構(gòu)件設(shè)計(jì)中,除了可以使用前文介紹過的各種UML框圖外,通常還需要使用State Chart,、Sequence這兩種框圖描述具體的系統(tǒng)流程細(xì)節(jié),。

  在本例中,GSM模塊共有四個(gè)狀態(tài):待命、有問題,、通話中,、短消息通訊中,。使用State Chart框圖描述它們之間的轉(zhuǎn)換關(guān)系,如圖7所示。

?

  Sequence框圖顯示了一個(gè)特定對(duì)象進(jìn)行特定操作時(shí)所遇到的流程,。圖8顯示了車載終端用戶甲在遇到危險(xiǎn)按下報(bào)警按鈕后系統(tǒng)的處理過程,。

?

2.6 集成測(cè)試和部署

  在集成測(cè)試時(shí),可以聯(lián)合使用所有的UML框圖認(rèn)真分析每個(gè)構(gòu)件的原理,針對(duì)每一個(gè)系統(tǒng)功能、每一個(gè)可能發(fā)生錯(cuò)誤的過程寫出相應(yīng)的測(cè)試程序,進(jìn)行完整而可靠的程序測(cè)試,。

  利用UML和系統(tǒng)的設(shè)計(jì)方法可以使傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)告別“手工作坊”的開發(fā)方式,大大提高嵌入式系統(tǒng)的開發(fā)速度和產(chǎn)品質(zhì)量,增強(qiáng)設(shè)計(jì)的可復(fù)用性,。

  但是UML是圖形化描述語(yǔ)言,比較適用于面向?qū)ο蟮某绦蛟O(shè)計(jì);對(duì)于精確的規(guī)格設(shè)計(jì)或非面向?qū)ο蟮恼Z(yǔ)言設(shè)計(jì)來(lái)說就不盡如人意了。在具體應(yīng)用中,靈活應(yīng)用注釋功能,把框圖對(duì)應(yīng)模塊所需的具體規(guī)格要求以注釋的形式寫在框圖中,充分利用State Chart和Sequence這些框圖來(lái)完成面向過程部分的設(shè)計(jì),。

?

參考文獻(xiàn)

1 Wayne Wolf著,孫玉芳譯.嵌入式計(jì)算系統(tǒng)設(shè)計(jì)原理(中文版).北京:機(jī)械工業(yè)出版社,2002.2

2 Wendy Boggs著,邱仲潘譯.UML與Rational Rose 2002從入門到精通(中文版).北京:電子工業(yè)出版社,2002

3 唐 英.使用UML分析設(shè)計(jì)嵌入式系統(tǒng).計(jì)算機(jī)應(yīng)用研究,2002;(5)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]