UML对象图的示例分析

技术UML对象图的示例分析这篇文章给大家分享的是有关UML对象图的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.UML对象图对象图用于描述被建模系统的模型元素实例之间的结构化信息,

本文是和大家分享UML对象图的样例分析的内容。我觉得边肖很实用,就和大家分享一下作为参考。让我们跟着边肖看一看。

1.UML对象图

对象图用于描述被建模系统的模型元素实例之间的结构化信息,它表示被建模系统在特定时间的部分或全部结构视图。UML对象图主要关注特定的对象实例及其槽,以及实例之间的连接。同一类图可以对应多个对象图。随着时间的推移,多个对象图一起显示了系统在不同时间点的对象状态。与类图的抽象相比,对象图是具体的,通常用于提供相应类图的结构示例或作为相应类图的测试用例。应该说,每个对象图都有它的侧重点,所以每个对象图都应该只专注于表达它所关注的内容。

在UML中,对象实例用实例指定表示(见1.1),对象实例的结构特征用槽表示(见1.2),对象实例和对象实例之间的关系用链接表示(见1.3)。与类图相反,实例对应于类对象,槽对应于类属性的实例,连接对应于类之间关联的实例。有了这些对应,在掌握类图的时候,更容易理解和掌握对象图。

图1.1是UML规范中与对象图相关的建模元素的语法定义,后面在解释具体概念时会详细说明。

UML对象图的示例分析

图1.1 UML规范中类图元素的语法

1.1实例规范

UML对象图实例指定(参见USS第7.3.22节)用于表示建模系统中的实例实体,描述部分或全部模型实例实体。当我们通常编程时,我们口头上谈论的例子在UML中被称为实例规范。示例规范中描述的内容可能包括:

1)一个或多个实例所属的分类器。在实例规范中,如果一个分类器是一个类,那么它描述这个类的对象;如果分类器是一个关联,它描述了关联的一个连接。

2)结构特征的价值。结构化特征用于描述类的结构组成,对应于类的属性。行为特征在类图中通过操作来表达,但在对象图中没有。在实例规范中,我们不必表达所有实例的所有结构特征。

3)如何计算、推导或构造例子。

实例规范用于指示模型化系统中存在的实体。在实例规范中,它的信息可能是不完整的,它只关注于表达感兴趣的信息。从图1.1中可以获得以下信息:

1)实例规范是可打包的元素,因为实例规范是可打包的元素。

2)一个实例规范可以包含任意数量的槽,这可以从它的槽组成属性中看出。

3)一个实例规范最多可以包含一个valuespecification(参见USS第7.3.54节),从其规范组件属性可以看出。简而言之,值规格是指对象的可接受值范围。

4)实例规范可以包含任意数量的分类器,这可以从它的分类器关联属性中看出。

示例规范可以包括槽,每个槽实际上是结构化特征的表达。UML对象图中的实例规范是一个或多个分类器的对象实例,因此它遵循分类器定义的结构或(和)行为规范。没有槽的实例规范并不意味着它没有结构特征,因为这些结构特征可能与这个对象图无关。

需要注意的是,实例规范并不是对建模系统运行时的准确描述,只是一个例子,它只代表相关的结构信息。我们无法从实例规范中推导出运行时对象结构的任何细节。

图1.2是一个使用实例规范的例子,其中每个矩形框都是一个实例规范。图1.3是相应的类图。其中my_car是一个没有插槽的实例,而其他Window实例有两个插槽。您会注意到实例规范的表示方法类似于类图中的类,但也有以下区别:

1)其名称下有下划线,表示此实例及其分类器的名称在线),实例名称和分类器之间使用lsquo:如果有多个分类器,分类器之间用逗号隔开。图1.2中的所有实例规范只有一个分类器。比如my_Car所属的分类器就是Car类,也就是说my_car是Car类的一个实例,而front_left、front_right、rear_left、rear_right分别都是Window类的实例。

2)插槽对应于类中的属性,但它们在实例规范中都有值。如果没有值,通常不会在实例规范中指出。

UML对象图的示例分析

图1.2使用实例规范的例子

10521/371/490393.jpg" alt="UML对象图的示例分析">

图1.3图1.2对象图所对应的类图

图1.2是一个相对简单的UML对象图,而在现实应用中,我们可以通过多个对象图来展现同样的实例在不同时间点时各实例的状态,不同的状态是通过槽的不同值来表达的。比如,我们可以采用对象图来表示一个算法,而对于同一算法在不同时间点各实例的状态(表现在槽的值不同)采用不同的对象图来表示。

1.2槽

槽(slot,参见USS的7.3.48节)是用于表示实例规范中被建模实体结构特征的值,槽对应于类图中类的属性,是类属性的实例,而属性是类的结构化特性的描述。从图1.1中可以看出,一个槽具有三个属性:
1)definingFeature表示这一槽所对应的结构化特性是什么。
2)owningInstance表示这一槽是属于哪一个实例规范的。
3)value指示槽的值是多少。

图1.2中每一个Window实例规范都有两个槽。其中name槽的definingFeature应当就是窗口名称,显然name槽的owningInstance是各Window实例,而value对于每一个Window实例就不同了,有的叫“frontleft”,也有的叫“rearleft”。相类似地,is_automatic槽用于表示每一个车窗是不是自动的。

1.3连接

在UML规范中没有专门用于介绍连接(link)的章节,但在实例规范章节中有所提及。其定义了实例规范之间的关系,从类图的角度来看,一个连接就是一个关联关系的实例。图1.2中示例了Car类实例规范与Window类实例规范之间的四个连接。对比图1.2和图1.3我们可以发现,图1.2中的四个连接都是图1.3中关联关系的实例。

感谢各位的阅读!关于“UML对象图的示例分析”这篇文章就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/132517.html

(0)

相关推荐

  • netty的pipeline处理流程(netty的pipeline是如何添加节点的)

    技术netty中pipeline如何添加handler这篇文章将为大家详细讲解有关netty中pipeline如何添加handler,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。pip

    攻略 2021年12月17日
  • Spring Boot怎样集成Redis

    技术Spring Boot怎样集成Redis本篇文章给大家分享的是有关Spring Boot怎样集成Redis,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

    攻略 2021年10月27日
  • 感觉拼音,如果让你用拼音来写QQ空间的日志

    技术感觉拼音,如果让你用拼音来写QQ空间的日志估计真要用汉语拼音写日志感觉拼音,汉语拼音创始人,17世纪的法国(也算比利时)传教士金尼格也能看懂吧。
    中国自己的拼音第一人卢戆章却未必能看懂(他一直擅长拼音闽南语)
    方言是

    生活 2021年10月20日
  • 装饰器

    技术装饰器 装饰器装饰器
    1.形式装饰器是有python 的@语法和闭包的知识结合使用的常见的装饰器形式
    def outer(origin):def inner():'''你猜'''print("啊哈哈

    礼包 2021年11月29日
  • abab的词语,abab的形容词语有哪些

    技术abab的词语,abab的形容词语有哪些ABAB没有成语,词语有不少,列举如下abab的词语: 努力努力 享受享受 了解了解 打探打探 打听打听 分析分析 娱乐娱乐 紧张紧张 暖和暖和 凉快凉快 学习学习 精神精神

    生活 2021年10月25日
  • 怎么用Spring MVC创建Web应用

    技术怎么用Spring MVC创建Web应用这篇文章给大家分享的是有关怎么用Spring MVC创建Web应用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。为了把Spring MVC运用到We

    攻略 2021年11月23日