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各类基础知识总结的更多相关文章

  1. UML图基础知识

    一.UML简述 类是面向对象系统中最重要的构造块.类图显示了一组类.接口.协作以及他们之间的关系,通过类图,我们能够很好的掌握类与类之间的关系. 首先给出一幅UML类图,此图来源于<大话设计模式 ...

  2. UML 建模 -- 基础知识

    1.UML简介 UML(Unidied Modeling Language)为面向对象软件设计提供统一的,标准的,可视化的建模语言.适用于以用例为驱动,以体系结构为中心的软件设计全程 2.UML模型的 ...

  3. UML uml基础知识

    uml基础知识 一.了解: uml是Unified Modeling Language的缩写,意思是统一建模语言或标准建模语言. UML规范用来描述建模的概念有,类(对象的).对象.关联.职责.行为. ...

  4. 【二】、UML基础知识——图图解乾坤

    [二].UML基础知识 UML概述 UML是一个通用的可视化建模语言,不同于编程语言,它通过一些标准的图形符号和文字来对系统进行建模.用于对软件进行描述.可视化处理.构建软件系统的文档.是一套总结了以 ...

  5. 语义web基础知识学习

    最近找了一本书,<语义web技术基础>----Pascal Hitzler等编著的.因为最近在看关于自然语言处理的一些东西,就顺带翻了一下,做一点学习笔记,方便以后查看. 本书的作者 Pa ...

  6. 【数据库上】 第四讲 E-R模型基础知识

    第四讲 E-R模型基础知识 一.数据库设计过程 数据库设计的关键阶段? 各个阶段设计的主要任务? 基础条件:清楚一个应用系统的功能需求与数据需求(直接与用户交互.数据流程图示例/UML类图等) 核心阶 ...

  7. Unity3D基础知识梳理

    这段时间在做Unity的项目,这差不多是我的第一次实战啊~然后公司来了实习的童鞋要学Unity,但是我一向不靠谱啊,所以只能帮他们稍微梳理下基础的东西了啊,唉~学长只能帮你们到这里了~顺便就把自己这两 ...

  8. Bash的基础知识man手册

    Bash的基础知识man手册 由于基于Android类设备的渗透测试都是通过各类终端实现.所以掌握Shell相关操作就显得尤为重要.Bash是一个为GNU计划编写的Unix Shell本文选自基于An ...

  9. web前端基础知识及快速入门指南

    web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...

  10. 1.进入debug模式(基础知识列表)

    1.进入debug模式(基础知识列表)1.设置断点 2.启动servers端的debug模式 3.运行程序,在后台遇到断点时,进入debug调试状态 ========================= ...

随机推荐

  1. 『手撕Vue-CLI』获取下载目录

    开篇 在上一篇文章中,简单的对 Nue-CLI 的代码通过函数柯里化优化了一下,这一次来实现一个获取下载目录的功能. 背景 在 Nue-CLI 中,我现在实现的是 create 指令,这个指令本质就是 ...

  2. MYSQL 移机重装步骤(windows11)

      MYSQL 移机重装步骤(windows11)   目的:已有电脑 A,D盘安装有mysql(安装方式为免安装) , 准备在另一台电脑B上,复制安装电脑A上的mysql(8.0.23版本) . 要 ...

  3. k8s核心组件详解和分层架构

    k8s核心组件 master中的核心组件 api-server(接口服务,基于rest风格开放k8s接口的服务) kube-controller-manager(管理各个类型的控制器,针对k8s中的各 ...

  4. NaN数值类型

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  5. ABC321题解

    E: problem LCA题. 我们枚举向上跳 \(t\) 步,跳到了 \(y\). 假如说 \(t = 0\) 那么我们计算 \(\text{clac}(x,k)\) 即可.(\(\text{cl ...

  6. .NET5 .NET CORE 使用Apollo

    Apollo默认有一个"SampleApp"应用,"DEV"环境 和 "timeout" KEY. nuget 中下载 "Com. ...

  7. EF,lambda 反向模糊查询

    SELECT * FROM table as t WHERE "张三的偶像" LIKE t.userName; bool thisMchBelong = _mch_blackSer ...

  8. Mybatis-MySQL 中使用IFNUL

    Mybatis-MySQL 中使用IFNULL(p1,p2)函数但是有一些需要注意的地方. 假设数据 title: student id name age 1 Ann 18 2 Bom 19 3 He ...

  9. mysql 如何分配root账号创建数据库的权限

    1.mysql 如何分配root账号创建数据库的权限 在 MySQL 中,root 用户通常具有所有的权限,包括创建数据库的权限.但是,如果我们想要为另一个用户分配创建数据库的权限,或者想要限制 ro ...

  10. OpenSSL静态库交叉编译

    一.编译前环境准备 使用的内核:4.15.0-118-generic(命令:uname -r可以查看) 交叉编译器:aarch64-linux-gnu-gcc openssl源码:openssl-1. ...