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

UML总结

零:学习链接

UML_哔哩哔哩_bilibili

一:UML概述

二:类图

类图(Class Diagram)是统一建模语言(UML)中一种重要的图形表示,用于描述系统中的类及其之间的关系。它是面向对象设计中常用的工具,可以帮助开发者理解系统结构和组件之间的互动。

UML类的表示

  1. 类名

    • 位于矩形的顶部,通常使用加粗字体。类名首字母大写,其他字母通常小写。
  2. 属性

    • 位于矩形的中间部分,列出类的属性。属性前可以添加访问修饰符:
      • 可见性修饰符概述:用“#”表示,意味着可以在该类及其子类中访
      • 公开(public):用“+”表示,意味着可以被任何类访问。
      • 私有(private):用“-”表示,意味着只能在该类内部访问。
      • 保护(protected):用“#”表示,意味着可以在该类及其子类中访问。
      • 包级(package):用“~”表示,意味着只能在同一包内访问。
    • 每个属性可以包含类型信息,格式为 属性名: 类型
  3. 方法

    • 位于矩形的底部,列出类的方法。方法的表示与属性相似,格式为 方法名(参数列表): 返回类型

继承关系

在UML(统一建模语言)中,类继承关系通常通过特定的符号表示。以下是一些关键概念和符号:

  1. 继承(泛化)

    • 表示父类与子类之间的关系。
    • 用一个带空心三角形的实线连接父类和子类,三角形指向父类。
  2. 实现

    • 表示一个类实现了一个接口。
    • 用带空心三角形的虚线表示,三角形指向接口。

  1. 多重继承

    • 如果一个子类继承自多个父类,使用多个实线箭头连接各个父类。
  2. 抽象类

    • 抽象类通常用斜体字体表示,表示不能直接实例化的类。
  3. 接口

    • 接口通常用“<<interface>>”标签标注,以便区分与普通类。

实现关系

依赖关系

关联关系

聚合关系

组合关系

三:用例图

用例图是UML(统一建模语言)中一种用于表示系统功能的图示工具,主要用于展示系统的用户(或称为“参与者”)与系统之间的交互关系。用例图能够帮助分析和定义系统的需求,尤其是在系统的早期设计阶段。

用例图的主要组成部分

  1. 参与者(Actors)

    • 代表与系统交互的用户或其他系统。
    • 可以是具体的人、组织或外部系统。
    • 在图中通常用一个小人形象或方框表示。
  2. 用例(Use Cases)

    • 表示系统提供的功能或服务。
    • 通常用椭圆形表示,并标注功能名称。
  3. 关系

    • 关联(Association):参与者与用例之间的连接线,表示交互关系。
    • 扩展(Extend):用来表示某个用例在特定条件下可以扩展其他用例,通常用带箭头的虚线表示。
    • 包含(Include):表示一个用例包含另一个用例的功能,通常用带箭头的虚线表示。

用例图的用途

  • 需求分析:帮助开发团队理解系统功能和用户需求。
  • 沟通工具:作为开发人员、客户和其他利益相关者之间的沟通桥梁。
  • 文档化:为系统的功能提供清晰的文档,便于后续的设计和开发。

用例图元素

四:状态图

状态图(State Diagram)是UML(统一建模语言)中的一种行为图,用于描述对象在其生命周期中的各种状态及状态之间的转换。它主要用于建模具有明显状态变化的对象,如在某个特定条件下可能会改变的对象的行为。

状态图的主要组成部分

  1. 状态(State)

    • 代表对象在某一时刻的状况。
    • 状态用圆角矩形表示,状态名称通常在其中。
  2. 初始状态(Initial State)

    • 表示对象生命周期的开始状态。
    • 用一个实心圆表示。
  3. 终止状态(Final State)

    • 表示对象生命周期的结束状态。
    • 用一个带圈的实心圆表示。
  4. 转换(Transition)

    • 表示状态之间的变化,通常由箭头表示。
    • 可以附带事件、条件或动作描述,如“事件/动作”格式。
  5. 事件(Event)

    • 导致状态转换的外部或内部条件。
  6. 条件(Guard)

    • 在转换发生前需要满足的条件,通常写在方括号中。

五:活动图

活动图(Activity Diagram)是UML(统一建模语言)中用于描述系统中活动流和控制流的图示工具。它特别适合于展示业务流程、工作流或系统中的动态行为。

活动图的主要组成部分

  1. 活动(Activity)

    • 表示系统中的一个动作或任务,通常用圆角矩形表示,活动名称写在其中。
  2. 初始节点(Initial Node)

    • 表示活动的起始点,用一个实心圆表示。
  3. 终止节点(Final Node)

    • 表示活动的结束点,用一个带圈的实心圆表示。
  4. 控制流(Control Flow)

    • 表示活动之间的顺序关系,通常用箭头表示,指示活动的执行顺序。
  5. 决策节点(Decision Node)

    • 表示基于条件的分支,通常用菱形表示,箭头指向不同的活动,附带条件表达式。
  6. 合并节点(Merge Node)

    • 将多个控制流合并为一个,通常用菱形表示。
  7. 并行活动(Fork和Join)

    • Fork:表示活动的并行分支,通常用一条水平或垂直的线表示。
    • Join:表示并行活动的合并,通常用一条水平或垂直的线表示。

六: 时序图

时序图(Sequence Diagram)是UML(统一建模语言)中一种用于描述对象之间交互的图示,特别关注时间顺序。它展示了对象之间如何通过消息传递进行交互,通常用于描述系统的动态行为。

时序图的主要组成部分

  1. 参与者(Actor)

    • 表示与系统交互的外部实体(如用户、系统等),通常在图的最左侧用小人图标表示。
  2. 对象(Object)

    • 参与交互的类或实例,通常在图中用矩形表示。
  3. 生命线(Lifeline)

    • 表示对象在交互过程中的存在,通常是从对象底部向下延伸的一条虚线。
  4. 消息(Message)

    • 表示对象之间的交互,通过箭头表示。消息可以是同步消息、异步消息、返回消息等,箭头的样式和方向指示消息的类型。
  5. 激活(Activation)

    • 表示对象在某个时间段内处于活跃状态,通常用矩形在生命线上表示。
  6. 自消息(Self-Message)

    • 对象向自身发送的消息,用箭头指向自身。

 

 

 

七:组件图

组件图的主要组成部分

  1. 组件(Component)

    • 表示系统中的一个模块或部分,通常用矩形表示,顶部有一个小矩形,表示这是一个组件。
  2. 接口(Interface)

    • 表示组件提供的服务或功能,通常用圆形或半圆形表示。接口可以通过一个带有小黑点的线连接到组件。
  3. 连接器(Connector)

    • 用于表示组件之间的通信关系,通常用带有箭头的直线表示。
  4. 依赖关系(Dependency)

    • 表示一个组件依赖于另一个组件,通常用带箭头的虚线表示,箭头指向被依赖的组件。
  5. 包(Package)

    • 用于组织和分组组件,可以用一个带有标签的矩形表示,里面包含多个组件。

八:部署图

部署图(Deployment Diagram)是UML(统一建模语言)中用于描述系统的物理部署结构的图示。它展示了系统的硬件组件(节点)以及这些组件之间的关系,主要用于表现系统的运行环境。

部署图的主要组成部分

  1. 节点(Node)

    • 表示物理设备或计算资源,如服务器、工作站、路由器等,通常用立方体或三维盒子表示。
  2. 组件(Component)

    • 系统中的软件部分,可以是应用程序、库、服务等,通常表示为矩形,并放置在节点内部。
  3. 关系(Relationship)

    • 用于表示节点之间或组件与节点之间的连接关系,通常用线表示。
  4. 接口(Interface)

    • 表示节点或组件提供的服务,通常用一个小圆形表示,并连接到相应的节点或组件。
  5. 设备(Artifact)

    • 物理文件或数据,通常表示为文档图标或类似的符号,可以与节点或组件关联。

相关文章:

UML总结

零&#xff1a;学习链接 UML_哔哩哔哩_bilibili 一&#xff1a;UML概述 二&#xff1a;类图 类图&#xff08;Class Diagram&#xff09;是统一建模语言&#xff08;UML&#xff09;中一种重要的图形表示&#xff0c;用于描述系统中的类及其之间的关系。它是面向对象设计中常…...

网站被浏览器提示不安全怎么办?——附解决方案

当你的网站被浏览器标记为不安全时&#xff0c;这通常意味着有一些问题需要解决。以下是一些解决这个问题的步骤&#xff1a; 检查SSL证书&#xff1a;首先&#xff0c;确保你的网站使用了有效的SSL证书。SSL证书可以加密浏览器和服务器之间的数据传输&#xff0c;保护用户数据…...

“前端兼容——CSS篇”(进阶版)

“前端兼容——CSS篇”&#xff08;进阶版&#xff09; 上一篇文章写了css 兼容问题处理的基础篇 点击这里基础篇—传送门&#xff0c;这里想给粉丝分享一下css 更深一点的兼容场景&#xff0c;和处理方案 文章目录 “前端兼容——CSS篇”&#xff08;进阶版&#xff09;进阶CS…...

使用Docker Compose简化微服务部署

文章目录 Docker Compose简介安装Docker Compose在Windows上安装Docker Compose在macOS上安装Docker Compose在Linux上安装Docker Compose 创建Docker Compose文件创建compose文件构建并运行服务 使用Docker Compose网络定义网络验证网络连接 使用Docker Compose卷定义卷使用卷…...

2025考研各省市网上确认时间汇总!

2025考研各省市网上确认时间汇总&#xff01; 安徽&#xff1a;11月1日至5日 福建&#xff1a;11月1日-11月5日 山东&#xff1a;10月31日9:00至11月5日12:00 新疆&#xff1a;10月31日至11月4日17:00 湖南&#xff1a;11月1日9:00-4日12:00 广东&#xff1a;10月下旬至1…...

SSL/TLS 密码套件漏洞分析以及修复方法

1. 前言 在当今数字化时代&#xff0c;网络安全至关重要。SSL/TLS 协议作为保障网络通信安全的重要手段&#xff0c;广泛应用于各类网络应用中。然而&#xff0c;如同任何技术一样&#xff0c;SSL/TLS 也并非绝对安全&#xff0c;存在着一些可能被攻击者利用的漏洞。本文将深入…...

[Vue warn]: Do not use built-in or reserved HTML elements as component id:

这个Vue警告信息表明不要将内置或保留的HTML元素名称用作组件的ID。在Vue中&#xff0c;组件的ID应该是唯一的&#xff0c;以确保没有冲突。很可能是一个保留字或者是一个内置的HTML元素名称&#xff0c;所以Vue拒绝了这样的用法。 解决方法&#xff1a; 更改组件的ID&#x…...

【大数据学习 | kafka】kafka的shell操作

1. topic的管理命令&#xff08;kafka-topics.sh&#xff09; 参数如下&#xff1a; 1.1 创建 # 创建 kafka-topics.sh --bootstrap-server nn1:9092 --create --topic topic_a --partitions 3 --replication-factor 2 # --bootstrap-server 指定集群地址&#xff0c;因为每…...

UE4安卓打aab包时,同时存在“gradle”、“arm64/gradle”两个Gradle工程的原因

两个Gradle工程的现象 在出安卓aab包时&#xff0c;观察到存在以下两个Gradle工程&#xff1a; 1、Intermediate\Android\arm64\gradle &#xff08;称为arm64的Gradle&#xff09; 2、Intermediate\Android\gradle&#xff08;称为根下的Gradle&#xff09; 它们存在一些小…...

淘宝API接口( item_get- 淘宝商品详情查询)

淘宝商品详情查询 API&#xff08;item_detail&#xff09;主要用于获取淘宝商品的详细信息&#xff0c;以下是相关介绍&#xff1a; 请求参数&#xff1a; num_iid&#xff1a;必填参数&#xff0c;代表商品的唯一标识 ID。通过该 ID 可以准确地指定要查询的商品。例如&#…...

Soanrquber集成Gitlab 之 gitlab用户配置和身份验证

集成Gitlab &#xff1a; gitlab用户配置和身份验证 说明&#xff1a; 使得Sonarquber的用户登录与Gitlab的用户登录/认证模块同步 什么是 SonarQube&#xff1f; SonarQube 是一个开源的代码质量管理平台&#xff0c;用于持续检查和分析代码的质量和安全性。它提供了多种功…...

沪深A股上市公司数据报告分析

数据分析报 目录 数据分析报告 1.引言 1.1 背景介绍 1.2 报告目的 1.3 报告范围 1.4 关键术语定义 2. 数据收集与预处理 2.1 数据来源概述 2.2 数据收集过程 2.3 数据预处理步骤 3. 数据可视化 3.1分析地区对公司数量的影响 3.2分析行业分类是否影响公…...

Elasticsearch Search Template 搜索模板

Elasticsearch Search Template 所谓 search template 搜索模板其实就是&#xff1a; 预先定义好查询语句 DSL 的结构并预留参数搜索的时再传入参数值渲染出完整的 DSL &#xff0c;最后进行搜索 使用搜索模板可以将 DSL 从应用程序中解耦出来&#xff0c;并且可以更加灵活的…...

2024年10月-2025年5月 Oracle 19c OCM 考试安排

2024年10月-2025年5月 Oracle 19c OCM 考试安排&#xff1a; 北京考场&#xff1a; 上海考场&#xff1a; 更新时间&#xff1a;2024年10月25日 Oracle 19c OCM往期学员成绩展示&#xff1a; Oracle 19c OCM认证证书&#xff08;电子版&#xff09;...

VMware虚拟机安装KailLinux系统

目录 简介 系统镜像下载 配置虚拟机 安装系统镜像 切换中文界面 后置内容 修改root密码 ssh服务 对互联网的热爱&#xff0c;尝试安装另一套Linux系统。 简介 Kali Linux是一个专为网络安全和渗透测试设计的Linux发行版&#xff0c;它包含了大量安全相关的工具和软件…...

G2 基于生成对抗网络(GAN)人脸图像生成

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 基于生成对抗网络&#xff08;GAN&#xff09;人脸图像生成 这周将构建并训练一个生成对抗网络&#xff08;GAN&#xff09;来生成人脸图像。 GAN 原理概述 …...

R学习笔记-单因素重复测量方差分析

R语言之重复测量方差分析——ezANOVA的使用与解析 - 知乎 单因素重复测量方差分析(One-Way Repeated Measures ANOVA)——R软件实现 - 梦特医数通 ### 清空environment rm(list ls()) ### 加载包 if (!require("tidyverse")) install.packages("tidyverse&quo…...

HTML练习题:彼岸的花(web)

展示效果: 代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>彼岸の花</title><style…...

(蓝桥杯C/C++)——常用库函数

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 一、 二分查找 1.二分查找的前提 2.binary_ search函数 3.lower_bound和upper_bound 二、排序 1.sort概念 2.sort的用法 3.自定义比较函数 三、全排列 1.next p…...

GPT-Sovits-2-微调模型

1. 大致步骤 上一步整理完数据集后&#xff0c;此步输入数据, 微调2个模型VITS和GPT&#xff0c;位置在 <<1-GPT-SoVITS-tts>>下的<<1B-微调训练>> 页面的两个按钮分别执行两个文件: <./GPT_SoVITS/s2_train.py> 这一步微调VITS的预训练模型…...

【数据结构 | PTA】懂蛇语

懂蛇语 在《一年一度喜剧大赛》第二季中有一部作品叫《警察和我之蛇我其谁》&#xff0c;其中“毒蛇帮”内部用了一种加密语言&#xff0c;称为“蛇语”。蛇语的规则是&#xff0c;在说一句话 A 时&#xff0c;首先提取 A 的每个字的首字母&#xff0c;然后把整句话替换为另一…...

Python——自动化发送邮件

在数字化时代&#xff0c;电子邮件是商务沟通和个人联络的重要工具。自动化邮件发送可以节省时间&#xff0c;提高效率。Python&#xff0c;作为一种强大且灵活的编程语言&#xff0c;提供了多种库来支持邮件的自动化发送。本文将详细介绍如何使用Python的smtplib和email库来编…...

MTKLauncher_布局页面分析

文章目录 前言遇到的困难点针对性解决困难 需求相关资料Launcher3 源码 目录简单介绍Launcher3 简介及页面布局分析UI整体架构数据加载布局加载布局加载核心思想device_profiles.xml 加载InvariantDeviceProfileinitGrid(context, gridName)getPredefinedDeviceProfilesinvDist…...

C#实现隐藏和显示任务栏

实现步骤 为了能够控制Windows任务栏&#xff0c;我们需要利用Windows API提供的功能。具体来说&#xff0c;我们会使用到user32.dll中的两个函数&#xff1a;FindWindow和ShowWindow。这两个函数可以帮助我们找到任务栏窗口&#xff0c;并对其执行显示或隐藏的操作 引入命名空…...

基于springboot+vue实现的公司财务管理系统(源码+L文+ppt)4-102

基于springbootvue实现的公司财务管理系统&#xff08;源码L文ppt&#xff09;4-102 摘要 本系统是基于SpringBoot框架开发的公司财务管理系统,该系统包含固定资产管理、资产申领管理、资产采购管理、员工工资管理等功能。公司财务管理系统是一种帮助公司进行有效资金管理、会…...

rnn/lstm

tip&#xff1a;本人比较小白&#xff0c;看到july大佬的文章受益匪浅&#xff0c;现在其文章基础上加上自己的归纳、理解&#xff0c;以及gpt的答疑&#xff0c;如果有侵权会删。 july大佬文章来源&#xff1a;如何从RNN起步&#xff0c;一步一步通俗理解LSTM_rnn lstm-CSDN博…...

袋鼠云产品功能更新报告12期|让数据资产管理更高效

本期&#xff0c;我们更新和优化了数据资产平台相关功能&#xff0c;为您提供更高效的产品能力。以下为第12期袋鼠云产品功能更新报告&#xff0c;请继续阅读。 一、【元数据】重点更新 &#xff5c;01 元数据管理优化&#xff0c;支持配置表生命周期 之前系统中缺少一个可以…...

MATLAB——入门知识

内容源于b站清风数学建模 目录 1.帮助文档 2.注释 3.特殊字符 4.设置MATLAB数值显示格式 4.1.临时更改 4.2.永久改 5.常用函数 6.易错点 1.帮助文档 doc sum help sum edit sum 2.注释 ctrl R/T 3.特殊字符 4.设置MATLAB数值显示格式 4.1.临时更改 format lon…...

C#从零开始学习(用户界面)(unity Lab4)

这是书本中第四个unity Lab 在这次实验中,将学习如何搭建一个开始界面 分数系统 点击球,会增加分数 public void ClickOnBall(){Score;}在OneBallBehaviour类添加下列方法 void OnMouseDown(){GameController controller Camera.main.GetComponent<GameController>();…...

Axure PR 9 多级下拉清除选择器 设计交互

大家好&#xff0c;我是大明同学。 Axure选择器是一种在交互设计中常用的组件&#xff0c;这期内容&#xff0c;我们来探讨Axure中选择器设计与交互技巧。 OK&#xff0c;这期内容正式开始 下拉列表选择输入框元件 创建选择输入框所需的元件 1.在元件库中拖出一个矩形元件。…...

ps做图 游戏下载网站/网上哪里接app推广单

今天在公开课里看到直接用get_page函数来获取网页的代码 可自己尝试了下发旋无论是在python2还是python3里头都并不是预先设定好的函数 解决方案如下&#xff1a; import urllib2 def get_page(url):return urllib2.urlopen(url).read()def get_next_target(page):start_lin…...

goz建站/软文网

下面我们讲解登录功能。首先为了方便我们开发&#xff0c;我们在根目录(www目录)下建立一个项目文件夹&#xff0c;叫joke。接着在joke下建立两个文件夹&#xff0c;一个叫admin后台文件夹&#xff0c;另一个叫home前台文件夹(当然&#xff0c;你也可以使用别的名称&#xff0c…...

资源库建设网站/爱站网seo工具包

定义和用法 defined() 函数检查某常量是否存在。 若常量存在&#xff0c;则返回 true&#xff0c;否则返回 false。 语法 defined(name) 参数描述name必需。规定要检查的常量的名称。例子 <?php define("GREETING","Hello world!"); echo defined(&quo…...

wordpress标签归类/刚刚传来最新消息

Algorithm Boyer-Moore 第一步&#xff1a; 对于给定的模式和在模式及文本中用到的字母表&#xff0c;按照给出的描述构造坏符号移动表。 第二步&#xff1a; 按照之前给出的描述&#xff0c;利用模式来构造好后缀移动表。 第三步&#xff1a; 将模式与文本的开始处对齐。 …...

网站建设过时了/建网站要多少钱

我很难理解下面代码中的调用顺序.我期待看到下面的输出A1B2虽然我可以看到我得到的输出是BA12我以为调用std :: cout<< b-> fooA()<< b-> fooB()<< std :: endl等同于调用std::cout.operator<fooA() ).operator<< ( b->fooB() )但我可以看…...

如何设置网站关键词/自媒体135网站

更正&#xff1a;我使用这种方式制作了完整安装包9.4.3&#xff0c;9.4.3安装好以后更新到9.4.4没有问题&#xff0c;然后从9.4.4更新到这个月的9.4.5时需要安装包中的.msi文件。这可能会给IT管理员带来不便&#xff0c;出现此问题时需要把Adobe Reader卸载&#xff0c;再重新安…...