版权声明
- 本文原创作者:谷哥的小弟
- 作者博客地址:http://blog.csdn.net/lfdfhl
- 本文参考资料:《UML面向对象分析、建模与设计(第2版)》吕云翔,赵天宇 著
对象图
对象图(object diagram)显示了某一时刻的一组对象及它们之间的关系。对象图可被看作是类图的实例,用来表达各个对象在某一时刻的状态。举个例子,对于一场足球比赛,所有球员协同进行比赛,整场比赛相当于系统的类图。如果在比赛的某一时间暂停一下,就可以发现每个球员所处的位置以及和其他球员的关系;更深一步,可以明白这些球员是如何协作的。
核心知识点
请务必熟悉并掌握以下核心知识点。
对象图的组成元素,包括对象和链。
对象
对象是类的实例,是一个封装了状态和行为的具有良好边界和标识符的实体。对象通过其类型、名称和状态区别于其他对象而存在。在 UML中,对象的表示法与类相似,使用一个矩形框表示。
对象的名称在矩形框的顶端显示,用以在某一语境下区别于其他对象。名称是一个字符串,类似于类的名称。对象名也可以有简单名和路径名之分。每个对象都有一个类型,对象的类型必须是具体的类目。
对象名的三种表示法如下:
- stu:Student 标准表示法
- :Student 匿名表示法
- stu 省略类名的表示法
示例如下:
链
链是关联关系的实例,是两个或多个对象之间的独立连接。因此,链在对象图中的作用就类似于关联关系在类图中的作用。在 UML中,链同样使用一条实线段来表示。
示例如下:
链主要用来导航。链一端的一个对象可以得到另一位置上的一个或一组对象,然后向其发送消息。链的每一端也可以显示一个角色名称,但不能显示多重性(因为实例之间没有多重性)。
航空购票系统对象图
在此,我们依然以航空购票系统为例介绍对象图的绘制。
确定对象及对象状态
我们确定系统某一时刻的几个重要对象:用户、机票、机场与航班以及这些对象的状态。
与创建用例图类似,请在Model中创建对象图;图示如下:
请选择UML Structual ,再选择Object;图示如下:
创建完毕;图示如下:
我们先来绘制User对象。
请在工具箱中选择Object,并添加至绘图区;图示如下:
点击确定后图示如下:
选择User对象,右键选择功能与属性,再选择设置运行状态;请在此设置变量名和值;图示如下:
点击确定后,图示如下:
类似地,我们完成其它对象的绘制;图示如下:
补充对象间的链
在确定对象图中的对象之后使用链将有关联的对象进行链接得出最终的对象图。
在Object Relationships中选择associate连接有关联的对象;图示如下:
至此,我们完成了航空购票系统对象图的绘制。