UML - 标准关系图
-
简述
在前面的章节中,我们已经讨论了 UML 的构建块和其他必要元素。现在我们需要了解在哪里使用这些元素。这些元素就像组件,可以以不同的方式关联以制作完整的UML图片,这称为图。因此,了解不同的图表以在现实生活中实现知识非常重要。任何复杂的系统最好通过制作某种图表或图片来理解。这些图表对我们的理解有更好的影响。如果我们环顾四周,我们会意识到图表并不是一个新概念,但它在不同行业中以不同的形式被广泛使用。我们准备UML图,以更好,更简单的方式理解系统。单个图表不足以涵盖系统的所有方面。UML 定义了各种关系图,以涵盖系统的大多数方面。您还可以创建自己的一组图表来满足您的要求。图表通常以增量和迭代方式制作。图表有两大类,它们再次分为子类别 --
结构图
-
行为图
-
-
结构图
结构图表示系统的静态方面。这些静态方面表示图的那些部分,这些部分构成了主要结构,因此是稳定的。这些静态部件由类、接口、对象、组件和节点表示。四个结构图是 −- 类图
- 对象图
- 组件图
- 部署关系图
类图
类图是 UML 中最常用的关系图。类图由类、接口、关联和协作组成。类图基本上表示系统的面向对象视图,该视图本质上是静态的。活动类在类图中用于表示系统的并发性。类图表示系统的目标方向。因此,它通常用于开发目的。这是系统构建时使用最广泛的图表。对象图
对象图可以描述为类图的实例。因此,这些图表更接近我们实现系统的真实场景。对象图是一组对象,它们之间的关系就像类图一样。它们还表示系统的静态视图。对象图的用法类似于类图,但它们用于从实际角度构建系统的原型。组件图
组件图表示一组组件及其关系。这些组件由类、接口或协作组成。组件图表示系统的实现视图。在设计阶段,系统的软件工件(类、接口等)根据它们之间的关系排列在不同的组中。现在,这些组称为组件。最后,可以说组件图用于可视化实现。部署图
部署关系图是一组节点及其关系。这些节点是部署组件的物理实体。部署关系图用于可视化系统的部署视图。这通常由部署团队使用。注意 − 如果仔细观察上述描述和用法,那么很明显,所有图表彼此之间都有某种关系。组件图依赖于类/对象图的类、接口等。同样,部署关系图依赖于组件,这些组件用于制作组件图。 -
行为图
任何系统都可以有两个方面,静态和动态。因此,当两个方面都完全覆盖时,模型被认为是完整的。行为图基本上捕获了系统的动态方面。动态方面可以进一步描述为系统的变化/移动部分。UML有以下五种类型的行为图 -- 用例图
- 序列图
- 协作图
- 状态图
- 活动图
用例图
用例图是一组用例、参与者及其关系。它们表示系统的用例视图。用例表示系统的特定功能。因此,用例图用于描述功能与其内部/外部控制器之间的关系。这些控制器称为执行组件。序列图
序列图是交互图。从名称中可以清楚地看出,该图处理一些序列,这些序列是从一个对象流向另一个对象的消息序列。从实现和执行的角度来看,系统组件之间的交互非常重要。序列图用于可视化系统中的调用序列,以执行特定功能。协作图
协作图是交互图的另一种形式。它表示系统的结构组织和发送/接收的消息。结构组织由对象和链接组成。协作图的目的类似于序列图。但是,协作图的具体目的是可视化对象的组织及其交互。状态图
任何实时系统都应该由某种内部/外部事件做出反应。这些事件负责系统的状态更改。状态图用于表示系统的事件驱动状态更改。它基本上描述了类,接口等的状态变化。状态图用于可视化系统内部/外部因素的反应。活动图
活动图描述系统中的控制流。它由活动和链接组成。流可以是顺序流、并发流或分支流。活动只不过是系统的功能。准备活动图的数量以捕获系统中的整个流程。活动图用于可视化系统中的控件流。这是为了了解系统在执行时将如何工作。注意 − 系统的动态特性很难捕获。UML 提供了从不同角度捕获系统动态的功能。序列图和协作图是同构的,因此它们可以相互转换而不会丢失任何信息。对于状态图和活动图也是如此。