UML学习资料(1)

2024年Go最全UML统一建模语言是什么?_graph-based design languages(uml),GitHub标星过万 在 UML 类图中,双向的关联可以用带两个箭头或者没有箭头的实线来表示,单向的关联用带一个箭头的实线来表示,箭头从使用类指向被关联的类。例如,学校与老师的关系,学校包含老师,但如果学校停办了,老师依然存在。泛化(Generalization)关系是对象之间耦合度最大的一种关系,表示一般与特殊的关系,是父类与子类之间的关系,是一种继承关系,是 is-a 的关系。组合(Composition)关系也是关联关系的一种,也表示类之间的整体与部分的关系,但它是一种更强烈的聚合关系,是 cxmtains-a 关系。 阅读详情

概述
Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。
Grady Booch的描述对象集合和它们之间的关系的方法。James Rumbaugh的对象建模技术(OMT)。Ivar Jacobson的包括用例方法的方式。还有其他一些想法也对UML起到了作用,UML是Booch, Rumbaugh, Jacobson。UML已经被对象管理组织(OMG)接受为标准,这个组织还制定了通用对象请求代理体系结构(CORBA),是分布式对象编程行业的领头羊。计算机辅助软件工程(CASE)产品的供应商也支持UML,并且它基本上已经被所有的软件开发产品制造商所认可,这其中包括IBM和微软(用于它的VB环境)。
UML规范用来描述建模的概念有,类(对象的)、对象、关联、职责、行为、接口、用例、包、顺序、协作,以及状态。
UML总共有用例图、类图、包图、对象图、协作图和序列图、活动图、构件图和部署图。关系主要有依赖关系(Dependency)、关联关系(Associate)(又分为组合和聚合)、泛华关系(Generalization)、实现关系(Realization)。
关联关系
聚合是部分与整体的关系(has a),体现在类成员变量。
组成则是一个比聚合更强形式的关联,在组合中,成员对象的生命周期取决于聚合的生命周期。
依赖体现在方法变量,返回值,局部变量等。
聚合和组成是结构上的关系,而依赖关系则强调的是语义上的关系。

类之间的关系

泛化关系(generalization)
类的继承结构表现在UML中为:泛化(generalize)与实现(realize):
继承关系为 is-a的关系;两个对象之间如果可以用 is-a 来表示,就是继承关系:(..是..)
eg:自行车是车、猫是动物
泛化关系用一条带空心箭头的直接表示;如下图表示(A继承自B);
泛化关系
eg:汽车在现实中有实现,可用汽车定义具体的对象;汽车与SUV之间为泛化关系;
泛化关系
注:最终代码中,泛化关系表现为继承非抽象类;
实现关系(realize)
实现关系用一条带空心箭头的虚线表示;
eg:”车”为一个抽象概念,在现实中并无法直接用来定义对象;只有指明具体的子类(汽车还是自行车),才 可以用来定义对象(”车”这个类在C++中用抽象类表示,在JAVA中有接口这个概念,更容易理解)
实现关系
注:最终代码中,实现关系表现为继承抽象类;
聚合关系(aggregation)
聚合关系用一条带空心菱形箭头的直线表示,如下图表示A聚合到B上,或者说B由A组成;
聚合关系
聚合关系用于表示实体对象之间的关系,表示整体由部分构成的语义;例如一个部门由多个员工组成;
与组合关系不同的是,整体和部分不是强依赖的,即使整体不存在了,部分仍然存在;例如, 部门撤销了,人员不会消失,他们依然存在;
组合关系(composition)
组合关系用一条带实心菱形箭头直线表示,如下图表示A组成B,或者B由A组成;
组合关系
与聚合关系一样,组合关系同样表示整体由部分构成的语义;比如公司由多个部门组成;
但组合关系是一种强依赖的特殊聚合关系,如果整体不存在了,则部分也不存在了;例如, 公司不存在了,部门也将不存在了;
关联关系(association)
关联关系是用一条直线表示的;它描述不同类的对象之间的结构关系;它是一种静态关系, 通常与运行状态无关,一般由常识等因素决定的;它一般用来定义对象之间静态的、天然的结构; 所以,关联关系是一种“强关联”的关系;
比如,乘车人和车票之间就是一种关联关系;学生和学校就是一种关联关系;
关联关系默认不强调方向,表示对象间相互知道;如果特别强调方向,如下图,表示A知道B,但 B不知道A;
关联关系
注:在最终代码中,关联对象通常是以成员变量的形式实现的;
依赖关系(dependency)
依赖关系是用一套带箭头的虚线表示的;如下图表示A依赖于B;他描述一个对象在运行期间会用到另一个对象的关系;
依赖关系
与关联关系不同的是,它是一种临时性的关系,通常在运行期间产生,并且随着运行时的变化; 依赖关系也可能发生变化;
显然,依赖也有方向,双向依赖是一种非常糟糕的结构,我们总是应该保持单向依赖,杜绝双向依赖的产生;
注:在最终代码中,依赖关系体现为类构造方法及类方法的传入参数,箭头的指向为调用关系;依赖关系处理临时知道对方外,还是“使用”对方的方法和属性;

UMLet 13.1:轻量级且高效的UML设计工具 UMLet 13.1是一款轻量级的统一建模语言(UML)工具,旨在为用户提供一个简洁、快速的绘图平台。其特点在于其简洁的界面设计和高效的建模能力,使得用户能够轻松地创建和管理各种UML图表。对于非标准的建模需求,UMLet提供了自定义图表类型的选项,允许用户根据个人或团队的特定需要设计和实现新的图表元素。自定义图表: 用户可以利用UMLet的开放性框架来创建全新的图表类型,通过定义新的图形、符号和连接规则来适应特定的建模场景。 阅读详情

相关推荐

UML学习资料(非常全)

UML学习资料,供大家学习,很有用的。一起交流下。

2024软件设计师备考讲义——UML(统一建模语言)

2024软件设计师备考讲义——UML(统一建模语言)

白白白鲤鱼的博客 873

UML经典资料(包含各个图的实例)

UML经典资料(包含各个图的实例) 课件PPT 实例

【UML统一建模语言】2万字超详细学习笔记(1)

(19条消息) UML笔记_半路出家的码农小王的博客-优快云博客构造块:基本UML建模元素、关系和图公共机制:达到特定目标的公共UML方法构架:系统架构的UML视图事物:UML模型中最基本的构成元素,是具有代表性的成分的抽象关系:把事物联系在一起,关系说明两个或多个事物时如何语义相关的图:事物和关系的可视化表示,它们展现事物的集合,“讲述关于软件系统的故事”,是可视化系统将做什么(分析级图)或者系统如何做的方法(设计级图)(1)4个事物:结构、行为、分组、注释 (2)4个关系:依赖、关联、泛化、实现 (3

屠一乐的博客 1781

UML讲义UML讲义UML讲义

UML讲义UML讲义UML讲义UML讲义UML讲义UML讲义UML讲义UML讲义UML讲义UML讲义UML讲义UML讲义UML讲义UML讲义

UML学习资料

UML学习的demo整理的资料,包括思维导图原文件和Visio的原文件和简单的例子代码!

UML详细讲解

1.UML概述 1.1.什么是UML 统一建模语言(UML)是一种通用的可视化建模语言,可以用来描述、可视化、构造和文档化软件密集型系统的各种工件。 UML是独立于过程的,它适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具。 注:UML不是一种程序设计语言,其描述的模型可以和各种编程语言相联系。 1.2.UML的目标 为建模者提供可用的、富有表达力的、可视化的建模语言,以开发和交换有意义的模型。 提供可扩展性和特殊化机制以延伸核心概念。 支持独立于编程语言和开发过

qq_29912325的博客 3万+

UML和流程图学习资料大全

包含内容: 1、常见流程图符号介绍 2、《UML面向对象需求分析与建模教程》 邹盛荣 主编 电子版 2016.01 .doc 3、UML2.0实战教程(Trufun).pdf

UML学习

1.UML简述 UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。 UML的定义包括UML语义和UML表示法两个部分。 UML语义:UML对语义的描述使开发者能在语义上取得一致认识,消除了因人而异的表达方法所造成的影响。 UML表示法:UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。 2.常见图 2.1 用例图 简

shb0544的博客 1467

SAP License USMM SLAW2 SAP审计

引言 企业每年都会收到SAP License审计邮件,邮件内容大致就是根据贵公司与SAP签定的合同XXX条款规定,贵公司所安装的SAP系统需要进行测定。 关键字: SAP License、 SAP USMM、 SLAW2、 SAP 账号、SAP 账号审计、 SAP License 审计、 SAP 审计报告、SAP 账号优化 SAP License审计邮件 企业每年都会收到SAP License审计邮件,邮件内容大致就是根据贵公司与SAP签定的合同XXX条款规定,贵公司所安...

感悟人生 2979

TEC控制器芯片 ADN8835 中文数据手册

ADN8835是一款高集成度的单芯片TEC控制器。它包括线性电压调节模块脉冲宽度调制(PWM) 电压调节模块和两个零漂移、轨到轨斩波放大器。线性控制器和PWM驱动器用于控制H桥配置中的内部功率MOSFET。通过测量热传感器反馈电压,并使用集成的运算放大器作为比例-积分-微分(PID)补偿器来调理信号,ADN8835通过TEC驱动电流,将连接至TEC模块的激光二极管或无源组件的温度稳定到编程的目标温度。

lu2289504634的博客 9535

UML建模

本文介绍了UML统一建模语言的核心概念与应用。UML作为标准化建模语言,主要用于软件系统的可视化设计和文档化,包含结构图(如类图、部署图)和行为图(如用例图、序列图)两大类。文章重点解析了7种高频UML图表的特点:类图展示静态结构,用例图描述功能需求,序列图呈现时序交互,活动图表达业务流程,状态图刻画对象状态变迁,组件图说明模块关系,部署图显示物理架构。同时提出UML建模三大原则:抽象分层、高内聚低耦合、面向对象思想,并给出学习建议:理解图表本质、对比记忆、动手实践。文章适合软件设计师考试备考者和需要掌握U

yz_518的博客 1066

究竟什么是虚拟同步机???虚拟同步机巨简单理解

同步发电机定子铁芯的内圆均匀分布着定子槽,槽内按一定规律嵌放着对称的三相绕组U1-U2、V1-V2、W1-W2,如图1所示。工作原理转子铁芯上装有制成一定形状的成对磁极,磁极上绕有励磁绕组。励磁绕组上通直流电时,会在电机的气隙中形成极性相间的分布磁场,称为励磁磁场。当原动机拖动转子以恒定速度旋转时,励磁磁场随转轴一起旋转并顺次切割定子各相绕组。定子电枢绕组中将会感应出大小和方向周期性变化的三相对称正弦感应电动势。各相电动势大小相等,相位各差120°。

weixin_53126442的博客 2607

UML总复习(一)——最细复习教程

UML总复习(一)知识点篇 读前 必看,此篇为详细复习内容,如果时间有限请移步我的另一篇“两小时速成”链接我回补在评论区。 前言 这是本博主的第一篇文章,写这篇文章的原因是致我刚刚裸考结束的考试;写这篇文章的目的有二: 其一:为了大家考试前的复习 其二:我要是没过,我自己留着复习!!! 提示:以下是本篇文章正文内容,下面案例可供参考 文章目录UML总复习(一)知识点篇前言一、UML概述概论UML概述二、UML用例图三、UML顺序图四、UML领域模型和类图类图简单来说(不是很精确):如何确认依赖关系?

qq_43673096的博客 4912

自制温湿度计——STM32-L432KC驱动lcd1602和dht11温湿度显示

先给大家甩一张图片哈(附上网址)简单说一下这块板子在这个小项目里的小缺点:一、引脚有点少,lcd1602本来有两种传输数据方式,一种是4bit,另一种是8bit,但是这块板子对于这个项目来说引脚有点少,所以建议用4bit模式。然而,在网上是很难找到设置4bit传输模式的lcd1602的,这也是为什么我写这个blog。二、mbed-os有时候会有大大小小的问题,搞人心态是真的。比如库函数离奇失踪,从官网上下载库函数失败,重装也解决不了然后莫名其妙好了。

m0_72994251的博客 3912

[QMT量化交易小白入门]-七、可转债双低策略Python代码详解与实战

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步,自己淋过雨了,希望大家都有一把伞。

木头大左的博客 3858

2024年Go最新UML统一建模语言是什么?_uml语言是什么(2),2024年最新2024阿里Golang笔试总结

行为事物指 UML 模型中的动态部分,如下表所示。

2401_84900243的博客 835

QML实现ListView的拖动排序

现有一种需求,就是用鼠标拖动某项,动态去改变某一项在ListView中显示的顺序位置,经过研究及实践实战,实现方式的核心代码如下: import QtQuick 2.4 import QtQuick.Controls 1.3 import QtQuick.Window 2.2 import QtQuick.Dialogs 1.2 Rectangle { width: 800 ...

草上爬的博客 7564

2024年Go最新UML统一建模语言是什么?_uml语言是什么(1),2024年最新Golang高级面试题2024

其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。我们先介绍一般关联。关联可以是双向的,也可以是单向的。在 UML 类图中,双向的关联可以用带两个箭头或者没有箭头的实线来表示,单向的关联用带一个箭头的实线来表示,箭头从使用类指向被关联的类。类(Class)是指具有相同属性、方法和关系的对象的抽象,它封装了数据和行为,是面向对象程序设计(OOP)的基础,具有封装性、继承性和多态性等三大特性。

2401_84904706的博客 351

电机瞬态分析基础(2):理想电机的基本假设和正方向规定

电机瞬态分析基础之理想电机假设条件和正方向规定

weixin_45670943的博客 1145

BAT031:按列表名单将路径a下的文件夹批量剪切到路径b

摘要:按列表名单将路径a下的文件夹批量剪切到路径b。

qq_31762031的博客 1218

UML统一建模语言是什么?_graph-based design languages(uml)

适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Golang知识点,真正体系化!**

2401_84254451的博客 462

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

UML学习资料全集

1、UML中的常用基础类图元素详细介绍大全2、如何画UML用例图3、UML学习笔记(一)4、UML 设计5、UML组件图详解6、UML组件图详解(二)7、协作图示例介绍8、协作图概述9、养成良好的绘制 UML 序列图的习惯10、UML序列图详解(1)11、UML建模风格之状态图12、uml 活动视图活动图13、绘制UML活动图的步骤和要点14、静

微软新技术 2842

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

2024年最新深入探索UML 2(3)

UML(统一建模语言)是一种用于软件工程的标准化建模语言。它提供了一系列的图表,用于在软件开发过程中表达系统的不同方面,包括类结构、对象交互、状态变化等。UML最初在1990年代末期被提出,目的是统一当时多种流行的建模语言。

2401_83739727的博客 1051

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

2024年Go最全UML统一建模语言是什么?_uml语言是什么(4),2024年最新金三银四旗开得胜

节点(Node) | 定义为运行时存在的物理元素 | img |

2401_84919706的博客 887
上一篇: mysql查看sql进程
下一篇: UML学习资料(2) StarUML 建模用例
加州小熊
博客等级 码龄16年 46粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值