UML 对象图 object diagram

1. 什么是对象图

       对象图是表示在某一时刻一组对象以及它们之间关系的图。对象图可以看作是类图在系统某一时刻的实例。对象图作为系统在某一时刻的快照,是类图中的各个类在某一时间点上的实例及关系的静态写照。

       对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例。

对象与类的区别
(1). 对象是一个存在于时间和空间中的具体实体,而类是一个模型,该模型抽象出对象的“本质”:一组公共属性和一组公共方法。
(2). 类是静态的,对象是动态的;类是一般化,对象是个性化;类是定义,对象是实例;类是抽象、对象是具体 。

2. 对象图的作用

1). 对象图常用来描述业务或软件系统在某一时刻,对象的组成、结构和关系。
2). 说明复杂的数据结构。对于复杂的数据结构,有时候很难对其进行抽象成类表达之间的交互关系。使用对象图描绘对象之间的关系可以帮助我们说明某一时刻的复杂的数据结构,从而有助于对复杂数据结构的抽象。
3). 表示每个对象之间的行为。通过一系列的对象图,可以有效的表达事物行为。
4). 举例说明数据/对象结构。

3. 对象图的事物

       组成对象图的元素有:对象、链、注释、约束。

4. 对象图的建模过程

1). 确定参与交互的各个对象的类,可以参照相应的类图和交互图。
2). 确定类之间的关系,如依赖、泛化、关联和实现。
3). 针对交互在某特定时刻各对象的状态,使用对象图为这些对象建模。
4). 建模时,系统分析师要根据建模的目标,绘制对象的关键状态和关键对象之间的连接关系。

5. 例子

公司的架构简单对象图如下

这里写图片描述

### 使用Rational Rose绘制UML对象图 #### 绘制准备 在开始之前,确保已经安装并配置好了 Rational Rose 工具。此工具支持多种 UML 表的创建,包括对象图。 #### 创建新的项目或打开现有项目 如果要在一个新环境中工作,则需新建一个项目;如果是继续已有项目的开发,则应打开对应的项目文件[^4]。 #### 添加对象图到模型中 1. 打开 Rational Rose 并加载目标项目。 2. 寻找菜单栏中的 "Diagram" 或者通过右键点击相应的包节点,在弹出菜单里选择 “New Diagram”,之后挑选 Object Diagram 选项来新增一张空白的对象图表页面[^2]。 #### 定义类及其属性方法 由于对象图展示的是特定时间点上的实例关系,因此先要在类中定义好所需的类、其内部属性以及操作(即方法)。这一步骤通常是在构建对象图前完成的,因为对象图依赖于这些预先存在的类定义。 #### 实例化对象 进入刚刚建立好的对象图编辑界面后,可以从左侧资源面板拖拽已有的类至绘区作为具体的对象表示。此时可以通过修改名称为带有下划线加编号的形式(如 `Student_1`),以此区分不同实例,并设置各实例的具体属性值。 #### 建立关联链接 利用连接器工具描绘出各个对象之间的相互作用路径,比如双向箭头代表两个实体间存在交互行为或是继承自某父级类型的实线带空心菱形等特殊标记。 ```python # Python伪代码模拟创建对象及关联 class Student: def __init__(self, id_, name): self.id = id_ self.name = name student_one = Student(1001, 'Alice') book_instance = Book('ISBN-978', 'Introduction to Modeling') borrow_relation = BorrowRelation(student=student_one, book=book_instance) ``` #### 设置限定符和其他细节 对于某些更细致的关系表达,可以在关联线上附加限定词或其他说明文字,帮助理解具体场景下的逻辑含义。例如,在一对多的关系上标明集合范围或者角色名等额外信息。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值