許 維,趙 艷
(1. 廊坊師范學(xué)院 數(shù)信學(xué)院基礎(chǔ)部,廊坊 065000;2. 北華航天工業(yè)學(xué)院 基礎(chǔ)部,廊坊 065000)
基于UML的嵌入式系統(tǒng)可視化建模研究
許 維1,趙 艷2
(1. 廊坊師范學(xué)院 數(shù)信學(xué)院基礎(chǔ)部,廊坊 065000;2. 北華航天工業(yè)學(xué)院 基礎(chǔ)部,廊坊 065000)
統(tǒng)一建模語言UML( Uni fi ed Modeling Language)是一種定義良好、易于表達(dá)、功能強大、用于編制軟件藍(lán)圖的標(biāo)準(zhǔn)化語言,提供用于描述軟件系統(tǒng)的概念和圖形表示法,以及語言擴(kuò)展機(jī)制和對象約束語言O(shè)CL(Object Constraint Language)[1]。
對嵌入式系統(tǒng)建立模型過程中,鑒于該系統(tǒng)的復(fù)雜性,用單一圖形不能完整描述系統(tǒng)整體功能結(jié)構(gòu),應(yīng)從不同側(cè)面來表達(dá)系統(tǒng)的各個方面,從多視圖中拼接出整個系統(tǒng),從而比較全面的完成系統(tǒng)描述。在UML中采用視圖來描述系統(tǒng)不同側(cè)面且闡述其特性,因此嵌入式系統(tǒng)的開發(fā)模型可由用例圖、邏輯圖、組件圖、合作圖、時序圖、部署圖[2]來共同描述。CASE工具可以采用Rose,并且結(jié)合Rational統(tǒng)一過程推薦的Use Case驅(qū)動的系統(tǒng)分析與設(shè)計方法。
設(shè)計模式(Design Pattern)是被人們廣為接受并反復(fù)使用、經(jīng)過分類編目的代碼設(shè)計經(jīng)驗的總結(jié)。設(shè)計模式由Use Case 實現(xiàn)、構(gòu)架模式、構(gòu)架機(jī)制三個部分組成,Use Case實現(xiàn)是在需求分析報告的基礎(chǔ)上,得到的系統(tǒng)需求,作為系統(tǒng)功能需求過度到構(gòu)架模式的中介;構(gòu)架機(jī)制是描述可復(fù)用的前人設(shè)計經(jīng)驗,通過構(gòu)架機(jī)制可以實現(xiàn)知識的復(fù)用。Use Case 實現(xiàn)和構(gòu)架機(jī)制這兩者讓系統(tǒng)從需求分析向設(shè)計方案過度。設(shè)計模式中的構(gòu)架模式是在特定領(lǐng)域基于體系結(jié)構(gòu)的可重用的設(shè)計,是系統(tǒng)重要的構(gòu)件組織或結(jié)構(gòu),它是分析設(shè)計工作流程的結(jié)果。層次構(gòu)架是一種典型的構(gòu)架模式,它把分析和設(shè)計的結(jié)果按特殊到一般分成四個層次:特定應(yīng)用層、一般應(yīng)用層、通用服務(wù)層、系統(tǒng)服務(wù)層[3]。
嵌入式系統(tǒng)是用來控制或監(jiān)視機(jī)器、裝備或工廠等大規(guī)模系統(tǒng)的設(shè)備。在嵌入式計算機(jī)體系結(jié)構(gòu)中,嵌入式的硬件系統(tǒng)處在體系中的最底層,它的上面分別為硬件驅(qū)動和SOC片上系統(tǒng)以及相對應(yīng)的應(yīng)用軟件[4]。相對臺式計算機(jī)而言,嵌入式硬件系統(tǒng)可分為:微處理器、存儲器、輸入輸出設(shè)備[5],這樣的系統(tǒng)具有專用性強、系統(tǒng)內(nèi)核小、系統(tǒng)精簡、實時性強等優(yōu)點,它可用于工業(yè)控制、信息家電、人工智能、計算機(jī)網(wǎng)絡(luò)、電子產(chǎn)品等方面[6]。以下我們利用UML技術(shù)來建立一個通用的嵌入式系統(tǒng)。
在概念級階段,關(guān)鍵是確定要解決的問題和需要完成的目標(biāo),在系統(tǒng)需求分析時常采用黑盒方法識別角色和識別用例,并在這個基礎(chǔ)上確定它們之間的關(guān)系,最后繪制用例圖。本系統(tǒng)中,主要的參與者為系統(tǒng)的使用者,它分為軟件設(shè)計師和普通用戶;主要的用例是軟件設(shè)計師可對該系統(tǒng)進(jìn)行編程,這包括硬件驅(qū)動的編寫、軟件系統(tǒng)的編寫和系統(tǒng)的基本操作。普通用戶通過軟件設(shè)計師設(shè)計的軟件來操作系統(tǒng),完成相應(yīng)操作,如圖1所示。該階段中所得到的成果,我們可以把它們存放在Use Case視圖或者Use Case實現(xiàn)中。
圖1 系統(tǒng)用例圖
在邏輯級階段的設(shè)計模式中,我們采用了層次構(gòu)架,該階段的主要任務(wù)是在確定所建系統(tǒng)范圍的基礎(chǔ)上,詳細(xì)分析用例的基本信息和具體工作流程,包括提取分析類,建立相應(yīng)的類圖、狀態(tài)圖、時序圖、活動圖、合作圖等并把它們按照與應(yīng)用邏輯關(guān)聯(lián)的程度分別存放在層次構(gòu)架的各層次中。在整個分析設(shè)計過程中,我們又可以把這些過程劃分為靜態(tài)描述和動態(tài)描述。
2.2.1 靜態(tài)描述
該階段主要是明確系統(tǒng)的關(guān)鍵要素(類)、要素間的關(guān)系、以及要素的關(guān)鍵狀態(tài)和關(guān)鍵行為??梢允褂妙悎D、對象圖等進(jìn)行靜態(tài)描述。通過對系統(tǒng)用例圖和用戶手冊的分析,可以得到系統(tǒng)的關(guān)鍵類為:MCU微處理器類、SDRAM類、ROM類、BUS(總線)類、接口類等,它們之間的關(guān)系為關(guān)聯(lián)關(guān)系,其中接口類又是USB接口類、KEYBOARD類、LCD類、ETHERNET(以太網(wǎng))類的父類,因此它們間的關(guān)系應(yīng)該為聚合關(guān)系。在確定類與關(guān)系的基礎(chǔ)上再進(jìn)一步描述出每個類的屬性和功能,比如MCU微處理器類的屬性有CPU_OE(使能)屬性、A(地址)屬性、D(數(shù)據(jù))屬性等,相應(yīng)的操作有INIT()初始化操作、READ()讀操作、WRITE()寫操作等。
2.2.2 動態(tài)描述
在動態(tài)描述中我們主要使用的是時序圖、合作圖等對系統(tǒng)進(jìn)行描述,如圖2所示。用戶通過鍵盤把數(shù)據(jù)輸入到PCLD(可編程邏輯控制器)中,然后再通過總線輸入到微處理器里進(jìn)行相應(yīng)的運算處理;當(dāng)數(shù)據(jù)從微處理器向外輸出數(shù)據(jù)時,也必須通過總線,然后再經(jīng)過PCLD, 最終通過顯示器顯示出來。
圖2 系統(tǒng)時序圖
進(jìn)入物理級這個階段后,我們著重考慮系統(tǒng)的實際結(jié)構(gòu)并考慮該系統(tǒng)的物理部署,它包括了系統(tǒng)和設(shè)備間的連接。通過部署圖,可以了解到硬件組件之間的物理關(guān)系以及處理節(jié)點的組件分布情況。如圖3所示,在該系統(tǒng)中,系統(tǒng)與各設(shè)備的連接如下:鍵盤通過可編程邏輯控制器接口;以太網(wǎng)通過IEEE802.3協(xié)議;USB設(shè)備通過USB2.0串口;串口設(shè)備通過通用串口;工業(yè)設(shè)備通過相應(yīng)的CANBUS(控制器局域網(wǎng)絡(luò)總線技術(shù));顯示設(shè)備通過可編程邏輯控制器與系統(tǒng)相連。
圖3 系統(tǒng)部署圖
本文闡述了UML的基本開發(fā)方法,把UML技術(shù)運用到嵌入式領(lǐng)域,通過一個通用的嵌入式系統(tǒng)開發(fā),具體描述了如何用UML技術(shù)分析、設(shè)計以及實施該嵌入式系統(tǒng)。利用UML面向?qū)ο蠹夹g(shù)開發(fā)嵌入式系統(tǒng)有助于提高開發(fā)人員和用戶對整個系統(tǒng)的清晰認(rèn)識,有助于開發(fā)、維護(hù)系統(tǒng),節(jié)約各方面的花費,為后繼的開發(fā)和使用提供堅實的保障。
[1]Grady Booch, James Rumbaugh,Ivar Jacobson. 邵維忠,麻志毅,張文娟, 等, 譯. UML用戶指南[M].機(jī)械工業(yè)出版社, 2001.
[2]Wendy Boggs, Michael Boggs. Mastering UML with Rational Rose 2002 Publishing House of Electronic Industry. 2002.
[3]吳麗君, 張毅剛, 姜守達(dá). UML在嵌入式系統(tǒng)設(shè)計中的應(yīng)用[J]. 哈爾濱工業(yè)大學(xué)學(xué)報, 2005-9(9).
[4]尤克濱. UML應(yīng)用建模實踐過程[M]. 機(jī)械工業(yè)出版社,2003.
[5]沈文斌. 嵌入式硬件系統(tǒng)設(shè)計與開發(fā)實例詳解[M]. 電子工業(yè)出版社, 2005.
[6]賈少銳, 薛紅梅, 等. 基于UML的遠(yuǎn)程家電控制軟件系統(tǒng)的設(shè)計[J]. 微計算機(jī)信息2006(09X).
Research on the visual modeling of embedded system based on unified modeling language
XU Wei1, ZHAO Yan2
本文闡述了統(tǒng)一建模語言UML的基本語法結(jié)構(gòu)和建模步驟。利用UML建立完善的開發(fā)模型,有利于提升嵌入式系統(tǒng)的開發(fā)效率與質(zhì)量。本文運用UML,借助其多視圖表達(dá)方式,通過實例論述UML可視化建模方法在嵌入式系統(tǒng)開發(fā)過程中的具體應(yīng)用。
UML; 建模; 嵌入式系統(tǒng)
許維(1982-),男,河北廊坊人,助教,本科,主要從事計算機(jī)教育及應(yīng)用研究。
TP302.1
A
1009-0134(2011)1(上)-0150-02
10.3969/j.issn.1009-0134.2011.1(上).45
2010-09-09