【UML用户指南】-15-对高级结构建模-对象图

目录

1、对象图的组成

[2、 对象图和类图关系](#2、 对象图和类图关系)

3、对对象结构建模

4、逆向工程

5、对象图构建要求


对象图对包含在类图中的事物的实例建模。

对象图显示了在某一时间点上一组对象以及它们之间的关系。

对象图用于对系统的静态设计视图或静态交互视图建模。

对某一时刻的系统快照建模,表示出对象集、对象的状态以及对象之间的关系。

对象之间不会传递消息

对象图不仅对可视化、详述和文档化结构模型是重要的,而且对通过正向工程和逆向工程构

造系统的静态方面也是重要的。

用 UML,可以使用类图来可视化系统构造块的静态方面。还可以使用交互图来可视化系统的

动态方面,交互图由构造块的实例和在它们中间分发的消息组成。对象图包含一组类图中事

物的实例。因此,对象图表达了交互的静态部分,它由协作的对象组成,但不包含在对象之

间传递的任何消息。在这两种情况下,对象图都表示冻结了的系统运动的某一瞬间,

1、对象图的组成

对象、链、注解和约束,有时也把类放在对象图种。

2、 对象图和类图关系

1、类图描述了一般的情形,实例图描述了从类图派生的具体实例。对象图主要包含对象和链。

2、部署图也可以按照一般的和实例的形式出现:

一般形式的部署图描述结点类型,实例形式的部署图描述了由这些类型描述的结点实例的具体配置。

3、对对象结构建模

在构造类图、构件图或部署图时,真正要做的是获取一组感兴趣的抽象,形成一个组,在这

样的语境下,要显现出组中各抽象的语义及其相互之间的关系。这些图只表示出潜在的可能

性。如果类A到类B有一对多的关联,那么类A的一个实例就可能对应着类B的5个实例,类A的

另一个实例还可能只对应着类B的一个实例。此外,在某一给定的时刻,A的实例和相关的B

的实例,它们的属性和状态机都有一定的值。

如果冻结一个运行的系统,或者只想象被建模的系统的某一瞬间,就会发现这样的一组对象

:每一个对象都处于一个特定的状态,并与其他对象有特定的关系。可以用对象图来可视化

、详述、构造和文档化这些快照的结构。对象图对于复杂的数据结构建模特别有用。

在为系统的设计视图建模时,可以用一组类图完整地详述抽象的语义以及它们之间的关系。

然而,用对象图则不能完整地详述系统的对象结构。对于一个类,可以有多个可能的实例,

对于相互间存在关系的一组类,对象间可能的配置是相当多的。因此,在使用对象图时,只

能有意义地显示一组感兴趣的具体对象或原型对象。这就是所谓的为对象结构建模,即对象

图显示了在某一时刻相互联系的一组对象。

识别想为之建模的机制。机制描述了正建模的系统部分的某些功能或行为,它由一组类、接

口和其他事物的交互产生。

例如,下图显示了取自一个自主机器人的实现中的一组对象。该图关注机器人为了计算一

个在其中移动的世界模型而使用的机制中所涉及的对象。运行系统还涉及更多的对象,但是

这幅图只关注直接涉及到创建这个世界视图的那些抽象。

如图所示,一个对象表示机器人自身(r是 Robot的实例),而 r当前处于被标记为

moving的状态中。这个对象有一个到w(World的一个实例)的链,World表示该机器人的世

界模型的一个抽象。

此时,w被连接到Area的两个实例。其中之一(a2)具有分别连接到3个Wall对象和一个

Door对象的链。Wall的每个对象都标有各自的当前宽度,并且都与相邻的Wall对象相连。

像这个对象图显示的那样,机器人已经识别出其所在的区域,该区域三面有墙,另一面有门

4、逆向工程

选择要进行逆向工程的目标。通常将语境设为一个操作的内部,或者与一个特定类的实例相关。

通过使用工具或简单地走查脚本,在特定的时刻停止执行。

识别出在该语境中相互协作的一组感兴趣的对象,并在对象图中表示它们。

按照理解语义的需要,显露这些对象的状态、识别这些对象之间存在的链。

若最终的图过于复杂,则要修剪它------通过删除与需要回答的关于脚本的问题无密切关系的

对象来实现。若图过于简化,则把某些感兴趣的对象的邻居扩充进来,并更深入地显露出各

对象的状态。

通常,必须手工地添加或标记目标代码中非显式的结构。丢失的信息提供了隐含在最终的代

码中的设计意图。

5、对象图构建要求

注重于表达系统静态设计视图或静态交互视图的一个方面。

表示由一个交互图描绘的动态场景中的一个画面。

只包含对理解该方面不可缺少的那些元素。

提供与它的抽象层次相一致的细节,应该只显露出对理解是不可缺少的那些属性值和其他修饰。

不要过分地简化,这样会使读者对重要的语义产生误解。

当绘制一个对象图时,要遵循如下策略。

给出能表达其用途的名称。

对图中元素进行布局,尽量减少线段交叉。

在空间上组织元素,使得在语义上接近的事物在物理位置上也靠近。

用注解和颜色作为可视化提示,以引起对图的重要特征的注意。

根据表达意图的需要,在图中包括每个对象的值和状态。

相关推荐
梁辰兴2 天前
UML 建模实验
软件工程·uml·建模
思忖小下6 天前
梳理你的思路(从OOP到架构设计)_UML应用:业务内涵的分析抽象&表达03
uml
思忖小下7 天前
梳理你的思路(从OOP到架构设计)_UML应用:业务内涵的分析抽象&表达01
uml·ooa
肖老师+9 天前
可视化建模与UML《部署图实验报告》
uml·可视化建模
思忖小下11 天前
开发中使用UML的流程总结篇
需求分析·uml
战神刘玉栋11 天前
《知识拓展 · 统一建模语言UML》
软考·uml·面向对象
喵~来学编程啦12 天前
【软件工程】一篇入门UML建模图(状态图、活动图、构件图、部署图)
软件工程·uml
喵~来学编程啦12 天前
【软件工程】一篇入门UML建模图(用例图、对象图、顺序图与协作图)
软件工程·uml
肖老师+15 天前
可视化建模以及UML期末复习篇----UML图
uml·可视化建模
沉河不浮16 天前
PlantUML——类图
uml