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