概述
UML对象图显示了某一时刻的一组对象及它们之间的关系。
UML对象图可以看做是类图的实例,由于对象存在生命周期,因此UML对象图只能在系统某一时间段存在,用来表达各个对象在某一时刻的状态。
UML 对象图和类图一样反映系统的静态过程,但它是从实际的或原型化的情景来表达的。
结构
对象图由对象、链两个元素组成。
对象
对象通过其类型、名称和状态区别于其他对象而存在。
对象信息:在矩形框的顶端显示 示例:对象名:对象类型。
状态:由对象的所有属性以及运行时的当前值组成。
对象信息的标准表示法:在对象名后跟一个冒号加上类型名,并且使用下划线与类进行区分。
对象信息的匿名表示法:当对象的名字在上下文中并不重要时可以忽略对象名,并且使用下划线与类进行区分。
链
UML中实线表示链(关联关系),在链上可以加一个标签来表示此链接的目的。
链是关联关系的实例,链都是一对一链接每个独立个体的实例(在UML对象图中所有的实例对象表示在图中都是独立存在的),因此UML对象图中的链关联不涉及多重性。
多重性:UML中关联的多重度是指一个类的实例能够与另一个类的多少个实例相关联。
详解
对象图是类图的一个实例。它意味着一个对象图包含在类图中所用的东西的实例。
所以,对象图和类图的基本元素是相同的,不同的只是形式的差别。在类图中的元素是抽象的形式来表示蓝图,并在对象图中元素的具体形式来表示真实世界中的对象。
为了捕捉一个特定的系统,类图的数量是有限的。但是,如果我们考虑对象图,那么我们就可以有无限数量的实例在本质上是独一无二的。因此,只有这些情况下被认为是对系统的影响。
从上面的讨论,很显然,一个单一的对象图不能捕获所有必要的实例,而不能指定一个系统的所有对象。因此,解决方案是:
- 首先,分析系统,并决定哪些情况下有重要的数据和关联。
- 其次,只考虑那些实例将涵盖功能。
- 第三,做一些优化实例的数量是无限的。
绘制对象图之前,应该记住以下事情,并清楚地理解:
- 对象图的主要内容是对象。
- 对象图中的链接是用来连接对象。
- 对象和链接的两个要素,用于构造一个对象图。
在开始构建图前,下列事项要明确:
- 对象图的名称要有意义,以表明其目的。
- 最重要的要素是要确定。
- 对象之间的关联,应该予以明确。
- 不同元素的值需要捕获包含在对象图。
- 添加适当的注释,需要更清晰点。
下面的图是一个对象图的一个例子。
用途
对象图可用于:
- 使一个系统的原型。
- 逆向工程。
- 造型复杂的数据结构。
- 从实用的角度了解系统。
- 捕捉实例和链接。
- 详细描述瞬态图。
资源文件
参考文献:
https://www.w3cschool.cn/uml_tutorial/uml_tutorial-yen728t6.html
http://www.360doc.com/content/17/0922/03/9824753_689086267.shtml
https://www.cnblogs.com/gd-luojialin/p/10356723.html