概述:

对象图都来源于类图,依赖类图对象图。

对象图表示一个类图的一个实例。类图和对象图的基本概念是相似的。对象图也代表了一个系统的静态视图,但这种静态视图是系统在某一时刻的一个快照。

对象图是用于呈现一组对象和它们之间的关系作为一个实例。

目的:

图的目的应该清楚地理解去实现它。对象图的目的与类图类似。

不同的是,一个类图代表一个抽象的模型,包括类和它们之间的关系。但是,对象图表示在某一时刻,这在本质上是具体的实例。

这意味着对象图是更接近实际的系统行为。目的是在一个特定的时刻捕捉到静态的系统视图。

因此,对象图的目的可概括为:

  • 正向和逆向工程。

  • 一个系统的对象间的关系

  • 一个交互的静态视图。

  • 了解对象的行为和他们的关系从实用的角度来看

如何绘制对象图?

我们已经讨论过的一个对象图是类图的一个实例。它意味着一个对象图包含在类图中所用的东西的实例。

因此,这两个图均采用相同的基本元素,但在不同的形式。在类图中的元素是抽象的形式来表示蓝图,并在对象图中元素的具体形式来表示真实世界中的对象。

为了捕捉一个特定的系统,类图的数量是有限的。但是,如果我们考虑对象图,那么我们就可以有无限数量的实例在本质上是独一无二的。因此,只有这些情况下被认为是对系统的影响。

从上面的讨论,很显然,一个单一的对象图不能捕获所有必要的实例,而不能指定一个系统的所有对象。因此,解决方案是:

  • 首先,分析系统,并决定哪些情况下有重要的数据和关联。

  • 其次,只考虑那些实例将涵盖功能。

  • 第三,做一些优化实例的数量是无限的。

绘制对象图之前,应该记住以下事情,并清楚地理解:

  • 对象图是由对象。

  • 对象图中的链接是用来连接对象。

  • 对象和链接的两个要素,用于构造一个对象图。

在开始构建图前,现在来决定下列事项:

  • 对象图应该有一个有意义的名称,以表明其目的。

  • 最重要的要素是要确定。

  • 对象之间的关联,应该予以明确。

  • 不同元素的值需要捕获包含在对象图。

  • 添加适当的注释,需要更清晰点。

下面的图是一个对象图的一个例子。它代表了订单管理系统,我们已经讨论了在类图。下图是该系统的一个实例,在一个特定的时间购买。它具有以下的对象

  • 顾客

  • 订单

  • 特殊订单

  • 一般订单

现在客户对象(C)是与三阶对象(O1,O2和O3)。这些订单对象相关联的特殊订单和一般订单对象(S1,S2和N1)。顾客具有以下三个具有不同数目的订单(12,32和40),用于所考虑的特定的时间。

现在,客户可以在将来增加的订单数量,在这种情况下对象图将反映。如果订单、特殊订单和正常秩订单对象那么观察会发现,他们有一些值。

订单的值是12,32和40,这意味着,这些对象都拥有这些实例时,捕获特定时刻的值(这里是购买时的时刻被视为特定时间)。

相同特别订订单和正常订单对象所具有的订单数分别为20,30和60。如果被认为是一个不同的时间购买,那么这些值将发生相应的变化。

因此,下面的对象图已经绘就考虑到所有上述提到的几点:

在哪里使用对象图?

对象图可以被想象成正在运行的系统在某一时刻的快照。现在加以阐明,我们可以举一个例子,一个正在运行的列车。

现在,如果把一个单元列车运行,那么会发现它具有以下静态图片:

  • 这是一个特别的状态运行

  • 一个特定的乘客数量。如果捕捉在不同的时间,这将在不断改变。

所以,在这里我们可以想像的列车运行的管理单元是一个对象,具有上述值。任何现实生活中的简单或复杂的系统而且的确如此。在一个简短的,对象图用于:

  • 使一个系统的原型。

  • 逆向工程。

  • 造型复杂的数据结构。

  • 从实用的角度了解系统。

UML对象图(转载)的更多相关文章

  1. UML基础 UML对象图解析

    本节向大家介绍一下UML对象图方面的内容,主要包括UML对象图概念介绍,表示法和用途等,希望通过本节的介绍大家对UML对象图有全面的认识,下面让我们一起来学习吧. UML对象图简介 对象图(Objec ...

  2. UML对象图和包图

    UML九已经介绍过的基本图,然后,我们再来看看对象图和包图.  一.对象图 谈到对象.我们不得不说一下对象.对象(Object)是对象类的实例(Instance),用于模型化特定的实体.对象是唯一的. ...

  3. UML对象图、包图

    对象图(Object Diagram)显示了一组对象和他们之间的关系.使用对象图阿狸说明数据结构,类图中的类或组件等实例的快照.对象图和类图一样,反应了系统的静态过程,但它是以实际的或原型化为基础来表 ...

  4. Python设计模式 - UML - 对象图(Object Diagram)

    简介 对象图和类图的基本概念是类似的,可以看作类图在系统某一时刻的镜像,显示了该时刻系统中参与交互的各个对象以及它们之间的关系. 对象图的元素包括对象.链接.包,元素之间的关系和类图相似. 对象图建模 ...

  5. UML: 对象图

    摘自http://www.umlonline.org/school/thread-33-1-1.html Line表示类,line为Line的对象,下划线表明为对象,一般对象图用不到. 除了静态方法, ...

  6. Eclipse下生成/编辑Java类图或时序图(UML)[转载]

    一 引用文章 1.[eclipse下生成Java类图和时序图,生成UML图(更完整版)](https://blog.csdn.net/guomainet309/article/details/5302 ...

  7. UML系列02之 UML类图(一)

    概要 本章介绍类图中类的UML表示方法.内容包括:类图介绍实体类的UML表示抽象类和接口的UML表示 转载请注明出处:http://www.cnblogs.com/skywang12345/p/352 ...

  8. UML和模式应用

    引言 Applying UML and Patterns,以一个商店POS系统NextGen和一个掷骰子游戏Monopoly为例,围绕OOA/D的基本原则GRASP,以迭代作为基本方法.以UML为表达 ...

  9. UML图的使用

    UML(Unified Modeling Language)中文统一建模语言,是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对象的.软件密集系统的制品的开放方法. 类之间的关系 在 ...

随机推荐

  1. QQ分组实现,可收缩---ExpandableListView

    activity: package com.zzw.qqgroup; import java.util.ArrayList; import java.util.HashMap; import java ...

  2. 清除VS2012生成的不必要文件

    VS2012生成的项目文件中会有一个与解决方案同名的sdf文件,并且比较大,可以删除的,具体方法如下: 英文版步骤如下: Tools->Options->Text Editor->C ...

  3. Oracle 12c 数据库中scott用户不存在的解决方法

    -- 使用超级管理员登录CONN sys/change_on_install AS SYSDBA ;-- 创建c##scott用户CREATE USER c##scott IDENTIFIED BY ...

  4. 企业该如何进行高效IT运维管理

    企业该如何进行高效IT运维管理 在企业内部也是一样,当大量的生产和经营数据集中在数据中心,一旦人们与数据中心因为IT故障而失去联系,停滞的也许不是个人应用受阻这样简单的后果.我们谁也不想看到自己企业的 ...

  5. iOS中MVC设计模式

    在组织大型项目的代码文件时,我们常用MVC的思想.MVC的概念讲起来非常简单,就和对象(object)一样.但是理解和应用起来却非常困难.今天我们就简单总结一下MVC设计理念. MVC(Model V ...

  6. ios8中的UIScreen

    let orientation: UIInterfaceOrientation = UIApplication.sharedApplication().statusBarOrientation pri ...

  7. Swift TabeleViewCell dequeueReusableCellWithIdentifier 使用的新的细节,原来现在可以这样

    今天在看官方的TableView Guide,突然想起来最近写的一个代码中实现tableViewCell复用的时候有点问题: var cell = UITableViewCell(style: UIT ...

  8. 微信扫码支付asp.net(C#)实现步骤

    支付提交页面: [HttpPost] public ActionResult index(decimal amount) { //生成订单10位序列号,此处用时间和随机数生成,商户根据自己调整,保证唯 ...

  9. GNU make 总结 (四)

    一.执行make程序 make的退出状态: 0 --- 表示执行成功 1 --- 表示执行make时使用了“-q”参数,而且当前工程中存在过时的目标文件 2 --- 执行过程中出现了错误,同时会提示错 ...

  10. Java实现TCP之Echo客户端和服务端

    Java实现TCP之Echo客户端和服务端 代码内容 采用TCP协议编写服务器端代码(端口任意) 编写客户机的代码访问该端口 客户机按行输入 服务器将收到的字符流和接收到的时间输出在服务器consol ...