在软件开发领域,统一建模语言(UML)提供了一种标准化的方式来可视化系统的设计。UML中的关键图表之一是对象图,它展示了系统在某一特定时刻的实例状态。本文将向您介绍对象图,解释其用途,并指导您使用功能强大的UML建模工具Visual Paradigm来创建它们。

什么是对象图?
对象图是一种UML图表,通过展示类的实例及其在某一特定时刻的关系,呈现系统的静态视图。与提供系统结构蓝图的类图不同,对象图关注的是运行时实际存在的对象及其交互。
主要特性
- 快照视图:对象图捕捉系统在某一特定时间的状态,提供真实或典型的视角。
- 基于实例:它们关注的是实例(对象)而非类,展示对象如何与特定属性值进行交互。
- 静态设计:尽管它们描绘的是某一时刻的场景,但对象图用于展示系统的静态设计,有助于理解在特定情境下对象之间的相互关系。
为什么要使用对象图?
- 测试与调试:对象图在测试和调试中非常有价值,因为它们展示了对象在实时场景中的交互方式。
- 场景说明:它们有助于可视化特定的用例或场景,使系统在特定条件下的行为更容易理解。
- 原型设计:对象图可用于模拟系统在实际数据下的行为,有助于设计过程。
使用Visual Paradigm创建对象图
Visual Paradigm 是一个全面的UML建模工具,包括创建对象图的功能。以下是一份逐步指南,帮助您开始使用:
逐步指南
-
创建一个新的对象图:
- 打开Visual Paradigm并选择
图表 > 新建从应用程序工具栏中选择。 - 在
新建图表窗口中,选择对象图.
- 打开Visual Paradigm并选择
-
创建实例规范:
- 从图表工具栏中选择
实例规范然后点击图表以创建形状。 - 根据其所代表的对象命名实例规范。
- 从图表工具栏中选择
-
选择分类器:
- 右键单击实例规范形状并选择
选择分类器 > 选择分类器...从弹出菜单中选择。 - 在
选择分类器窗口中,选择将作为实例规范分类器的类。
- 右键单击实例规范形状并选择
-
定义槽:
- 要定义槽,请右键单击实例规范形状并选择
槽...从弹出菜单中选择。 - 在
实例规范规范窗口中,选择用于定义槽的特性,然后单击定义槽. - 通过选择已定义的槽并单击
编辑值....
- 要定义槽,请右键单击实例规范形状并选择
-
创建链接:
- 要创建实例规范之间的链接,请将鼠标指针移至源实例规范上。
- 按下资源目录按钮,并将其拖动到目标实例规范上。
- 释放鼠标按钮并选择
链接从资源目录中选择以创建链接。
示例
让我们考虑一个简单的图书馆系统示例:
- 类:
图书,成员,借阅 - 对象:
图书:乔治·奥威尔著《1984》成员:简·多借阅:简·多借阅《1984》的借阅记录
在 Visual Paradigm 中建模的步骤:
-
创建实例规范:
- 为以下内容创建实例
图书,成员,以及借阅.
- 为以下内容创建实例
-
选择分类器:
- 为每个实例分配相应的类别(
书籍,成员,借阅)到每个实例。
- 为每个实例分配相应的类别(
-
定义槽位:
- 对于
书籍:为以下内容定义槽位标题,作者,并设置如“1984”和“乔治·奥威尔”之类的值。 - 对于
成员:为以下内容定义槽位姓名并将其值设置为“简·多” - 对于
借阅:为以下内容定义槽位借阅日期和归还日期.
- 对于
-
创建链接:
- 在……之间创建链接
成员(简·多)和借阅以表明简·多借了一本书。 - 在……之间创建链接
借阅和书籍以表明《1984》是所借的书。
- 在……之间创建链接
示例:类图与对象图
该图像展示了面向对象编程中类图和对象图的概念,重点在于类与其实例(对象)之间的关系。以下是详细说明:

类图(左侧)
-
类与属性:
- 客户类:
- 属性:
姓名(字符串),位置(字符串)。 - 方法:
+发送订单(),+接收订单().
- 属性:
- 订单类:
- 属性:
日期(日期),编号(字符串)。 - 方法:
+确认(),+关闭().
- 属性:
- 客户类:
-
泛化(继承):
- 该
订单类是一个泛化为两个子类的超类:普通订单和特殊订单. - 普通订单类:
- 从以下类继承属性和方法:
订单. - 附加方法:
+派发(),+receive().
- 从以下类继承属性和方法:
- 特殊订单类:
- 继承自
订单. - 附加方法:
+dispatch().
- 继承自
- 该
-
关系:
- 和 之间存在一对多关系
客户和订单,由“1”表示,位于客户一侧,而订单一侧没有数字,表示一个客户可以有多个订单。
- 和 之间存在一对多关系
对象图(右侧)
-
对象与属性:
- C1:客户对象:
- 类的一个实例。
客户类。
- 类的一个实例。
- O1、O2、O3:订单对象:
- 实例的
订单类具有特定的编号属性:O1(编号 = 12),O2(编号 = 61),O3(编号 = 88)。
- 实例的
- S1、S2、S3:特殊订单对象:
- 实例的
特殊订单类具有特定的编号属性:S1(编号 = 43),S2(编号 = 50),S3(编号 = 17)。
- 实例的
- C1:客户对象:
-
关系:
- 该
C1客户对象与多个订单对象相关联(O1,O2,O3)以及特殊订单对象(S1,S2,S3). - 这反映了类图中展示的一对多关系,即一个客户可以拥有多个订单。
- 该
解释
- 泛化:
订单类作为具有通用属性和方法的基类,而普通订单和特殊订单是具有额外功能的特化版本。 - 实例化: 对象图展示了这些类如何被实例化为具有具体值的特定对象,展示了类结构在实际中的应用方式。
- 关系: 图表强调了客户与其订单之间的关联,展示了对象如何基于定义的类关系进行交互。
这种可视化有助于理解类是如何设计的,以及它们如何转化为具有特定数据和行为的真实世界对象。
结论
对象图是UML中一种强大的工具,通过具体实例及其交互来可视化系统的运行时行为。使用Visual Paradigm,您可以高效地创建这些图表,有助于软件系统的设计、测试和调试。无论您是初学者还是有经验的开发者,理解和使用对象图都能显著提升您建模和理解复杂系统的能力。
参考文献
- 绘制对象图。Visual Paradigm
- 通过 Visual Paradigm 学习类图。Archimetric
- Visual Paradigm 教程。获取自YouTube
- 示例:类图与对象图。Visual Paradigm Circle
- UML 中的类图与对象图。Visual Paradigm
- 什么是对象图?Visual Paradigm
- 对象图。Visual Paradigm
- UML 类图教程。Visual Paradigm










