UML图入门学习笔记
2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
UML統(tǒng)一模型語言
UML 模型圖的構(gòu)成:
?事物(具有代表性的成分的抽象)
1. 構(gòu)建事物
? ? ? ? 類
? ? ? ? 接口
? ? ? ? 協(xié)作: 一組事物間的相互作用的集合
? ? ? ? 用例: 代表一個系統(tǒng)或者系統(tǒng)的一部分行為,是一組動作序列的集合
? ? ? ? 構(gòu)建: 系統(tǒng)中物理存在,可替換的部件
? ? ? ? 節(jié)點: 運行時存在的物理元素
? ? ? ? ?×另外: 參與者信號應(yīng)用文檔庫頁表等都是上述基本事物的變體
? ? ?2.?行為事物: 動態(tài)部分,描述跨越空間和實踐的行為
? ? ? ? ? ?交互: 實現(xiàn)某種功能的一組事物之間的消息的集合(含:消息、動作序列、鏈接)
? ? ? ? ? ? 狀態(tài)機(jī): 描述事物或交互在生民周期內(nèi)響應(yīng)時間所經(jīng)歷的狀態(tài)序列
? ? 3. 分組事物: 組織部分,描述事物的組織結(jié)構(gòu)
? ? ? ? ? ? 包: 把元素組織成祖的機(jī)制
? ? 4. 注釋事物
? ? ? ? ? ? 注解: 對元素進(jìn)行約束或解釋的簡單符號
二、????關(guān)系(聯(lián)系事物)
? ? 1. 依賴: 兩事物間的語義關(guān)系,一個變化另一個變化
? ? 2. 關(guān)聯(lián):?結(jié)構(gòu)關(guān)系,指明一個事物的對象與梁一個事物的對象間的聯(lián)系
? ? 3. 泛化: 一般/特殊 的關(guān)系,也就是繼承關(guān)系。
? ? 4. 實現(xiàn): 類元之間的語義關(guān)系,其中的一個類元指定了由另一個類元保證執(zhí)行的契約
三、圖(事物和關(guān)系的可視化表示)
? ? ? ?1. 用例圖
? ? ? ? ? ? 從用戶角度描述系統(tǒng)功能,是用戶所能觀察到的系統(tǒng)功能的模型圖。
(圖1 用例圖)
? ? ? ?2. 類圖
類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu),定義系統(tǒng)中的類,表示類間的關(guān)系,也包括類的內(nèi)部結(jié)構(gòu)(屬性和操作)
類圖以類為中心來組織,類圖中的其他元素屬于某個類或與某個類相關(guān)聯(lián)
(圖2 類圖的實例: 很熟悉吧,圖書館的架構(gòu)圖就是類圖)
? ? 3. 對象圖
? ? ? ? 與類圖十分相似,是類圖的實例,只不過顯示的是類的多個對象實例。
(圖3 ?對象圖)
? ? 4. 順序圖
? ? ? ? 顯示對象之間的動態(tài)合作關(guān)系,它強調(diào)對象之間消息發(fā)送的吮吸同時顯示對象之間的交互。它可以用來表示用例中的行為順序。
?
(圖4: 順序圖)
? ? 5. 協(xié)作圖
? ? ? ? 描述對象間的協(xié)作關(guān)系,和順序圖類似,顯示對象間的動態(tài)合作和對象及它們之間的關(guān)系。它可以用來表示一個類操作的實現(xiàn)。
? ? 6. 狀態(tài)圖
? ? ? ? 狀態(tài)圖表示一個類對象所可能經(jīng)歷的所有歷程的圖,由類對象的各個狀態(tài)和連接這些狀態(tài)的轉(zhuǎn)換組成。
(圖5 狀態(tài)圖:學(xué)渣的自我修養(yǎng))
? ? 7. 活動圖:
? ? ? ? 狀態(tài)圖的變體,用來描述執(zhí)行算法的工作流程中涉及的活動能夠。它用來描述一組順序或并發(fā)的活動。?
(圖6 活動圖)
? ? 8. 構(gòu)件圖
? ? ? ? 構(gòu)件圖為系統(tǒng)的構(gòu)件模型(構(gòu)件即構(gòu)造應(yīng)用的軟件單元)還包括各個構(gòu)件之間的依賴關(guān)系。
(圖7 構(gòu)件圖)
? ? 9. 部署圖:
? ? ? ? 描述位于節(jié)點實例上的運行構(gòu)件實例的安排。(節(jié)點是一組運行資源如計算機(jī)、設(shè)備或儲存器)它可以評估分配結(jié)果和資源分配。
四、各種UML圖的關(guān)系
1.????
(BD Base Design 基本設(shè)計?DD Detailed Design 詳細(xì)設(shè)計?FD Functional Design 功能設(shè)計)
2.????用例中include 和 extend 的關(guān)系辨析:【引用自iwannaknowmore?http://blog.csdn.net/iwannaknowmore/article/details/6260781】
擴(kuò)展(extend): extend關(guān)系是對基用例的擴(kuò)展,基用例是一個完整的用例,即使沒有子用例的參與,也可以完成一個完整的功能。extend的基用例中將存在一個擴(kuò)展點,只有當(dāng)擴(kuò)展點被激活時,子用例才會被執(zhí)行。 extend關(guān)系在用例圖中使用帶箭頭的虛線表示(在線上標(biāo)注<<extend>>),箭頭從子用例指向基用例。?
包含(include): include為包含關(guān)系,當(dāng)兩個或多個用例中共用一組相同的動作,這時可以將這組相同的動作抽出來作為一個獨立的子用例,供多個基用例所共享。因為子用例被抽出,基用例并非一個完整的用例,所以include關(guān)系中的基用例必須和子用例一起使用才夠完整,子用例也必然被執(zhí)行。include關(guān)系在用例圖中使用帶箭頭的虛線表示(在線上標(biāo)注<<include>>),箭頭從基用例指向子用例。?
五、語法描述
? ? ? ??
? ? ? ??
參考:http://wenku.baidu.com/view/d07e4574a45177232f60a276.html?re=view
轉(zhuǎn)載于:https://my.oschina.net/xueyang/blog/287541
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的UML图入门学习笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: How to write a custo
- 下一篇: 在tornado里面使用reverse_