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

软件工程-UML

例图,类图,状态图,顺序图,活动图

目录

例图

类图

状态图

顺序图

活动图


 

例图

例图由四个元素组成,参与者、用例、系统边界、参与者和用例之间的关系

参与者用一个小人表示,用例用椭圆表示,系统边界用方形容器表示

参与者 系统外部实体,如人、设备或其它系统。通过与系统交互完成特定任务。

用例 描述系统如何响应参与者发起的请求。实现特定目标的一系列动作。

参与者与用例之间的关系有关联,泛化,包含,扩展四种

 

类图

类图由类、接口、关联、依赖等元素构成,每个类包含属性(数据)和操作(方法)

#意味着只能由同一个类或其子类访问

~意味着只要他在同一个包中,任何其他类都可以访问

因为我们不会实例化动物本身

还有关联关系(水獭吃海胆)

聚合关系(用于说明整体和部分之间的关系),为乌龟(tortoise)创建新的类(creep),乌龟可以随时离开creep并独立存在,一部分可以存在于整体之外,用空心菱形表示

组合关系(部分不能存在于整体之外),游客中心被拆除,大堂不能独立存在,没有父类时,子类将无法存在,用实心菱形表示

多重性允许对关系设置数字约束

 

状态图

状态图可以描述一个对象在其生命周期中的各种状态以及状态的转换

实心圆表示状态图的开始

状态用圆角矩形表示,每个状态代表对象执行特定行为的时期

每个状态由两个部分组成,分别是状态名和活动

关闭状态称为原状态,由关闭状态转换为启动状态可以是一个触发事件,也可以是一个动作,是事件的话,需要有一个监护条件。

启动状态称为目标状态。

圆圈内实心圆,表示状态的结束

客服审核用一个菱形表示选择状态,条件分支上方括号内的文字表示监护条件

 

顺序图

参与者 与系统、子系统或类发生交互作用的外部用户

生命线是一条垂直的虚线,对象之间的消息位于两条虚线之间,生命线从上往下表示时间顺序的先后。生命线代表对象存在时间

横的虚线表示返回消息,实线表示请求消息,选择框表示在两个或多个消息之间进行选择

激活框显示对象执行某个动作的时间段,这可以让我们一目了然地看到对象何时处于活动状态或空闲状态

 

 

活动图

活动图展现了从一个活动到另一个活动的控制流程,它可以显示系统的活动顺序

实心圆表示活动的开始节点,一个图中只有一个

动作节点,表示需要执行的任务,用圆角矩形表示

决策节点用空心菱形表示

空心菱形还可以表示合并节点,合并节点指不同条件的分支子流程执行后,最终都会在某个节点上进行合并,执行同一个后续流程,

Fork节点分叉出的子流程表示是并行执行的,也就是异步操作,用黑色粗线表示

join节点表示在某个位置等待所有异步执行的流程都执行完毕后再合并成同一个流程运行,也用黑色粗线表示

圆圈内实心圆表示活动的结束

一个活动图中可以有多个结束节点

转换:当一个活动结束时,控制流会马上传递给下一个活动节点,在活动图中称之为“转换”,用一条带箭头的直线表示

按照角色进行分组-泳道

 

 

 

 

相关文章:

软件工程-UML

例图,类图,状态图,顺序图,活动图 目录 例图 类图 状态图 顺序图 活动图 例图 例图由四个元素组成,参与者、用例、系统边界、参与者和用例之间的关系 参与者用一个小人表示,用例用椭圆表示&#xff…...

力扣经典算法篇-9-跳跃游戏(贪心算法,反向递推)

题干: 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例 …...

【Linux学习笔记】初识进程概念和进程PCB

【Linux学习笔记】初识冯诺依曼体系和进程PCB 🔥个人主页:大白的编程日记 🔥专栏:Linux学习笔记 文章目录 【Linux学习笔记】初识冯诺依曼体系和进程PCB前言一. 冯诺依曼体系结构1.1 关于冯诺依曼体系的要点: 二. 操…...

深入探索 Linux Top 命令:15 个实用示例

在 Linux 系统管理中,top 命令是系统性能监控不可或缺的工具。它能够实时显示系统的 CPU、内存、进程等资源的使用情况,帮助您快速识别性能瓶颈和异常进程。本文将详细介绍 15 个实用的 top 命令使用示例,旨在帮助您更高效地进行系统管理与优…...

Linux命令-cut

cut 命令是一个非常实用的工具,用于从文本中提取特定部分。 参数 功能 -b 按字节提取内容 -c 按字符提取内容 -f 按字段提取内容,需配合 -d 指定分隔符 -d 指定字段分隔符(默认是 \t) -s 只处理包含分隔符的行 –complement 提取除…...

风电行业预测性维护解决方案:AIoT驱动下的风机健康管理革命

在风电行业向平价化与智慧化转型的关键阶段,如何通过预测性维护技术将风机可用率提升至99%以上?本文基于中讯烛龙系统的实战经验,解析如何构建基于LSTM、数字孪生与边缘计算的智能运维体系,实现从“故障维修”到“健康预判”的技术…...

通过Postman和OAuth 2.0连接Dynamics 365 Online的详细步骤

🌟 引言 在企业应用开发中,Dynamics 365 Online作为微软的核心CRM平台,提供了强大的Web API接口。本文将教你如何通过Postman和OAuth 2.0认证实现与Dynamics 365的安全连接,轻松调用数据接口。 📝 准备工作 工具安装…...

Ubuntu-安装redis

apt list | grep redis apt 类似于应用商店的感觉 ‘|’的作用是作为管道,把前者到的数据列表再通过grep筛选出包含redis字眼的一行数据 需要联网 apt install redis -y 修改配置文件 vi /etc/redis/redis.conf redis是客户端服务器程序 需要先把服务器给后台启…...

Mac 上使用 mysql -u root -p 命令,出现“zsh: command not found: mysql“?

一、确定 MySQL 安装路径: 如果你是使用 Homebrew 安装的 MySQL,通常安装路径是 /usr/local/mysql/bin 。 如果你是通过官方 DMG 安装包安装的 MySQL,默认安装路径可能是 /usr/local/mysql/bin 。你可以在终端中使用以下命令来查找 MySQL 的…...

P1883 【模板】三分 | 函数

题目描述 给定 n 个二次函数 f1​(x),f2​(x),…,fn​(x)(均形如 ax2bxc),设 F(x)max{f1​(x),f2​(x),...,fn​(x)},求 F(x) 在区间 [0,1000] 上的最小值。 输入格式 输入第一行为正整数 T,表示有 T 组数据。 每组…...

制造装备物联及生产管理ERP系统设计与实现(代码+数据库+LW)

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装制造装备物联及生产管理ERP系统软件来发挥其高效地信息处理…...

[ctfshow web入门] web4

前置知识 robots.txt是机器人协议,在使用爬虫爬取网站内容时应该遵循的协议。协议并不能阻止爬虫爬取,更像是一种道德规范。 假设robots.txt中写道 Disallow: /admind.php,那我就暴露了自己的后台,这属于信息泄漏,攻击…...

Java的Selenium的特殊元素操作与定位之iframe切换

iframe切换 四种切换方式: driver.switchTo().frame(index);driver.switchTo().frame(id);driver.switchTo().frame(name);driver.switchTo().frame(WebElement); 切换之后,回到默认内容页面(否则会找不到元素 driver.switchTo().defaultContent(); //iframe处…...

【JavaWeb-Spring boot】学习笔记

目录 <<回到导览Spring boot1. http协议1.1.请求协议1.2.响应协议 2.Tomcat2.1.请求2.1.1.apifox2.1.2.简单参数2.1.3.实体参数2.1.4.数组集合参数2.1.5.日期参数2.1.6.(重点)JSON参数2.1.7.路径参数 2.2.响应2.3.综合练习 3.三层架构3.1.三层拆分3.2.分层解耦3.3.补充 &…...

SQLmap工具使用

1. sqlmap介绍 sqlmap是一款自动化的SQL注入工具&#xff0c;用于检测和利用web应用程序中的SQL注入漏洞。不需要我们进行手注&#xff0c;当我们输入url地址后&#xff0c;会自动进行注入指令并将payload返回显示。 在kali中自带。在本机中需要下载&#xff0c;在相应的路径…...

OpenCV 实现对形似宝马标的黄黑四象限标定位

文章目录 功能背景代码效果 功能 实现对形似宝马标的黄黑四象限光学识别标定位 背景 大学同学遇到了这个场景&#xff0c;琢磨了下&#xff0c;以备不时之需。 代码 所用opencv版本&#xff1a;4.12 numpy2.2.4 scikit_learn1.6.1import time import cv2 import numpy as…...

2025 年 4 月补丁星期二预测:微软将推出更多 AI 安全功能

微软正在继续构建其 AI 网络安全战略&#xff0c;并于本月宣布在 Microsoft Security Copilot 中引入新代理。 他们引入了用于网络钓鱼分类的代理、用于数据丢失预防和内部风险管理的警报分类、条件访问优化、漏洞修复和威胁情报简报。 这些代理的目标是不断从这些不同学科中…...

从吉卜力漫画到艺术创造:GPT-4o多种风格绘图Prompt大全

在3月底&#xff0c;GPT-4o掀起了一阵吉卜力绘图浪潮&#xff0c;大家纷纷输入一张图片&#xff0c;让4o模型进行风格化迁移&#xff0c;其中吉卜力风格的漫画在社交媒体上最为火热。在大家争议4o的训练数据是否侵权和4o背后的技术原理的时候&#xff0c;我们先来玩一玩&#x…...

resttemplate设置params

如何使用RestTemplate设置请求参数 RestTemplate设置请求参数的方式根据请求类型&#xff08;GET/POST&#xff09;和参数形式&#xff08;路径参数、查询参数、JSON请求体&#xff09;有所不同&#xff0c;以下是具体实现方法&#xff1a; 一、GET请求参数设置 路径参数 使用…...

16.1Linux自带的LED灯驱动实验(知识)_csdn

前面我们都是自己编写 LED 灯驱动&#xff0c;其实像 LED 灯这样非常基础的设备驱动&#xff0c; Linux 内核已经集成了。 Linux 内核的 LED 灯驱动采用 platform 框架&#xff0c;因此我们只需要按照要求在设备树文件中添加相应的 LED 节点即可&#xff0c;本章我们就来学习如…...

【vLLM】使用 vLLM 对自定义实现模型进行高速推理

推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 介绍什么是 vLLM?处理 vLLM 中的多模态模型实现独特的视频生成模型转换为 vLLM 模型的策略准备输入标记序列如何添加多个多模式输入如…...

SQL Server 数据库实验报告

​​​​​​​ 1.1 实验题目&#xff1a;索引和数据完整性的使用 1.2 实验目的&#xff1a; &#xff08;1&#xff09;掌握SQL Server的资源管理器界面应用&#xff1b; &#xff08;2&#xff09;掌握索引的使用&#xff1b; &#xff08;3&#xff09;掌握数据完整性的…...

在响应式网页的开发中使用固定布局、流式布局、弹性布局哪种更好

一、首先看下固定布局与流体布局的区别 &#xff08;一&#xff09;固定布局 固定布局的网页有一个固定宽度的容器&#xff0c;内部组件宽度可以是固定像素值或百分比。其容器元素不会移动&#xff0c;无论访客屏幕分辨率如何&#xff0c;看到的网页宽度都相同。现代网页设计…...

代码随想录算法训练营第三十八天 | 322.零钱兑换 279.完全平方数 139.单词拆分

322. 零钱兑换 题目链接&#xff1a;322. 零钱兑换 - 力扣&#xff08;LeetCode&#xff09; 文章讲解&#xff1a;代码随想录 视频讲解&#xff1a;动态规划之完全背包&#xff0c;装满背包最少的物品件数是多少&#xff1f;| LeetCode&#xff1a;322.零钱兑换_哔哩哔哩_b…...

linux提取 Suid提权入门 Sudo提权入门

前言 suid基本使用 Suid 是什么命令&#xff1f; suid 是管理员用户&#xff08;root&#xff09;可以对命令文件进行赋权 让其在低权限用户下下也可以保持root权限的执行能力 我现在是管理员我 使用网站用户查找信息的时候总是被阻拦没权限 查找的内容不完整 这个使用我…...

Talib库安装教程

1. 打开 https://github.com/cgohlke/talib-build 2. 点击 Releases 3. 选择对应版本下载&#xff08;本人电脑win-amd64&#xff0c;python版本3.12&#xff09; 4. 安装该库&#xff08;进入该文件路径&#xff09; pip install ta_lib-0.6.3-cp312-cp312-win_amd64.whl 5…...

TDengine 3.3.6.0 版本中非常实用的 Cols 函数

简介 在刚刚发布的 TDengine 3.3.6.0 版本 中&#xff0c;新增了一个非常实用的 函数COLS &#xff0c;此函数用于获取选择函数所在行列信息&#xff0c;主要应用在生成报表数据&#xff0c;每行需要出现多个选择函数结果&#xff0c;如统计每天最大及最小电压&#xff0c;并报…...

LeetCode 249 解法揭秘:如何把“abc”和“bcd”分到一组?

文章目录 摘要描述痛点分析 & 实际应用场景Swift 题解答案可运行 Demo 代码题解代码分析差值是怎么来的&#xff1f;为什么加 26 再 %26&#xff1f; 示例测试及结果时间复杂度分析空间复杂度分析总结 摘要 你有没有遇到过这种情况&#xff1a;有一堆字符串&#xff0c;看…...

Python数据可视化-第4章-图表样式的美化

环境 开发工具 VSCode库的版本 numpy1.26.4 matplotlib3.10.1 ipympl0.9.7教材 本书为《Python数据可视化》一书的配套内容&#xff0c;本章为第4章 图表样式的美化 本章主要介绍了图表样式的美化&#xff0c;包括图表样式概述、使用颜色、选择线型、添加数据标记、设置字体…...

ROS Master多设备连接

Bash Shell Shell是位于用户与操作系统内核之间的桥梁&#xff0c;当用户在终端敲入命令后&#xff0c;这些输入首先会进入内核中的tty子系统&#xff0c;TTY子系统负责捕获并处理终端的输入输出流&#xff0c;确保数据正确无误的在终端和系统内核之中。Shell在此过程不仅仅是…...