彻底搞懂UML图

news2024/9/20 13:13:18

用例图

用例图的结构主要分为三个部分:参与者、用例、参与者与用例之间的关系。

参与者:不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。

用例:是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。

关系:参与者与用例之间的关系主要包括关联、归纳(泛化)、包含、拓展和依赖。

接下来将重点讲第三part:参与者与用例之间的关系

1)关联关系

关系说明:表示参与者与用例之间的关系

表示方法:带箭头的实线,箭头指向用例。

举例说明:用户登录系统
在这里插入图片描述

2)归纳(泛化)关系

关系说明:表示参与者与参与者之间、用例与用例之间的关系。一个用例可以被特别列举为一个或多个子用例,这被称为用例泛化。

表示方法:带空心箭头的实线,箭头指向被泛化(被继承)的用例,即基础用例/父用例。(注意:泛化关系的箭头不是指向被泛化,而是指向被继承。泛化和继承是不同的方向。泛化是从下到上的抽象过程,继承是从上到下,从一般到特殊的过程。)

举例说明:账号登录与微信登录,也可归纳为登录系统。

在这里插入图片描述

3)包含关系

关系说明:表示用例与用例之间的关系,其中一个用例(基础用例)的行为包含了另一个用例(包含用例)的行为。

表示方法:虚线箭头+<>字样,箭头指向被包含的用例

举例说明:用户在账号登录过程中,包括输入账号、输入密码、确认登录等操作
在这里插入图片描述

4)拓展关系

关系说明:表示用例与用例之间的关系;用于拓展用例对基础用例的增强;拓展用例是在特定条件出现时,才会被执行的用例。

表示方法:虚线箭头+<>字样,箭头指向被扩展的用例(即基础用例)

举例说明:用户在登录过程中忘记了密码
在这里插入图片描述

类图

UML类图,UML中的一种重要图形,是在面向对象语言用中用来表示一个类。

如下图所示(它由两部分组成,类,类之间的关系):
在这里插入图片描述

动物UML类图

01 类

类是具有相似结构、行为和关系的一组对象的描述符,是面向对象系统中最重要的构造块。

如下图所示,就表示一个类:
在这里插入图片描述
三个格子从上至下分别表示:

类名称(如果是接口,就使用斜体表示)类的特性(一般是类的字段和属性,可以没有)类的操作(一般是类的方法或行为)它们前边的符号有以下几类:

“+”表示public
“-”表示private
“#”表示protected

02 类的关系

除了类,类图中还有一个重要元素,即类之间的关系。

根据类的关系的不同,具体可分为6种:

(1)依赖关系(用虚箭线表示)

所谓依赖关系,就是构造这个类的时候,需要依赖其他的类,比如:动物依赖水和氧气。如下图所以:
在这里插入图片描述

(2)继承、泛化关系(用带空心三角形的实线表示)

继承(泛化)关系,它指定了子类如何特化父类的所有特征和行为。例如:鸟是动物的一种,企鹅、鸭、大雁是鸟的一种。
在这里插入图片描述

(3)实线关系(用带空心三角形的虚线表示)

一种类与接口的关系,表示类是接口所有特征和行为的实现。它有两种表示方法:

第一种,矩形表示法,

顶端有<>第一行:接口名称第二行:接口方法
在这里插入矩形表示法图片描述
第二种,棒棒糖表示法

圆圈旁为接口名称接口方法在实现类中出现
在这里插入图片描述

(4)关联关系(用实箭线表示)

所谓关联关系,就是这个类有一个属性是其他类。
在这里插入图片描述

关联关系

(5)聚合关系(用带空心菱形的实线表示)

聚合关系是关联关系的一种,是强的关联关系 ;

特点: 部分对象的生命周期并不由整体对象来管理。也就是说,当整体对象已经不存在的时候,部分的对象还是可能继续存在的。比如:一只大雁脱离了雁群,依然是可以继续存活的。
在这里插入图片描述

聚合关系

(6)组合关系(用带实心菱形的实线表示)

组合关系同样是关联关系的一种,是比聚合关系还要强的关系。

特点:在组合中,部分与整体生命期一致,部分与组合同时创建并同时消亡 。比如:鸟与翅膀的关系。
在这里插入图片描述
组合关系

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/139023.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于alpine如何制作JDK镜像

Docker制作jdk镜像(v1.0)1.1首先编写Dockerfile文件#1.指定基础镜像&#xff0c;并且必须是第一条指令RROM centos:7#2.指明该镜像的作者和其电子邮件MAINTAINER xnx "zwcqq.com"#3.在构建镜像时&#xff0c;指定镜像的工作目录&#xff0c;之后的命令都是基于此工作…

Python自制简易版计算器小程序

前言 今天来给你们分享一个自制的桌面小程序【简易版计算器】 文章内有效果展示&#xff0c;你们可以自行看看哦 不想看文章&#xff0c;想直接领取源码的话&#xff0c;可以直接点击文章末尾的名片哈 环境准备 Python 3.6 Pycharm 代码展示 界面设置 导入模块 所有 源码 …

STM32读取SHT3x系列温湿度传感器,标准库和HAL库

STM32读取SHT3x系列(SHT30、SHT31、SHT35)温湿度传感器的数据并显示在0.96寸OLED屏上。 我下面提供两份代码&#xff0c;一份是标准库使用硬件I2C的&#xff0c;另一份是HAL库使用软件模拟IIC的。 我用的单片机是STM32F103C8T6&#xff0c;温湿度传感器是SHT30。 STM32软件I…

Spring Cloud与Nacos部署Spring Boot项目

本文记录一个用于Spring Cloud 和nacos的一个项目配置方案 本文主要通过nacos实现了两点功能&#xff1a; 1、服务的注册与发现 2、nacos的动态配置 项目中主要包括了nacos-consumer和nacos-provider&#xff0c;一个消费者&#xff0c;一个生产者的角色&#xff0c;消费者负责…

旋转目标检测复现-yolov5-obb

复现源码&#xff1a; https://github.com/hukaixuan19970627/yolov5_obb 亲测可行 安装流程&#xff1a; 按照https://github.com/hukaixuan19970627/yolov5_obb/blob/master/docs/install.md 确保安装过程不报错&#xff0c;否则影响后续训练 安装成功即可准备数据集 hf_t…

MySQL复制技术方案——组复制

1&#xff0e;原理 增强半同步复制虽然解决了HA切换之后的幻读问题&#xff0c;也从一定程度上使得主从实例 之间的数据一致性保障得到增强&#xff0c;但是仍然还有很多问题需要解决。 例如&#xff1a; HA切换程度需要依赖于MySQL服务器之外的第三方程序实现&#xff0c;维…

2022年12月安全事件盘点

2022年12月安全事件盘点 一、基本信息 2022年12月安全事件共造成约8327万美元损失&#xff0c;金额数量较上月有所下降。本月RugPull数量基本与上月持平。但临近年底&#xff0c;熊市社媒诈骗等较上个月有所增加&#xff0c;Discord攻击诈骗成为重灾区。另外本月依然有钱包&…

产线工控设备安全现状分析

工控设备安全现状 工业控制系统是支撑国民经济的重要设施&#xff0c;是工业领域的神经中枢。现在工业控制系统已经广泛应用于电力、通信、化工、交通、航天等工业领域&#xff0c;支撑起国计民生的关键基础设施。 随着传统的工业转型&#xff0c;数字化、网络化和智能化的工…

IB课程为什么深受国际学生的喜爱?

凯恩斯是一个被大自然包围的城市。由于得天独厚的地理位置&#xff0c;在凯恩斯随时都可以让你感受到与自然融为一体的亲近与惬意。此外&#xff0c;安全性高也是一大优势&#xff0c;昆士兰当地人对国际学生非常热情友好&#xff0c;在你需要帮助的时候&#xff0c;从来不会感…

C++跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架源码

C跨平台&#xff08;支持LINUX&#xff0c;WIN32&#xff0c;Solaris&#xff0c;MacOS&#xff0c;FreeBSD&#xff09;的网络通信库及服务器编程框架源码 完整代码下载地址&#xff1a;跨平台的网络通信库及服务器编程框架源码 一、描述 1.1、库组成1.2、功能模块组成 1.2.1…

linux配置xrdp

源码 https://github.com/neutrinolabs/xrdp.git xrdp需要安装openssl-devel, pam-devel, libX11-devel, libXfixes-devel, libXrandr-devel ./bootstrap //git submodule下载&#xff0c;需要安装nasm&#xff0c;autoconf生成configure ./configure && make -j4 &a…

区块链与智慧城市

智慧城市的概念涵盖了城市领域的硬件、软件、管理、计算、数据分析等服务的集成。概括地说&#xff0c;就是利用信息通信技术&#xff08;ICT&#xff09;对城市运行各个环节的关键信息进行感知、整合、存储、处理、分析、预测和响应&#xff0c;从而提供智能响应和辅助决策。满…

工业建筑的应急照明系统的设计原则及常见电气设计问题与解决方案

【摘要】:文章根据《消防应急照明和疏散指示系统技术标准》&#xff08;GB513O9-2018&#xff09;,介绍了工业建筑的应急照明系统的设计原则及常见电气设计问题与解决方案。 【关键词】:工业建筑&#xff1b;消防;应急照明&#xff1b;疏散标志;系统设计&#xff1b;安科瑞 李…

p2机器学习基本概念简介

2. 第 1 讲&#xff1a;机器学习基本概念简介上_哔哩哔哩_bilibili 机器学习找一个合适的函数&#xff1a; 随着找的函数不同&#xff0c;机器学习就有了不同的类别&#xff0c;下面了解一些专有名词&#xff1a; Regression&#xff1a;假设找的函数输出是一个数值&#xff…

学习笔记4:数据的存储

目录 一. 整形家族数据在内存中的存储 1.整形数据的原码&#xff0c;反码和补码 2.数据的大小端存储 3.相关练习 1.编写一个函数用于判断当前机器是大端存储类型还是小端存储类型 2.阅读代码判断程序输出内容 3.阅读代码判断程序输出内容 4.阅读代码判断程序输出内容 5.附头文…

5G NR标准 第13章 重传协议

第13章 重传协议 通过无线信道的传输容易出错&#xff0c;例如&#xff0c;由于接收信号质量的变化。 在某种程度上&#xff0c;这种变化可以通过第 14 章中讨论的链路适配来抵消。但是&#xff0c;接收机噪声和不可预测的干扰变化无法抵消。 因此&#xff0c;几乎所有无线通…

数字化时代,聊一聊企业的信息化整合

现如今&#xff0c;企业搭建的OA、ERP、CRM、HR、BI 以及财务软件等软件系统&#xff0c;其数据格式、数据库类别、操作系统、应用系统等不尽相同&#xff0c;位置分散相互独立&#xff0c;甚至有的企业在同一个系统下的财务、办公、销售、生产等系统也各自独立&#xff0c;相互…

蓝牙资讯|消息称苹果正开发 AirPods Lite 耳机

据 9to5Mac 报道&#xff0c;苹果目前正销售四种不同型号的 AirPods&#xff0c;包括第二代 AirPods 到定位更高端的 AirPods Max。虽然 AirPods 已成为非常受欢迎的耳机&#xff0c;但其并不便宜。 据海通国际分析师 Jeff Pu 爆料&#xff0c;苹果目前正在研发新的“AirPods…

SAP入门技术分享二:数据类型

数据类型1.概要2.数据类型的种类&#xff08;1&#xff09;ABAP基本数据类型&#xff08;2&#xff09;局部数据类型&#xff08;3&#xff09;全局数据类型3.DATA语句&#xff08;1&#xff09;TYPE type&#xff08;2&#xff09;LIKE num&#xff08;3&#xff09;VALUE int…

智能车|ROS主控与STM32建立通信软硬件全方位讲解

智能车|ROS主控与STM32建立通信软硬件全方位讲解前言智能车控制器功能通信内容硬件连接软件设置更新电平转换芯片的serial创建设备别名使用设备别名ROS与STM32串口通信代码ROS主控读取stm32发送的数据ROS主控向stm32发送数据前言 通常复杂的机器人会存在多个控制器&#xff0c;…