UML九已经介绍过的基本图,然后,我们再来看看对象图和包图。

 一、对象图

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

对象的图标与对象类一样是用实线矩形框表示的,矩形框中含有若干分隔框,分别表示对象的名字、属性以及其它成分等。对象名分隔框中包括一个对象的名字,置于框的中央。

对象名的格式为:对象名:类列表[状态列表]。

对象图(Object Diagram)表示一组对象和它们之间的联系。

对象图是一个系统的具体状态在某一时刻的快照。对象图实质上是对象类图的实例,或者是交互图的静态部分的实例,对象图有时也称为实例图。对象图的表示方法与类图没有什么不同,对象图相同是由节点和弧组成。

二、包图

了解包图之前应先学习包的概念。

包(Package)是一种对模型元素进行成组组织的通用机制。

包用于定义一个名字空间(Namespace)或容器(Container)。它本身是UML的一种模型元素。

运用包能够把语义上相近的可能一起变更的模型元素组织在同一个包里。将包中的元素作为一个总体对待,而且控制它们的可视性和存取。

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

 1)依赖

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXdsenh4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

包的依赖联系相同是用一条虚箭线表示,虚箭线从依赖包(源)指向独立包(目标)。

输入依赖(Import Dependency)是包与包之间的一种存取依赖关系。输入是指同意一个包中的元素存取还有一个包中的元素。输入依赖是单向的。它的表示方法是在虚箭线上标有构造型《Import》,箭头从输入方的包指向输出方的包

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

 2)泛化

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

包图由包和包之间的联系构成,是维护和控制系统整体结构的重要建模工具。

包在非常多方面与对象类相似,可是在建立系统模型时特别要注意差别包和类。对象类是问题领域或解决方式中的事物的抽象。包是把这些事物组织成模型的一种机制。包能够没有标识,由于它没有实例i。在执行系统中不可见;类必须有标识,它有实例,类的实例(对象)是执行系统的组成元素。

三、实战演练

以下各自是我关于机房收费系统的对象图和包图。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXdsenh4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

四、总结

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

版权声明:本文博主原创文章,博客,未经同意不得转载。

UML对象图和包图的更多相关文章

  1. UML对象图、包图

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

  2. UML精粹4 - 对象图,包图,部署图,用例

    对象图object diagram 对象图是某个时间点上的对象在系统中的快照,也经常被称为实例图.一般在展示组合对象结构时比较有用.例如 组合结构的类图 一个时刻的对象图 包图package diag ...

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

    对象图,对象图是系统在某一时刻的对像.关系和属性值的快照.相当于看电视的时候的暂停.便于说明设计者的意图,模拟系统的运行状态,分析说明源代码. 再说对象图之前,我们首先需要了解对象是什么.我们一直都再 ...

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

    绘画类的最重要的图是抽象类.让我们回顾一下类的基本内容. 一.分类 1.类的概念: 面向对象编程的类是一个基本概念.类是具有相同特性的.办法.集合语义和一组对象的关系. 2.类分类: 实体类:保存要放 ...

  5. UML 结构图之包图 总结

    [注] 本文不是包图的基础教程, 只是包图的图形总结. 学习UML图形 推荐阅读<UML参考手册>第2版. http://www.umlchina.com/ 推荐微软的开发软件设计模型 h ...

  6. UML九种图 之 包图和对象图

    前言     对象图和包图依然是对系统的静态的描写叙述.UML九种图加上包图,事实上是十幅图. 包图     1.构成           2.包中的元素      类.接口.用例.构件.其他包等.( ...

  7. UML基础 UML对象图解析

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

  8. 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战

    发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...

  9. UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战

    发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...

随机推荐

  1. 领域驱动设计(DDD)部分核心概念的个人理解(转)

    领域驱动设计(DDD)是一种基于模型驱动的软件设计方式.它以领域为核心,分析领域中的问题,通过建立一个领域模型来有效的解决领域中的核心的复杂问题.Eric Ivans为领域驱动设计提出了大量的最佳实践 ...

  2. PL SQLDEVELOPMENT导出数据库脚本

    Tools--export Tables--选择表--SQL Inserts-- watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHprMTU2MjExMD ...

  3. SDL 简单入门学习

    write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件 概要 实际学习使用SDL创建窗体,并绘制图形. 前言 今天想要做一个简单的demo ...

  4. Codeforces 12D Ball 树形阵列模拟3排序元素

    主题链接:点击打开链接 #include<stdio.h> #include<iostream> #include<string.h> #include<se ...

  5. paip.jdk1.4 1.5(5.0) 1.6(6.0) 7.0 8.0特点比较与不同

    paip.jdk1.4 1.5(5.0)  1.6(6.0) 7.0   8.0特点比较与不同 作者Attilax ,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地 ...

  6. VS2015在对GIT的支持

    VS2015在对GIT的支持 相比VS2013,VS2015在对GIT的支持上有了更强大的支持.本篇仅作抛砖引玉,不做过多介绍: 1. 打开VS 2015起始页 2. 打开团队资源管理器 打开[本地G ...

  7. 【转】Robot Framework 快速入门

    目录 介绍 概述 安装 运行demo 介绍样例应用程序 测试用例 第一个测试用例 高级别测试用例 数据驱动测试用例 关键词keywords 内置关键词 库关键词 用户定义关键词 变量 定义变量 使用变 ...

  8. Gradle 载入中 Android 下一个.so档

    1.在project下新建 jni/libs  目录   . jni 是和原来的libs  同级 ,将全部的.so文件放入 新建的libs文件下 2.在build.gradle 文件里新增下面内容到a ...

  9. StackExchange.Redis 使用 - 事件(五)

    ConnectionMultiplexer 可以注册如下事件 ConfigurationChanged - 配置更改时 ConfigurationChangedBroadcast - 通过发布订阅更新 ...

  10. div显示和隐藏

    它是实现比较简单.style.display控制层隐藏或显示属性. <html> <body> <script> function show(){ document ...