七、StarUML的Class Diagram(類圖)示例

来源:https://www.cnblogs.com/sun-null/archive/2020/01/22/12228234.html
-Advertisement-
Play Games

UML 類圖中的概念 類圖關係:泛化(繼承)、實現、聚合、組合、關聯、依賴 類圖的詳解可在網上查詢(推薦https://zhuanlan.zhihu.com/p/24576502) 它描述了在一個系統中的對象和他們的關係,能夠讓我們在正確編寫代碼以前對系統有一個全面的認識。一個單獨的類圖描述系統的一 ...


 UML 類圖中的概念

類圖關係:泛化(繼承)、實現、聚合、組合、關聯、依賴

類圖的詳解可在網上查詢(推薦https://zhuanlan.zhihu.com/p/24576502

它描述了在一個系統中的對象和他們的關係,能夠讓我們在正確編寫代碼以前對系統有一個全面的認識。
一個單獨的類圖描述系統的一個具體方面,收集類圖表示整個系統。基本上,類圖表示系統的靜態視圖。

1:新建項目,或者根據模板創建(剛開始可以New一個新項目),

2:在右側ModelExplorer中頂級節點或者model節點,右鍵Add Diagram選擇添加Class Diagram

3:在左側的WorkingDiagrams點擊激活需要建模的畫布(一個項目中一般會有多個Diagram,需要確定是那個模型在進行設計

4:在Toolbox中選擇Class,在繪圖區雙擊或者拖拽繪製視圖元素

5:如下圖繪製了一個Class的視圖元素,增加了一個類型為string 屬性,方法1有一個string參數,方法2有一個string 參數同時需要返回一個string結果.

 

現在我們要實現一個類圖設計,需求如下

1:介面-車; 2:實現類-汽車、自行車; 3:輪胎、發動機類組成汽車; 4:BMW是汽車的一種;5:學生需要騎自行車; 6:每個學生都有身份證; 7:每個學生都有班級;

根據需求設計一個類圖。

新建空白項目,增加Class Diagram,

介面車--------拖拽一個Interface為視圖元素,name屬性為車,視圖元素車添加屬性方法,和說明

 

 

實現類汽車、自行車---同上操作拖拽兩個視圖元素Class,增加連接線Interface,指向車的介面,表示介面的實現;

視圖元素線的樣式線上屬性中可以調整

 

 

 實現類輪胎、發動機---同上操作拖拽兩個視圖元素Class,增加連接線composition,組合關係線可以設置兩端關係

 

 實現類BMW---同上操作拖拽視圖元素Class,增加連接線Generalization

 

 其它需求的實現操作基本一致,僅連接線表示差異,下圖是實現模型後的整體圖

技巧關聯的重數:

1:  0..*或*---在視圖元素的關係中連接線表示0到多個;

2:  0..1---在視圖元素的關係中連接線表示0到1個;

3:  1----在視圖元素的關係中連接線表示1個;


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

-Advertisement-
Play Games
更多相關文章
  • "mongodb參考" "mongoose官網" mongoose用起來更便捷,更方便些
  • nvm Node Version Management nvm list 查看所有已安裝的 node 版本 nvm install 版本號 安裝指定版本的 node nvm use 版本號 切換到指定版本號 nvm proxy 代理地址 配置代理進行下載 nrm(node registry mana ...
  • jsonp 以前學過,當時就挺懵的,還全忘了,這次就當複習了一遍jsonp,
  • 基本的使用 login.html layout.html 還有header和sidebar和foot都是屬於佈局里的公共樣式,block遵循一個蘿蔔一個坑原則,自己寫特殊的部分。 "ok!使用這個模板引擎來寫一個頁面吧!" ...
  • 寫一個小介面,用postman測試介面是否可行
  • 使用nunjucks代替原來的ejs,因為這個更強大,是node中主流的模板引擎 "nunjucks官網" 配置使用 nunjucks 模板引擎 nunjucks 模板引擎沒有對模板文件名的尾碼名做特定限制 如果文件名是 a.html 則渲染的時候就需要傳遞 a.html 如果文件名是 b.nujs ...
  • 8)arguments例 3.8.1<head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/></head><script> /* 馬克-to-win:when there are n functions w ...
  • 資料庫表關係設計也是常有場景,本章介紹如何設計一個實體關係圖 1:新建項目,在Model Explore中Add Diagram | ER Diagram到指定的元素中; 2:從Toolbox中創建Entity到ER Diagram畫布中; 雙擊視圖元素可以快速進行編輯,添加說明……,實體屬性在右側 ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...