UML 图速查表和参考指南

UML中的事物

事物可以被描述为任何现实世界的实体或对象。在UML中,事物被分为以下几类:

  • 结构事物
  • 行为事物
  • 分组事物
  • 注释事物

结构事物

结构事物主要指系统的物理部分。它是UML模型中的名词,例如类、对象、接口、协作、用例、组件和节点。

Structural Things in UML

类 :- 类用于表示各种对象。它用于定义对象的属性和操作。

Structural Things in UML

对象 :- 对象是用于描述系统行为和功能的实体。类和对象的表示法相同。

Structural Things in UML

对象图示例 :- 下面的UML对象图包含两个名为Ferrari和BMW的对象,它们都属于一个名为Car的类。对象就是现实世界的实体,是类的实例。

Structural Things in UML

接口 :- 接口类似于没有实现细节的模板。它由一个圆圈表示。当一个类实现一个接口时,它也会实现该接口的功能。

行为事物

它们是UML模型中的动词,例如交互、活动和状态机。行为事物用于表示系统的行为。

Behavioral things in UML


交互图 :- 交互图用于可视化系统中各个组件之间的消息流。

分组事物

Grouping things in UML

它是用于将语义上相关的建模元素组合成一个单一的、连贯的单元的包。

注释事物

Annotational things in UML

它就像一个注释,可以写在模型上以捕获一些重要信息。它类似于黄色的便利贴。

UML中的关系类型

Relationships Type in UML

关系允许您在模型中显示两个或多个事物之间的关系。

Relationships Type in UML

关联关系 :- 它是一组连接UML模型元素的链接。它用带双箭头实线的虚线表示。两端都有一个描述关系的元素。

Relationships Type in UML

自关联 :- 自关联表示同一类对象之间可以存在链接或连接。

Relationships Type in UML

定向关联 :- 定向关联,流是定向的。一个类到一个类的关联只在一个方向上流动。

Relationships Type in UML

Relationships Type in UML

依赖关系 :- 它是UML最重要的表示法之一。它定义了一个对象对另一个对象的依赖方向。

Relationships Type in UML

Relationships Type in UML

泛化关系 :- 也称为父子关系。这种关系用于表示继承概念。

Relationships Type in UML

实现关系 :- 实现关系在表示接口时被广泛使用。

Relationships Type in UML

实现可以通过两种方式表示

  • 使用标准格式
  • 使用省略格式

Relationships Type in UML

组合 :- 组合聚合被描述为由一个实心黑菱形装饰的二元关联,该菱形位于聚合(整体)端。它不是标准的UML关系,但在各种应用程序中仍被使用。

Relationships Type in UML

聚合 :- 在聚合关系中,即使源对象被销毁,依赖对象仍然存在于关系的作用域内。聚合是UML关联关系的子类型

抽象类

Abstract Classes in UML

它是一个具有操作原型的类,但没有实现。在UML中,类和抽象类唯一的区别是类名必须严格用斜体书写。

让我们看一个完整的UML类图示例:

ATM系统非常简单,顾客只需按几个按钮即可取款。但是,ATM系统需要经过多个安全层。这有助于防止欺诈并为银行客户提供现金或所需详细信息。

UML Class Diagram

UML用例图

用例图通过使用参与者和用例来捕获系统的功能和需求。用例模拟系统需要执行的服务、任务和功能。

Use Case Diagram in UML

用例 :- 用例是面向对象建模的核心概念之一。它们用于表示高级功能以及用户将如何处理系统。

Use Case Diagram in UML

参与者 :- 参与者是与系统交互的实体。用户是参与者的最佳示例。

用例图示例

在下面的用例图中,有两个参与者,分别是学生和老师。共有五个用例,代表学生管理系统的特定功能。每个参与者都与特定的用例交互。

Use Case Diagram in UML

UML状态机图

State Machine Diagram in UML

状态机 :- 它用于描述软件开发生命周期中单个组件的各种状态。

状态机有 4 种状态:

  1. 初始状态 :- 初始状态符号用于指示状态机图的开始。
  2. 最终状态 :- 此符号用于指示状态机图的结束。
  3. 决策框 :- 它包含一个条件。根据评估的保护条件的结果,为程序执行采用新的路径。
  4. 转换 :- 转换是由于某个事件导致一个状态变为另一个状态。

State Machine Diagram in UML

状态机图示例 :- 共两种状态,第一种状态表示需要先输入OTP。然后,在决策框中检查OTP,如果正确,才会发生状态转换,并且用户将被验证。如果OTP不正确,则不会发生转换,并且会一直回到初始状态,直到用户输入正确的OTP。

UML活动图

Activity Diagram in UML

活动图 :- 活动图用于表示系统中不同组件所执行的各种活动。

  • 初始状态:活动发生之前的起始阶段被描绘为初始状态
  • 最终状态:系统在特定进程结束时达到的状态称为最终状态
  • 决策框:这是一个菱形框,表示一个带有备选路径的决策。它表示控制流。

Activity Diagram in UML

活动图示例 :- 下图表示处理电子邮件的活动。

序列图

UML序列图的目的是可视化系统中消息流的顺序。序列图用于捕获任何场景的行为。

Sequence Diagram in UML

协作图

Collaboration Diagram in UML

协作 :- 它由一个带有名称的虚线椭圆表示

协作图示例:

Collaboration Diagram in UML

时序图

时序图使用波形或图形指定对象如何更改其状态。它用于表示对象从一种形式到另一种形式的转换。

时序图示例:

Timing Diagram in UML

UML组件图

Component Diagram in UML

组件 :- 组件表示法用于表示系统的一部分。

Component Diagram in UML

节点 :- 节点可用于表示网络、服务器、路由器等。其表示法如下。

Component Diagram in UML

组件结构:
组件用分类器矩形立体模型表示,如<< component >>。

Component Diagram in UML

端口 :- 端口是分类器与外部环境之间的交互点。它将语义上相关的提供和必需接口分组。

组件图示例:

Component Diagram in UML

部署图

部署图 :- 部署图表示系统的物理视图。

部署图包含以下表示法

  1. 节点
  2. 组件
  3. 构件
  4. 接口

Deployment Diagram in UML

部署图示例 :- 下面的部署图表示 HTML5 视频播放器在浏览器中的工作方式。

Deployment Diagram in UML