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