返學(xué)費(fèi)網(wǎng) > 培訓(xùn)機(jī)構(gòu) > 全國IT培訓(xùn)中心
初學(xué)者如何開始學(xué)習(xí)怎么用UML開發(fā)嵌入式 呢?新手入門全干貨!零基礎(chǔ)小白入門uml 2.0和uml 1.0的區(qū)別,你把UML用在mcu或者linux開發(fā)上面了嗎???必看
2.0完全建立在UML1.x基礎(chǔ)之上,大多數(shù)的UML1.x模型在UML2.0中都可用。但UML2.0在結(jié)構(gòu)建模方面有一系列重大的改進(jìn),包括結(jié)構(gòu)類、精確的接口和端口、拓展性、交互片斷和操作符以及基于時間建模能力的增強(qiáng)。當(dāng)然還有時序框圖,但如果你不使用這些功能,也就不用擔(dān)心這些特性,因?yàn)閮H使用類框圖、順序框圖和狀態(tài)框圖仍可建立非常復(fù)雜的實(shí)時嵌入式系統(tǒng)。在UML (統(tǒng)一建模語言)2.0規(guī)范中存在4種有關(guān)的請求建議(RFP)文件:基礎(chǔ)設(shè)施()、對象約束語言(OCL)、元數(shù)據(jù)交換 (XMI) 和超級結(jié)構(gòu)?;A(chǔ)設(shè)施RFP涉及UML的定義基礎(chǔ)以及與OMG的元對象設(shè)施(MOF)的對齊。OCL RFP文件涉及對OCL的改善。實(shí)際上, 除了那些定義UML的人員之外, 很少有用戶需要使用OCL。 XMI RFP文件定義了一種交換語義模型信息的格式, 但它目前沒有指定如何交換框圖表。XMI RFP文件則提出了改善定義交換框圖表的XMI的建議。雖然這3個RFP文件非常重要,也很有用, 但它們主要由元模型構(gòu)建人員(例如定義UML的人員)和UML工具供應(yīng)商使用。第4個, 也是最后一個RFP——超級結(jié)構(gòu), 是大多數(shù)用戶所關(guān)注的,這些用戶構(gòu)建實(shí)際模型,并建立現(xiàn)實(shí)世界中工作的系統(tǒng)。UML超級結(jié)構(gòu)的內(nèi)容在最高層次上,超級結(jié)構(gòu)RFP要求:1)允許結(jié)構(gòu)模式的建模,例如基于元件的開發(fā)以及實(shí)時結(jié)構(gòu)規(guī)范;2)澄清通用性、依賴性和關(guān)聯(lián)性的語義;3)在行為建模中支持封裝和拓展性(),特別是在狀態(tài)機(jī)和交互作用的情況下;4)去除在活動框圖表建模中由于映射到狀態(tài)機(jī)而產(chǎn)生的限制。該RFP繼而建議在UML1. x 中接口和結(jié)構(gòu)的概念必須要加強(qiáng), 以支持并簡化對標(biāo)準(zhǔn)元件框架和結(jié)構(gòu)的支持。另外它還規(guī)定必須加入數(shù)據(jù)流建模, 并澄清許多關(guān)系語義。更為重要的是, RFP提出順序框圖在表現(xiàn)力和語義方面的局限太多,建議應(yīng)該加強(qiáng)這方面能力。另外, 活動框圖在語義上應(yīng)與狀態(tài)機(jī)相區(qū)別。最后,該RFP給出了去除UML1.x規(guī)范中的錯誤和不一致性。簡單地說, 超級結(jié)構(gòu)的請求是在結(jié)構(gòu)和規(guī)模拓展性方面改進(jìn)UML的能力和應(yīng)用。超級結(jié)構(gòu)包含了UML2.0規(guī)范中“用戶可視”部分。拓展性和架構(gòu)是推動對RFP的需求的兩個力量,它們之間有聯(lián)系,但又有明顯不同的概念。特別是,定義一種能在“小系統(tǒng)”中很好應(yīng)用,并能升級應(yīng)用到“大系統(tǒng)”的建模概念(元類型)非常重要。我們不希望突然轉(zhuǎn)換到一套完全不同的概念, 因?yàn)槲覀兠鎸Φ氖羌軜?gòu)問題, 而不是別的小問題。這就需要在工作開始之前有預(yù)定的假設(shè),該假設(shè)在實(shí)踐中可能會有問題。定義一套可擴(kuò)展到架構(gòu)應(yīng)用的概念,遠(yuǎn)勝于一套將架構(gòu)完全排除在外的概念。這兩種概念是明顯不同的:在UML2.0中,架構(gòu)改變主要表現(xiàn)在結(jié)構(gòu)(類)模型方面, 而拓展性變化在改進(jìn)的順序框圖中表現(xiàn)最為明顯。結(jié)構(gòu)類元件和子系統(tǒng)顯然是架構(gòu)范疇內(nèi)的概念,但它們是怎樣與類聯(lián)系起來?它們之間又是如何相互聯(lián)系的?UML1.x在這些方面是模糊,UML2.0則引進(jìn)了“結(jié)構(gòu)類”的概念。結(jié)構(gòu)類是一種由外在“嵌套”元件組成的類,目的是對容器分層結(jié)構(gòu)( hierarchy)建模,這些分層結(jié)構(gòu)是由“元件(part)”構(gòu)成的類。圖1所示的簡單的Rhapsody(I-Logix公司的 UML工具)類解釋了UML2.0中結(jié)構(gòu)類的概念?!啊?由一序列的元件組成:按鈕、目的樓層列表(和目的樓層本身)以及和一扇門。類似地,一個樓層類具有一個請求電梯上下的按鈕和一個指示電梯到達(dá)層面的指示器。它們都是結(jié)構(gòu)類因?yàn)樗鼈兌寄鼙环纸獬筛镜脑ο?。Door、 和shaft類也都是結(jié)構(gòu)類, 不過它們在這個模型的其它部分進(jìn)行分解.
LZ的軟件功力達(dá)到了一定境界,令大部分人望塵莫及。講講好的嵌入式軟件演變的過程,比起展示好的代碼更能受大家歡迎吧。正如《重構(gòu)與模式》所說:如果想成為一名更優(yōu)秀的軟件設(shè)計(jì)師,了解優(yōu)秀軟件設(shè)計(jì)的演變過程比學(xué)習(xí)優(yōu)秀設(shè)計(jì)本身更有價值,因?yàn)樵O(shè)計(jì)的演變過程中蘊(yùn)藏著大智慧。
看了以上有關(guān)的怎么用UML開發(fā)嵌入式講解,如果還有什么疑問可以直接來電咨詢。