uml各種圖形

UML各種圖總結(jié)-精華

UML(Unified Modeling Language)是一種統(tǒng)一建模語(yǔ)言痹束,為面向?qū)ο箝_(kāi)發(fā)系統(tǒng)的產(chǎn)品進(jìn)行說(shuō)明、可視化、和編制文檔的一種標(biāo)準(zhǔn)語(yǔ)言砖瞧。下面將對(duì)UML的九種圖+包圖的基本概念進(jìn)行介紹以及各個(gè)圖的使用場(chǎng)景。

想要知道UML更多內(nèi)容的朋友嚷狞,可以點(diǎn)擊以下課程學(xué)習(xí)相關(guān)知識(shí):

 https://edu.csdn.net/course/play/24752/280547

一块促、基本概念

  如下圖所示,UML圖分為用例視圖感耙、設(shè)計(jì)視圖褂乍、進(jìn)程視圖、實(shí)現(xiàn)視圖和拓?fù)湟晥D即硼,又可以靜動(dòng)分為靜態(tài)視圖和動(dòng)態(tài)視圖逃片。靜態(tài)圖分為:用例圖,類圖只酥,對(duì)象圖褥实,包圖,構(gòu)件圖裂允,部署圖损离。動(dòng)態(tài)圖分為:狀態(tài)圖,活動(dòng)圖绝编,協(xié)作圖僻澎,序列圖貌踏。

1、用例圖(UseCase Diagrams):

?   用例圖主要回答了兩個(gè)問(wèn)題:1窟勃、是誰(shuí)用軟件祖乳。2、軟件的功能秉氧。從用戶的角度描述了系統(tǒng)的功能眷昆,并指出各個(gè)功能的執(zhí)行者,強(qiáng)調(diào)用戶的使用者汁咏,系統(tǒng)為執(zhí)行者完成哪些功能亚斋。

2、類圖(Class Diagrams):

   用戶根據(jù)用例圖抽象成類攘滩,描述類的內(nèi)部結(jié)構(gòu)和類與類之間的關(guān)系帅刊,是一種靜態(tài)結(jié)構(gòu)圖。?在UML類圖中轰驳,常見(jiàn)的有以下幾種關(guān)系:?泛化(Generalization),??實(shí)現(xiàn)(Realization)厚掷,關(guān)聯(lián)(Association),聚合(Aggregation)级解,組合(Composition)冒黑,依賴(Dependency)。

?    各種關(guān)系的強(qiáng)弱順序:?泛化?=?實(shí)現(xiàn)?>?組合?>?聚合?>?關(guān)聯(lián)?>?依賴

  2.1.泛化

    【泛化關(guān)系】:是一種繼承關(guān)系勤哗,表示一般與特殊的關(guān)系抡爹,它指定了子類如何繼承父類的所有特征和行為。例如:老虎是動(dòng)物的一種芒划,即有老虎的特性也有動(dòng)物的共性冬竟。

  2.2.實(shí)現(xiàn)

    【實(shí)現(xiàn)關(guān)系】:是一種類與接口的關(guān)系,表示類是接口所有特征和行為的實(shí)現(xiàn)民逼。

  2.3.關(guān)聯(lián)

?    【關(guān)聯(lián)關(guān)系】:是一種擁有的關(guān)系泵殴,它使一個(gè)類知道另一個(gè)類的屬性和方法;如:老師與學(xué)生拼苍,丈夫與妻子關(guān)聯(lián)可以是雙向的笑诅,也可以是單向的。雙向的關(guān)聯(lián)可以有兩個(gè)箭頭或者沒(méi)有箭頭疮鲫,單向的關(guān)聯(lián)有一個(gè)箭頭吆你。

???????? ?【代碼體現(xiàn)】:成員變量

  2.4.聚合

【聚合關(guān)系】:是整體與部分的關(guān)系,且部分可以離開(kāi)整體而單獨(dú)存在俊犯。如車和輪胎是整體和部分的關(guān)系妇多,輪胎離開(kāi)車仍然可以存在。

聚合關(guān)系是關(guān)聯(lián)關(guān)系的一種燕侠,是強(qiáng)的關(guān)聯(lián)關(guān)系者祖;關(guān)聯(lián)和聚合在語(yǔ)法上無(wú)法區(qū)分立莉,必須考察具體的邏輯關(guān)系。

???????? ?【代碼體現(xiàn)】:成員變量

  2.5.組合

【組合關(guān)系】:是整體與部分的關(guān)系七问,但部分不能離開(kāi)整體而單獨(dú)存在桃序。如公司和部門(mén)是整體和部分的關(guān)系,沒(méi)有公司就不存在部門(mén)烂瘫。

組合關(guān)系是關(guān)聯(lián)關(guān)系的一種,是比聚合關(guān)系還要強(qiáng)的關(guān)系奇适,它要求普通的聚合關(guān)系中代表整體的對(duì)象負(fù)責(zé)代表部分的對(duì)象的生命周期坟比。

    【代碼體現(xiàn)】:成員變量

    【箭頭及指向】:帶實(shí)心菱形的實(shí)線,菱形指向整體

  2.6.依賴

? ?  【依賴關(guān)系】:是一種使用的關(guān)系嚷往,即一個(gè)類的實(shí)現(xiàn)需要另一個(gè)類的協(xié)助葛账,所以要盡量不使用雙向的互相依賴.

【代碼表現(xiàn)】:局部變量、方法的參數(shù)或者對(duì)靜態(tài)方法的調(diào)用

????????【箭頭及指向】:帶箭頭的虛線皮仁,指向被使用者

  2.7 各種類圖關(guān)系

3籍琳、對(duì)象圖(Object Diagrams):

   描述的是參與交互的各個(gè)對(duì)象在交互過(guò)程中某一時(shí)刻的狀態(tài)。對(duì)象圖可以被看作是類圖在某一時(shí)刻的實(shí)例贷祈。

4趋急、狀態(tài)圖(Statechart Diagrams):

    是一種由狀態(tài)、變遷势誊、事件和活動(dòng)組成的狀態(tài)機(jī)呜达,用來(lái)描述類的對(duì)象所有可能的狀態(tài)以及時(shí)間發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移條件。

5粟耻、活動(dòng)圖(Activity Diagrams):

    是狀態(tài)圖的一種特殊情況查近,這些狀態(tài)大都處于活動(dòng)狀態(tài)。本質(zhì)是一種流程圖挤忙,它描述了活動(dòng)到活動(dòng)的控制流霜威。

交互圖強(qiáng)調(diào)的是對(duì)象到對(duì)象的控制流,而活動(dòng)圖則強(qiáng)調(diào)的是從活動(dòng)到活動(dòng)的控制流册烈。

活動(dòng)圖是一種表述過(guò)程基理戈泼、業(yè)務(wù)過(guò)程以及工作流的技術(shù)。

它可以用來(lái)對(duì)業(yè)務(wù)過(guò)程茄厘、工作流建模矮冬,也可以對(duì)用例實(shí)現(xiàn)甚至是程序?qū)崿F(xiàn)來(lái)建模。

  5.1?帶泳道的活動(dòng)圖

      泳道表明每個(gè)活動(dòng)是由哪些人或哪些部門(mén)負(fù)責(zé)完成次哈。

  5.2?帶對(duì)象流的活動(dòng)圖

    用活動(dòng)圖描述某個(gè)對(duì)象時(shí)胎署,可以把涉及到的對(duì)象放置在活動(dòng)圖中,并用一個(gè)依賴將其連接到進(jìn)行創(chuàng)建窑滞、修改和撤銷的動(dòng)作狀態(tài)或者活動(dòng)狀態(tài)上琼牧,對(duì)象的這種使用方法就構(gòu)成了對(duì)象流恢筝。對(duì)象流用帶有箭頭的虛線表示。

6巨坊、序列圖-時(shí)序圖(Sequence Diagrams):

    交互圖的一種撬槽,描述了對(duì)象之間消息發(fā)送的先后順序,強(qiáng)調(diào)時(shí)間順序趾撵。

    序列圖的主要用途是把用例表達(dá)的需求侄柔,轉(zhuǎn)化為進(jìn)一步、更加正式層次的精細(xì)表達(dá)占调。用例常常被細(xì)化為一個(gè)或者更多的序列圖暂题。同時(shí)序列圖更有效地描述如何分配各個(gè)類的職責(zé)以及各類具有相應(yīng)職責(zé)的原因。

  消息用從一個(gè)對(duì)象的生命線到另一個(gè)對(duì)象生命線的箭頭表示究珊。箭頭以時(shí)間順序在圖中從上到下排列薪者。?

  序列圖中涉及的元素:

  6.1 生命線

    生命線名稱可帶下劃線。當(dāng)使用下劃線時(shí)剿涮,意味著序列圖中的生命線代表一個(gè)類的特定實(shí)例言津。

  6.2 同步消息

    同步等待消息

  6.3 異步消息

    異步發(fā)送消息,不需等待

  6.4 注釋

  6.5 約束

  6.6 組合

組合片段用來(lái)解決交互執(zhí)行的條件及方式取试。它允許在序列圖中直接表示邏輯組件悬槽,用于通過(guò)指定條件或子進(jìn)程的應(yīng)用區(qū)域,為任何生命線的任何部分定義特殊條件和子進(jìn)程想括。常用的組合片段有:抉擇陷谱、選項(xiàng)、循環(huán)瑟蜈、并行烟逊。

7、協(xié)作圖(Collaboration Diagrams):

    交互圖的一種铺根,描述了收發(fā)消息的對(duì)象的組織關(guān)系宪躯,強(qiáng)調(diào)對(duì)象之間的合作關(guān)系。時(shí)序圖按照時(shí)間順序布圖位迂,而寫(xiě)作圖按照空間結(jié)構(gòu)布圖


8访雪、構(gòu)件圖(Component Diagrams):

    構(gòu)件圖是用來(lái)表示系統(tǒng)中構(gòu)件與構(gòu)件之間,類或接口與構(gòu)件之間的關(guān)系圖掂林。其中臣缀,構(gòu)建圖之間的關(guān)系表現(xiàn)為依賴關(guān)系,定義的類或接口與類之間的關(guān)系表現(xiàn)為依賴關(guān)系或?qū)崿F(xiàn)關(guān)系泻帮。

  9精置、部署圖(Deployment Diagrams):

    描述了系統(tǒng)運(yùn)行時(shí)進(jìn)行處理的結(jié)點(diǎn)以及在結(jié)點(diǎn)上活動(dòng)的構(gòu)件的配置。強(qiáng)調(diào)了物理設(shè)備以及之間的連接關(guān)系锣杂。

部署模型的目的:

描述一個(gè)具體應(yīng)用的主要部署結(jié)構(gòu)脂倦,通過(guò)對(duì)各種硬件番宁,在硬件中的軟件以及各種連接協(xié)議的顯示,可以很好的描述系統(tǒng)是如何部署的赖阻;平衡系統(tǒng)運(yùn)行時(shí)的計(jì)算資源分布蝶押;可以通過(guò)連接描述組織的硬件網(wǎng)絡(luò)結(jié)構(gòu)或者是嵌入式系統(tǒng)等具有多種硬件和軟件相關(guān)的系統(tǒng)運(yùn)行模型。

二火欧、圖的差異比較

  1.序列圖(時(shí)序圖)VS協(xié)作圖

? ? ? ?序列圖和協(xié)作圖都是交互圖棋电。二者在語(yǔ)義上等價(jià),可以相互轉(zhuǎn)化苇侵。但是側(cè)重點(diǎn)不同:序列圖側(cè)重時(shí)間順序离陶,協(xié)作圖側(cè)重對(duì)象間的關(guān)系。

共同點(diǎn):時(shí)序圖與協(xié)作圖均顯示了對(duì)象間的交互衅檀。

不同點(diǎn):時(shí)序圖強(qiáng)調(diào)交互的時(shí)間次序。

???????????協(xié)作圖強(qiáng)調(diào)交互的空間結(jié)構(gòu)霎俩。

?  ?2.狀態(tài)圖VS活動(dòng)圖

? ? ??狀態(tài)圖和活動(dòng)圖都是行為圖哀军。狀態(tài)圖側(cè)重從行為的結(jié)果來(lái)描述,活動(dòng)圖側(cè)重從行為的動(dòng)作來(lái)描述打却。狀態(tài)圖描述了一個(gè)具體對(duì)象的可能狀態(tài)以及他們之間的轉(zhuǎn)換杉适。在實(shí)際的項(xiàng)目中,活動(dòng)圖并不是必須的柳击,需要滿足以下條件:1猿推、出現(xiàn)并行過(guò)程&行為;2捌肴、描述算法蹬叭;3、跨越多個(gè)用例的活動(dòng)圖状知。

?  ?3.活動(dòng)圖VS交互圖

  二者都涉及到對(duì)象和他們之間傳遞的關(guān)系秽五。區(qū)別在于交互圖觀察的是傳送消息的對(duì)象,而活動(dòng)圖觀察的是對(duì)象之間傳遞的消息饥悴√勾看似語(yǔ)義相同,但是他們是從不同的角度來(lái)觀察整個(gè)系統(tǒng)的西设。

三瓣铣、UML與軟件工程

  UML圖是軟件工程的組成部分,軟件工程從宏觀的角度保證了軟件開(kāi)發(fā)的各個(gè)過(guò)程的質(zhì)量贷揽。而UML作為一種建模語(yǔ)言棠笑,更加有效的實(shí)現(xiàn)了軟件工程的要求。

  如下圖擒滑,在軟件的各個(gè)開(kāi)發(fā)階段需要的UML圖腐晾。

  下表是UML使用人員圖示:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末叉弦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子藻糖,更是在濱河造成了極大的恐慌淹冰,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件巨柒,死亡現(xiàn)場(chǎng)離奇詭異樱拴,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)洋满,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)晶乔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人牺勾,你說(shuō)我怎么就攤上這事正罢。” “怎么了驻民?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵翻具,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我回还,道長(zhǎng)裆泳,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任柠硕,我火速辦了婚禮工禾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蝗柔。我一直安慰自己闻葵,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布癣丧。 她就那樣靜靜地躺著笙隙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪坎缭。 梳的紋絲不亂的頭發(fā)上竟痰,一...
    開(kāi)封第一講書(shū)人閱讀 49,079評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音掏呼,去河邊找鬼坏快。 笑死,一個(gè)胖子當(dāng)著我的面吹牛憎夷,可吹牛的內(nèi)容都是我干的莽鸿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼祥得!你這毒婦竟也來(lái)了兔沃?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤级及,失蹤者是張志新(化名)和其女友劉穎乒疏,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體饮焦,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡怕吴,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了县踢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片转绷。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖硼啤,靈堂內(nèi)的尸體忽然破棺而出议经,到底是詐尸還是另有隱情,我是刑警寧澤谴返,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布爸业,位于F島的核電站,受9級(jí)特大地震影響亏镰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拯爽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一索抓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧毯炮,春花似錦逼肯、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至为迈,卻和暖如春三椿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背葫辐。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工搜锰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人耿战。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓蛋叼,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子狈涮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • UML(Unified Modeling Language)是一種統(tǒng)一建模語(yǔ)言狐胎,為面向?qū)ο箝_(kāi)發(fā)系統(tǒng)的產(chǎn)品進(jìn)行說(shuō)明、...
    KBAC閱讀 1,633評(píng)論 0 3
  • UML概述 UML簡(jiǎn)介 UML (Unified Modeling Language)為面向?qū)ο筌浖O(shè)計(jì)提供統(tǒng)一的...
    aron1992閱讀 512評(píng)論 0 0
  • UML各種圖總結(jié)-精華 UML(Unified Modeling Language)是一種統(tǒng)一建模語(yǔ)言歌馍,為面向?qū)ο?..
    程序里的小仙女閱讀 11,834評(píng)論 0 14
  • UML各種圖總結(jié)-精華 UML(Unified Modeling Language)是一種統(tǒng)一建模語(yǔ)言握巢,為面向?qū)ο?..
    不挖石油的小小閱讀 496評(píng)論 0 2
  • 觀后感:四胞胎、三個(gè)好朋友骆姐、飛行員镜粤,三個(gè)看似不相干的人生,暗中都有聯(lián)系玻褪,在最好的年紀(jì)接受最殘酷的經(jīng)歷肉渴。以自己喜歡的...
    半夏成長(zhǎng)閱讀 190評(píng)論 0 0