`
hzcaixiao
  • 浏览: 34701 次
  • 性别: 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-详解建模实例

    书中提供的"SQL代码.txt"可能是为了展示如何将UML模型转化为数据库实体,以及如何在数据库层面实现UML中的关系。 通过深入学习《UML——详解建模实例》这本书,读者不仅可以掌握UML的基本概念,还能通过实例学习...

    dam1-ed-uml-clases-tpv:图表语言UML

    **UML(统一建模语言)**是一种标准的图形化表示法,用于软件工程中的系统建模。在Java开发中,UML被广泛应用于设计和规划阶段...同时,对于有经验的开发者,回顾和实践UML类图可以帮助他们梳理和优化现有系统的结构。

    uml报告-食堂饭卡管理系统.pdf

    - 对项目实施的回顾,包括遇到的问题、解决方案、以及系统的主要优点和改进空间。 6. **参考资料** - 列出参考文献和技术文档,以便进一步研究和理解相关技术。 通过以上模型,设计者可以全面了解食堂饭卡管理...

    UML introduction3-类图

    在深入了解类图之前,我们需要回顾一下面向对象设计的基本概念。类图是基于面向对象的思想构建的,因此对面向对象的基本原理有一定的了解是必要的。 1. **类(Class)**:类是对一组具有相同属性和行为的对象的抽象。...

    UML软件需求分析

    - **定期评审和更新**: 定期回顾和更新UML模型,确保它们反映当前的需求和设计。 - **集成到项目管理流程**: 将UML集成到项目管理流程中,确保所有团队成员都能理解和使用UML模型。 - **培训和支持**: 提供必要的...

    一份什么图都有的UML论文

    1. **UML的历史和发展**:论文可能会回顾UML的发展历程,解释其从最初的版本到当前版本的变化和改进。 2. **UML的核心概念**:深入讲解UML的基本概念,如模型、元模型、图和元素,以及它们之间的联系。 3. **UML的...

    UML_Distille.pdf

    - **前言第一版 (Foreword to the First Edition)**:回顾了第一版的背景及意义。 - **序言 (Preface)**:阐述了本书的目标读者、编写目的等信息。 - **为何关注UML (Why Bother with the UML)?**:解释了UML的重要...

    argouml快速入门电子书 PDF

    - **项目、模型和图表**:解释了这些基本概念之间的关系,以及它们在ArgoUML中的作用。 - **对象**:详细介绍了UML中的对象概念及其在ArgoUML中的表示方式。 - **窗口概述**:展示了ArgoUML的主要界面布局和各个组件...

    UML系统分析与设计教程-tech.rar

    UML是一种图形化语言,用于软件工程中,特别是在面向对象分析和设计中,它提供了一套标准化的符号和图示来描绘系统的各个层面,包括结构、行为和关系。 1. **UML基础**:UML由类图、对象图、用例图、顺序图、协作图...

    UML 网上购物序列图

    在详细介绍各个用例之前,先简单回顾一下UML的基础知识,以便更好地理解后续内容。 - **UML (Unified Modeling Language)**:统一建模语言,是一种标准化的建模语言,用于软件系统的可视化建模。 - **序列图**:一...

    UML课件资源

    10. **51CTO下载-CH16.PPT**:最后一章可能是对整个课程的总结,回顾关键概念,并可能涉及到UML的最新发展和未来趋势。 通过这些PPT,学习者可以系统地了解UML的各个方面,从基础概念到高级应用,逐步掌握如何使用...

    火车购票系统UML图

    总结部分对整个项目的进展、遇到的问题和解决方案进行了回顾,同时提供了未来改进的建议。参考资料部分列出了在项目中参考的相关书籍和资料,供读者进一步学习和研究。 通过这个项目,我们可以了解到UML作为面向...

    UML课件

    "UML知识点总结.doc"文件可能是对所有这些内容的概述和总结,可以帮助你在学习过程中巩固和回顾所学知识。"test.mht"文件可能包含练习题或测试,帮助你检验学习效果。总的来说,这个压缩包为学习UML提供了一个丰富的...

    Model-Driven Development with Executable UML

    详细介绍了UML中类的概念及其与数据类型的关系,阐述了如何使用类来组织和管理系统的逻辑结构。 #### 第9章:属性 讲解了属性在类中的作用,包括如何定义、管理和使用属性来描述实体的状态和特性。 #### 第10章:...

    在线网络教室UML课程设计文档

    - **开发和细化对象图**:进一步完善系统设计,明确各对象间的关系。 - **开发构件图**:描述系统的物理架构,如模块划分、接口定义等。 - **系统部署**:规划系统的部署方案,包括服务器配置、客户端安装指南等。...

    针对Java程序员的UML

    4. 定期回顾和更新UML模型,确保它们与代码保持同步,反映最新的设计决策。 《针对Java程序员的UML概述.pdf》这份文档可能详细阐述了上述内容,包括如何使用UML进行需求分析、系统设计、代码实现以及测试等阶段的...

    面向对象与UML资料

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

Global site tag (gtag.js) - Google Analytics