UML - 标准关系图

  • 简述

    在前面的章节中,我们已经讨论了 UML 的构建块和其他必要元素。现在我们需要了解在哪里使用这些元素。
    这些元素就像组件,可以以不同的方式关联以制作完整的UML图片,这称为图。因此,了解不同的图表以在现实生活中实现知识非常重要。
    任何复杂的系统最好通过制作某种图表或图片来理解。这些图表对我们的理解有更好的影响。如果我们环顾四周,我们会意识到图表并不是一个新概念,但它在不同行业中以不同的形式被广泛使用。
    我们准备UML图,以更好,更简单的方式理解系统。单个图表不足以涵盖系统的所有方面。UML 定义了各种关系图,以涵盖系统的大多数方面。
    您还可以创建自己的一组图表来满足您的要求。图表通常以增量和迭代方式制作。
    图表有两大类,它们再次分为子类别 -
    • 结构图
    • 行为图
  • 结构图

    结构图表示系统的静态方面。这些静态方面表示图的那些部分,这些部分构成了主要结构,因此是稳定的。
    这些静态部件由类、接口、对象、组件和节点表示。四个结构图是 −
    • 类图
    • 对象图
    • 组件图
    • 部署关系图

    类图

    类图是 UML 中最常用的关系图。类图由类、接口、关联和协作组成。类图基本上表示系统的面向对象视图,该视图本质上是静态的。
    活动类在类图中用于表示系统的并发性。
    类图表示系统的目标方向。因此,它通常用于开发目的。这是系统构建时使用最广泛的图表。

    对象图

    对象图可以描述为类图的实例。因此,这些图表更接近我们实现系统的真实场景。
    对象图是一组对象,它们之间的关系就像类图一样。它们还表示系统的静态视图。
    对象图的用法类似于类图,但它们用于从实际角度构建系统的原型。

    组件图

    组件图表示一组组件及其关系。这些组件由类、接口或协作组成。组件图表示系统的实现视图。
    在设计阶段,系统的软件工件(类、接口等)根据它们之间的关系排列在不同的组中。现在,这些组称为组件。
    最后,可以说组件图用于可视化实现。

    部署图

    部署关系图是一组节点及其关系。这些节点是部署组件的物理实体。
    部署关系图用于可视化系统的部署视图。这通常由部署团队使用。
    注意 − 如果仔细观察上述描述和用法,那么很明显,所有图表彼此之间都有某种关系。组件图依赖于类/对象图的类、接口等。同样,部署关系图依赖于组件,这些组件用于制作组件图。
  • 行为图

    任何系统都可以有两个方面,静态和动态。因此,当两个方面都完全覆盖时,模型被认为是完整的。
    行为图基本上捕获了系统的动态方面。动态方面可以进一步描述为系统的变化/移动部分。
    UML有以下五种类型的行为图 -
    • 用例图
    • 序列图
    • 协作图
    • 状态图
    • 活动图

    用例图

    用例图是一组用例、参与者及其关系。它们表示系统的用例视图。
    用例表示系统的特定功能。因此,用例图用于描述功能与其内部/外部控制器之间的关系。这些控制器称为执行组件

    序列图

    序列图是交互图。从名称中可以清楚地看出,该图处理一些序列,这些序列是从一个对象流向另一个对象的消息序列。
    从实现和执行的角度来看,系统组件之间的交互非常重要。序列图用于可视化系统中的调用序列,以执行特定功能。

    协作图

    协作图是交互图的另一种形式。它表示系统的结构组织和发送/接收的消息。结构组织由对象和链接组成。
    协作图的目的类似于序列图。但是,协作图的具体目的是可视化对象的组织及其交互。

    状态图

    任何实时系统都应该由某种内部/外部事件做出反应。这些事件负责系统的状态更改。
    状态图用于表示系统的事件驱动状态更改。它基本上描述了类,接口等的状态变化。
    状态图用于可视化系统内部/外部因素的反应。

    活动图

    活动图描述系统中的控制流。它由活动和链接组成。流可以是顺序流、并发流或分支流。
    活动只不过是系统的功能。准备活动图的数量以捕获系统中的整个流程。
    活动图用于可视化系统中的控件流。这是为了了解系统在执行时将如何工作。
    注意 − 系统的动态特性很难捕获。UML 提供了从不同角度捕获系统动态的功能。序列图和协作图是同构的,因此它们可以相互转换而不会丢失任何信息。对于状态图和活动图也是如此。