编辑推荐: |
本文主要介绍了对象图和类图之间的区别 , 对象图中使用的符号,关联和依赖之间的区别 ,对象图的使用
。
本文来自于geeksforgeeks.org,由Alice编辑、推荐。 |
|
对象图 可以称为系统中实例的屏幕截图以及它们之间存在的关系。由于对象图描述了对象实例化时的行为,因此我们能够研究系统在特定时刻的行为。对象图对于描绘和理解系统的功能需求至关重要。
换句话说,“统一建模语言(UML)中的对象图是在特定 时间显示 建模系统结构 的完整或部分视图 的图。
对象图和类图之间的区别 –
对象图类似于类图,只是它显示系统中类的实例。我们描述了实际的分类及其使用类图的关系。另一方面,对象图表示类的特定实例以及它们在某个时间点之间的关系。
什么是分类?
在 UML 中,分类是指一组具有一些共同特征(如方法、属性和操作)的元素。分类可以被认为是一个抽象元类,它为一组具有共同静态和动态特征的实例绘制边界。例如,我们将类、对象、组件或部署节点引用为 UML 中的分类,因为它们定义了一组通用的属性。
对象图是一种结构图,它使用类似于类图的表示法。我们能够通过实例化分类来设计对象图。
对象图 使用 真实世界的示例 来描述系统在特定 时间点 的性质和结构。由于我们能够使用对象中可用的数据,因此对象图提供了 对象之间存在 的关系的 更清晰视图 。
图 – 一个类及其相应的对象 对象图中使用的符号 –
1.对象或实例规范 – 当我们在系统中实例化分类时,我们创建的对象表示系统中存在的实体。我们可以通过创建多个实例规范来表示对象随时间的变化。我们使用矩形来表示对象图中的对象。对象通常链接到对象图中的其他对象。
对象的图 – 表示法
例如 – 在下图中,类学生的两个对象链接到类学院的一个对象。
图 – 使用链接和 3 个对象的对象 图
2.链接– 我们使用链接来表示两个对象之间的关系。
链接的图 – 表示法
我们代表链接两端的链接上的参与者数量。我们使用术语关联来表示两个分类之间的关系。术语链接用于指定两个实例规范或对象之间的关系。我们使用实线来表示两个对象之间的链接。
依赖关系 – 我们使用依赖关系来显示一个元素何时依赖于另一个元素。
图 – 依赖关系的表示法
类图、组件图、部署图和对象图使用依赖关系。依赖关系用于描述系统中从属实体和独立实体之间的关系。一个元素的定义或结构的任何更改都可能导致另一个元素的更改。这是两个对象之间的单向关系。
依赖关系是用关键字指定的各种类型的(有时在尖括号内“)。
抽象、绑定、实现、替换和使用是UML中使用的依赖关系类型。
例如 – 在下图中,玩家类的对象依赖于(或使用)Bat 类的对象。
图 –使用依赖关系的对象 图
协会– 关联是两个对象(或类)之间的引用关系。
图 – 关联表示法
每当一个对象使用另一个对象时,它就称为关联。当一个对象引用另一个对象的成员时,我们使用关联。关联可以是单向的,也可以是双向的。我们使用箭头来表示关联。
例如 – 订单类的对象与客户类的对象相关联。
图 –使用关联的对象 图
聚合– 聚合表示“具有”关系。
用于聚合的 图 – 表示法
聚合是一种特定的关联形式。聚合比普通关联更具体。它是一个代表部分整体或部分关系的关联。这是一种父子关系,但它不是继承。当所包含对象的生命周期不强依赖于容器对象的生命周期时,就会发生聚合。
图 –使用聚合的对象 图
例如,图书馆与书籍具有聚合关系。图书馆有书或书籍是图书馆的一部分。书籍的存在与图书馆的存在无关。在实现时,聚合和关联之间没有太大区别。我们在包含对象上使用空心菱形,并用一条线将其连接到包含的对象。
组成– 组合是一种关联类型,其中孩子不能独立于另一个而存在。
图- 构图符号
组合也是一种特殊的联想类型。它也是一种亲子关系,但它不是继承。考虑一个男孩古尔卡兰的例子:古尔卡兰由腿和胳膊组成。在这里,古尔卡兰与他的腿和胳膊有构图关系。在这里,腿和胳膊如果没有父对象的存在就不能存在。因此,每当孩子不可能独立存在时,我们就使用组合关系。我们在包含对象上使用填充菱形,并用一条线将其连接到包含的对象。
图 – 使用合成的对象 图
例如 – 在下图中,考虑对象 Bank1。在这里,没有银行的存在,账户就不可能存在。
图—— 银行由账户组成
关联和依赖之间的区别 –
关联和依赖关系在使用中经常被混淆。混淆的一个原因是在UML 1中使用了瞬态链路。元模型现在在 UML 2 中的处理方式不同,并且该问题已得到解决。
系统中有大量依赖项。我们只代表那些对于理解系统至关重要的传达。我们需要明白,每个关联本身都意味着依赖关系。但是,我们宁愿不将其分开绘制。关联意味着一种依赖关系,类似于泛化的方式。 如何绘制对象图?
- 绘制系统所需的所有类图。
- 确定需要系统快照的关键时间点。
- 确定涵盖系统关键功能的对象。
- 确定绘制对象之间的关系。
对象图的使用 –
- 使用原型实例和真实数据对系统的静态设计(类似于类图)或结构进行建模。
- 帮助我们了解系统应向用户提供的功能。
- 了解对象之间的关系。
- 可视化,记录,构建和设计一个静态框架,显示对象实例及其在系统动态生活故事中的关系。
- 通过使用对象关系图作为特定测试用例来验证类图的完整性和准确性。
- 发现特定实例之间的事实和依赖关系,并描述分类的特定示例。
|