首页 > 其他分享 >统一建模语言UML要点全面简析

统一建模语言UML要点全面简析

时间:2022-12-11 20:34:31浏览次数:48  
标签:关系 建模语言 指向 事物 关联 箭头 简析 UML


前言

uml就是一些图,一些由框框和线条构成的图,框框称为事物,线条表示4种关系,加点这些框框和线条的说明注释。

 

一.uml概述

统一建模语言(UML)是面向对象软件的标准化建模语言。

UML由3个要素构成:UML的基本构造块,支配这些构造块如何放置在一起的规则,运用于整个语言的一些公共机制。


UML的词汇表包括3种构造块:事物、关系、图

事物是对模型中最具代表性的成分的抽象,关系把事物结合在一起,图聚集了相关的事物。


事物包括4种事物:结构事物,行为事物,分组事物,注释事物

结构事物是uml模型中的名词,它们通常是模型的静态部分,描述概念或物理元素,结构事物包括类,接口,协作,用例,主动类,构件和节点。

行为事物是uml模型的动态部分,它们是模型中的动词,描述了跨越时间和空间的行为。共有两类主要的行为事物:交互和状态机。

分组事物是uml模型的组织部分,它们是一些由模型分解成的‘盒子’,在所有的分组事物中,最主要的分组事物是包。

注释事物是uml模型的解释部分,这些注释事物用来描述,说明和标注模型的任何元素。注解是一种主要的注释事物。注解是一个依附于一个元素或者一组元素之上,对它进行约束或解释的简单符号。

 

uml中有4种关系:依赖,关联,泛化,实现


统一建模语言UML要点全面简析_UML


依赖是两个事物间的语义关系,其中一个事物(独立事物发)发生变化会影响另一个事物(依赖事物)的语义。

关联是一种结构关系,它描述了一组链,链是对象之间的连接。聚合是一种特殊类型的关联,它描述了整体和部分间的结构关系,组合也是一种特殊类型的关联,它同样体现了整体和部分间的关系,但比聚合更强,也称为强聚合。

泛化是一种特殊-一般关系,特殊元素的对象可以替代一般元素的对象。用这种方法,子元素共享了父元素的结构和行为。

实现是类元之间的语义关系,其中一个类元制定了由另一个类元保证执行的契约。在这两种地方要遇到实现关系:一种是接口和实现它们的类或构件之间;另一种是在用例是实现它们的协作之间。

 

uml视图主要包括类图,用例图,构件图,部署图,状态图,活动图,顺序图,协作图


统一建模语言UML要点全面简析_UML_02


类图展现了一组对象、接口、协作及其之间的关系,类图给出了系统的静态静态设计视图。

用例图展现了一组用例、参与者以及两者之间的关系,用例图用于对系统的静态用例视图进行建模。

构件图展现了一组构件之间的组织和依赖关系,构件图专注于系统的静态实现视图。

部署图展现了运行处理节点以及其中构件的配置,部署图给出了体系结构的静态实施视图。

状态图展现了一个状态机,它由状态,转换,事件和活动组成,状态图关注系统的动态视图。

活动图是一种特殊的状态图,它展现了在系统内从一个活动转换到另一个活动的流程。

顺序图(或称序列图)和协作图均被称为交互图,顺序图是强调消息时间序列的交互图,协作图则是强调接收和发送消息的对象的结构组织的交互图,序列图有对象生命线和控制焦点,协作图有路径和顺序号。


二.示例图

1、用例图: usecase


统一建模语言UML要点全面简析_UML_03

2、生成时序图,协作图,活动图等


统一建模语言UML要点全面简析_类图_04

3、生成的时序图:


统一建模语言UML要点全面简析_UML_05

4、反向工程以及生成代码:


统一建模语言UML要点全面简析_泛化_06

5、类图:


统一建模语言UML要点全面简析_类图_07


统一建模语言UML要点全面简析_类图_07



三.四种关系


在UML类图中,常见的有以下几种关系:泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)

 

1.泛化(Generalization)

【泛化关系】:是一种继承关系,它指定了子类如何特化父类的所有特征和行为例如:老虎是动物的一种.

【箭头指向】:带三角箭头的实线,箭头指向父类

2.实现(Realization)

【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现

【箭头指向】:带三角箭头的虚线,箭头指向接口

3.关联(Association)

关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子

关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

【代码体现】:成员变量

【箭头及指向】:带普通箭头的实心线,指向被拥有者

 

上图中,老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。

 

上图为自身关联:

 

4. 聚合(Aggregation)

【聚合关系】:是整体与部分的关系.如车和轮胎是整体和部分的关系.

聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

【代码体现】:成员变量

【箭头及指向】:带空心菱形的实心线,菱形指向整体

 

 

5. 组合(Composition)

【组合关系】:是整体与部分的关系.,没有公司就不存在部门      组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期

【代码体现】:成员变量

【箭头及指向】:带实心菱形的实线,菱形指向整体

 

 

6. 依赖(Dependency)

【依赖关系】:是一种使用的关系,所以要尽量不使用双向的互相依赖。

【代码表现】:局部变量、方法的参数或者对静态方法的调用

【箭头及指向】:带箭头的虚线,指向被使用者

 

 

 

各种关系的强弱顺序:

泛化= 实现> 组合> 聚合> 关联> 依赖

下面这张UML图,比较形象地展示了各种类图关系:



四.常用工具

用过绘制UML图的工具有3个:visio,亿图,starUML

统一建模语言UML要点全面简析_泛化_09

统一建模语言UML要点全面简析_UML_10

统一建模语言UML要点全面简析_泛化_11


五.参考书籍

UML参考手册(第二版)(美) James Rumbaugh, Ivar Jacobson ,Grady Booch 著 UML China 译 机械工业出版社

UML与软件建模 徐宝文 周毓明 卢红敏 著 清华大学出版社


标签:关系,建模语言,指向,事物,关联,箭头,简析,UML
From: https://blog.51cto.com/u_4296776/5928630

相关文章

  • Linux系统调用实现简析
    1.前言限于作者能力水平,本文可能存在的谬误,因此而给读者带来的损失,作者不做任何承诺。2.背景本篇基于Linux4.14+ARM32+glibc-2.31进行分析。3.系统调用的实......
  • Vue中关于数组与对象修改触发页面更新的机制与原理简析
    Vue中关于数组与对象修改触发页面更新的机制与原理简析相关问题数组使用索引直接赋值与直接修改数组length时,不会触发页面更新。例如:<script>exportdefault{n......
  • UML类图、类、接口、聚合、组合的区别
    在UML类图中:类、接口、聚合、组合的UML表示1)类用空心三角实线连接2)接口用空心三角虚线连接3)聚合关系用空心菱形实线连接4)组合用实心菱形实线连接类:表示子类与父类的继承......
  • UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现
    【转】UML的9种图例解析-James·wang-博客园 https://www.cnblogs.com/firstcsharp/p/5327659.html 类与类图1)类(Class)封装了数据和行为,是面向对象的重要组......
  • 怎样使用eclipse创建.cld文件 画类图 AmaterasUML安装
    下载 https://zh.osdn.net/projects/amateras/downloads/56447/AmaterasUML_1.3.4.zip/ 三个jar包将下载下来的三个jar包放到eclipse安装目录  如果你的eclipse中......
  • uml实验总结
    昨天终于完成了uml,所以实验报告,在这次我学了uml九大图,学会了用例图、类图、顺序图、活动图、协作图、状态机图和部署图,我发现报告是很难写,系统算简单的,说明书报告也难写,花......
  • UML画图笔记
    提纲:1:面向对象技术2:模型与可视化建模3:什么是UML4:UML发展历史5:软件过程6:UML工具7:UML构成8:UML实例9:UML在软件开发各个阶段的应用。 一:面向对象技术二:软件质......
  • 什么是UML
    一:UML简介   UML是一种面向对象的建模语言,它的主要作用是帮助用户对软件系统进行面向对象的描述和建模;它可以描述这个软件从需求分析直到实现和测试的过程。二:UML的......
  • UML的六种关系-系统学习四
    一、背景介绍众所周知设计模式是程序界的内功心法,那么这内功心法中包含UML图(宏观部分)、场景(场段)、代码(实操),UML图中最重要的元素当属六大关系了至此有了小编的这边总结......
  • UML 历史
    统一建模语言是一组图形表示法。20世纪80年代末-90年代初:出现许多面向对象图形建模语言,UML是这些语言的联合。1995年10月:OOPSLA上公开的发布的统一方法(UnifiedMethod),版......