当前位置: 首页 > 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…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

python/java环境配置

环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...