基于uml的嵌入式系統(tǒng)的設(shè)計(jì)_第1頁(yè)
基于uml的嵌入式系統(tǒng)的設(shè)計(jì)_第2頁(yè)
基于uml的嵌入式系統(tǒng)的設(shè)計(jì)_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于uml的嵌入式系統(tǒng)的設(shè)計(jì)

近年來(lái),數(shù)字家電、汽車(chē)電子、音樂(lè)音樂(lè)器、數(shù)字集成的需求日益增長(zhǎng)。嵌入式軟件(embedd軟件)系統(tǒng)變得越來(lái)越復(fù)雜,相關(guān)接口也越來(lái)越多。這種軟硬件結(jié)合的項(xiàng)目(硬件co設(shè)計(jì))需要來(lái)自不同技術(shù)背景的人員進(jìn)行合作。這些技術(shù)背景和專(zhuān)業(yè)知識(shí)的人員應(yīng)該如何合作,以解決這個(gè)問(wèn)題。uml可以解決這個(gè)問(wèn)題。統(tǒng)一建模語(yǔ)言UML(UnifiedModelingLanguage)采用一種簡(jiǎn)單而直觀的圖形化方式描述系統(tǒng)設(shè)計(jì)中的各個(gè)問(wèn)題和細(xì)節(jié)。不同技術(shù)背景的設(shè)計(jì)師只需懂得UML符號(hào)就可以與對(duì)方交流、共同設(shè)計(jì)。本文將重點(diǎn)討論如何在嵌入式系統(tǒng)設(shè)計(jì)中使用UML技術(shù),并結(jié)合實(shí)例“微波爐小燈”演示采用UML的嵌入式系統(tǒng)設(shè)計(jì)過(guò)程。1u型建模1.1uml的基本概念1.1.1UML事物UML中事物是實(shí)體抽象化的最終結(jié)果,是模型中的基本成員,UML中包含結(jié)構(gòu)事物、行為事物、分組事物和注釋事物。1.1.2模型中的使用圖是事物集合的分類(lèi),UML中包含多種圖:1)類(lèi)圖(ClassDiagram);2)對(duì)象圖(ObjectDiagram);3)包圖(PackageDiagram);4)組件圖(CompomentDiagram,也稱(chēng)構(gòu)件圖);5)部署圖(DeploymentDiagram);6)用例圖(UsecaseDiagram);7)時(shí)序圖(SequenceDiagram);8)協(xié)作圖(CollaborationDiagram);9)狀態(tài)圖(StatechartDiagram);10)活動(dòng)圖(ActivityDiagram)。由于篇幅原因,本文將結(jié)合一個(gè)需求非常簡(jiǎn)單的“微波爐小燈”的實(shí)例,給出幾個(gè)重要的圖。本文介紹的圖采用業(yè)界使用最廣泛的UML建模工具RationalRose。RationalRose為團(tuán)隊(duì)開(kāi)發(fā)和規(guī)范的開(kāi)發(fā)過(guò)程管理提供了良好的支持。1.2系統(tǒng)靜態(tài)模型的建立從應(yīng)用的角度上來(lái)講,面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)一般需要完成如下工作:1)描述需求;2)根據(jù)需求建立系統(tǒng)的靜態(tài)模型;3)建立系統(tǒng)的動(dòng)態(tài)模型:即描述系統(tǒng)的行為。1.2.1微波門(mén)單一,關(guān)上門(mén)“微波爐小燈”的實(shí)例需求很簡(jiǎn)單,即微波爐里有個(gè)小燈,微波爐門(mén)打開(kāi)時(shí),它就亮起來(lái),一旦關(guān)上門(mén),就熄掉了。本文將根據(jù)此需求說(shuō)明,采用UML設(shè)計(jì)一個(gè)控制程序來(lái)感應(yīng)微波爐對(duì)象的狀態(tài)變化,并且觸發(fā)小燈對(duì)象的狀態(tài)變化。1.2.2開(kāi)微波與關(guān)微波用例圖(UseCaseDiagram):UML的UseCase圖1描述User對(duì)整體系統(tǒng)的功能需求,本例中,User會(huì)有兩項(xiàng)動(dòng)作———“開(kāi)微波爐”與“關(guān)微波爐”,而且期待開(kāi)微波爐時(shí)會(huì)亮小燈,關(guān)微波爐時(shí)小燈會(huì)自動(dòng)熄掉。類(lèi)圖(ClassDiagram):如圖2,類(lèi)是OOD中一個(gè)重要概念。軟件組件的模塊通稱(chēng)為組件的類(lèi)(Class),OOD設(shè)計(jì)理念是程序指令寫(xiě)在類(lèi)里,其所檢驗(yàn)測(cè)試的對(duì)象都是類(lèi),等到電腦執(zhí)行時(shí)才由電腦在內(nèi)存中定義實(shí)體組件(對(duì)象)。1.2.3開(kāi)微波過(guò)程中的小燈亮發(fā)運(yùn)行建立系統(tǒng)的動(dòng)態(tài)模型實(shí)質(zhì)就是描述系統(tǒng)的行為。時(shí)序圖(SequenceDiagram):圖3這個(gè)時(shí)序圖反映了開(kāi)微波爐過(guò)程中觸發(fā)小燈亮的詳細(xì)執(zhí)行過(guò)程。狀態(tài)轉(zhuǎn)換圖4(StatechartDiagram):對(duì)對(duì)象行為做詳細(xì)的描述。就小燈而言,消息的傳達(dá)是個(gè)事件(Event),這事件令小燈改變狀態(tài)(亮或熄)。2雙項(xiàng)目2.1ra系統(tǒng)開(kāi)發(fā)RationalRose中可實(shí)現(xiàn)正向(為模型產(chǎn)生相應(yīng)的代碼,即程序框架)、逆向(從用戶(hù)原來(lái)的軟件系統(tǒng)導(dǎo)出該系統(tǒng)的模型)和雙向工程(實(shí)現(xiàn)模型和代碼之間的循環(huán)工程),從而保證模型與代碼的高度一致,這個(gè)功能意味著降低了開(kāi)發(fā)人員編寫(xiě)程序的復(fù)雜度和工作量。RationalRose支持C++、VisualC++、Java、Smalltalk、Ada、VisualBasic、PowerBuilder等語(yǔ)言和開(kāi)發(fā)工具,并能為CORBA應(yīng)用生成接口定義語(yǔ)言(IDL),為數(shù)據(jù)庫(kù)應(yīng)用生成數(shù)據(jù)庫(kù)描述語(yǔ)言(DDL)等。RationalRose默認(rèn)支持的語(yǔ)言是Java。本例中,在完成了“微波爐小燈”類(lèi)圖制作后,選擇菜單“Tools”→“Java/J2EE”→“generatecode”即可生成Java代碼,當(dāng)原建模文件更新時(shí),代碼會(huì)同步更新。2.2開(kāi)發(fā)可實(shí)現(xiàn)的功能前面所述正向工程雖然只是得到了代碼框架,實(shí)現(xiàn)功能部分的代碼仍需開(kāi)發(fā)人員輸入。隨著軟件功能的實(shí)現(xiàn)及新的用戶(hù)需求的加入,原建模文件在需要更新時(shí),可不需要重新畫(huà)圖,只需進(jìn)行逆向工程操作即可。本例中,在完成了“微波爐小燈”代碼后,選擇菜單“Tools”→“Java/J2EE”→“reverseengineer”即可生成新的建模文件。3architector系統(tǒng)架

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論