UML - 标准图


在前面的章节中,我们讨论了 UML 的构建块和其他必要元素。现在我们需要了解在哪里使用这些元素。

这些元素就像组件一样,可以通过不同的方式关联起来形成完整的 UML 图片,即图表。因此,理解不同的图表以在现实系统中实现知识非常重要。

任何复杂的系统最好通过制作某种图表或图片来理解。这些图表对我们的理解有更好的影响。如果我们环顾四周,我们会发现图表并不是一个新概念,但它在不同行业以不同形式广泛使用。

我们准备 UML 图来更好、更简单地理解系统。单个图表不足以涵盖系统的所有方面。UML 定义了各种类型的图来涵盖系统的大部分方面。

您还可以创建自己的一组图表来满足您的要求。图表通常以增量和迭代的方式制作。

图表有两大类,它们又分为子类 -

  • 结构图

  • Behave图

结构图

结构图表示系统的静态方面。这些静态方面代表了图表的那些部分,它们形成了主要结构,因此是稳定的。

这些静态部分由类、接口、对象、组件和节点表示。四个结构图是 -

  • 类图
  • 对象图
  • 元件图
  • 部署图

类图

类图是 UML 中最常用的图。类图由类、接口、关联和协作组成。类图基本上表示系统的面向对象视图,本质上是静态的。

活动类在类图中使用来表示系统的并发性。

类图表示系统的面向对象。因此,它通常用于开发目的。这是系统构建时使用最广泛的图。

对象图

对象图可以描述为类图的实例。因此,这些图更接近我们实现系统的现实场景。

对象图是一组对象,它们的关系就像类图一样。它们还代表系统的静态视图。

对象图的用法与类图类似,但它们用于从实际角度构建系统原型。

元件图

组件图表示一组组件及其关系。这些组件由类、接口或协作组成。组件图表示系统的实现视图。

在设计阶段,系统的软件工件(类、接口等)根据它们的关系被安排在不同的组中。现在,这些组被称为组件。

最后,可以说组件图用于可视化实现。

部署图

部署图是一组节点及其关系。这些节点是部署组件的物理实体。

部署图用于可视化系统的部署视图。这通常由部署团队使用。

注意- 如果仔细观察上述描述和用法,那么很明显所有图表都彼此之间存在某种关系。组件图依赖于类、接口等,它们是类/对象图的一部分。同样,部署图依赖于用于制作组件图的组件。

Behave图

任何系统都可以有两个方面:静态和动态。因此,当两个方面都被完全覆盖时,模型就被认为是完整的。

Behave图基本上捕获了系统的动态方面。动态方面可以进一步描述为系统的变化/移动部分。

UML 有以下五种类型的Behave图 -

  • 用例图
  • 时序图
  • 协作图
  • 状态图
  • 活动图

用例图

用例图是一组用例、参与者及其关系。它们代表系统的用例视图。

用例代表系统的特定功能。因此,用例图用于描述功能及其内部/外部控制器之间的关系。这些控制器称为参与者

时序图

序列图是交互图。从名称中可以清楚地看出,该图处理一些序列,这些序列是从一个对象流向另一个对象的消息序列。

从实施和执行的角度来看,系统组件之间的交互非常重要。序列图用于可视化系统中执行特定功能的调用序列。

合作图

协作图是交互图的另一种形式。它代表系统的结构组织和发送/接收的消息。结构组织由对象和链接组成。

协作图的目的与序列图类似。然而,协作图的具体目的是可视化对象的组织及其交互。

状态图

任何实时系统都会对某种内部/外部事件做出反应。这些事件负责系统的状态更改。

状态图用于表示系统的事件驱动的状态变化。它基本上描述了类、接口等的状态变化。

状态图用于可视化系统通过内部/外部因素的反应。

活动图

活动图描述了系统中的控制流程。它由活动和链接组成。该流程可以是顺序的、并发的或分支的。

活动只不过是系统的功能。准备许多活动图来捕获系统中的整个流程。

活动图用于可视化系统中的控制流程。这是为了了解系统执行时如何工作。

注意- 系统的动态特性很难捕捉。UML 提供了从不同角度捕捉系统动态的功能。序列图和协作图是同构的,因此它们可以相互转换而不会丢失任何信息。对于状态图和活动图也是如此。