UML - 标准图



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

这些元素就像组件,可以以不同的方式关联起来,形成完整的UML图,这被称为图。因此,理解不同的图以在现实系统中应用知识非常重要。

任何复杂的系统都可以通过绘制某种图表或图片来更好地理解。这些图表对我们的理解有更好的影响。如果我们环顾四周,我们会意识到图表不是一个新概念,而是在不同行业的各种形式中广泛使用。

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

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

图表主要分为两大类,它们又细分为子类:

  • 结构图

  • 行为图

结构图

结构图表示系统的静态方面。这些静态方面表示构成主要结构并因此稳定的图表部分。

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

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

类图

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

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

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

对象图

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

对象图是一组对象及其关系,就像类图一样。它们也表示系统的静态视图。

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

组件图

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

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

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

部署图

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

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

注意 - 如果仔细观察上述描述和用法,就会很清楚所有图表之间都有一定的关系。组件图依赖于类、接口等,它们是类/对象图的一部分。同样,部署图依赖于用于制作组件图的组件。

行为图

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

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

UML有以下五种类型的行为图:

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

用例图

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

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

序列图

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

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

协作图

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

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

状态图

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

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

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

活动图

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

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

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

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

广告