UML基础: 第 2 部分 - 对象图 (Object Diagram)

对象图是从类图派生的,因此对象图依赖于类图。

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

对象图用于呈现一组对象及其关系作为实例。

对象图的目的

图表的目的应该清楚地理解为实际实施。对象图的目的与类图相似。

不同之处在于类图表示由类及其关系组成的抽象模型。然而,一个对象图代表了特定时刻的一个实例,它本质上是具体的。

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

对象图的目的可以概括为:

  • 正向和逆向工程。
  • 系统的对象关系
  • 交互的静态视图。
  • 从实践角度理解对象行为及其关系

对象图与类图

说明对象图是什么样子的最好方法是显示从相应类图派生的对象图。

以下订单管理系统显示它们之间的关系。这个小类图表明大学部门可以包含许多其他部门,下面的对象图实例化类图,并用一个具体的例子来代替它。


Object Diagram at a Glance


  • 寻找免费的UML工具?

    Visual Paradigm,国际IT奖获奖者,是您的最终选择UML建模。Visual Paradigm Community Edition -完全免费!全世界数以百万计的用户没有时间限制和跨平台采用。Visual Paradigm 国际IT奖获奖者,您的UML建模最终选择

    Visual Paradigm 社区版-完全免费!全世界数以百万计的用户没有时间限制和跨平台采用。

    立即下载

如何绘制对象图?

我们已经讨论过一个对象图是类图的一个实例。它意味着一个对象图由类图中使用的事物的实例组成。

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

为了捕获一个特定的系统,类图的数量是有限的。但是,如果我们考虑对象图,那么我们可以拥有无​​限数量的实例,这些实例在本质上是独一无二的。只考虑那些对系统有影响的实例。

从上面的讨论可以清楚看出,单个对象图不能捕获所有必要的实例,或者不能指定系统的所有对象。因此,解决方案是 -

  • 首先,分析系统并确定哪些实例具有重要的数据和关联。
  • 其次,仅考虑那些将涵盖功能的实例。
  • 第三,由于实例的数量是无限的,因此进行一些优化。
在绘制对象图之前,应该清楚地记住以下事情 -
  • 对象图由对象组成。
  • 对象图中的链接用于连接对象。
  • 对象和链接是用于构造对象图的两个元素。

之后,在开始构建图表之前,需要确定以下事项 -

  • 对象图应该有一个有意义的名称来表明它的用途。
  • 最重要的因素是待确定。
  • 对象之间的关联应该澄清。
  • 需要捕获不同元素的值以包含在对象图中。
  • 在需要更清晰的地方添加适当的注释。

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

  • 顾客
  • 订购
  • 特殊订单
  • NormalOrder

现在客户对象(C)与三个订单对象(O1,O2和O3)相关联。这些订单对象与特殊订单和正常订单对象(S1,S2和N1)相关联。在特定的时间内,客户有以下三个不同号码(12,32和40)的订单。

客户可以增加未来的订单数量,在这种情况下,对象图表会反映这一点。如果观察到订单,特殊订单和正常订单对象,那么您会发现它们有一些值。

对于订单,值为12,32和40,这意味着对象在特定时刻具有这些值(这里是购买时的特定时间被认为是时刻),当实例被捕获时

订单数量为20,30和60的特殊订单和普通订单对象也是如此。如果考虑不同的购买时间,那么这些值将相应地改变。

考虑到上面提到的所有要点,已经绘制了以下对象图

UML对象图

在哪里使用对象图?

对象图可以想象为特定时刻正在运行的系统的快照。让我们考虑一个正在运行的列车的例子

现在,如果你拍下正在运行的火车,那么你会发现它具有以下的静态图片 -

  • 正在运行的特定状态。
  • 特定数量的乘客。如果在不同的时间拍摄,这将会改变

在这里,我们可以想象运行中的列车的捕捉是具有上述值的对象。对于任何现实生活中的简单或复杂系统来说都是如此。

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

  • 制作一个系统的原型。
  • 逆向工程。
  • 建模复杂的数据结构。
  • 从实践角度理解系统。
uml建模阅读列表
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值