熟练运用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"。
分享到:
相关推荐
书中提供的"SQL代码.txt"可能是为了展示如何将UML模型转化为数据库实体,以及如何在数据库层面实现UML中的关系。 通过深入学习《UML——详解建模实例》这本书,读者不仅可以掌握UML的基本概念,还能通过实例学习...
**UML(统一建模语言)**是一种标准的图形化表示法,用于软件工程中的系统建模。在Java开发中,UML被广泛应用于设计和规划阶段...同时,对于有经验的开发者,回顾和实践UML类图可以帮助他们梳理和优化现有系统的结构。
- 对项目实施的回顾,包括遇到的问题、解决方案、以及系统的主要优点和改进空间。 6. **参考资料** - 列出参考文献和技术文档,以便进一步研究和理解相关技术。 通过以上模型,设计者可以全面了解食堂饭卡管理...
在深入了解类图之前,我们需要回顾一下面向对象设计的基本概念。类图是基于面向对象的思想构建的,因此对面向对象的基本原理有一定的了解是必要的。 1. **类(Class)**:类是对一组具有相同属性和行为的对象的抽象。...
- **定期评审和更新**: 定期回顾和更新UML模型,确保它们反映当前的需求和设计。 - **集成到项目管理流程**: 将UML集成到项目管理流程中,确保所有团队成员都能理解和使用UML模型。 - **培训和支持**: 提供必要的...
1. **UML的历史和发展**:论文可能会回顾UML的发展历程,解释其从最初的版本到当前版本的变化和改进。 2. **UML的核心概念**:深入讲解UML的基本概念,如模型、元模型、图和元素,以及它们之间的联系。 3. **UML的...
- **前言第一版 (Foreword to the First Edition)**:回顾了第一版的背景及意义。 - **序言 (Preface)**:阐述了本书的目标读者、编写目的等信息。 - **为何关注UML (Why Bother with the UML)?**:解释了UML的重要...
- **项目、模型和图表**:解释了这些基本概念之间的关系,以及它们在ArgoUML中的作用。 - **对象**:详细介绍了UML中的对象概念及其在ArgoUML中的表示方式。 - **窗口概述**:展示了ArgoUML的主要界面布局和各个组件...
UML是一种图形化语言,用于软件工程中,特别是在面向对象分析和设计中,它提供了一套标准化的符号和图示来描绘系统的各个层面,包括结构、行为和关系。 1. **UML基础**:UML由类图、对象图、用例图、顺序图、协作图...
在详细介绍各个用例之前,先简单回顾一下UML的基础知识,以便更好地理解后续内容。 - **UML (Unified Modeling Language)**:统一建模语言,是一种标准化的建模语言,用于软件系统的可视化建模。 - **序列图**:一...
10. **51CTO下载-CH16.PPT**:最后一章可能是对整个课程的总结,回顾关键概念,并可能涉及到UML的最新发展和未来趋势。 通过这些PPT,学习者可以系统地了解UML的各个方面,从基础概念到高级应用,逐步掌握如何使用...
总结部分对整个项目的进展、遇到的问题和解决方案进行了回顾,同时提供了未来改进的建议。参考资料部分列出了在项目中参考的相关书籍和资料,供读者进一步学习和研究。 通过这个项目,我们可以了解到UML作为面向...
"UML知识点总结.doc"文件可能是对所有这些内容的概述和总结,可以帮助你在学习过程中巩固和回顾所学知识。"test.mht"文件可能包含练习题或测试,帮助你检验学习效果。总的来说,这个压缩包为学习UML提供了一个丰富的...
详细介绍了UML中类的概念及其与数据类型的关系,阐述了如何使用类来组织和管理系统的逻辑结构。 #### 第9章:属性 讲解了属性在类中的作用,包括如何定义、管理和使用属性来描述实体的状态和特性。 #### 第10章:...
- **开发和细化对象图**:进一步完善系统设计,明确各对象间的关系。 - **开发构件图**:描述系统的物理架构,如模块划分、接口定义等。 - **系统部署**:规划系统的部署方案,包括服务器配置、客户端安装指南等。...
4. 定期回顾和更新UML模型,确保它们与代码保持同步,反映最新的设计决策。 《针对Java程序员的UML概述.pdf》这份文档可能详细阐述了上述内容,包括如何使用UML进行需求分析、系统设计、代码实现以及测试等阶段的...
回顾关系重数 68 受限关系 69 归纳 69 第七章 需求分析活动:从用例到对象 70 第一节 识别概念 70 识别概念的策略一 70 识别概念的策略二 71 建立概念模型的指导原则 71 几个注意点 71 自然语言分析: Abbott的试探...