今天接著昨天的內(nèi)容,繼續(xù)來(lái)了解uml的靜態(tài)建模和動(dòng)態(tài)建模,希望大家通過(guò)這兩天的了解能加深對(duì)uml建模的理解并在以后的項(xiàng)目開(kāi)發(fā)中加以應(yīng)用。 核心UML圖分類: ---> “獨(dú)孤九劍” 靜態(tài)建模:[用例圖]、[類圖]、對(duì)象圖、組件圖、部署圖。動(dòng)態(tài)建模:[時(shí)序圖](sequence diagrams)、狀態(tài)圖、活動(dòng)圖、協(xié)作圖。 核心UML圖的定義及使用: 一、 用例圖:主要用來(lái)展示系統(tǒng)的核心功能及其交互的用戶或系統(tǒng)。 舉例說(shuō)明:相信上一篇已經(jīng)寫的很清楚了,這里簡(jiǎn)單貼一張圖。 ===================== Num1.用例圖======================== 二、類圖:主要用來(lái)表現(xiàn)類的特征(屬性和操作等),描述了多個(gè)類/接口的特征以及對(duì)象之間的協(xié)作和交互。 類圖主要做兩件事:1 對(duì)類中的數(shù)據(jù)及其操作進(jìn)行封裝;2 標(biāo)明類與類之間的關(guān)系。 下面主要針對(duì)這兩點(diǎn)來(lái)談?wù)?,第一點(diǎn): 對(duì)類中的數(shù)據(jù)及其操作進(jìn)行封裝,還是先看圖吧: 因?yàn)檫@里使用的是Rose畫圖,所以所有的畫圖操作都是在Rose上執(zhí)行的。需要說(shuō)明一下:這里畫的是一張簡(jiǎn)單的普通類圖,類圖的屬性和方法是可選的,而這里的正向工程和反向功能有點(diǎn)類似于Java web里面的Hibernate的一個(gè)重要作用:將表映射成類,也可以將類映射成表,當(dāng)然這里的是一張類圖而不是數(shù)據(jù)庫(kù)里面的表。 第二點(diǎn):標(biāo)明類與類之間的關(guān)系。類與類之間的關(guān)系主要有一下幾種:1. 泛化關(guān)系(繼承關(guān)系)、2. 實(shí)現(xiàn)關(guān)系(接口與實(shí)現(xiàn)類的關(guān)系)、3. 關(guān)聯(lián)關(guān)系(這個(gè)比較復(fù)雜,這要包含單向關(guān)聯(lián)、雙向關(guān)聯(lián)、自關(guān)聯(lián)、聚合關(guān)聯(lián)、組合關(guān)聯(lián))、4. 依賴關(guān)系(項(xiàng)目開(kāi)發(fā)中基本很少畫)。下面以圖的方式進(jìn)行講解: 1,泛化(繼承)關(guān)系:注意是子類指向父類,且箭頭為三角形,連線為實(shí)線。 2,實(shí)現(xiàn)關(guān)系(接口與實(shí)現(xiàn)類的關(guān)系):這個(gè)在Java web中經(jīng)常用到,比如在Spring中,經(jīng)常會(huì)調(diào)用DAO層接口的對(duì)象(通過(guò)IOC配置xml的方式來(lái)setXx產(chǎn)生接口對(duì)象)方法來(lái)處理Service層的業(yè)務(wù)(如:登錄、注冊(cè)等)。注意是實(shí)現(xiàn)類指向接口,且箭頭為三角形,連線為虛線。 3,關(guān)聯(lián)關(guān)系: a)單向關(guān)聯(lián):就拿追MM來(lái)說(shuō),很多人都稀罕她,但她都不稀罕。如圖: b)雙向關(guān)聯(lián):就拿夫妻來(lái)說(shuō),一個(gè)男的只能有一個(gè)老婆,而一個(gè)女的只能有一個(gè)老公。如圖: c)自關(guān)聯(lián):典型的,就拿Menu菜單來(lái)說(shuō),子菜單和父菜單封裝的數(shù)據(jù)都一樣,只是Menu類中要有自己的引用。如圖: d)聚合關(guān)聯(lián):聚合表示的是整體和部分的關(guān)系,比如說(shuō):有輛汽車報(bào)廢了,但其輪胎有兩個(gè)還是好的,它可以供別的汽車使用。如圖(畫圖時(shí)切記:整體指向部分): e)組合關(guān)聯(lián):組合也是整體和部分的關(guān)系,與聚合最大的區(qū)別在于:整體可以控制部分的生命周期。比如:一家IT公司倒閉了,那么其部門也將不復(fù)存在。如圖: 注意:整體指向部分,與聚合關(guān)聯(lián)不同的是:組合的菱形箭頭是實(shí)心的,而聚合的菱形箭頭的空心的。 4. 依賴關(guān)系:存在于方法中的臨時(shí)變量、方法簽名中的參數(shù)和對(duì)靜態(tài)方法的調(diào)用。比如咱經(jīng)常使用的電腦,咱們需要它的幫助來(lái)完成一些事情,這就是依賴。如圖: 注意:箭頭指向被依賴者,且箭頭為虛線。 |
|
來(lái)自: 星光閃亮圖書(shū)館 > 《UML學(xué)習(xí)》