UML 对象图

UML 对象图

对象图衍生自类图,因此对象图依赖于类图。

对象图表示类图的实例。基本概念对类图和对象图是相似的。对象图也表示系统的静态视图,但是这个静态视图是系统在某个特定时刻的快照。

对象图用于将一组对象及其关系表示为一个实例。

对象图的目的

应清楚地了解图表的目的以实际实施它。对象图的目的与类图相似。

不同之处在于类图表示由类和它们的关系构成的抽象模型。然而,对象图表示一个具体的实例,该实例在特定时刻是具体的。

这意味着对象图更接近实际系统的行为。其目的是捕捉系统在一个特定时刻的静态视图。

对象图的目的可以总结如下−

  • 正向和逆向工程。

  • 系统的对象关系

  • 交互的静态视图。

  • 从实际角度理解对象行为及其关系

如何绘制对象图

我们已经讨论过,对象图是类图的实例。这意味着对象图由类图中使用的东西的实例组成。

所以,这两个图表由相同的基本元素组成,但形式不同。在类图中,元素以抽象形式表示以表示蓝图,在对象图中,元素以具体形式表示以表示实际世界对象。

为了捕捉一个特定的系统,类图的数量是有限的。然而,如果考虑对象图,我们可以有无限数量的唯一实例。只考虑对系统有影响的实例。

从上面的讨论中,可以清楚地看出,单个对象图无法捕获所有必要的实例,或者更准确地说,无法指定系统的所有对象。因此,解决方案是−

  • 首先,分析系统并确定哪些实例具有重要数据和关联。

  • 其次,只考虑那些将覆盖功能的实例。

  • 第三,进行一些优化,因为实例数量是无限的。

在绘制对象图之前,应记住并清楚地理解以下事项−

  • 对象图由对象组成。

  • 对象图中的连接用于连接对象。

  • 对象和连接是构建对象图的两个元素。

在开始构建图表之前,还需要决定以下事项−

  • 对象图应有一个有意义的名称来表示其目的。

  • 应该识别出最重要的元素。

  • 应明确对象之间的关联。

  • 需要捕捉不同元素的值以在对象图中包含。

  • 在需要更清晰的地方添加适当的注释。

以下图示是一个对象图的例子。它代表了我们在类图章节中讨论过的订单管理系统。以下图示是一个系统在特定购买时间的实例。它有以下对象。

  • Customer(客户)

  • Order(订单)

  • SpecialOrder(特殊订单)

  • NormalOrder(普通订单)

客户对象(C)与三个订单对象(O1、O2和O3)相关联。这些订单对象与特殊订单和普通订单对象(S1、S2和N1)相关联。客户有以下三个订单,其订单号不同(12、32和40),这是在考虑的特定时间内。

客户未来可以增加订单数量,在这种情况下,对象图将反映出这一点。如果观察订单、特殊订单和普通订单对象,你会发现它们有一些值。

对于订单,值分别为12、32和40,这意味着在捕捉实例的特定时间(这里是购买时刻)时,对象具有这些值。

特殊订单和普通订单对象同样如此,它们的订单数分别为20、30和60。如果考虑不同的购买时间,这些值将相应变化。

以下对象图考虑了上述所有要点。

在哪里使用对象图

对象图可以被想象为系统在特定时刻的运行快照。让我们以一个运行的火车为例。

现在,如果你拍下运行的火车的照片,那么你会得到一张静态的火车图片,具有以下特点:

  • 一个特定的运行状态。

  • 一个特定数量的乘客,如果在不同的时间拍照,人数将发生变化。

在这里,我们可以将运行的火车的照片视为具有上述值的对象。这也适用于任何现实生活中的简单或复杂系统。

简而言之,可以说对象图用于:

  • 制作系统的原型。

  • 逆向工程。

  • 建模复杂的数据结构。

  • 从实践的角度理解系统。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程