UML概述

作者: 是立品啊 | 来源:发表于2020-09-10 09:33 被阅读0次

UML的定义

  • UML:Unified Modeling Language的缩写,简称UML(统一建模语言),它是一种由一整套图组成的标准化建模语言,用于帮助系统开发人员阐明、设计和构建软件系统。

UML分类

结构性图

  • 包含类图、组件图、部署图、对象图、包图、组合结构图、轮廓图

行为性图

  • 包含用例图、活动图(也叫流程图)、状态机图、序列图、通信图、交互图、时序图

类图的常见关系

类图用于表示不同的实体(人、事物和数据),以及它们彼此之间的关系。该图描述了系统中对象的类型以及它们之间存在的各种静态关系,是一切面向对象方法的核心建模工具

UML 类图中最常见的几种关系有:

泛化(Generalization)

  • 泛化(Generalization)是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。

如:哺乳动物具有恒温、胎生、哺乳等生理特征,猫和牛都是哺乳动物,也都具有这些特征,但除此之外,猫会捉老鼠,牛会耕地


image.png

实现(Realization)

  • 实现(Realization)是一种类与接口的关系,表示类是接口所有特征和行为的实现。

如:蝙蝠也是哺乳动物,它除具有哺乳动物的一般特征之外,还会飞,我们可以定义一个IFlyable的接口,表示飞行的动作,而蝙蝠需要实现这个接口


image.png

组合(Composition)

  • 组合(Composition)也表示整体与部分的关系,但部分离开整体后无法单独存在。因此,组合与聚合相比是一种更强的关系。

如:我们的电脑由CPU、主板、硬盘、内存组成,电脑与CPU、主板、硬盘、内存是整体与部分的关系,但如果让CPU、主板等组件单独存在,就无法工作,因此没有意义。


image.png

聚合(Aggregation)

  • 聚合(Aggregation)是整体与部分的关系,部分可以离开整体而单独存在。

如:一个公司会有多个员工,但员工可以离开公司单独存在,离职了依然可以好好地活着。


image.png

关联(Association)

  • 关联(Association)是一种拥有关系,它使一个类知道另一个类的属性和方法。关联可以是双向的,也可以是单向的。

如:一本书会有多个读者,一个读者也可能会有多本书,书和读者是一种双向的关系(也就是多对多的关系);但一本书通常只会有一个作者,是一种单向的关系(就是一对一的关系,也可能是一对多的关系,因为一个作者可能会写多本书)

image.png

依赖(Dependency)

  • 依赖(Dependency)是一种使用的关系,即一个类的实现需要另一个类的协助,所以尽量不要使用双向的互相依赖。

如:所有的动物都要吃东西才能活着,动物与食物就是一种依赖关系,动物依赖食物而生存


image.png

这些关系的强弱顺序为:泛化=实现 >组合 > 聚合 > 关联 > 依赖。

相关文章

  • UML建模第一讲:用例图+类图

    1. 前言 1.2UML概述 1.2.1 UML简介 UML (Unified Modeling Language...

  • UML概述

    1.1 为什么需要UML 1.2 UML是个啥 1.3 UML前世今生 1.4 UML特点 1.5 UML都有什么...

  • UML概述

    Structured UML 1. Class Diagram 类图。 2. Object Diagram 对象图...

  • UML概述

    UML的定义 UML:Unified Modeling Language的缩写,简称UML(统一建模语言),它是一...

  • 一篇看懂UML

    UML概述 1 UML简介 UML (Unified Modeling Language)为面向对象软件设计提供统...

  • UML基础教程

    目录 前言1.1 前言1.2 UML概述1.3 UML事物1.4 UML关系1.5 各UML图及特征1.6 各UM...

  • iOS 工厂模式的面向协议编程思想

    UML概述 UML简介 UML (Unified Modeling Language)为面向对象软件设计提供统一的...

  • UML入门

    UML概述 UML简介 UML (Unified Modeling Language)为面向对象软件设计提供统一的...

  • UML建模概述

    1997年,OMG 组织(Object Management Group对象管理组织)发布了统一建模语言(Unif...

  • UML 交互概述图

    https://www.cnblogs.com/finehappy/archive/2009/11/28/1612...

网友评论

      本文标题:UML概述

      本文链接:https://www.haomeiwen.com/subject/mvijektx.html