嵌入式系統 UML

2021-05-26 11:33:25 字數 3821 閱讀 3431

如何使這些具有不同技術背景和專長的人聯合開發、協同設計。在軟、硬體設計領域中,統一建模語言uml(unified modling language)採用一種簡單而直觀的圖形化方式描述系統設計中的各個問題和細節。不同技術背景的設計師只需懂得簡單的 uml 符號就可以輕易地與對方交流、共同設計。正是因為這些特點,在嵌入式系統設計中使用 uml 建模並書寫文件通常可以起到事半功倍的效果。

本文將重點討論如何在嵌入式系統設計中使用 uml 技術,並用車載 gps 終端專案作為例項來具體演示採用 uml 的嵌入式系統設計過程。

1 統一建模語言 uml 及其特點

1.1統一建模語言 uml

統一建模語言 uml 是視覺化建模語言中的一種。它將模型中的資訊用標準圖形元素直觀地顯示,使使用者、開發人員、測試人員、管理人員和其他涉及專案的人員可以更好地交流。最常用的可視建模語言有 booch 法、物件建模技術(omt)和統一建模語言 uml。其中 uml 是 ansi 和 omg 所採用的標準,被世界上絕大多數公司所接受。

uml 是 grady booch、james rumbaugh 和 ivar jacobson 等許多科學家的集體智慧型結晶。可以對任何靜態結構和動態行為進行系統的建模,適用於系統開發的不同階段。採用uml進行設計具有以下優勢:

不同背景的開發人員和設計師可以互相交流;

視覺化描述比較直觀;

簡單易學、易用;

是行業標準,被絕大多數業內人士認同;

有利於儲存系統設計的精髓以供下次開發使用(而不僅僅是一堆電路圖和**);

有利於專案的回溯、測試。

1.2 uml 框圖

作為一種視覺化建模語言,uml 中的所有語素是乙個個框圖。設計人員就是用這乙個個框圖描述整個系統的設計。uml 模型的框圖主要有以下幾種:

business use case框圖和use case框圖,前者主要描述整個機構的功能,後者主要從使用者的角度描述系統的功能。所以後者通常用於與系統客戶交流,提取使用者的需求。

class 框圖,這一種是靜態圖,描述系統中的類。在此框圖中可以體現類的主要內容和功能、類之間的結構和相互關係。

state chart 框圖提供了建模物件的各種狀態及它們之間的轉換關係。它提供建模系統的動態功能。這些框圖廣泛用於建立實際的系統,將會生成系統的全部**。

activity 框圖與 state chart 框圖同樣描述系統的動態功能,但它著重於顯示系統的功能流,顯示 use case 框圖中某個案例(case)的事件流。它定義了工作流從何時開始、**開始、按什麼順序發生、最終在哪結束。

sequence 框圖顯示了 use case 框圖中各物件的具體功能流程。sequence 框圖演示了業務過程的細節。值得注意的是,這個框圖只顯示物件,不顯示類。即 sequence 框圖是針對某個特定情況、特定物件進行的描述。

collaboration 框圖與 sequence 框圖同樣描述物件間的相互關係。但它並不像 sequence 框圖那樣以時間順序描述,而是著重顯示物件與角色之間的互動。其目的是讓質量保證工程師和系統建築師分析物件之間處理過程的分布情況。如果分布不合理,系 統建築師可能考慮重新分配處理工作。

component 框圖顯示模型的物理檢視,也顯示系統中軟、硬體元件及其相互關係。

deployment 框圖則顯示了系統的物理布局和各元件的位置及配置方法。

這些框圖為系統的分析、設計、建模提供了多種圖形表達形式,可應用於開發的不同階段。它們的有機結合可以構建乙個完整而一致的系統。下面針對於車載 gps 終端這個具體專案說明 uml 在嵌入式系統設計中的具體應用。

2、uml 在車載 gps 終端設計中的應用

2.1 車載gps終端系統簡介

車載 gps 終端是置於機動車內的實時定位裝置,如圖1所示。它的應用物件是需要定位、排程的車隊,例如:運輸車隊和計程車等。車輛可以通過終端和 gps衛星進行實時、準確的定位,並通過無線通訊網路上報遠端的中心系統。中心可以通過終端遠端監視車行軌跡,甚至在特殊情況下通過終端控制車輛。同時, 終端還可以起到車載**的作用,並可在車輛遇險時進行報警。另外,通過終端車輛還可以接收少量的排程資訊。

2.2 需求分析

在對系統進行需求分析時,可以使用 use case 圖進行功能上的需求分析。use case 圖分角色(actor)和案例(case)兩部分。角色是與系統互動的人或物,而案例是系統提供的功能塊。使用 use case 觀察系統能夠將系統實現與系統目標分開,有助於開發人員了解最重要的部分,滿足使用者需求,而不會沉浸於實現細節。

對於車載 gps 終端,主要的角色有兩種:車載終端使用者和監控中心使用者。終端使用者可以報警,打車載**等;而監控中心可以查詢車輛位置,傳送排程資訊。其 use case 框圖如圖2所示。

2.3 規格說明

規格說明比需求分析更詳細,通過uml設計可以使規格說明更直觀、更清晰。首先,使用 class 框圖描述系統處理的資料結構。例如在車載gps終端的規格說明設計時可以使用 class 框圖描述需要接收的 gps 衛星訊號,如圖3所示。

第二,在規格說明階段,還需要識別出系統的物件。首先以功能塊劃分,廣泛地找出系統的主要物件;然後使用 collaboration 框圖描述它們之間的關係。圖4描述了車載 gps 終端的主要物件,根據框圖可以進行進一步的細化。

最後,在規格說明階段進行系統的業務描述。即規範系統完成一定功能的主要流程。這可以利用 activity 框圖進行。圖5顯示了 gps 資料到達時,車載 gps 終端系統所進行的處理流程。

2.4 系統設計

規格說明完成後,需要對系統的各個模組及模組之間的關係仔細地分析,從而確定哪些部分使用硬體完成,哪些部分使用軟體實現。在本例中,需要硬體實現的模組有:gps 接收模組、電源模組、使用者控制模組、lcd 顯示模組和 gsm 通訊模組。

所有的控制邏輯和資料計算全部由主控制器的軟體實現。

隨後,系統設計分為兩個分支:硬體設計及軟體設計。使用 uml 的 collaboration 圖和 component 圖對系統的硬、軟體分別進行系統設計。圖6用 component 框圖描述了車載 gps 終端系統的軟體系統架構。

2.5構件設計

接下來對每乙個系統構件進行詳細的設計。對於某些大型工程,甚至需要把每乙個構件作為乙個專案,重 新以需求分析、規格說明開始展開構件設計迴圈。在構件設計中,除了可以使用前文介紹過的各種 uml 框圖外,通常還需要使用 state chart、sequence 這兩種框圖描述具體的系統流程細節。

在本例中,gsm 模組共有四個狀態:待命、有問題、通話中、短訊息通訊中。使用 state chart 框圖描述它們之間的轉換關係,如圖7所示。

sequence 框圖顯示了乙個特定物件進行特定操作時所遇到的流程。圖8顯示了車載終端使用者甲在遇到危險按下報警按鈕後系統的處理過程。

2.6 整合測試和部署

在整合測試時,可以聯合使用所有的 uml 框圖認真分析每個構件的原理,針對每乙個系統功能、每乙個可能發生錯誤的過程寫出相應的測試程式,進行完整而可靠的程式測試。

利用 uml 和系統的設計方法可以使傳統的嵌入式系統設計告別「手工作坊」的開發方式,大大提高嵌入式系統的開發速度和產品質量,增

強設計的可復用性。

但是 uml 是圖形化描述語言,比較適用於物件導向的程式設計;對於精確的規格設計或非物件導向的語言設計來說就不盡如人意了。在具

體應用中,靈活應用注釋功能,把框圖對應模組所需的具體規格要求以注釋的形式寫在框圖中,充分利用 state chart 和 sequence 這些框圖來完成面向過程部分的設計。

嵌入式系統

嵌入式開發的相關領域 搞嵌入式若能熟悉嵌入式應用的一些主要領域,這樣的人更受企業歡迎。主要的相關 領域包括 a 數字影象壓縮技術 這是嵌入式最重要最熱門的應用領域之一,主要是應掌握mpeg 編譯碼演算法和技術,如 pda 高精電視 機頂盒等都涉及mpeg高速解碼問 題。b 通訊協議及程式設計技術 這...

嵌入式系統

嵌入式系統就是計算機系統的一類,就是被塞進其他裝置的計算機作業系統。我的嵌入式老師只用了三個詞語就總結了嵌入式系統的精髓 專用的可裁剪的 計算機系統。包括嵌入式軟體開發的知識體系和背景 先說背景 計算機,領域內,知識體系,按層次分,可以分為 其中 此處,暫且不討論上層的純軟體,以及底層的硬體,只是簡...

嵌入式系統

硬體結構 軟體結構 作業系統 vxworks商用嵌入式系統的代表 嵌入式linux 採用的是linux的核心,大多數採用的是linux的微核心 微核心本身只提供一些最基本的作業系統功能,如任務排程 記憶體管理 中斷處理等,而類似於檔案系統和網路協議等附加功能則執行在使用者空間中 交叉編譯 交叉編譯 ...