`
dragonxiangfu
  • 浏览: 157011 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

UML对象关系学习总结

 
阅读更多

本文就UML对象关系做了一些总结,学习分析了关联关系,聚合关系以及组合关系的概念及特点,并做出了举例分析和延伸思考。


    【UML对象关系之关联关系】

    关联关系是一种最简单、最抽象的对象间关系描述。它只是描述了对象A于对象B之间存在一种业务上、概念上的逻辑关系,但是关联关系的双方不包含对方的属性。

    【UML对象关系之聚合关系】

    聚合关系是一种特殊的关联关系,除了具备关联关系的特性之外,还包括了以下的一些规则:

    A. 对象A和对象B之间存在一种包含的关系

    B. 对象A和对象B之间必有一方为“容器”,另外一方为“元素”。即“whole-part”关系

    C. 容器方和元素方对象的生命周期是彼此独立的,并不依赖于对方而存在,也就是说是一

    种“松散”的关联。容器和元素可以被独立创建、销毁,容器不存在了不影响元素的存在,元素不存在了容器可以依然存在

    D. 容器方可以没有元素,也可以有一个至多个元素

    E. 元素方可以“被包含于”一个容器,也可以“被包含于”多个容器

    F. 向容器添加元素,或者从容器中移除元素并不影响容器

    【UML对象关系之组合关系】

    组合关系是一种特殊的聚合关系,除了具备关联关系、聚合关系的特性之外,还包括了以下的一些规则:

    A. 容器方和元素方对象的生命周期是互相依赖的。即元素依赖于容器而存在,一旦容器不存在了那么元素也就不可能存在。容器必须优先于元素而被创建,元素必须优先于容器而被销毁。

    B. 元素方只能“被包含于”一个容器

    【UML对象关系之举例分析】

    A. 关联关系的例子分析:

    学生 ------------- 成绩

    学生与成绩之间就是一个关联关系,你不能把学生的属性写到成绩对象中去,同理不能把成绩的属性写到学生对象中去,但两者之间确实存在一种业务上的联系,而且是固定的

    B. 聚合关系的例子分析:

    班级 ------------- 学生 / 汽车 ------------- 配件

    班级与学生,汽车与配件之间的关系就是一个聚合关系。首先一个班级可以包含零至多个学生,一部汽车可以包含零(未组装之前)至多个配件。

    其次学生可以先被创建,然后创建班级,再向班级中添加,移除学生。配件可以先被创建并保存到仓库,然后再组装成汽车。在班级,汽车对象没有形成之前,学生与配件的对

    象可以已经存在(即容器和元素对象的生命周期是独立的)

    C. 组合关系的例子分析:

    基金账户 ------------- 单笔交易

    基金账户与单笔交易就是一个组合关系。首先单笔交易必须依赖于基金账户而存在,也就是说我们必须先创建基金账户这个“容器方”,之后才能够创建单笔交易这个“元素方”,然后再把单笔交易挂到(添加)基金账户下。没有基金账户预先存在,我们不能执行单笔交易。我们不能先创建单笔交易,再创建基金账户,然后再挂靠交易。

    这一点就不同于上面的班级与学生,汽车与配件的存在关系了。

    其次单笔交易只能挂靠在某一个特定的基金账户下,也就是说元素方只能“被包含于一个”容器

    【UML对象关系之延伸思考】

    在对象和对象之间的关系中,有时会提到“依赖”关系,即对象A依赖于对象B而完成某项操作,那么这种关系是不是也属于“关联关系”呢?

    个人认为这不属于一种“关联关系”。因为上面我们提到的三种关系中,每一种关系除了是固定的关系之外,还有一个重要的特点就是这些关系是需要“被持久化,被保存”起来的。

    而依赖关系只是对象和对象之间的引用(或称调用)关系,这种关系只发生在运行期间而不是业务上,概念上的联系,并不需要被保存。所以“依赖关系”并不属于UML中的对象关系。

    分享到:
    评论

    相关推荐

      面向对象技术与UML课件及源代码-by 南邮-陈杨

      本书为中南大学精品教材立项项目,分为上下两篇共21章,涵盖了面向对象技术中Java开发环境配置、程序设计基础、面向对象原理以及UML的知识。本书使用的开发环境是JDK 1.6+Eclipse 3.3+Rational Rose 2003,逐步引领...

      uml 基础、案例与应用(第三版)

      UML基础、案例与应用(第三版) 目录 第一部分 基础知识 第1章 UML简介 3 1.1 在纷繁复杂中寻求解决问题的办法 3 1.2 UML的诞生 4 1.3 UML的组成 5 1.4 其他特征 12 ...附录C UML图总结 322

      UML和模式应用(架构师必备).part07.rar

      14.5 基于UML表示法技术的对象设计技术的重要性 14.6 其他对象设计技术:CRC卡 第15章 UML交互图 15.1 顺序图和通信图 15.2 UML建模初学者没有重视交互图 15.3 常用的UML交互图表示法 15.4 顺序图的基本表示法...

      UML和模式应用(架构师必备).part06.rar

      14.5 基于UML表示法技术的对象设计技术的重要性 14.6 其他对象设计技术:CRC卡 第15章 UML交互图 15.1 顺序图和通信图 15.2 UML建模初学者没有重视交互图 15.3 常用的UML交互图表示法 15.4 顺序图的基本表示法...

      UML系列总结

      我们大家已经学习过了UML(unifiedmodulinglanguage)统一建模语言,UML中核心是九种图,这九种图的核心就是四种关系,关联(association)、依赖(dependency)、继承(generalization)、实现(realization)这四种关系,...

      UML和模式应用(架构师必备).part02.rar

      14.5 基于UML表示法技术的对象设计技术的重要性 14.6 其他对象设计技术:CRC卡 第15章 UML交互图 15.1 顺序图和通信图 15.2 UML建模初学者没有重视交互图 15.3 常用的UML交互图表示法 15.4 顺序图的基本表示法...

      UML基础、案例与应用(第三版)].施穆勒.扫描版_2分.pdf

      目录: 第一部分 基础知识 第1章 UML简介 3 1.1 在纷繁复杂中寻求解决问题的办法 3 1.2 UML的诞生 4 1.3 UML的组成 5 1.3.1 类图 5 1.3.2 对象图 6 1.3.3 用例图 7 ...附录C UML图总结 322 TAG: UML

      uml实验报告整合

      2.使用UML工具软件构建系统的分析类图。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据***系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行分析,识别出...

      UML和模式应用(架构师必备).part01.rar

      14.5 基于UML表示法技术的对象设计技术的重要性 14.6 其他对象设计技术:CRC卡 第15章 UML交互图 15.1 顺序图和通信图 15.2 UML建模初学者没有重视交互图 15.3 常用的UML交互图表示法 15.4 顺序图的基本表示法...

      UML之类图和对象图

      进行UML视频学习已经有了一段时间了,又有了一定的了解了,将自己最近的收获记录一下和大家分享!思路呈现有什么作用?①对系统的词汇建模②对简单协作建模③对逻辑数据库模式建模什么是对象图?关于类和类图的一些...

      JAVA&JEE知识点汇总—真正自己的学习总结

      包括了Java基础知识、面向对象、IO流、线程、网络编程、JEE、servlet、JSP、Javascript、框架理解、ORM对象关系型数据库映射、hibernate、spring、事务、EJB、UML等技术的基本理解和总结,文档共66页!

      UML和模式应用(架构师必备).part03.rar

      14.5 基于UML表示法技术的对象设计技术的重要性 14.6 其他对象设计技术:CRC卡 第15章 UML交互图 15.1 顺序图和通信图 15.2 UML建模初学者没有重视交互图 15.3 常用的UML交互图表示法 15.4 顺序图的基本表示法...

      UML和模式应用(架构师必备).part04.rar

      14.5 基于UML表示法技术的对象设计技术的重要性 14.6 其他对象设计技术:CRC卡 第15章 UML交互图 15.1 顺序图和通信图 15.2 UML建模初学者没有重视交互图 15.3 常用的UML交互图表示法 15.4 顺序图的基本表示法...

      UML和模式应用(架构师必备).part05.rar

      14.5 基于UML表示法技术的对象设计技术的重要性 14.6 其他对象设计技术:CRC卡 第15章 UML交互图 15.1 顺序图和通信图 15.2 UML建模初学者没有重视交互图 15.3 常用的UML交互图表示法 15.4 顺序图的基本表示法...

      UML和模式应用(架构师必备).part08.rar

      14.5 基于UML表示法技术的对象设计技术的重要性 14.6 其他对象设计技术:CRC卡 第15章 UML交互图 15.1 顺序图和通信图 15.2 UML建模初学者没有重视交互图 15.3 常用的UML交互图表示法 15.4 顺序图的基本表示法...

      uml rational rose

      2.使用UML工具软件构建系统的分析类图。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据***系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行分析,识别出...

      java多线程设计模式详解(PDF及源码)

      目录 漫谈UML UML 类图 类和层次结构的关系 接口与实现 聚合 访问控制 类间的关联性 顺序图 处理流程和对象间的协调 时序图 Introduction 1 Java语言的线程 Java语言的线程 何谓线程 明为追踪处理流程,实则追踪...

    Global site tag (gtag.js) - Google Analytics