UML 组成 1
2024-10-20 20:39:26
常用关系:
关联关系使用一条直线表示,比如 A与B关联
用于描述不同类的对象之间的结构关系,将多个类的实例联系在一起
是一种静态关系,基本与程序的运行没有关系
比如,部门与员工的关系,就是关联关系
关联关系一般不强调方向,表示互相“知道”对方,也就是存在引用
关联关系有多重性 比如一对一关联 一对多关联等 可以任意关联N对N关联
如果特别强调方向,就使用箭头,比如
那么表示A知道B但是B不知道A
也就是说,关联关系有两种图形
直线或者直线箭头
关联关系表示存在引用,比如员工类的定义中有“部门”属性字段
|
实现关系是带空心箭头的虚线表示的,比如A实现B,箭头指向父类、接口 实现可以狭隘的认为是一种实现类与父类、接口的关系(其实在UML中实现的含义远不止实现类这层含义) |
泛化关系是带空心箭头的直线表示的,比如A继承B 用于说明继承关系 泛化关系是从子类到父类的关系,箭头指向的是父类 |
聚合关系是带空心的菱形的直线表示的,比如 A聚合到B上,也就是B由A组成 聚合关系用于类图,表达整体由部分构成的语义,比如部门由许多人员组成 整体和部分不是强依赖的,即使整体不存在,依然可以存在部分,即使没有部门,人员仍旧存在 |
组合关系是带实心的菱形的直线表示的,比如A组合成B,或者说B由A构成 表达整体拥有部分的含义,组合关系是一种特殊的强依赖的聚合关系 如果整体不存在,那么部分也不存在了 比如,汽车由轮胎底盘发动机构成,汽车不存在了,自然也不存在发动机了 |
依赖关系使用带箭头的虚线表示,比如 A依赖B 用于描述一个对象在运行期间会使用到另外一个对象的关系 依赖关系是一种临时性的,简言之就是不同场景会发生变化 比如人和车 如果是驾驶场景,车依赖人(驾驶员),如果是乘车出行,那就是人依赖车(公交、出租) 很显然,依赖关系比关联关系更加弱 依赖关系是一种使用关系 比如一个类的方法中的局部变量、方法的参数或者对静态方法的调用,都是一种依赖 |
用例图:角色与功能的关系图,
最新文章
- CSS3的自定义动画帧
- linux基础学习
- C/C++实践笔记_001Helloworld
- ios auto layout demystified (一)
- iOS -数据库网络之xml解析之远程解析XML
- 5.Primitive, Reference, and Value Types
- 【Oracle XE系列之二】PLSQL Developer 远程连接Oracle XE数据库
- Nova分析(1)——整体架构
- 【学习总结】iOS中NSNotification、delegate、KVO三者之间的区别与联系?
- about mobile web
- 【stanford C++】——2.C++中函数
- C# 数据库连接测试以及备份
- iOS开源加密相册Agony的实现(五)
- Go中链路层套接字的实践
- 关于4A系统(我对4A系统的维护的理解)
- day05(数字类型,字符串类型,列表类型)
- 5. Longest Palindromic Substring 返回最长的回文子串
- 如何在Virtual box 下安装Mac os
- Gtk 窗口,控件,设置(添加图片等)
- maven项目无法新增java test目录的问题
热门文章
- VMware vSphere vCenter ServerAppliance 7.0安装配置
- python3异常打印堆栈信息
- Sentinel入门到实操 (限流熔断降级)
- java数据库连接池笔记
- C++并发-同步并发
- Javascript中0.1+0.2===0.3?怎么解决这个问题?
- require.context 自动引入指定目录下的文件、组件、reducer
- 推荐系统[二]:召回算法超详细讲解[召回模型演化过程、召回模型主流常见算法(DeepMF_TDM_Airbnb Embedding_Item2vec等)、召回路径简介、多路召回融合]
- element-UI button按钮颜色回显(一)
- appium连接手机 adb调试 app自动化