`
hzcaixiao
  • 浏览: 33796 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

回顾UML-关系

UML 
阅读更多

熟练运用UML是今年给自己在技术上的一个目标--希望达到的目标是在讨论任何技术业务问题时,第一时间想到、用到UML的方式和大家沟通和交流。

以前有过学习UML的经历,也在项目中断断续续采用一些,可能是现在用的越来越少,很多符号都变得越来越生疏,或许本来就没有学好,看到一些牛人随时使用UML的方式进行沟通,还是挺羡慕的。与其说回顾,不如说重新学习来的更加实际些。

静态视图的类就不再学习了,从关系开始吧...

 

对于UML的关系很多地方都定义四类关系:依赖、泛化、关联、实现。有些地方可能会更多些,于是去参考了权威之作《UML参考手册》。先附张官方的图看看

 

  • 关联(association): 系统中对象或实例之间的离散连接。这次放弃使用rose,改用ArgoUML来画UML图

 

public class App {
    public AppCategory myAppCategory;
}

public class AppCategory {
  public Vector  myApp;
}

关联中有两种特殊的关联是聚合(Aggregation)合成(Composition)

区别
聚合 合成
含义 has-a contains-a
整体与部分关系 比较弱(弱关联) (强关联)
生存关系

部分事物的对象与代表聚合事物的对象的生存期无关,

一旦删除了聚合对象不一定就删除了 代表部分事物的对象

一旦删除了组合对象,

同时也就删除了代表部分事物的对象

 

???关联类

  • 依赖(Dependency ):是一种使用关系,说明一个事物使用另一个事物的信息和服务。只有在使用时,他们才存在关系。例如生产零件的机器和零件,机器负责构造零件对象。再例如充电电池和充电器,充电电池通过充电器来充电。再例如自行车Bicycle和打气筒Pump,自行车通过打气筒来充气。下图为Bicycle类与Pump类的类框图。

public class Bicycle {
  private void expand(Pump pump) {
        pump.blow();
  }
}

public class Pump {
  public void blow() {}
}
  • 泛化(generalization) :is-a-kind-of ,一般事物和较为特殊事物的的种类之间的关系,在Java中描述为“extends”。
  • 实现(realization ): 描述接口和实现类或构件之间的关系。Java中描述为"Implement"。

 

分享到:
评论
1 楼 matikak 2009-02-18  
讲得很清楚,:)
不知道大哥用UML用了多久,我初学UML,有个问题不明白:
如何从用况分析得到系统的子系统,得到子系统以后,又如何把他们系统的联起来,可以简单的说一说么,谢谢

相关推荐

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

    12.3.1 在UML 1.x和UML 2.0中表示一个构件 135 12.3.2 接口表示法 136 12.3.3 黑盒和白盒 137 12.4 应用构件图 137 12.5 UML“大图”中的构件图 141 12.6 小结 142 12.7 常见问题解答 142 12.8 小测验和习题 143 ...

    面向对象与UML资料

    回顾关系重数 68 受限关系 69 归纳 69 第七章 需求分析活动:从用例到对象 70 第一节 识别概念 70 识别概念的策略一 70 识别概念的策略二 71 建立概念模型的指导原则 71 几个注意点 71 自然语言分析: Abbott的试探...

    互联网创意产品众筹平台

    │ 8.UML建模语言,-开发设计工具Rational_Rose │ 9.Maven项目模块划分-说明 │ 10.Maven项目模块划分-创建项目 │ 11.Maven项目模块划分-引用依赖包( f- {5 L4 F2 i8 z+ c* U │ 12.项目环境搭建细节-监听器 │ 13....

    UML图解:对象图(objectdiagram)

    回顾上一篇,有关于对象和类的关系的介绍: 可以看出,对象是抽象类的基础,但是大多数时候,我们看到的都是类图,很少见到有人画对象图。那么,对象图到底有用吗? 我们来看下面的例子: 从以上图例可以看出:...

    系统架构师-基础到企业应用架构系列(二)

    二、摘要本文主要讲解:UML建模图中的活动图、部署图等上图中就是本章要讲解的内容,本质将仔细的剖析,部署图与组件图的关系与区别,活动图与状态图的关系与区别。三、本章内容1、上章回顾。2、摘要。3、本章内容。...

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

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

    传智播客扫地僧视频讲义源码

    13_中午课程回顾 14_内存四区基本原理_全局区案例理解 15_内存四区_堆栈案例理解 16_课堂答疑_理解指针的关键关键在内存 17_vs20102013上配置#系列快捷方式 18_栈的属性和buf地址增长方向是两个不同的概念 19_函数...

    系统架构师谈企业应用架构之系统建模3

    本文主要讲解:UML建模图中的活动图、部署图等上图中就是本章要讲解的内容,本质将仔细的剖析,部署图与组件图的关系与区别,活动图与状态图的关系与区别。1、上章回顾。2、摘要。3、本章内容。4、建模中的

    C++数据抽象和问题求解(第6版).[美]Frank M. Carrano(带详细书签).pdf

    书中使用的软件工程原则和概念以及UML图便于增强学生的理解。 ◆ 详细介绍了数据抽象,强调规范和实现之间的区别 ◆ 广泛介绍了各种面向对象的编程技术 ◆ 重点是核心的数据结构,而不是非必要的C++语言语法 ◆ ...

    空间数据库管理系统概论.docx

    第二章 数据库相关基础知识回顾 空间数据库管理系统概论全文共3页,当前为第2页。 空间数据库管理系统概论全文共3页,当前为第2页。 1.数据模型:数据模型是对现实世界数据特征的抽象、对现实世界的模拟。 2.数据...

Global site tag (gtag.js) - Google Analytics