当前位置: 首页 > news >正文

UML 介绍

前言

UML 简介。

文章目录

    • 前言
    • 一、简介
      • 1、事务
      • 2、关系
        • 1)依赖
        • 2)关联
          • 聚合
          • 组合
        • 3)泛化
        • 4)实现
    • 二、类图
    • 三、对象图
    • 四、用例图
    • 五、交互图
      • 1、序列图(顺序图)
      • 2、通信图
    • 六、状态图
    • 七、活动图
    • 八、构件图(组件图)
    • 九、部署图

一、简介

  • UML 是统一建模语言;
    • 事物:将对象/组件(人或物)抽象出来,
    • 关系:哪些事物间有联系,将其关联起来
    • 图:将有关系的事物聚集在一起

1、事务

  • 结构事物;
  • 行为事物;
  • 分组事物;
  • 注释事物;

2、关系

1)依赖
2)关联
  • 描述的是整体与部分之间的关系;
聚合
  • 空心菱形
  • 菱形指向的是整体,另外一段是整体中的部分
  • 部分和整体的生命周期不一致,整体消失了,部分还存在(部分可以脱离整体存在)
组合
  • 实心菱形
  • 菱形指向的是整体,另外一端是整体中的部分
3)泛化
  • 泛化指的是父类泛化子类,继承指的是子类继承父类;
  • 空心三角
  • 子类指向父类,空心三角指向父类
  • 子类继承了父类的属性和方法后是不需要再去定义的,如果在子类中重新定义了的话意思为将父类继承的这个方法进行了重写
4)实现
  • 虚线箭头

二、类图

  • 将事物和关系组成一个图,这里的事物指的是结构事物中的类;
  • 类图展现了一组对象、接口、协作和它们之间的关系

三、对象图

  • 包括对象和链(一条直线)
  • 展现了某一时刻一组对象以及它们之间的关系
  • 注意:对象图中没有方法

四、用例图

  • 用例:椭圆(用户的一些行为即用户执行某些事情)
  • 参与者:小人(用户)
  • 用例和用例之间的关系
  • 包括用例、 参与者、用例和用例之间的关系

五、交互图

1、序列图(顺序图)

  • 主要强调消息时间顺序,是用来对一个场景进行图形化表示
  • 在一段时间里,将对象之间的交互活动被序列图给描绘出来
  • 图中:一个箭头(——>)可以理解为一个消息

2、通信图

  • 强调的是收发消息的对象的结构组织
  • 对象和对象之间用链(直线)连接,链的旁边有消息,消息是有方向的(箭头指向),消息有消息序号
  • 主要描述的是对象与对象之间发送消息,发送消息的顺序
  • 给消息编号就是通信图的特征

六、状态图

  • 强调对象行为的事件顺序
  • 由状态、转换、事件和活动组成
  • 是对反应型对象进行动态建模
  • 一个状态图可以没有终态也可以有多个终态

七、活动图

  • 展现了系统内从一个活动到另一个活动的整个流程
  • 描述:椭圆
  • 流:从一个活动到另一个活动的流程
  • 并发分岔:同时进行两个活动
  • 并发汇合:当两个活动流都指向并发汇合后才能继续往下走
  • 对一个系统的动态方面建模时,通常有两种使用活动图的方式:1)对工作流建模 2)对操作建模
  • 如何区分状态图和活动图
    • 状态图:转换箭头上有事件名称
    • 活动图:箭头上没有事件名称

八、构件图(组件图)

  • 类图:描述类、接口或协作

  • 构件图与类图相关,通常将构建映射为一个或多个类、接口或协作,展现了一组构件之间的组织和依赖

  • 半圆是需接口,满圆是供接口

  • 需接口需要供接口组合来实现一些功能;上面构建调用下面任意构建来实现对应的 xxx 接口的功能

  • 接口的功能实现:一般是需接口对应的构建来实现相应的功能

  • 专注于系统的静态实现视图

九、部署图

  • 对系统物理方面进行建模
  • 部署图展现了系统的软件和硬件之间的物理关系,在实施阶段使用

相关文章:

UML 介绍

前言 UML 简介。 文章目录 前言一、简介1、事务2、关系1)依赖2)关联聚合组合 3)泛化4)实现 二、类图三、对象图四、用例图五、交互图1、序列图(顺序图)2、通信图 六、状态图七、活动图八、构件图&#xff0…...

Pytorch——训练时,冻结网络部分参数的方法

一、原理: 要固定训练网络的哪几层,只需要找到这几层参数(parameter),然后将其 .requires_grad 属性设置为 False 即可。 二、代码: # 根据参数层的 name 来进行冻结 unfreeze_layers ["text_id"] # 用列表 # 设置冻…...

制冷铜管焊接介绍

铜管是制冷装置的重要原材料,它主要有两种用途:①制作换热器。②制作连接管道和管件。常用的焊料类型有铜磷焊料、银铜焊料、铜锌焊料等。在焊接时要根据管道材料的特点,正确的选择焊料及熟练的操作,以确保焊接的质量。 1.1对同类…...

spring06:mybatis-spring(Spring整合MyBatis)

spring06:mybatis-spring(Spring整合MyBatis) 文章目录 spring06:mybatis-spring(Spring整合MyBatis)前言:什么是 MyBatis-Spring?MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合…...

如何使用自定义Promptbooks优化您的安全工作流程

在当今的数字化时代,安全工作流程的优化变得前所未有的重要。安全团队需要快速、有效地响应安全事件,以保护组织的数据和资产。Microsoft Copilot for Security提供了一种强大的工具——自定义Promptbooks,它可以帮助安全专家通过自动化和定制…...

Text2sql的一些技巧

最近看到了一篇关于text2sql的文章,以及一些论文。对使用模型做text2sql给了一些不错的建议。 参考文章:24年大模型潜力方向:大浪淘沙后的Text-to-SQL和Agent - 知乎 论文:https://arxiv.org/pdf/2403.09732.pdf 关于模型的建议 …...

aws云靶场和一些杂记

aws靶场 在AWS靶场中,存在三个安全问题:1) 一个S3存储桶政策配置错误,允许公共访问,通过访问特定域名可获取flag。2) SQS消息队列的政策没有限制角色,允许发送和接收消息,通过aws sqs命令行工具的receive-…...

《AI编程类工具之四——GitHub copiot》

一.简介 官网:https://github.com/features/copilot GitHub Copilot是由GitHub和OpenAI合作开发的一款人工智能编程助手。这款工具基于OpenAI的GPT-3模型进行训练,旨在帮助开发者更高效地编写代码。 二.功能介绍 智能代码补全:GitHub Cop…...

Unity类银河恶魔城学习记录13-1 p142 Save system源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili FileDataHandler.cs using System; using System.IO; using UnityEngine; p…...

【C++杂货铺】继承

目录 🌈前言🌈 📁 继承的概念和定义 📂 概念 📂 定义 📁 基类和派生类对象赋值转换 📁 继承中的作用域 📁 派生类的默认成员函数 构造函数 析构函数 拷贝构造函数 赋值重载…...

快速上手Linux核心命令

Linux 的重要性不用我多说了吧,大多数互联网公司,服务器都是采用的Linux操作系统 Linux是一个主要通过命令行来进行管理的操作系统。 只有熟练掌握Linux核心命令,在使用起来我们才会得心应手 这里给大家整理了Linux一些核心命令&#xff0…...

背 单 词 (考研词汇闪过)

单词: 买考研词汇闪过 研究艾宾浩斯遗忘曲线 https://www.bilibili.com/video/BV18Y4y1h7YR/?spm_id_from333.337.search-card.all.click&vd_source5cbefe6dd70d6d84830a5891ceab2bf9 单词方法 闪记背两排(5min)重复一遍(2mi…...

数据库工具解析之 OceanBase 数据库导出工具

背景 大多数的数据库都配备了自己研发的导入导出工具,对于不同的使用者来说,这些工具能够发挥不一样的作用。例如:DBA可以使用导数工具进行逻辑备份恢复,开发者可以使用导数工具完成系统间的数据交换。这篇文章主要是为OceanBase…...

[Algorithm][滑动窗口][长度最小的子数组] + 滑动窗口原理

目录 0.滑动窗口原理讲解1.长度最小的子数组1.题目链接2.算法原理讲解3.代码实现 0.滑动窗口原理讲解 滑动窗口:“同向双指针”滑动窗口可处理「⼀段连续的区间」问题如何使用? left 0, right 0进窗口判断 是否出窗口 更新结果 -> 视情况而定 可能…...

.NET 发布,部署和运行应用程序

.NET应用发布 发布.Net应用有很多种方式,下面列举三种发布方式: 单文件发布跨平台发布Docker发布 单文件发布 右键工程,选择“发布”,部署模式选择“独立”,目标运行时选择自己想要部署到的系统,我这里用…...

B树(B-tree)

B树(B-tree) B树(B-tree)是一种自平衡的多路查找树,主要用于磁盘或其他直接存取的辅助存储设备 B树能够保持数据有序,并允许在对数时间内完成查找、插入及删除等操作 这种数据结构常被应用在数据库和文件系统的实现上 B树的特点包括: B树为…...

EelasticSearch是什么?及EelasticSearch的安装

一、概述 Elasticsearch 是一个基于 Apache Lucene 构建的开源分布式搜索引擎和分析引擎。它专为云计算环境设计,提供了一个分布式的、高可用的实时分析和搜索平台。Elasticsearch 可以处理大量数据,并且具备横向扩展能力,能够通过增加更多的…...

Python机器学习项目开发实战:如何进行语音识别

注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程:Python机器学习项目开发实战_语音识别_编程案例解析实例详解课程教程.pdf 在Python机器学习项目…...

2024年五一杯数学建模C题思路分析

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间:2024…...

【代码】Python3|Requests 库怎么继承 Selenium 的 Headers (2024,Chrome)

本文使用的版本: Chrome 124Python 12Selenium 4.19.0 版本过旧可能会出现问题,但只要别差异太大,就可以看本文,因为本文对新老版本都有讲解。 文章目录 1 难点解析和具体思路2 注意事项2.1 PDF 资源获取时注意事项2.2 Capabiliti…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...