UML14种图

news2024/11/16 0:38:25

UML14种图

UML是Unified Modeling Language的缩写,译为统一建模语言。

UML是软件行业的建模规范,可以对软件项目建立需求模型、设计模型、实现模型、测试模型。

UML2.0包含的14种图:

UML各种图例(常用图形)

1. 类图(class diagram)

类图描述一组类、接口、协作和它们之间的关系。在OO(面向对象)系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。

类图中常见关系:

2. 对象图(object diagram)

对象图描述对象在某个时刻的状态和关系。

对象图描述了在类图中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。

对象图中一般包括“对象”和“链”两类基本的模型元素。

  1. 类的具体表示称为对象,对象是类的实例。

  2. 链(link)是两个或多个对象之间的独立连接,是关联的实例。

3. 组件图(component diagram)

组件图描述一个封装的类和它的接口、端口,以及由内嵌的组件和连接件构成的内部结构。组件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,组件图是最重要的。组件图是类图的变体。

4. 组合结构图(composite structure diagram)

组合结构图描述结构化类(例如:构件或类)的内部结构,包括结构化类与系统其余部分的交互点。组合结构图用于画出结构化类的内部内容。

5. 用例图(use case diagram)

用例图描述一组用例、参与者及它们之间的关系。用例图给出系统的静态用例视图。这些图在对系统的行为进行组织和建模时是非常重要的。

元素:

  • 参与者(actor):可以是操作员、外部系统、外部设备、时间。

  • 用例(use case):参与者和系统交互的场景描述。

关系:

  • 角色之间:泛化关系(generalization)。

  • 用例之间:包含(include)、扩展(extend)、泛化(generalization)。

用途:通过用户使用系统的场景描述功能需求。

角色与用例之间的实线称为“关联”,用来表示角色和用例之间的交互和通信途径。关联有时候也用带箭头的实线来表示。

用例图的组成还有系统边界:

用例之间的泛化关系:

参与者泛化关系:

6. 顺序图(sequence diagram,序列图)

顺序图是一种交互图,交互图展现了一种交互,它由一组对象或参与者以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。顺序图是强调消息的时间次序的交互图。(描述对象按照时间顺序的消息流来建模用例)

顺序图是强调消息时间顺序的交互图,而通信图则是强调接收和发送消息的对象间关系的交互图。

顺序图主要包括四个元素:

  1. 对象(object):类的实例,可以是系统的参与者或者任何有效的系统对象。

  2. 生命线(lifeline):代表了一次交互中的一个参与对象在一段时间内存在。

  3. 激活(activation):称为控制焦点,表示一个对象执行一个动作所经历的时间段,既可以是直接执行,也可以是通过安排下级过程来执行。

  4. 消息(message):从一个对象向另一个对象发送信号,或由一个对象调用另一个对象的操作。

7. 通信图(communication diagram)

通信图也是一种交互图,它强调收发消息的对象或参与者的结构组织。顺序图和通信图表达了类似的基本概念,但它们所强调的概念不同,顺序图强调的是时序,通信图强调的是对象之间的组织结构(关系)。

通信图有五个概念:

  1. 类角色。

  2. 关联角色:两个类角色之间的关联。

  3. 对象。

  4. 通信链接。

  5. 消息。

8. 时序图(timing diagram)

时序图也是一种交互图,它强调消息跨越不同对象或参与者的实际时间,而不仅仅只是关心消息的相对顺序。

9. 状态图(state diagram)

状态图描述一个状态机,它由状态、转移、事件和活动组成。状态图给出了对象的动态视图。它对于接口、类或协作的行为建模尤其重要,而且它强调事件导致的行为,这非常有助于反应式系统建模。(描述了一个对象在其生命周期中可能得状态组合)

简单来理解状态图(也称为状态机图):描述了一个对象所处的状态,以及用什么操作可促成状态的转变。

状态图有五种表达方式:

  1. 状态(写法:主语+状态)。

  2. 转移:表示每种状态的转移顺序。线上标记触发转移的操作和条件。

  3. 开始:标记流程的起点,不代表任何状态,开始只有一个。

  4. 结束:标记流程的终点,不代表任何状态,结束可以没有,也可以有一个或多个。

  5. 内部转移:是一个回环,表示在一个活动后,当前状态并没有改变。

流程图中的活动要写在圆角矩形里,状态图中的活动要写在带箭头的直线上。

10. 活动图(activity diagram)

活动图是UML用于对系统的动态行为建模的另一种常用工具。活动图本质上是一种流程图。活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。

活动图和流程图区别:

  1. 流程图着重描述处理过程,活动图着重表现的是系统的行为。

  2. 活动图能够表示并发活动的情形,而流程图不能。

  3. 活动图是面向对象的,而流程图是面向过程的。

活动图的核心元素是活动,两个活动的图标之间用带箭头的直线连接。

活动图的组成元素:

  1. 活动状态。

  2. 动作状态。

  3. 转移。

  4. 判定。

  5. 开始和结束状态。

  6. 事件和触发器。

  7. 泳道:泳道将活动图划分为若干组,每组指定给负责这组活动的业务组长,即对象。在活动图中,泳道区分了负责活动的对象,它明确表示了哪些活动是由哪些对象进行的。

  8. 对象流。

  9. 发送信号动作。

  10. 接收事件动作。

11. 部署图(deployment diagram)

部署图表示了该软件系统如何部署到硬件环境中。用于描述系统硬件的物理拓扑结构以及在此结构上运行的软件的图形,部署图可以显示计算节点的拓扑结构、通信路径、节点上运行的软件、软件包含的逻辑单元(对象、类等)。

构件部署图的元素主要是节点(node)、组件(component)和关系(relationship)。

12. 制品图(artifact diagram)

制品图描述计算机中一个系统的物理结构。制品包括文件、数据库和类似的物理比特集合。制品图通常与部署图一起使用,制品也给出了它们实现的类或构件。

13. 包图(package diagram)

包图描述由模型本身分解而成的组织单元,以及它们之间的依赖关系。

14. 交互概览图(interaction overview diagram)

交互概览图是活动图和顺序图的混合物。

参考资料

  1. UML基础与Rose建模实用教程(第三版)

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

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

相关文章

状态机编程实例-状态表法

上篇文章,使用嵌套switch-case法的状态机编程,实现了一个炸弹拆除小游戏。 本篇,继续介绍状态机编程的第二种方法:状态表法,来实现炸弹拆除小游戏的状态机编程。 1 状态表法 状态表法,顾名思义&#xff0…

YOLOv8的目标对象的分类,分割,跟踪和姿态估计的多任务检测实践(Netron模型可视化)

YOLOv8是目前最新版本,在以前YOLO版本基础上建立并加入了一些新的功能,以进一步提高性能和灵活性,是目前最先进的模型。YOLOv8旨在快速,准确,易于使用,使其成为广泛的目标检测和跟踪,实例分割&a…

MATLAB 之 Simulink 操作基础和系统仿真模型的建立

这里写目录标题 一、Simulink 操作基础1. Simulink 的启动与退出1.1 Simulink 的启动1.2 模型文件的打开1.3 Simulink 的退出 2. Simulink 仿真初步2.1 模型元素2.2 仿真步骤2.3 简单实例 二、系统仿真模型的建立1. Simulink 的基本模块2. 模块操作2.1 添加与删除模块2.2 选取模…

快速训练自己的大语言模型:基于LLAMA-7B的lora指令微调

目录 1. 选用工程:lit-llama2. 下载工程3. 安装环境4. 下载LLAMA-7B模型5. 做模型转换6. 初步测试7. 为什么要进行指令微调?8. 开始进行指令微调8.1. 数据准备8.2 开始模型训练8.3 模型测试 前言: 系统:ubuntu 18.04显卡&#xff…

大数据ETL工具对比(Sqoop, DataX, Kettle)

前言 在实习过程中,遇到了数据库迁移项目,对于数据仓库,大数据集成类应用,通常会采用ETL工具辅助完成,公司和客户使用的比较多的是Sqoop, DataX和Kettle这三种工具。简单的对这三种ETL工具进行一次梳理。 ETL工具&…

无法更新iPhone,提示“无法检查更新”怎么办?

当我们需要 iPhone更新系统时,可以前往iPhone设置-通用-软件更新中获取更新推送。不过一些用户可能会遇到无法更新的问题,例如会提示“无法检查更新,检查软件更新时出错”。 以上情况可能是网络问题,可以尝试重新打开设置&#xf…

vue2实现公式规则编辑校验弹窗功能

文章目录 需求描述技术栈最终效果演示功能实现逻辑拆分代码目录结构实现思路光标实现底部单个符号或字段结构设计监听键盘事件&处理光标公式规则校验 总结 需求描述 需要一个弹窗,弹窗内部需要能够进行公式规则的配置并进行公式规则合法性校验。 技术栈 vue2e…

Thymeleaf的常用语法

🌟 Thymeleaf的常用语法 Thymeleaf是一个Java模板引擎,用于处理HTML、XML、JavaScript、CSS等文件。它可以与Spring框架无缝集成,为Web应用程序提供优雅的模板解决方案。本文将介绍Thymeleaf的常用语法,包括th属性、表达式、内置…

Spring Boot 中的 @RestController 注解,如何使用

Spring Boot 中的 RestController 注解 在 Spring Boot 中,我们经常需要编写 RESTful Web 服务,以便于客户端与服务器之间的通信。为了简化 RESTful Web 服务的开发,Spring Boot 提供了 RestController 注解,它可以让我们更方便地…

Jmeter实现参数加密

目录 一、使用__digest自带函数 以md5加密算法演示使用方法 二、在BeanShell 中使用JAVA代码实现算法加密 规避BUG的方法 JMeter有两种方法可以实现算法加密 一、使用__digest自带函数 参数说明: Digest algorithm:算法摘要,可输入值&a…

如何避免在处理数据时出现错误?

介绍 当业务运营管道中发生大量事情时,数据输入任务的优先级往往较低。但是,数据输入被认为是所有行业部门中经常发生的最重要的任务之一。从销售数据到客户分析,从财务数据到库存管理,每项工作都依赖于数据输入,这意…

前端vue入门(纯代码)16

【18.如何在Vue中配置代理服务器】 vue脚手架配置代理总结:修改了vue.config.js文件后必须重启项目【npm run serve】 方法一 ​ 在vue.config.js中添加如下配置: devServer:{proxy:"http://localhost:5000" }说明: 优点&#…

家政上门预约小程序;

家政上门预约小程序开发是一款本地生活类服务上门预约系统,覆盖家政保洁、保姆月嫂、上门维修、管道疏通、上门安装等各种到家服务。可以帮助创业者在不需要相关技术人员及大量资金投入的情况下,就能够轻松搭建并运营一个上门家政服务平台。 那么开发一…

【零基础入门学习Python---Python错误处理和异常保姆级教程】

🚀 Python 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

【图像处理OpenCV(C++版)】——5.3 图像平滑之均值平滑(滤波)

前言: 😊😊😊欢迎来到本博客😊😊😊 🌟🌟🌟 本专栏主要结合OpenCV和C来实现一些基本的图像处理算法并详细解释各参数含义,适用于平时学习、工作快…

Flutter学习四:Flutter开发基础(一)Widget

目录 0 引言 1 Widget 简介 1.1 Widget 概念 1.2 Widget 接口 1.3 Flutter中的四棵树 1.4 StatelessWidget 1.4.1 简介 1.4.2 Context上下文 1.5 StatefulWidget 1.6 State 1.6.1 简介 1.6.2 State生命周期 1.7 在 widget 树中获取State对象 1.7.1 通过Context…

详解如何使用nvm管理Node.js多版本

目录 NVM进行NodeJS多版本管理 背景 安装步骤 1. 下载nvm安装包 2. 安装nvm 使用步骤 下载nodejs 切换版本nodejs ​编辑 常用命令 NVM进行NodeJS多版本管理 背景 有的时候开发环境需要多个NodeJS的版本,这个时候就可以用NVM进行管理。 安装步骤 1. 下载n…

9 从0开始学PyTorch | 过拟合欠拟合、训练集验证集、关闭自动求导

这一小节在开始搞神经网络之前,我们先熟悉几个概念,主要还是把模型训练的流程打通。 过拟合和欠拟合 我们在日常的工作中,训练好的模型往往是要去评价它的准确率的,通过此来判断我们的模型是否符合我的要求。 几个可能的方案是&…

国外学位论文去哪里查找下载

查找下载国外博士论文最合适的文献数据库就是ProQuest学位论文全文数据库。 ProQuest学位论文全文数据库覆盖了大部分北美地区高等院校以及世界其他地区数千个高等院校每年获得通过的博硕士论文。是将ProQuest公司PQDD文摘库(现名PQDT)中适合中国科研人…

Windows 11 22H2 中文版、英文版 (x64、ARM64) 下载 (updated Jun 2023)

Windows 11 绕过 TPM 方法总结,通用免 TPM 镜像下载 (2023 年 6 月更新) 在虚拟机、Mac 电脑和 TPM 不符合要求的旧电脑上安装 Windows 11 的通用方法总结 请访问原文链接:https://sysin.org/blog/windows-11-no-tpm/,查看最新版。原创作品…