UML之对象图和包图

UML的九种图基本都已经介绍完了,那么我们回过头再来研究一下对象图和包图。

 一、对象图

谈到对象,我们不得不说一下对象,对象(Object)是对象类的实例(Instance),用于模型化特定的实体。对象是唯一的,可以标识的,比如我和你就是两个对象,我们有自己的名字。

对象的图标与对象类一样是用实线矩形框表示的,矩形框中含有若干分隔框,分别表示对象的名字、属性以及其他成分等。对象名分隔框中包含一个对象的名字,置于框的中央。对象名的格式为:对象名:类列表[状态列表]。

对象图(Object Diagram)表示一组对象和它们之间的联系。对象图是一个系统的详细状态在某一时刻的快照。对象图实质上是对象类图的实例,或者是交互图的静态部分的实例,对象图有时也称为实例图。对象图的表示方法与类图没有什么不同,对象图同样是由节点和弧组成。

二、包图

了解包图之前应先学习包的概念。包(Package)是一种对模型元素进行成组组织的通用机制。包用于定义一个名字空间(Namespace)或容器(Container),它本身是UML的一种模型元素。运用包可以把语义上相近的可能一起变更的模型元素组织在同一个包里,将包中的元素作为一个整体对待,并且控制它们的可视性和存取。

包的图标是一个大矩形(内容框),左上角带一个小矩形(名字框)。包与包之间的联系主要有两种:依赖(尤其是输入依赖)和泛化。

 1)依赖

包的依赖联系同样是用一条虚箭线表示,虚箭线从依赖包(源)指向独立包(目标)。输入依赖(Import Dependency)是包与包之间的一种存取依赖关系。输入是指允许一个包中的元素存取另一个包中的元素。输入依赖是单向的,它的表示方法是在虚箭线上标有构造型《Import》,箭头从输入方的包指向输出方的包

包之间的合并联系也是一种依赖关系,它用一条带有构造型《merge》的虚箭线表示,从接受合并包(Receiving Package)指向被合并包(Merged Package)。

 2)泛化

包之间的泛化联系与对象类之间的泛化联系十分类似,对象类之间泛化的概念和表示法在此大多可以使用,泛化联系表达事物的一般与特殊的关系。

包图由包和包之间的联系构成,是维护和控制系统总体结构的重要建模工具。包在很多方面与对象类相似,但是在建立系统模型时特别要注意区别包和类。对象类是问题领域或解决方案中的事物的抽象,包是把这些事物组织成模型的一种机制。包可以没有标识,因为它没有实例i,在运行系统中不可见;类必须有标识,它有实例,类的实例(对象)是运行系统的组成元素。

三、实战演练

下面分别是我关于机房收费系统的对象图和包图。

四、总结

画对像图和包图的时候要注意,对象图是类图的实例化,把类图具体化就可以了。包图和类图类似,但它没有实例,所以可以没有实例。

时间: 2024-10-22 17:34:14

UML之对象图和包图的相关文章

uml精粹——6.对象图 & 7.包图

6.对象图object diagram 一个对象图是系统在某一刻时对象的快照snapshot.他展示的实例而不是类,对象图也经常叫实例图instance diagram. 你可使用对象图来展示对象们的样例配置example configuration.在对象间的连接connection比较复杂的时候很有用. 见图6.1. 你可以看出6.2是实例,因为名字都有下划线.每个名字都用 实例名:类名 的形式.两个部分的名字都是可选的,所以John, :Person, aPerson也是合法的名字.如果你

uml系列(五)——对象图和包图

对象图,对象图是系统在某一时刻的对像.关系和属性值的快照.相当于看电视的时候的暂停.便于说明设计者的意图,模拟系统的运行状态,分析说明源代码. 再说对象图之前,我们首先需要了解对象是什么.我们一直都再说面向对象,那么到底什么才算是对象呢?对象都是由什么构成的呢?对象和类又有啥关系呢? 首先说对象,简单的说,能用类实例化的,具有状态.行为和标识的都是对象. 对象的构成,对象图由三部分构成:1.标识符.2.状态.3.操作.其中状态又包括属性和值这两种. 对象与类的关系,简单的说,如果类的表示是一个类

UML静态视图——类图、对象图、包图

画类图最重要的就是抽象出类,先来回忆类的基本内容. 一.类 1.类的概念: 类是面向对象程序设计的中的一个基本概念,类是具有相同属性.方法.语义和关系的一组对象的集合. 2.类的分类: 实体类:保存要放进永久存储的信息 边界类:位于系统与外界的交界处.包括所有的窗体.报表.打印机等硬件接口以及与其他系统的接口. 控制类:负责协调其他类的工作.一般每个用例都有一个控制类. 3.类的表达方式: 二.类图 类图是我们最常用的一种图,类图更直观的使我们了解一个系统的体系结构,类图通过图形化的方式描述了系

UML九种图 之 包图和对象图

前言     对象图和包图依旧是对系统的静态的描述.UML九种图加上包图,其实是十幅图. 包图     1.构成           2.包中的元素      类.接口.用例.构件.其它包等.(若包被撤销,其中的元素被撤销)     3.包之间的关系      泛化.细化.依赖(常用)     4.包的作用     (1)逻辑上把一个复杂的图模块化     (2)组织源代码     5.包的常见问题     (1)避免循环依赖     (2)以包为单位测试     (3)概念和语义相近的元素包含

[机房重构]UML图(包图、类图、用例图、时序图)

机房重构画图是一个非常重要的一个阶段,机房重构之前也画过UML的图,但是这一次与上一次不同,这一次有分层的思想在里面. 包图 之前三层的时候各层之间的传递很清晰,包图也很容易就画出来了,先来看之前三层的包图.通过实体将输入的信息从U层传入B层,同时通过实体将信息从D层传入B层,B层进行判断,通过实体将结果返回给U层. 之前的三层不能很好的实现低耦和的思想,并且我们学习了设计模式,要继续进行分层,进行七层的编写.之前不太理解,看大家的博客,知道在U层和B层之间加入了外观模式,降低U层和B层之间的耦

UML-类图,包图

UML构造设计模型 一.类图 二.包图 三.组件图 四.部署图 一.类图 1.类:类由三格表示:类名,类的属性,类的操作 类名: 首字母大学 类的属性:-name:String     可见性 属性名:类型  =默认值 可见性包含4种:  + public     -private   #protected  *package 类的操作: +getName():String      可见性  操作名(参数):返回值类型 2.类与类之间的关系. 四种:关联关系: 泛化关系: 依赖关系:实现关系

UML视图(三)包图

包图,跟类的作用很相似,同是把相关或某方面具有共同特征的信息房子一起分隔开来:不同的是,包的范围更大容量更广. 包能容纳UML中的任何元素,例用例.业务实体.包(子包)等.Rose画图软件中的Use Case View(用例视图).Logic View(逻辑视图)和Component View(组件视图)就是三个包. 包是一种容器,如同文件夹一样,它将某些信息分类,形成逻辑单元,使用包的目的是为了整合复杂的信息. 包这么亲和,那为了避免无意的滥用,造成混乱.对包的划分进行了一些约束,总结为一句话

<十四>UML核心视图静态视图之类图和包图

一:类图(行为类和实体类) --->类图用于展示系统中的类及其相互之间的关系 --->概念层类图 --->说明层类图 二:概念层类图 --->概念层的观点认为:在这个层次的类图描述的是现实世界中问题领域的概念理解. --->在概念层上,类图着重于对问题领域的概念化理解,而不是实现,因此类名称通常都是问题领域中实际事物的名称.就是处于概念阶段. --->比如:网上购物主要由商品,订单,支付卡这几个类构成. 三:说明层类图 --->说明层类图是搭建在现实世界和最终实现

UML:包图

什么是包图?包图是对UML图进行“打包”,按照你期望的方式进行组织的一种图.包图用于展示宏观上的内容.往往利用包图对类进行“打包”,但包图其实可以对任何UML图进行“打包”.包图是逻辑上的概念,你可以根据你的意图来任意组织.包图用于软件设计时,可从宏观上来组织你的设计,展示你的设计意图.包图用于软件设计时,可用来表示packages(in Java)或Namespaces(in .net). 包图的语法很简单,见下图: 一个包(Package)的样子就好像一个文件夹,另外包可以包含包. 包与包之