UML各类基础知识总结
1、UML关系
泛化(也就是我们传统意义上的继承关系)

子类继承父类,关系用extend关键字标识;
关联

可以说是一种属于关系,图中即说的是PhoneNumber类属于Master类,同时,除了一对一的关系之外,还可以用一对多、多对一、多对多的关联关系,除了单向关联之外,双向关联也是存在的;
需要注意的是,在关联关系里面,还有着两种特殊的关系:聚合和组合
聚合--体现出来的是整体与部分的关系,是一种“弱拥有”关系,部分能够脱离整体而单独存在

如上图所示,轮胎能够脱离汽车而单独存在;
组合--体现出来的是一种包含的关系,关系比聚合更强,是一种“强聚合”的关系,部分不能离开整体而单独存在

部门不能脱离掉公司而单独存在;
依赖

指一个类依赖于另一个类而存在;
上图就是指的是Person类依赖于Air类,即Person类的存在使用了Air类;
实现

一个class类实现一个interface接口;
用implements关键字标识;
2、UML的9种图
1、用例图--标识一个系统中用例与参与者关系之间的图,描述系统中相关用户和系统对不同用户提供的功能和服务
用例图构成--参与者、系统边界、用例、关联

用例图主要是从用户角度,描述系统的功能;
关系
参与者和用例之间,主要就是关联关系;
参与者和参与者之间,主要是泛化关系,即某个参与者继承到某个参与者的功能;
用例和用例之间,主要有包含、泛化、扩展关系;
2、类图--若干类关联在一起,反映系统或者子系统组成结构的静态图
类图主要作用是用来描述软件系统中各个类的结构和类之间的关系
类图构成--类名、属性、操作
类的种类
实体类:

控制类:

边界类:

类图间关系--泛化、依赖、关联、实现、组合、聚合(同上面提到的各种关系)
仅仅举例泛化:

3、对象图--描述参与交互的各个对象在交互过程中某一时刻的状态
对象图表示--由对象和链组成

4、状态图--描述类的所有对象的可能的状态,以及事件发生时状态的转移条件
状态图组成元素--初始状态、终止状态、状态;
其中,圆角矩形表示状态;
状态转换

状态判定

5、活动图--描述活动的顺序,展现一个活动到另一个活动的控制流
活动图组成元素--动作、活动、动作流、分支与合并、分叉与汇合、泳道、对象流

需要注意的是,活动图是状态图的一种特殊情况;
6、时序图--描述以时间顺序组织的对象之间的交互活动
顺序图组成元素--对象、生命线、激活、消息
对象--参与交互的基本单位:

生命线--表示对象在一段时间内存在:

激活--表示一个对象执行一个动作所经历的时间段,对象接收到消息活动就开始:

消息--一条消息是一次对象间的通信:

顺序图消息类型--同步消息、异步消息、返回消息
同步消息--有阻塞等待的风险(实心箭头):

异步消息--不需要等待(直接的箭头--一半儿):

返回消息--消息指向返回的方向(虚线表示):


7、协作图--强调收发消息的对象的组织结构
协作图构成--对象、消息、链


协作图作用--表现一个类操作的实现,显示对象及其交互关系的空间组织结构
8、构件图--表示系统中构件与构件之间,以及定义的类或接口与构件之间的关系的图
构件图构成--构件、接口、依赖关系

9、部署图--用来显示系统中软件和硬件的物理架构--用来建模系统的物理部署

10、包图--描述模型中的包和所包含元素的组织方式的图。包含元素以及包之间的关系
包图作用--用来组织用例图和类图
包图所用关系--主要使用的是依赖关系和泛化关系

UML各类基础知识总结的更多相关文章
- UML图基础知识
一.UML简述 类是面向对象系统中最重要的构造块.类图显示了一组类.接口.协作以及他们之间的关系,通过类图,我们能够很好的掌握类与类之间的关系. 首先给出一幅UML类图,此图来源于<大话设计模式 ...
- UML 建模 -- 基础知识
1.UML简介 UML(Unidied Modeling Language)为面向对象软件设计提供统一的,标准的,可视化的建模语言.适用于以用例为驱动,以体系结构为中心的软件设计全程 2.UML模型的 ...
- UML uml基础知识
uml基础知识 一.了解: uml是Unified Modeling Language的缩写,意思是统一建模语言或标准建模语言. UML规范用来描述建模的概念有,类(对象的).对象.关联.职责.行为. ...
- 【二】、UML基础知识——图图解乾坤
[二].UML基础知识 UML概述 UML是一个通用的可视化建模语言,不同于编程语言,它通过一些标准的图形符号和文字来对系统进行建模.用于对软件进行描述.可视化处理.构建软件系统的文档.是一套总结了以 ...
- 语义web基础知识学习
最近找了一本书,<语义web技术基础>----Pascal Hitzler等编著的.因为最近在看关于自然语言处理的一些东西,就顺带翻了一下,做一点学习笔记,方便以后查看. 本书的作者 Pa ...
- 【数据库上】 第四讲 E-R模型基础知识
第四讲 E-R模型基础知识 一.数据库设计过程 数据库设计的关键阶段? 各个阶段设计的主要任务? 基础条件:清楚一个应用系统的功能需求与数据需求(直接与用户交互.数据流程图示例/UML类图等) 核心阶 ...
- Unity3D基础知识梳理
这段时间在做Unity的项目,这差不多是我的第一次实战啊~然后公司来了实习的童鞋要学Unity,但是我一向不靠谱啊,所以只能帮他们稍微梳理下基础的东西了啊,唉~学长只能帮你们到这里了~顺便就把自己这两 ...
- Bash的基础知识man手册
Bash的基础知识man手册 由于基于Android类设备的渗透测试都是通过各类终端实现.所以掌握Shell相关操作就显得尤为重要.Bash是一个为GNU计划编写的Unix Shell本文选自基于An ...
- web前端基础知识及快速入门指南
web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...
- 1.进入debug模式(基础知识列表)
1.进入debug模式(基础知识列表)1.设置断点 2.启动servers端的debug模式 3.运行程序,在后台遇到断点时,进入debug调试状态 ========================= ...
随机推荐
- C#开发的应用升级更新服务器端工具 - 开源研究系列文章 - 个人小作品
笔者开发过一些小应用,然后这些应用就需要有升级更新的功能,但是如果每个都集成进去也行,但是就是得写死更新的代码了.于是就想写一个应用升级更新的管理器,以前看到过Github上有一个AutoUpdate ...
- 图像处理技术OpencvSharp入门
目录 第一部分 初识Opencv 1.C# 下Opencv库 2.安装OpenCvSharp 第二部分 OpencvSharp入门 1.加载图像文件 2.显示图像 第三部分 基础应用 1.颜色转换 2 ...
- C# 关于图片转ICO的代码整理(无损,不需要第三方类库)
概述(Overview) 感觉网上文章整理的不全,我这边做个专栏,专门做这个事情吧,节省大家搜索.筛选.整理的时间精力.有用可以点个赞.引用本文章请注明出处,谢谢. (I feel that the ...
- VMware Ubuntu虚拟机打开报错问题
问题描述 昨天虚拟机卡死,我把VMware Workstation的进程用任务管理器杀掉了,今天重新打开虚拟机却发现以下报错 报错内容 另一个程序已锁定文件的一部分,进程无法访问 打不开磁盘" ...
- C++笔记(3)引用
引用是变量的别名.也就是说,它是某个已存在变量的另一个名字.一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量. 1.创建引用 int i = 0; int& r = i;/ ...
- FlashDuty Changelog 2023-10-30 | 告警路由与 Slack 应用
FlashDuty:一站式告警响应平台,前往此地址免费体验! 告警路由 什么是告警路由? FlashDuty已经与Zabbix.Prometheus等监控系统实现无缝集成,通过一个简单的webhook ...
- AlexNet论文解读
前言 作为深度学习的开山之作AlexNet,确实给后来的研究者们很大的启发,使用神经网络来做具体的任务,如分类任务.回归(预测)任务等,尽管AlexNet在今天看来已经有很多神经网络超越了它,但是 ...
- Typora行内公式识别不了
Typora行内公式识别不了,主要是因为行内公式属于LaTeX扩展语法,并非Markdown的通用标准 需要在Typora的"文件"-"偏好设置"-" ...
- Java面试知识点(二)super 和 this 关键字
this this 是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针. this 的用法在 java 中大体可以分为 3 种: 普通的直接引用 这种就不用讲了,this 相当于是指向 ...
- 03-CSS初步介绍
01 CSS编写规则 1.1 内联样式 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...