最新UML实践学习系列6-用Rose创建对象图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对象图的组成
2010-07-31 23:01 胡荷芬/张帆/高斐清华大学出版社我要评论(0)字号:T | T
综合评级:
想读(2)在读(0)已读(0)品书斋鉴(0)已有2人发表书评
《UML系统建模基础教程》第7章类图与对象图L,本章主要介绍UML类图和对象图的基本概念、图形的表示方法以及如何使用Rational Rose来创建这两类图形。本小节为大家介绍对象图的组成。
AD:
7.4 对象图
前面对对象图的概念做了一些基本的介绍,下面将介绍对象图的基本组成元素以及如何创建对象图。
7.4.1 对象图的组成
对象图(Object Diagram)是由对象(Object)和链(Link)组成的。对象图的目的在于描述系统中参与交互的各个对象在某一时刻是如何运行的。
1. 对象(Object)
对象是类的实例,创建一个对象通常可以从两种情况来观察。第一种情况是将对象作为一个实体,它在某个时刻有明确的值;另一种情况是将对象作为一个身份持有者,不同时刻有不同的值。一个对象在系统的某一个时刻应当有其自身的状态,通常这个状态使用属性的赋值或分布式系统中的位置来描述,对象通过链和其他对象相联系。
对象可以通过声明的方式拥有唯一的句柄引用,句柄可标识对象,提供对对象的访问,代表了对象拥有唯一的身份。对象通过唯一的身份与其他对象相联系,彼此交换消息。对象不仅可以是一个类的直接实例,如果执行环境允许多重类元,则可以是多个类的直接实例。对象也拥有直属和继承操作,可以调用对象执行任何直属类的完整描述中的任何操作。对象也可以作为变量和参数的值,变量和参数的类型被声明为与对象相同的类或该对象直属类的一个祖先,它的存在可简化编程语言的完整性。
对象在某一时刻,其属性都是有相关赋值的,在对象的完整描述中,每一个属性都有一个属性槽,即每一个属性在它的直属类和每一个祖先类中都进行了声明。当对象的实例化和初始化完成后,每个槽中都有了一个值,它是所声明的属性类型的一个实例。在系统运行中,槽中的值可以根据对象所需要满足的各种限制进行改变。如果对象是多个类的直接实例,则在对象的直属类中和对象的任何祖先中声明的每一个属性在对象中都有一个属性槽。相同属性不可以多次出现,但如果两个直属类是同一祖先的子孙,则不论通过何种路径到达该属性,该祖先的每个属性只有一个备份被继承。
在一些编程语言中支持动态类元,这时对象就可以在执行期间通过更改直属类操作,指明属性值改变它的直属类,在过程中获得属性。如果编程语言同时允许多类元和动态类元,则在执行过程中可以获得和失去直属类。这种编程语言如C++等。
由于对象是类的实例。对象的表示符号是与类用相同的几何符号作为描述符,但对象使用带有下划线的实例名,将它作为个体区分开来。顶部显示对象名和类名,并以下划线标识,使用语法是"对象名:类名",底部包含属性名和值的列表。在Rational Rose 2003中,不显示属性名和值的列表,但可以只显示对象名称,不显示类名,并且对象的符号图形与类图中的符号图形类似,如图7-23所示。
图7-23 对象的各种表示形式
对象也有其他一些特殊的形式,如多对象和主动对象等。多对象表示多个对象的类元角色。多对象通常位于关联关系的"多"端,表明操作或信号是应用在一个对象集而不是单个对象上的。主动对象是拥有一个进程(或线程)并能启动控制活动的一种对象,它是主动类的实例。
2. 链(Link)
链是两个或多个对象之间的独立连接,它是对象引用元组(有序表),是关联的实例。对象必须是关联中相应位置处类的直接或间接实例。一个关联不能有来自同一关联的迭代连接,即两个相同的对象引用元组。
链可以用于导航,连接一端的对象可以得到另一端的对象,也就可以发送消息(称通过联系发送消息)。如果连接对目标方向有导航性,那么这一过程就是有效的。如果连接是不可导航的,则访问可能有效或无效,但消息发送通常是无效的,相反方向的导航另外定义。
在UML中,链的表示形式为一个或多个相连的线或弧。在自身相关联的类中,链是两端指向同一对象的回路。如图7-24所示,是链的普通和自身关联的表示形式。
图7-24 链的表示示例
创建对象图
2010-07-31 23:01 胡荷芬/张帆/高斐清华大学出版社我要评论(0)字号:T | T
综合评级:
想读(2)在读(0)已读(0)品书斋鉴(0)已有2人发表书评
《UML系统建模基础教程》第7章类图与对象图L,本章主要介绍UML类图和对象图的基本概念、图形的表示方法以及如何使用Rational Rose来创建这两类图形。本小节为大家介绍创建对象图。
AD:
7.4.2 创建对象图
对象图无需提供单独的形式。类图中就包含了对象,所以只有对象而无类的类图就是一个"对象图"。然而,"对象图"在刻画各方面特定使用时非常有用。对象图显示了对象的集合及其联系,代表了系统某时刻的状态。它是带有值的对象,而非描述符,当然,在许多情况下对象可以是原型的。用协作图可显示一个可多次实例化的对象及其联系的总体模型,协作图含对象和链的描述符。如果协作图实例化,则产生了对象图。
在Rational Rose 2003中不直接支持对象图的创建,但是可以利用协作图来创建。
1. 在协作图中添加对象
(1) 在协作图的图形编辑工具栏中,选择图标,此时光标变为"+"号。
(2) 在类图中单击,任意选择一个位置,系统便在该位置创建一个新的对象。
(3) 双击该对象的图标,弹出对象的规范设置对话框。
(4)在对象的规范设置对话框中,可以设置对象的名称、类的名称、持久性和是否多对象等。
(5) 单击"OK"按钮。
2. 在协作图中添加对象与对象之间的链:
(1) 选择协作图的图形编辑工具栏中的图标,或者选择菜单"Tools"(工具)中"Create"(新建)下的"Object Link"选项,此时的光标变为"↑"符号。
(2) 单击需要链接的对象。
(3) 将链的线段拖动到要与之链接的对象中。
(4) 双击链的线段,弹出设置链规范的对话框。
(5) 在弹出的对话框中,在"General"选项卡中设置链的名称、关联、角色以及可见性等。
(6) 如果需要在对象的两端添加消息,可以在"Messages"选项卡中进行设置,如图7-25所示。