UML对象图(转载)
概述:
对象图都来源于类图,依赖类图对象图。
对象图表示一个类图的一个实例。类图和对象图的基本概念是相似的。对象图也代表了一个系统的静态视图,但这种静态视图是系统在某一时刻的一个快照。
对象图是用于呈现一组对象和它们之间的关系作为一个实例。
目的:
图的目的应该清楚地理解去实现它。对象图的目的与类图类似。
不同的是,一个类图代表一个抽象的模型,包括类和它们之间的关系。但是,对象图表示在某一时刻,这在本质上是具体的实例。
这意味着对象图是更接近实际的系统行为。目的是在一个特定的时刻捕捉到静态的系统视图。
因此,对象图的目的可概括为:
正向和逆向工程。
一个系统的对象间的关系
一个交互的静态视图。
了解对象的行为和他们的关系从实用的角度来看
如何绘制对象图?
我们已经讨论过的一个对象图是类图的一个实例。它意味着一个对象图包含在类图中所用的东西的实例。
因此,这两个图均采用相同的基本元素,但在不同的形式。在类图中的元素是抽象的形式来表示蓝图,并在对象图中元素的具体形式来表示真实世界中的对象。
为了捕捉一个特定的系统,类图的数量是有限的。但是,如果我们考虑对象图,那么我们就可以有无限数量的实例在本质上是独一无二的。因此,只有这些情况下被认为是对系统的影响。
从上面的讨论,很显然,一个单一的对象图不能捕获所有必要的实例,而不能指定一个系统的所有对象。因此,解决方案是:
首先,分析系统,并决定哪些情况下有重要的数据和关联。
其次,只考虑那些实例将涵盖功能。
第三,做一些优化实例的数量是无限的。
绘制对象图之前,应该记住以下事情,并清楚地理解:
对象图是由对象。
对象图中的链接是用来连接对象。
对象和链接的两个要素,用于构造一个对象图。
在开始构建图前,现在来决定下列事项:
对象图应该有一个有意义的名称,以表明其目的。
最重要的要素是要确定。
对象之间的关联,应该予以明确。
不同元素的值需要捕获包含在对象图。
添加适当的注释,需要更清晰点。
下面的图是一个对象图的一个例子。它代表了订单管理系统,我们已经讨论了在类图。下图是该系统的一个实例,在一个特定的时间购买。它具有以下的对象
顾客
订单
特殊订单
一般订单
现在客户对象(C)是与三阶对象(O1,O2和O3)。这些订单对象相关联的特殊订单和一般订单对象(S1,S2和N1)。顾客具有以下三个具有不同数目的订单(12,32和40),用于所考虑的特定的时间。
现在,客户可以在将来增加的订单数量,在这种情况下对象图将反映。如果订单、特殊订单和正常秩订单对象那么观察会发现,他们有一些值。
订单的值是12,32和40,这意味着,这些对象都拥有这些实例时,捕获特定时刻的值(这里是购买时的时刻被视为特定时间)。
相同特别订订单和正常订单对象所具有的订单数分别为20,30和60。如果被认为是一个不同的时间购买,那么这些值将发生相应的变化。
因此,下面的对象图已经绘就考虑到所有上述提到的几点:
在哪里使用对象图?
对象图可以被想象成正在运行的系统在某一时刻的快照。现在加以阐明,我们可以举一个例子,一个正在运行的列车。
现在,如果把一个单元列车运行,那么会发现它具有以下静态图片:
这是一个特别的状态运行
一个特定的乘客数量。如果捕捉在不同的时间,这将在不断改变。
所以,在这里我们可以想像的列车运行的管理单元是一个对象,具有上述值。任何现实生活中的简单或复杂的系统而且的确如此。在一个简短的,对象图用于:
使一个系统的原型。
逆向工程。
造型复杂的数据结构。
从实用的角度了解系统。
UML对象图(转载)的更多相关文章
- UML基础 UML对象图解析
本节向大家介绍一下UML对象图方面的内容,主要包括UML对象图概念介绍,表示法和用途等,希望通过本节的介绍大家对UML对象图有全面的认识,下面让我们一起来学习吧. UML对象图简介 对象图(Objec ...
- UML对象图和包图
UML九已经介绍过的基本图,然后,我们再来看看对象图和包图. 一.对象图 谈到对象.我们不得不说一下对象.对象(Object)是对象类的实例(Instance),用于模型化特定的实体.对象是唯一的. ...
- UML对象图、包图
对象图(Object Diagram)显示了一组对象和他们之间的关系.使用对象图阿狸说明数据结构,类图中的类或组件等实例的快照.对象图和类图一样,反应了系统的静态过程,但它是以实际的或原型化为基础来表 ...
- Python设计模式 - UML - 对象图(Object Diagram)
简介 对象图和类图的基本概念是类似的,可以看作类图在系统某一时刻的镜像,显示了该时刻系统中参与交互的各个对象以及它们之间的关系. 对象图的元素包括对象.链接.包,元素之间的关系和类图相似. 对象图建模 ...
- UML: 对象图
摘自http://www.umlonline.org/school/thread-33-1-1.html Line表示类,line为Line的对象,下划线表明为对象,一般对象图用不到. 除了静态方法, ...
- Eclipse下生成/编辑Java类图或时序图(UML)[转载]
一 引用文章 1.[eclipse下生成Java类图和时序图,生成UML图(更完整版)](https://blog.csdn.net/guomainet309/article/details/5302 ...
- UML系列02之 UML类图(一)
概要 本章介绍类图中类的UML表示方法.内容包括:类图介绍实体类的UML表示抽象类和接口的UML表示 转载请注明出处:http://www.cnblogs.com/skywang12345/p/352 ...
- UML和模式应用
引言 Applying UML and Patterns,以一个商店POS系统NextGen和一个掷骰子游戏Monopoly为例,围绕OOA/D的基本原则GRASP,以迭代作为基本方法.以UML为表达 ...
- UML图的使用
UML(Unified Modeling Language)中文统一建模语言,是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对象的.软件密集系统的制品的开放方法. 类之间的关系 在 ...
随机推荐
- 批量删除的js代码
<script type="text/javascript"> function seltAll(){ var chckBoxSign = document.getEl ...
- How to executing direct SQL statements [Axapta, AX4.0, AX2009, AX2012]
Today I want to talk about executing SQL statements in X++ on both the current AX database and exter ...
- [terry笔记]Oracle10g/11g安装-redhat5.5
操作系统准备工作 其实真正的进入图形界面安装是简单的,只是前期的配置比较繁琐,如版本.空间.位置.软件包.用户.环境变量.内核参数,这里主要讨论前期配置. 10g与11g的单实例安装基本一样,主要区别 ...
- 002-python基础-hello-world
python hello.py 时,明确的指出 hello.py 脚本由 python 解释器来执行. 如果想要类似于执行shell脚本一样执行python脚本,例: ./hello.py ,那么就需 ...
- DB2表结构DDL脚本导出
db2look是导出DDL语句脚本的命令,以下是对db2look的一个简单介绍. 语法:db2look -d <数据库名> -e -t <表名> -o <文件名>. ...
- oracle 约束
约束是表中列的属性,用来维护数据结构完整性的一种手段约束的种类:NOT NULLUNIQUEPARIAMRY KEYFOREIGN KEYCHECK enble validate 检查现有数据和新数据 ...
- R中统计量的中英文解释
Intercept————截距 formula————公式 Residual standard error残差标准差: 1.319 on 10 degrees of freedom 自由度为10 ...
- 如何实现GridView的选中,编辑,取消,删除功能
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { string sqlstr = &qu ...
- [shell基础]——uniq命令
uniq命令常见选项 去除重复行 -u 显示不重复的行 -d 显示有重复的行 -c 打印每一行重复的次数 测试文本内容如下: # cat 4.txt 11 ...
- 【BOZJ 1901】Zju2112 Dynamic Rankings
Description 给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是 ...