UML

来源:https://www.cnblogs.com/leoli705/archive/2020/03/15/12497594.html
-Advertisement-
Play Games

UML定義 統一建模語言(Unified Modeling Language) 非專利的第三代建模和規約語言 UML是一種開放的方法 用於說明 可視化 構建和編寫一個正在開發的面向對象的 軟體密集系統的製品的開放方法。 UML 特點 UML 展現了一系列最佳工程實踐。 這些最佳事件在對大規模,複雜系 ...


UML定義

統一建模語言(Unified Modeling Language) 

非專利的第三代建模和規約語言

 

UML是一種開放的方法

用於說明 可視化 構建和編寫一個正在開發的面向對象的 軟體密集系統的製品的開放方法。

 

UML 特點

UML 展現了一系列最佳工程實踐。 這些最佳事件在對大規模,複雜系統進行建模方面,特別是在軟體架構層次已經被驗證有效。     

 

UML2.2分類 

UML2.2中一共定義了14種圖示,分類如下:

結構式圖形:強調的是系統式的建模

行為式圖形:強調系統模型中觸發的事件

互動式圖形:屬於行為式圖形子集合,強調系統模型中資料流程   

 

結構式圖形

靜態圖(類圖,對象圖,包圖)

實現圖(組件圖,部署圖)

剖面圖

複合結構圖

 

行為式圖形

活動圖

狀態圖

用例圖

 

互動式圖形

通信圖

交互概述圖(UML2.0)

時序圖(UML2.0)

時間圖(UML2.0)

 

UML類圖

Class Diagram:用於表示類,介面,實例等之間相互的靜態關係

雖然名字叫類圖,但是類中並不只有類

 

記憶技巧

UML 箭頭方向:從子類指向父類

提示: 可能會認為子類是以父類為基礎的,箭頭應從父類指向子類

 

記憶技巧-箭頭方向

定義子類時需要通過extends關鍵字指定父類

子類一定是知道父類定義的,但父類並不知道子類的定義

只有知道對方信息時才能指向對方

 

記憶技巧-實線-繼承|虛線-實現

空心三角箭頭:繼承或實現

 

實線-繼承,is a 關係,擴展目的,不虛,很結實

 

虛線-實現,虛線代表"虛" 無實體

 

 

 

記憶技巧-實線-關聯|虛線-依賴

 

 

 

虛線-依賴關係:臨時用一下,若即若離,虛無縹緲。若有若無

表示一種使用關係,一個類需要藉助另一個類來實現功能

一般是一個類使用另一個類作為參數使用,或作為返回值

 

實線-關聯關係:關係穩定,實打實的關係,鐵哥們

表示一個對象和另一個對象有關聯

通常是一個類有另一個類對象做為屬性

 

記憶技巧-空心菱形-聚合實心菱形-組合

菱形就是一個盛東西的器皿

聚合:代表空器皿里可以放很多相同的東西,聚在一起(箭頭方向所指的類)

組合:代表滿器皿里已經有實體結構的存在,生死與共。

 

實心菱形-組合

 

 

 

 

 

記憶技巧-空心菱形-聚合

整體和局部的關係,兩者有著獨立的生命周期,是has a 的關係

弱關係

消極的詞:弱-空

 

記憶技巧-空心菱形-組合

整體和局部的關係,和聚合的關係相比,關係更加強烈,兩者有相同的生命周期,contains-a的關係

強關係

積極的詞:強-滿

常見數字表達及含義,假設有A類和B類,數字標記在A類側

0..1:      0或1個實例   B類可以和0個或一個實例相關

0..*:      0或多個實例                      

1..1:      1個實例

1:      只能有1個實例

1..*:      至少有1個實例

 

UML時序圖

Sequence Diagram: 是顯示對象之間交互的圖,這些對象是按照時間順序排列的

時序圖中包括的建模元素主要有:

對象(Actor) 生命線(Lifeline) 控制焦點(Focus of control)  ,消息(Message)等

 

 

 

 類圖:

 

 

抽象類類名用斜體表示

 + :  public

- : private

# : protected

~: 包許可權

屬性或者方法下麵下劃線: static

 

類圖:

摘自大話設計模式:

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 本視頻通過59秒快速帶大家瞭解JS實現游戲刮刮樂的全過程,大家不妨可以動手嘗試一下。如萬一齣現困難可以積極與我溝通,我將無償提供技術支持及源代碼。 效果預覽 開始分析 1. 創建canvas 2. 設置圖片 3. 設置遮罩 4. 插入文檔 5. 綁定滑鼠移動事件 6. 檢查是否超出50%——移 ...
  • 之前一篇柵格系統是用float佈局來實現的 https://www.cnblogs.com/chenyingying0/p/12495051.html 其實並不太適合移動端,不過優點是相容性比較好 這篇用flex來進行佈局,不管在PC端還是移動端都很適合 不過存在相容性問題,在低版本瀏覽器不適用。但 ...
  • 關於移動端的js特效話題 註意以下 移動端的js開發,我們一般的開發做法就是使用第三方js框架或者插件去開發,有線考慮一下插件,而不是框架。不太會去寫原生的js,因為實在是太過於麻煩了 有關於本地存儲 本地存儲的話題 隨著互聯網的快速發展,基於網頁的應用越來越普遍,同時也變的越來越複雜,為了滿足各種 ...
  • 響應式佈局的原理:使用媒體查詢設置斷點 柵格系統 grid.css /*解決嵌套時的padding:0 15px*/ .row{margin:0 -15px;} /*xs*/ .container{width:100%;margin:0 auto;/*水平居中*/padding:0 15px;/*解 ...
  • 深入動畫函數的封裝 1.動畫函數的封裝 1.1 緩動效果的實現 這裡有一些核心的演算法,(目標值 現在的位置) / 10 = 每一次移動的步長 實現的代碼: 1.2 多值移動 比如我現在有這樣的一個需求:點擊走到800 再點擊走到500,相當於往回走了,我們可以加一個條件判斷一下步長 1. 如果是正值 ...
  • 在繼續“四維架構設計方法論”這個話題之前,我們先來回顧一下前兩篇文章的內容,以便我們更好地理解本篇:1)如何建立架構師的立體化思維:闡述了架構設計會涉及業務、技術、系統和時間等幾個維度,也建議從技術維度將應用分成七個層次。2)如何設計分層架構和交互介面:介紹了分層架構的設計流程,以及介面設計方法等內... ...
  • Exception和Error有什麼區別 Exception和Error都繼承了Throwable類 在Java中只有繼承了Throwable類的實例才可以被拋出(throw)或捕獲(catch) 繼承關係 Exception 程式運行過程中可以預料到的意外情況,在程式中可以進行捕獲併進行相應的處理 ...
  • 一、什麼是super? 它是一個指代變數,是直接父類對象的引用,用於在子類中指代父類對象。 二、應用 2.1 應用範圍 只能用於子類的構造函數和實例方法中,不能用於子類的類(靜態)方法中。 原因:super指代的是一個父類的對象,是需要在運行時被創建的,而靜態方法是類方法,它是類的一部分。在類被載入 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...