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调试状态 ========================= ...
随机推荐
- 用 vue2 和 webpack 快速建构 NW.js 项目
经过实践和学习,发现本篇文章部分内容已经过时,请看我的关于 Vue 和 NW.js 的 ** 最新文章 ** 和相关实践项目 vue-nw-seed . 使用到的技能点 vue2 webpack NW ...
- FreeRTOS例程开发
环境配置 下载官方源码 https://www.freertos.org/ 找到这个,他就是visual studio示例demo,我们主要在这个的基础上修改 下载visio studio https ...
- 7.11考试总结(NOIP模拟11)[math·biology·english]
吾于冥河沉浮,受尽命运捉弄,纵然汝将忘吾,吾亦伴汝身旁. 前言 考试的时候本来一看 T2 一见如故,决定 231 开题,然后瞅了一眼 T3 的题面,似曾相识. 仔细看了一眼,这,这不是差异吗,然后果断 ...
- P9174
problem & blog 子任务 \(1\) 和子任务 \(2\) 都比较好做.所以我们这里不讲. 状态将是数字 \(n\) (每个颜色的频率的排序数组)的所有分区,因为当我们旋转每种颜色 ...
- Xcode 配置账号
Xcode 配置开发者账号 简介:在iOS 开发过程中,要打包到手机上是需要登陆账号和配置对应证书的. 配置账号 打开Xcode -> Preferences -> Accounts -& ...
- spring.jackson 相差8小时,restful接收Date参数处理
spring.jackson 相差8小时,restful接收Date参数处理 前端提交字符串到后台映射日期类型的话,加上@DateTimeFormat(pattern = "yyyy-M ...
- 链表中,LNode和* LinkList的理解
typedef struct LNode { int data; struct LNode* next; }LNode, * LinkList; 这是标准链表创建法. 简单的说,其中LNode和 * ...
- Atcoder Beginner Contest 321 G - Electric Circuit 题解 - 状压dp | 指定最低位
为了更好的阅读体验,请点击这里 题目链接:G - Electric Circuit 看到了 \(N\) 的数据范围,因此是显然的状压 dp. 不妨设 \(f_S\) 为仅使用 \(S\) 集合中的所有 ...
- Kubernetes(一)Overview
1. Kubernetes介绍 要了解Kubernetes,首先我们需要了解Container与Orchestration. Docker Docker的出现是为了解决:部署依赖.以及兼容性.以及繁琐 ...
- IEC103设备数据 转 IEC61850项目案例
目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 配置VFBOX网关采集103设备数是 2 5 用IEC61850协议转发数据 4 6 网关使用多个逻辑设备和逻辑节点的方法 ...