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