常用关系:

关联关系使用一条直线表示,比如  A与B关联

用于描述不同类的对象之间的结构关系,将多个类的实例联系在一起
是一种静态关系,基本与程序的运行没有关系
比如,部门与员工的关系,就是关联关系
关联关系一般不强调方向,表示互相“知道”对方,也就是存在引用
关联关系有多重性 比如一对一关联 一对多关联等 可以任意关联N对N关联
如果特别强调方向,就使用箭头,比如
那么表示A知道B但是B不知道A
也就是说,关联关系有两种图形
直线或者直线箭头
 
关联关系表示存在引用,比如员工类的定义中有“部门”属性字段
实现关系是带空心箭头的虚线表示的,比如A实现B,箭头指向父类、接口

实现可以狭隘的认为是一种实现类与父类、接口的关系(其实在UML中实现的含义远不止实现类这层含义)
泛化关系是带空心箭头的直线表示的,比如A继承

用于说明继承关系
泛化关系是从子类到父类的关系,箭头指向的是父类
聚合关系是带空心的菱形的直线表示的,比如 A聚合到B上,也就是B由A组成

聚合关系用于类图,表达整体由部分构成的语义,比如部门由许多人员组成
整体和部分不是强依赖的,即使整体不存在,依然可以存在部分,即使没有部门,人员仍旧存在
组合关系是带实心的菱形的直线表示的,比如A组合成B,或者说B由A构成

表达整体拥有部分的含义,组合关系是一种特殊的强依赖的聚合关系
如果整体不存在,那么部分也不存在了
比如,汽车由轮胎底盘发动机构成,汽车不存在了,自然也不存在发动机了
依赖关系使用带箭头的虚线表示,比如  A依赖B

用于描述一个对象在运行期间会使用到另外一个对象的关系
依赖关系是一种临时性的,简言之就是不同场景会发生变化
比如人和车
如果是驾驶场景,车依赖人(驾驶员),如果是乘车出行,那就是人依赖车(公交、出租)
很显然,依赖关系比关联关系更加弱
依赖关系是一种使用关系
比如一个类的方法中的局部变量、方法的参数或者对静态方法的调用,都是一种依赖

用例图:角色与功能的关系图,

最新文章

  1. CSS3的自定义动画帧
  2. linux基础学习
  3. C/C++实践笔记_001Helloworld
  4. ios auto layout demystified (一)
  5. iOS -数据库网络之xml解析之远程解析XML
  6. 5.Primitive, Reference, and Value Types
  7. 【Oracle XE系列之二】PLSQL Developer 远程连接Oracle XE数据库
  8. Nova分析(1)——整体架构
  9. 【学习总结】iOS中NSNotification、delegate、KVO三者之间的区别与联系?
  10. about mobile web
  11. 【stanford C++】——2.C++中函数
  12. C# 数据库连接测试以及备份
  13. iOS开源加密相册Agony的实现(五)
  14. Go中链路层套接字的实践
  15. 关于4A系统(我对4A系统的维护的理解)
  16. day05(数字类型,字符串类型,列表类型)
  17. 5. Longest Palindromic Substring 返回最长的回文子串
  18. 如何在Virtual box 下安装Mac os
  19. Gtk 窗口,控件,设置(添加图片等)
  20. maven项目无法新增java test目录的问题

热门文章

  1. VMware vSphere vCenter ServerAppliance 7.0安装配置
  2. python3异常打印堆栈信息
  3. Sentinel入门到实操 (限流熔断降级)
  4. java数据库连接池笔记
  5. C++并发-同步并发
  6. Javascript中0.1+0.2===0.3?怎么解决这个问题?
  7. require.context 自动引入指定目录下的文件、组件、reducer
  8. 推荐系统[二]:召回算法超详细讲解[召回模型演化过程、召回模型主流常见算法(DeepMF_TDM_Airbnb Embedding_Item2vec等)、召回路径简介、多路召回融合]
  9. element-UI button按钮颜色回显(一)
  10. appium连接手机 adb调试 app自动化