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)

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SSM+微信小程序考试的管理系统(考试1)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM微信小程序考试的管理系统实现了管理员及用户。 1、管理员功能有个人中心&#xff0c;用户管理&#xff0c;考试资料管理&#xff0c;用户交流管理&#xff0c;试卷管理&#xff…

大数据日志处理框架ELK方案

介绍应用场景大数据ELK日志框架安装部署 一&#xff0c;介绍 大数据日志处理框架ELK&#xff08;Elasticsearch、Logstash、Kibana&#xff09;是一套完整的日志集中处理方案&#xff0c;以下是对其的详细介绍&#xff1a; 一、Elasticsearch&#xff08;ES&#xff09; 基本…

ZEISS ATOS Q蓝光三维扫描仪高效把控零件质量检测【上海沪敖3D】

位于Bengaluru的施耐德电气工厂拥有一流的计量设备&#xff0c;可以检测所有供应商的零件。当时&#xff0c;他们在使用一款激光扫描设备进行质量检测&#xff0c;但是&#xff0c;该设备不便于携带&#xff0c;且检测时需要喷涂大量的显影液。此外&#xff0c;它需要被安装在夹…

LeetCode--买卖股票的最佳时机Ⅲ--动态规划

一、题目解析 二、算法原理 这道题跟另外的几道股票问题分析方式相似&#xff0c;区别主要就在于该题规定我们最多可以完成两笔交易&#xff0c;那么我们就可以定义二维数组f[][]&#xff0c;g[][]。f[i][j]表示在第i天后我们手中持有股票且交易次数为j时的最大利润&#xff0c…

微服务之网关、网关路由、网关登录校验

简介&#xff1a;来源&#xff1a;SpringCloud微服务开发与实战&#xff0c;java黑马商城项目微服务实战开发&#xff08;涵盖MybatisPlus、Docker、MQ、ES、Redis高级等&#xff09; 认识网关 前端请求不能直接访问微服务&#xff0c;而是要请求网关&#xff1a; 网关可以做…

JetBrains IDE中GPU进程(JCEF)重启问题(Too many restarts of GPU-process)解决方案

目录 前言1. GPU进程重启问题概述1.1 什么是GPU进程重启问题&#xff1f;1.2 该问题带来的影响 2. GPU进程重启问题的原因分析2.1 显卡驱动的兼容性问题2.2 系统资源的限制2.3 JCEF组件的设置不合理 3. 解决方案3.1 方法一&#xff1a;通过自定义属性禁用GPU加速3.2 方法二&…

CRC校验 生成多项式选取奇次偶次的问题讨论

目录 问题一&#xff1a;为什么CRC校验码不支持偶次校验码&#xff1f; 问题二&#xff1a;如何判断一个生成多项式是否为偶次多项式&#xff1f; 步骤&#xff1a; 示例&#xff1a; 注意&#xff1a; 问题三&#xff1a;CRC32的生成多项式是什么&#xff1f;是偶次还是…

Python自动打开本地谷歌浏览器—无需下载驱动器(模板—自己的笔记)

目录 专栏导读1、库的介绍2、库的安装3、核心代码4、完整1&#xff1a;自动打开本地谷歌浏览器5、使用Selenium连接到远程调试端口总结 专栏导读 &#x1f338; 欢迎来到Python办公自动化专栏—Python处理办公问题&#xff0c;解放您的双手 &#x1f3f3;️‍&#x1f308; 博…

电气安全隐患不容忽视

在现代生活中&#xff0c;电力如同血液般滋养着城市的每一个角落&#xff0c;然而&#xff0c;当这股能量失控时&#xff0c;它也能瞬间化身为吞噬生命的火焰。根据国家消防局的权威数据&#xff0c;电气火灾占所有火灾的28.4%&#xff0c;而其中6.5%的源头直指短路——这一看似…

WebSocket—双向实时通信

WebSocket 是一种用于建立客户端和服务器之间的全双工通信协议。它允许在同一连接上进行双向数据传输&#xff0c;特别适合实时性要求高的应用场景&#xff0c;如即时聊天、实时通知和在线游戏等。WebSocket 使用 HTTP 握手建立连接&#xff0c;一旦连接建立&#xff0c;数据可…

014:数据恢复软件iCare Data Recovery安装教程

摘要&#xff1a;本文详细介绍数据恢复软件iCare Data Recovery安装流程。 一、软件介绍 iCare Data Recovery Pro是一款专业且高效的数据恢复软件&#xff0c;专为解决各种数据丢失问题而设计。该软件具备强大的扫描和恢复功能&#xff0c;能够深入查找并恢复包括文档、图片、…

【移动应用开发】Android持久化技术

目录 一、实现一个“我的图书馆” 1. 用户登陆界面 1.1 运行截图 1.2 源代码 ① 布局文件activity_login.xml ② res/values/strings.xml ③ LoginActivity.kt ④ 在AndroidManifest.xml注册LoginActivity.kt 2. 图书信息数据库和显示界面 2.1 功能实现截图 2.2 源…

商用加密机:信息安全的重要保障

在当今这个数字化时代&#xff0c;信息的安全传输和存储成为了各行各业不可忽视的重要问题。随着网络技术的迅猛发展&#xff0c;各种数据泄露、网络攻击事件层出不穷&#xff0c;信息安全威胁日益严峻。为了应对这一挑战&#xff0c;商用加密机作为一种重要的信息安全设备&…

Vxe UI vue vxe-table 表格中使用下拉表格,单元格渲染下拉表格

Vxe UI vue vxe-table 表格中使用下拉表格&#xff0c;单元格渲染下拉表格 单元格中渲染下拉表格&#xff0c;需要使用到 vxe-table-select 这个组件&#xff0c;在 vxe-table 4.7 中使用非常简单&#xff0c;只需要配置好渲染器数据源就可以。 支持单选 也可以多选 代码 …

.NET Core WebApi第5讲:接口传参实现、数据获取流程、204状态码问题

一、接口传参实现 1、引入&#xff1a;通过网址上两个参数mod...和FID....&#xff0c;区分开要的是哪个板块里面的数据​​​​​ 2、传参实现&#xff1a;在方法的参数处定义STRING字符串 &#xff08;1&#xff09;传1个参数 2>运行代码&#xff0c;在网页上输入以“点…

深度了解flink 运行时架构

前言 Flink 架构 Flink是目前算是实时计算的事实标准&#xff0c;背靠Apache活跃的社区和国内阿里技术团队的支持&#xff0c;社区生态十分丰富&#xff0c;本篇文章主要介绍flink的结构&#xff0c;对flink的各个组件有个更清晰的认识。 flink官网对flink的架构有很清晰的介…

企业后端系统通用模版

一、前言 随着科技越来越发达,现在项目的主流技术也基本定型了,前后端分离为主(vue+springboot)。而后端现在仍有很多重复代码工作的部分,本着减轻程序员编写重复代码,做到快速开发,所以设计了一个通用的后端系统。 项目地址:ywz-manage: 游王子og管理系统通用模版 二…

【Docker】Dockerfile 指令对 Docker 镜像层数的影响

本文内容均来自个人笔记并重新梳理&#xff0c;如有错误欢迎指正&#xff01; 如果对您有帮助&#xff0c;烦请点赞、关注、转发、订阅专栏&#xff01; 专栏订阅入口 | 精选文章 | Kubernetes | Docker | Linux | 羊毛资源 | 工具推荐 | 往期精彩文章 【Docker】&#xff08;全…

数据分析-38-关于互联网企业黑名单的探索

论文辅导或算法学习可以滴滴我 文章目录 项目介绍表和字典描述1、读取数据2、查看黑名单公司主要来自哪些城市3、查看黑榜公司分布城市4、存在的问题5、查看存在问题分类 项目介绍 在数字化的时代&#xff0c;信息的力量不言而喻&#xff0c;尤其当我们面临职业选择时。是一个…

linux系统运维面试题(一)(Linux System Operations Interview Questions I))

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…