An
对象图
可以称为系统中实例及其之间存在关系的屏幕截图。由于对象图描述了实例化对象时的行为, 因此我们能够研究特定时刻系统的行为。对象图对于描绘和理解系统的功能需求至关重要。
全部或部分视图
建模系统的结构
在特定时间。
"
对象和类图之间的区别–
对象图类似于类图, 只不过它显示了系统中类的实例。我们利用类图来描述实际的分类器及其关系。另一方面, 对象图表示类的特定实例以及它们在某个时间点之间的关系。
什么是分类器?
在UML中, 分类器是指一组元素, 这些元素具有一些共同的特征, 例如方法, 属性和操作。可以将分类器视为抽象的元类, 它为具有共同的静态和动态特征的一组实例绘制边界。例如, 我们将类, 对象, 组件或部署节点称为UML中的分类器, 因为它们定义了一组公共属性。
对象图是一种使用类似于类图的符号的结构图。我们能够通过实例化分类器来设计对象图。
对象图采用现实世界的例子描绘特定系统的性质和结构时间点。由于我们能够使用对象内可用的数据, 因此对象图提供了清晰的视野存在的关系对象之间.
图–
一个类及其对应的对象
对象图中使用的符号–
对象或实例规范–
当我们实例化系统中的分类器时, 我们创建的对象表示存在于系统中的实体。我们可以通过创建多个实例规范来表示对象随时间的变化。我们使用矩形表示对象图中的对象。对象通常链接到对象图中的其他对象。
图–
对象的符号
例如–在下图中, 将Student类的两个对象链接到College类的对象。
图–
使用链接和3个对象的对象图
链接–
我们使用链接来表示两个对象之间的关系。
图–
链接的符号
我们代表链接每一端的链接参与者人数。我们将术语关联用于两个分类器之间的关系。术语链接用于指定两个实例规范或对象之间的关系。我们使用实线表示两个对象之间的链接。
符号 | 含义 |
---|---|
0..1 | 零或一 |
1 | 仅一个 |
0 .. * | 零个或多个 |
* | 零个或多个 |
1 .. * | 一个或多个 |
7 | 只有七个 |
0..2 | 零或二 |
4..7 | 四到七 |
依赖关系–
我们使用依赖关系来显示一个元素何时依赖于另一个元素。
图–
依赖关系的表示法
类图, 组件图, 部署图和对象图使用依赖关系。依赖关系用于描述系统中依赖实体和独立实体之间的关系。一个元素的定义或结构的任何更改都可能导致另一个元素的更改。这是两个对象之间的单向关系。
依赖关系是用关键字指定的各种类型(有时在尖括号中)。
抽象, 绑定, 实现, 替代和用法是UML中使用的依赖关系的类型。
例如–在下图中, Player类的对象与Bat类的对象相关(或使用)。
图–
使用依赖关系的对象图
协会–
关联是两个对象(或类)之间的引用关系。
图–
关联符号
每当一个对象使用另一个对象时, 就称为关联。当一个对象引用另一个对象的成员时, 我们使用关联。关联可以是单向或双向的。我们使用箭头表示关联。
例如– Order类的对象与Customer类的对象相关联。
图–
使用关联的对象图
汇总–
聚集表示"具有"关系。
图–
聚合符号
聚集是关系的一种特殊形式。聚合比普通关联更具体。它是代表整体或部分关系的关联。这是一种父子关系, 但不是继承。当所包含对象的生命周期与容器对象的生命周期之间的依赖性不强时, 就会发生聚合。
图–
使用聚合的对象图
例如–图书馆与书籍具有聚合关系。图书馆有书或书籍是图书馆的一部分。书籍的存在与图书馆的存在无关。在实施过程中, 汇总和关联之间并没有太多区别。我们在包含对象上使用空心菱形, 并用一条线将其连接到包含对象。
组成–
组合是一种类型的关联, 其中子代不能独立于其他子代而存在。
图–
作文符号
组合也是一种特殊类型的关联。这也是一种父子关系, 但不是继承。考虑一个男孩古尔卡兰(Gurkaran)的例子:古尔卡兰(Gurkaran)由腿和胳膊组成。在这里, 古尔卡兰(Gurkaran)与他的腿和手臂有着构图关系。在这里, 腿和胳膊不能不存在其父对象而存在。因此, 无论何时不可能独立存在孩子, 我们都会使用一种合成关系。我们在包含对象上使用实心菱形, 并用一条线将其连接到包含对象。
图–
使用合成的对象图
例如–在下图中, 考虑对象Bank1。在这里, 没有银行就无法存在帐户。
图–
银行由帐户组成
关联和依赖之间的区别–
关联和依赖性经常在用法上混淆。造成混乱的原因是在UML 1中使用了瞬态链接。现在, 元模型在UML 2中的处理方式有所不同, 问题已得到解决。
系统中有大量依赖项。我们仅代表对于理解系统而言必不可少的内容。我们需要了解, 每个关联都暗含着依赖关系。但是, 我们不希望单独绘制它。关联暗含着与泛化相似的依存关系。
如何绘制对象图?
- 绘制系统所需的所有类图。
- 确定需要系统快照的关键时间点。
- 确定涵盖系统关键功能的对象。
- 识别绘制的对象之间的关系。
对象图的用途–
- 使用原型实例和真实数据对系统的静态设计(类似于类图)或结构进行建模。
- 帮助我们了解系统应交付给用户的功能。
- 了解对象之间的关系。
- 可视化, 记录, 构造和设计一个静态框架, 该静态框架显示系统动态生命周期中的对象实例及其关系。
- 通过将对象图用作特定的测试用例, 验证类图的完整性和准确性。
- 发现特定实例之间的事实和依存关系, 并描绘分类器的特定实例。
如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。