用例圖與類圖

用例圖(包含、擴(kuò)展)? 類圖(泛化(繼承關(guān)系)、實(shí)現(xiàn)、關(guān)聯(lián)《聚合、組合》、依賴)

一、用例圖

用例圖中元素包括:參與者、用例。

? ? ? ?1、 參與者表示與應(yīng)用程序或系統(tǒng)進(jìn)行交互的用戶或外部系統(tǒng),用小人表示。

? ? ? ? 2、用例表示對系統(tǒng)提供的服務(wù)進(jìn)行描述,用橢圓表示。

? ? ? ? 3、用例圖中涉及的關(guān)系:包含、擴(kuò)展、泛化、關(guān)聯(lián),其中包含用《include》表示,擴(kuò)展用《extend》表示,包含和擴(kuò)展都是虛線箭頭,包含是指向被分解出來的功能用例,擴(kuò)展是指向基礎(chǔ)用例。如下圖所示


包含《include》?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

《extend》

二、類圖

類圖中最基本元素就是類和接口,類圖是顯示類、接口及它們之間靜態(tài)結(jié)構(gòu)和關(guān)系的圖。

? ? ? ? 1、類圖的三層結(jié)構(gòu):第一層為類名,第二層為屬性名,第三層為方法名

? ? ? ? 2、類圖中的關(guān)系:關(guān)聯(lián)關(guān)系(聚合、組合)、依賴及一般關(guān)系,這幾種都是靜態(tài)關(guān)系。

? ? ? ? ? ????? 2.1 一般關(guān)系:泛化(實(shí)線三角)、實(shí)現(xiàn)(虛線三角)

? ??

泛化


實(shí)現(xiàn)

????????????????2.2 關(guān)聯(lián)關(guān)系:關(guān)聯(lián)可以是單向也可以是雙向的,單向的話需要有一個實(shí)線箭頭,雙向是可以不用箭頭的,類與類之間的連接,它使一個類知道另一個類的屬性和方法。


相當(dāng)于下面的java代碼:

class Driver{

  priavte Car car;//在Driver類中出現(xiàn)了一個類型為Car的實(shí)例變量

}

class Car{

}

在每一關(guān)聯(lián)的端點(diǎn)還可以有一個基數(shù),表名一端的類可以有幾個實(shí)例,n..m中間只有兩個點(diǎn),不多不少。


????????????2.3 聚合和組合

? ? ? ? 聚合和組合是關(guān)聯(lián)關(guān)系中強(qiáng)關(guān)聯(lián)關(guān)系,聚合關(guān)系中的屬性是可以共享的,就相當(dāng)于一個顯示器并不是只對應(yīng)一個主機(jī),它這個顯示器可以作為不同主機(jī)的外設(shè)。與關(guān)聯(lián)關(guān)系一樣,聚合也是通過實(shí)例變量來實(shí)現(xiàn)的 。在聚合中,整體沒有了,部分依然可以使用。聚合是一個空心菱形指向整體。


聚合

????????組合和聚合不一樣的就是組合的關(guān)聯(lián)性更強(qiáng),整體與部分是不可拆的,沒有了整體,部分也是不能存活的,是不可共享的,照正常來說一般,人死了,它的四肢也就死了。組合是一個實(shí)心菱形指向整體。


組合

? ? ????2.4 依賴?

? ? ? ?依賴關(guān)系總是單向的,依賴關(guān)系表示一個依賴于另一個類的定義。


依賴

與關(guān)聯(lián)關(guān)系不一樣,Person類中并沒有Car和House類的屬性。Car和House的實(shí)例以參數(shù)的方式存入buy()方法中去。

java代碼:

??????? class Person{

??     public void buy(Car car){

      ......

     }

     public void buy(House house){

      ......

     }

???????? }

一般而言,依賴關(guān)系體現(xiàn)在java語言中為局部變量、方法的參數(shù),以及對靜態(tài)方法的調(diào)用。換言之,一個類A的某一個局部變量類型是另一類B,那么類A就依賴于類B。如果一個方法的參量是另一類B,那么這個方法所在的類A依賴于類B?;蛘呷绻粋€類A調(diào)用另一個類B的靜態(tài)方法,那么類A依賴于類B。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 前言 1.2UML概述 1.2.1 UML簡介 UML (Unified Modeling Language...
    虎三呀閱讀 10,546評論 0 6
  • EA介紹:EA是一個對于軟件系統(tǒng)開發(fā)有著極好支持的CASE軟件,他可以支撐系統(tǒng)開發(fā)的全過程。 用例圖: 用例圖各部...
    柳清檀閱讀 13,231評論 0 0
  • 軟件建模 軟件建模的作用是把源于現(xiàn)實(shí)世界的問題轉(zhuǎn)化為計(jì)算機(jī)可以理解和實(shí)現(xiàn)的過程。 軟件建模的實(shí)現(xiàn)過程是從需求入手,...
    青春豬頭少年_閱讀 949評論 0 0
  • 在UML 2.0的13種圖形中,類圖是使用頻率最高的UML圖之一。Martin Fowler在其著作《UML Di...
    雷雷_zll閱讀 13,511評論 0 14
  • 一、首先了解類圖各個區(qū)域代表的含義 假設(shè)現(xiàn)在有孫悟空和豬八戒兩個類,可以看到他們有共同的屬性和方法,孫悟空則多了特...
    D_8d82閱讀 9,535評論 0 0

友情鏈接更多精彩內(nèi)容