【轉】UML之類圖和對象圖


思路呈現

  • 什么是類圖?
    • 描述類、接口、協作及他們之間的關系的圖。顯示系統中類的靜態結構。
  • 有什么作用?
    • 描述軟件系統的靜態結構
    • ①對系統的詞匯建模
    • ②對簡單協作建模
    • ③對邏輯數據庫模式建模
  • 什么是對象圖?
    • 是類圖變化而來,與類圖相似,顯示一組對象和他們之間的關系(是類的多個對象實例而不是實際的類)
對象圖
在類中包含三部分,分別是類名、類的屬性和類的操作 對象包含兩個部分:對象的名稱和對象的屬性
類的名稱欄只包含類名 對象的名稱欄包含“對象名:類名”
類的屬性欄定義了所有屬性的特征 對象的屬性欄定義了屬性的當前值
類中列出了操作 對象圖中不包含操作內容,因為對屬於同一個類的對象,其操作是相同的
類中使用了關聯連接,關聯中使用名稱、角色以及約束等特征定義 對象使用鏈進行連接,鏈中包含名稱、角色
類代表的是對對象的分類所以必須說明可以參與關聯的對象的數目 對象代表的是單獨的實體,所有的鏈都是一對一的,因此不涉及到多重性。
  • 類圖(對系統的靜態描述):
    對象圖:對系統在某一時刻的展現
    類的表示:
    這里寫圖片描述
          關於類和類圖的一些總結分類:(個人感覺一幅圖勝過千言萬語,所以我很少用文字描述,基本上都整理成了思維導圖的形式呈現出來,供大家參考!)
    這里寫圖片描述
          類在很多方面和組件相同:
          (1)兩者都有名稱
          (2)都可以實現一組接口
          (3)都可以參與依賴關系
          (4)都可以被嵌套
          (5)都可以有實例
          (6)都可以參與交互
          但是也會有一些區別:
          (1)類描述軟件設計的邏輯組織和意圖,組件描述軟件設計的物理實現,每個組件體現了系統設計中特定類的實現
          下面進行一些簡單的說明:
          ①類圖描述所有可能情況
          ②聚合:限制性沒有組合強,聚合類似於書架與書的關系,不是有了書架才有的書,書的產生與書架沒有關系
          ③組合:限制性強於聚合,類似於身體與肢體的關系,有了身體才會有肢體,沒有身體,肢體是不會產生的(節點不能脫離列表的存在)
          ④能用關聯不用依賴,能用組合、聚合不用普通關聯,組合、依賴比普通關聯描述的信息更加的嚴格,關聯比依賴更加嚴格(嚴謹性、嚴格性:組合、聚合>關聯>依賴)
          ⑤自身關聯:一個對象可以與另一個同類的對象有鏈接,即類可以與自身有鏈接
          ⑥關聯類:兩個對象之間的鏈接本身可以擁有自己的屬性和行為,如果把連接看做是一個類的實例,則該類稱為關聯類。(如圖:L是A B的關聯類)
    這里寫圖片描述
          單重繼承:有且只有一個父類
          多重繼承:一個類有兩個或兩個以上的父類
          實現關系:類元之間的語義關系,該關系中一個類元描述了另一個類元保證實施的契約
6種應用於關聯的修飾
名稱 描述關系性質(方向指示符用實心三角形箭頭表示)
角色 類處於關聯某一端時,該類在關系中扮演特定角色(一個類對另一個類的職責)
多重性 約束是UML三大擴展機制之一,多重性是一種約束(最廣泛),用..表示
聚合 特殊型關聯,表示整體與部分關系的關聯(has a)
組合 被稱為“強聚合”,生命周期取決於聚合的生命周期
導航性 一個對象通過鏈(關聯的實例)進行導航訪問另一個對象(降低類間耦合度)
多重性的語法
0 恰好為“0”
0..1 0或1
0..n 0或更多
1 恰好為1
1..n 1或更多
n n或更多

這里寫圖片描述
這里寫圖片描述
      抽象類:(不能被實例化)
這里寫圖片描述
- 包圖(將圖形(系統)模塊化):
      ①將一個復雜的圖模塊化
      ②組織源代碼
      ③兩個包中任意兩個類之間有依賴關系,則兩個包之間有依賴關系

包的注意事項
避免循環依賴
以包為測試單位
將概念和語義相近的元素包含在一個包中
將包中的元素分為私有、公有(可以在包外訪問)和受保護的
應用於包的標准造型
構造型 用途
虛包(facade) 描述一個只引用其他包內元素的包
框架(framework) 描述一個主要由模式組成的包
樁(stub) 描述一個座位另一個包的公共內容代理的包
子系統(subsystem) 描述正在建模中的整個系統的獨立部分的包
系統(system) 描述正在建模中的整個系統的包
  • 類與包的區別:
    類:對問題領域或解決方案的事物的抽象,他必須有標識,有實例,類的實例(對象)是運行系統的組成元素。
    包:把事物組織成一種模型的機制,他可以沒有標識,因為在運行系統中不可見。

  • 類圖示例圖:
    這里寫圖片描述

  • 對象圖(一般用戶)示例圖:
    這里寫圖片描述

  • 對象圖(操作員)示例圖:
    這里寫圖片描述

  • 對象圖(管理員)示例圖:
    這里寫圖片描述

轉載:https://blog.csdn.net/tigaobansongjiahuan8/article/details/80256396


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM