當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]UML在嵌入式系統(tǒng)設(shè)計(jì)中的應(yīng)用

   嵌入式系統(tǒng)設(shè)計(jì)是一個(gè)軟、硬件結(jié)合的協(xié)同設(shè)計(jì)(Hardware/Software Co-design),需要不同技術(shù)背景的人共同開發(fā)。

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

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

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

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

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

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

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

  可視化描述比較直觀;

  簡單易學(xué)、易用;

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

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

  有利于項(xiàng)目的回溯、測試。[!--empirenews.page--]

  1.2 UML 框圖

  作為一種可視化建模語言,UML 中的所有語素是一個(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 框圖提供了建模對象的各種狀態(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 框圖中各對象的具體功能流程。Sequence 框圖演示了業(yè)務(wù)過程的細(xì)節(jié)。值得注意的是,這個(gè)框圖只顯示對象,不顯示類。即 Sequence 框圖是針對某個(gè)特定情況、特定對象進(jìn)行的描述。

  Collaboration 框圖與 Sequence 框圖同樣描述對象間的相互關(guān)系。但它并不像 Sequence 框圖那樣以時(shí)間順序描述,而是著重顯示對象與角色之間的交互。其目的是讓質(zhì)量保證工程師和系統(tǒng)建筑師分析對象之間處理過程的分布情況。如果分布不合理,系統(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)。下面針對于車載 GPS 終端這個(gè)具體項(xiàng)目說明 UML 在嵌入式系統(tǒng)設(shè)計(jì)中的具體應(yīng)用。

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

  2.1 車載GPS終端系統(tǒng)簡介

  車載 GPS 終端是置于機(jī)動(dòng)車內(nèi)的實(shí)時(shí)定位裝置,如圖1所示。它的應(yīng)用對象是需要定位、調(diào)度的車隊(duì),例如:運(yùn)輸車隊(duì)和出租車等。車輛可以通過終端和 GPS衛(wèi)星進(jìn)行實(shí)時(shí)、準(zhǔn)確的定位,并通過無線通訊網(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 需求分析

  在對系統(tǒng)進(jìn)行需求分析時(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é)。

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

  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)的對象。首先以功能塊劃分,廣泛地找出系統(tǒng)的主要對象;然后使用 Collaboration 框圖描述它們之間的關(guān)系。圖4描述了車載 GPS 終端的主要對象,根據(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ī)格說明完成后,需要對系統(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 圖對系統(tǒng)的硬、軟件分別進(jìn)行系統(tǒng)設(shè)計(jì)。圖6用 Component 框圖描述了車載 GPS 終端系統(tǒng)的軟件系統(tǒng)架構(gòu)。

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

  接下來對每一個(gè)系統(tǒng)構(gòu)件進(jìn)行詳細(xì)的設(shè)計(jì)。對于某些大型工程,甚至需要把每一個(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è)特定對象進(jìn)行特定操作時(shí)所遇到的流程。圖8顯示了車載終端用戶甲在遇到危險(xiǎn)按下報(bào)警按鈕后系統(tǒng)的處理過程。

  2.6 集成測試和部署

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

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

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉