UML统一建模语言(UML类图)

UML统一建模语言

  • UML
    • UML类图
      • 类图的作用
      • 类的表示方法
    • 类与类之间关系的表示方式
      • 关联关系
        • 单向关联
        • 双向关联
        • 自关联
      • 聚合关系
      • 组合关系
      • 依赖关系
      • 继承关系(泛化关系)
      • 实现关系

UML

统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息
UML从目标系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等9种图

UML类图

类类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。

类图的作用

  1. 在软件工程中,类图是一种静态的结构图,描述了系统的类的集合,类的属性和类之间的关系,可以简化了人们对系统的理解
  2. 类图是系统分析和设计阶段的重要产物,是系统编码和测试的重要模型

类的表示方法

在这里插入图片描述

属性/方法名称前加的加号和减号表示了这个属性/方法的可见性,DML类图中表示可见性的符号有三种:

  1. +:表示public
  2. -:表示private
  3. #:表示protected

属性的完整表示方式是:可见性 名称︰类型[ =缺省值]
方法的完整表示方式是:可见性 名称(参数列表)[ :返回类型]

public String showName(String name)可以表示为+ showName(String name):String

类与类之间关系的表示方式

关联关系

关联关系是对象之间的一种引用关系,用于表示一类对象与另一类对象之间的联系,如老师和学生、师傅和徒弟、丈夫和妻子等。关联关系是类与类之间最常用的一种关系,分为一般关联关系、聚合关系和组合关系。我们先介绍一般关联。
关联又可以分为单向关联,双向关联,自关联。

单向关联

使用实线箭头
在这里插入图片描述

双向关联

所谓的双向关联就是双方各自持有对方类型的成员变量
使用实线进行连接
在这里插入图片描述

自关联

实线箭头指向自己
Node类包含类型为Node的成员变量,也就是自己包含自己

在这里插入图片描述

聚合关系

聚合关系是关联关系的一种,是强关联关系,是整体和部分之间的关系。
聚合关系也是通过成员对象来实现的,其中成员对象是整体对象的一部分,但是成员对象可以脱离整体对象而独立存在。例如,学校与老师的关系,学校包含老师,但如果学校停办了,老师依然存在
使用空心菱形实线箭头表示
在这里插入图片描述

组合关系

组合表示类之间的整体与部分的关系,但它是一种更强烈的聚合关系。
在组合关系中,整体对象可以控制部分对象的生命周期,一旦整体对象不存在,部分对象也将不存在,部分对象不能脱离整体对象而存在。例如,头和嘴的关系,没有了头,嘴也就不存在了
使用实心菱形实线箭头表示
在这里插入图片描述

依赖关系

依赖关系是一种使用关系,它是对象之间耦合度最弱的一种关联方式,是临时性的关联。在代码中,某个类的方法通过局部变量、方法的参数或者对静态方法的调用来访问另一个类(被依赖类)中的某些方法来完成一些职责。
使用带箭头的虚线表示
在这里插入图片描述

继承关系(泛化关系)

继承关系是对象之间耦合度最大的一种关系,表示一般与特殊的关系,是父类与子类之间的关系,是一种继承关系。
使用空心实线三角箭头表示
在这里插入图片描述

实现关系

实现关系是接口与实现类之间的关系。在这种关系中,类实现了接口,类中的操作实现了接口中所声明的所有的抽象操作。
使用空心实线三角箭头表示
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/26563.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用StartUML生成GoF设计模式类图与代码(c++)

先介绍一下startUML StarUML(http://www.staruml.com)的前身是Plastic,从1996年开始开发。1998年开始,Plastic转变为UML建模工具。2005年改名为StarUML,最新版本StarUML 5.0已经是一款功能全面的产品,支持…

详解GMM高斯混合模型EM模型

一般讲到GMM就会讲到EM。 我不过多的介绍EM算法。这里只是举一些例子来看看真实的GMM怎么用EM算的。 一、GMM的作用 记住GMM的作用,就是聚类! 二、GMM有hard和soft两种 hard-GMM和soft-GMM是为了对标k-means和soft k-means。在中文互联网上搜索到的GM…

UML建模及starUML使用

1、UML关系 1.1 六种关系图例 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation)&#x…

统一建模语言UML(四):领域模型和类图

统一建模语言UML(四):领域模型和类图 领域模型 领域模型是对领域内概念类或现实世界中对象的可视化表示,也称为概念模型。是更为完整的业务模型的一个特例。从UML的表示法角度,领域模型被描述为一组没有定义操作的类图…

EA建模工具,介绍常用的UML图

[导读] 作为程序猿都最好掌握的一门语言,那就是UML(Unified Modeling Language),统一建模语言(UML)是软件工程领域中一种通用的开发建模语言,旨在提供一种可视化系统设计的标准方法。是开发人员、系统设计人员交流的有…

UML建模语言中的活动图

实验目的 通过上机实验,掌握活动图的语法和规则,深入理解活动图的概念 实验环境 Window下安装StarUML 实验内容 介绍活动图的基本语法与规则(可以用图形表述): 活动图是在流程图的基础上添加了大量软件工程术语的…

使用语雀绘制 Java 中六大 UML 类图

目录 下载语雀 泛化关系(Generalization) 实现关系(Realization) 关联关系(Association) 依赖关系(Dependency) 聚合关系(Aggregation) 组合关系&…

[精华] UML (统一建模语言) 各种图总结

UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图包图的基本概念进行介绍以及各个图的使用场景。 一、基本概念   如下图所示,UML…

迅速掌握统一建模语言UML图

统一建模语言 是非专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面&…

UML建模三个工具: StarUML ,Telelogic TAU 和 Rose

UML建模软件目前用的主要有3种: 商业版本:Telelogic TAU 和 Rational Rose 开源版本:StarUML Telelogic TAU与Rational Rose的功能很强,但是需要买License。 StarUML就是希望能提供和TAU/Rose一样功能的开源版本。 目前使用起来…

统一建模语言UML(5)活动图

与其他图的区别 活动图与传统的流程图十分相似,活动图与流程图的最主要的区别在于,活动图能够支持活动的并行行为。 交互图和活动图都是用来对系统动态方面进行建模,区别: 交互图的节点是对象,描述了对象之间通过消息…

一、设计模式 - UML (统一建模语言) - 类图

文章目录 前言UML 类图1. 类图的自身结构2. 关联关系2.1. 自关联2.2. 单向关联2.3. 双向关联 3. 聚合关系4. 组合关系5. 依赖关系6. 继承关系7. 实现关系 前言 统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言&a…

redux在react中的应用,使用antdDesign完成购物车

目录 一.redux的认识 二.什么时候使用redux 三.安装redux 四.redux的使用 1.创建store 2.创建reducer 3.创建action 4.在页面中引入store (1)在商品列表页引入store (2)在购物车页面引入store 五.运行效果图 一.redux的认识 redux 和react没有什么直接的关系&#x…

小黑跟老黑们夜骑车拍完了毕业照面试了两场的leetcode之旅:793. 阶乘函数后 K 个零

小黑代码 class Solution:def preimageSizeFZF(self, k: int) -> int:# 获取n的阶乘的0个数lru_cachedef get_zero(n):if not n:return 0return (n//5) get_zero(n//5)# 二分查找def bin_search(k):# 定义左右指针left 0right int(1e10)while left < right:mid (lef…

python基础 | Pandas基础

文章目录 &#x1f4da;基本数据结构&#x1f407;Series&#xff1a;存储一维&#x1f407;DataFrame:存储二维&#x1f407;Series和DataFrame的关系 &#x1f4da;常用基本函数&#x1f407;数据基本操作&#x1f955;列的查改增删&#x1f440;查看列&#x1f440;修改列&a…

Python面向对象二(第十二讲)

文章目录 知识点1.私有属性与私有方法1.私有属性2.私有方法 2.成员3.实例属性1.类属性(静态属性)2.属性总结 4.实例方法5.类方法6.静态方法7.封装介绍8.继承(重点)9.新式类与经典类练习 10.单继承1.super()练习 11.作业 知识点 私有属性与私有方法成员属性方法封装继承多态 1…

常用设计模式系列(十)—装饰者模式

第一节 前言 各位好&#xff0c;首先我要先恭喜下自己粉丝即将破百&#xff0c;也谢谢各位的捧场&#xff0c;不过也跟我自己的努力密不可分&#xff0c;我也要继续加油&#xff0c;输出更好的文章来回报大家&#xff0c;也希望大家多提建议&#xff0c;有问题我也会及时改进。…

摆摊计划1(万一以后找不到工作)

货源&#xff1a;阿里巴巴正规平台 卖炸串 硬件&#xff1a; 多功能烤肠机 购买链接&#xff1a;脆皮烤肠机燃煤气商用油炸锅商用摆摊热狗机肠机关东煮组合机批发 (1688.com) 成本&#xff1a;379.6元 食材&#xff1a; 淀粉肠&#xff08;100支试水&#xff09;&#xff…

TCP/IP协议

✏️作者&#xff1a;银河罐头 &#x1f4cb;系列专栏&#xff1a;JavaEE &#x1f332;“种一棵树最好的时间是十年前&#xff0c;其次是现在” 目录 TCP/IP协议应用层协议自定义应用层协议DNS 传输层协议端口号UDP协议UDP协议端格式 TCP协议TCP协议段格式TCP工作机制确认应答…

基于HTML+CSS+JavaScript制作美食文化网站 ——卡通创意的烧烤(5个页面) html静态网页设计制作 dw静态网页成品模板素材网页 web前端网页设计与制作 div静态网页设计

&#x1f468;‍&#x1f393;静态网站的编写主要是用HTML DIVCSS JS等来完成页面的排版设计&#x1f469;‍&#x1f393;,常用的网页设计软件有Dreamweaver、EditPlus、HBuilderX、VScode 、Webstorm、Animate等等&#xff0c;用的最多的还是DW&#xff0c;当然不同软件写出的…