【UML】第5篇 UML中的视图和图

目录

一、视图和图

二、图的种类

2.1 结构图

2.2 行为图


图是UML中最重要的概念了,起码我是这么认为。

上篇关于低代码的文章,我也说了,未来也许AI编码,我们更重要的工作,是能够为业务进行建模,拆解,用最准确的语言,生成高效的prompt提示词,让人工智能去为我们开发,健壮的应用程序。我们再也不用焦虑,架构是不是抗得住压力,逻辑是否经得住破坏性的测试。

一、视图和图

关于视图和图,其实不用纠结。

在UML中,视图和图都是用于描述和可视化系统的工具,它们之间存在联系也有区别。

联系:

  1. 视图是由图构成的:视图是从某个角度对系统进行抽象表示的概念,而图则是具体的可视化工具。一个视图通常会包含多个图,这些图共同表达了视图所要展示的系统的特定方面。
  2. 视图和图都是模型元素:无论是视图还是图,它们都是UML模型中的元素。这些元素代表了系统中的概念、关系和行为等,用于帮助我们理解和设计系统。

区别:

  1. 抽象层次不同:视图是对系统的抽象表示,它关注的是系统的某个特定方面。而图则是具体的可视化工具,用于展示视图中的模型元素和它们之间的关系。因此,视图在抽象层次上高于图。
  2. 关注点不同:视图关注的是系统的某个特定方面,例如静态结构、动态行为、用例等。而图则关注于展示模型元素之间的具体关系和细节。因此,视图更侧重于整体和抽象,而图更侧重于具体和细节。
  3. 用途不同:视图主要用于组织和管理模型元素,帮助我们从不同的角度理解和设计系统。而图则主要用于可视化和交流模型的细节,使得我们可以更直观地理解模型的各个方面。

综上所述,视图和图在UML中既有联系也有区别。它们共同构成了UML模型的完整表示,帮助我们更好地理解和设计系统。

二、图的种类

重点我们后续会用实际的例子,来讲述各种图的画法。

 

在UML中,图可以分为两类:结构图和行为图。

2.1 结构图

结构图描述了系统或软件的静态结构,即系统中的类、对象、接口、关联关系等元素之间的静态关系。常见的结构图包括:

  • 类图(Class Diagram):用于描述系统中的类、接口、关联关系等元素,展示它们之间的静态结构和关系。
  • 对象图(Object Diagram):是类图的实例化表示,展示了系统中具体对象之间的关系。
  • 包图(Package Diagram):用于表示系统中的包(命名空间)之间的层次结构和关系。
  • 组件图(Component Diagram):用于描述系统中的组件和它们之间的关系。组件是可独立部署和替换的系统模块,可以是单个的类、库、框架或其他实现单元。组件图展示了组件的物理和逻辑关系,以及它们之间的接口和依赖关系。
  • 部署图(Deployment Diagram):用于描述系统的部署架构,即系统中的硬件和软件资源的物理配置。部署图展示了系统的组件、节点(硬件设备)和连接之间的关系,可以显示软件组件和硬件设备的部署位置和拓扑结构。

2.2 行为图

行为图描述了系统或软件的动态行为,即系统在特定条件下的活动、交互和状态变化等。常见的行为图包括:

  • 用例图(Use Case Diagram):用于描述系统的功能需求,展示系统与外部参与者之间的交互。
  • 时序图(Sequence Diagram):展示了系统或软件中的对象之间交互的时间顺序和消息流程。
  • 协作图(Collaboration Diagram),也被称为通信图(Communication Diagram)或交互图(Interaction Diagram),用于描述系统中对象之间的交互和通信。协作图展示了对象之间的消息传递和交互流程,可以清楚地展示对象之间的合作和相互作用。
  • 活动图(Activity Diagram):用于描述系统中的业务流程或算法,展示了各个活动之间的流程和控制流。
  • 状态机图(State Machine Diagram):用于描述对象在不同状态之间的转换和事件触发的动态行为。

这些结构图和行为图通常被用于不同的目的和层次的系统设计,以提供对系统的不同方面的建模和可视化表示。

未完,后续我们挨个举例来详细学习。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WPF Icon矢量库 MahApps.Metro.IconPacks

文章目录 前言MahApps.Metro.IconPacksIconPacks.Browser简单使用简单使用案例代码Icon版本个人推荐 Icon自定义版权问题 前言 为了更快的进行开发,我找到了一个WPF的矢量图库。这样我们就不用去网上找别人的矢量库了 MahApps.Metro.IconPacks MahApps.Metro.Icon…

Elasticsearch的使用总结

Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。 put/post请求:http://localhost:9200/索引库名称 {"settings":{"index":{"number_of_shards":1, # 分片数量…

数据仓库与数据挖掘小结

更加详细的只找得到pdf版本 填空10分 判断并改错10分 计算8分 综合20分 客观题 填空10分 判断并改错10分--错的要改 mooc中的--尤其考试题 名词解释12分 4个,每个3分 经常碰到的专业术语 简答题40分 5个,每道8分 综合 画roc曲线 …

neuq-acm预备队训练week 9 P3916 图的遍历

题目描述 给出 N 个点,M 条边的有向图,对于每个点 v,求 A(v) 表示从点 v 出发,能到达的编号最大的点。 题目限制 输入格式 第 1 行 2 个整数N,M,表示点数和边数。 接下来 M 行,每行 22 个整数 Ui​,Vi​…

[足式机器人]Part4 南科大高等机器人控制课 Ch08 Rigid Body Dynamics

本文仅供学习使用 本文参考: B站:CLEAR_LAB 笔者带更新-运动学 课程主讲教师: Prof. Wei Zhang 南科大高等机器人控制课 Ch08 Rigid Body Dynamics 1. Spatial Vecocity1.1 Spatial vs. Conventional Accel1.2 Plueker Coordinate System and…

STM32F103RCT6开发板M3单片机教程04--按键检测

原画图讲解 本教程使用是(光明谷SUN_STM32mini开发板) 首先了硬件连接原理,STM32F103RCT6开发板是mini最小系统板,板子在没并有按键。需要自行用面包板搭建。 硬件连接: PC10 -> KEY1 (MCU内部上拉…

MATLAB图像处理技巧

MATLAB图片处理------动态绘图 1. 动态绘图2. XXXXX 1. 动态绘图 主要用到四个函数,分别为getframe、frame2im、rgb2ind以及imwrite: 1.getframe:获取当前绘图窗口的图片作为影片帧; 2.frame2im:从单个影片帧 F 返回索…

数据仓库与数据挖掘c5-c7基础知识

chapter5 分类 内容 分类的基本概念 分类 数据对象 元组(x,y) X 属性集合 Y 类标签 任务 基于有标签的数据,学习一个分类模型,通过这个分类模型,可以把一组属性x映射到一个特定的类别y上 类别y 提前设定好的--如:学生…

安全密码(字符串)

#include <stdio.h> #include <stdbool.h> #include <string.h> bool is_secure_password(const char* password); int main() {int M;char password[51];// 读取输入中的密码数量 Mscanf("%d", &M);// 处理每个密码for (int i 0; i < M; …

Linux+Docker+Gitee+Jenkins自动化部署.NET Core服务

目录 一、安装Jenkins 1、跟新yum包 2、查询镜像 3、拉取镜像 4、创建Jenkins工作目录&#xff0c;并将容器内目录挂载到此目录上 5、启动Jenkins容器 二、Jenkins配置 1、Jenkins安装gitee码云插件 2、创建私人令牌 3、Jenkins添加全局凭据 4、系统配置 三、构建任…

5.5 Linux Apache服务

1、概念介绍 a. Web 服务简介 WEB服务器也称为WWW(WORLD WIDE WEB&#xff0c;万维网)服务器&#xff0c;主要功能是提供网上信息浏览服务。 常用web服务器&#xff1a;httpd&#xff08;apache&#xff09;、nginx、tomcat、IIS 客户端&#xff1a;IE、firefox、chrome b…

第15章 《乐趣》Page355~375 代码简化版

运行效果&#xff1a;全屏了 简化之后的代码如下&#xff1a; //main.cpp #include <iostream> #include <SDL2/SDL.h> #include "sdl_initiator.hpp" #include "sdl_error.hpp" #include "sdl_window.hpp" #include "sdl_sur…

2023年国家基地“楚慧杯”网络空间安全实践能力竞赛 Web方向 题解wp

前言&#xff1a;三小时的比赛&#xff0c;和强网同时结束还要当场交wp&#xff0c;汗流浃背&#xff0c;烧起来了啊啊啊啊~ eaaeval 目录扫出备份文件 源码如下 <?php class Flag{public $a;public $b;public function __construct(){$this->a admin;$this->b …

设计模式——策略模式

引言 策略模式是一种行为设计模式&#xff0c; 它能让你定义一系列算法&#xff0c; 并将每种算法分别放入独立的类中&#xff0c; 以使算法的对象能够相互替换。 问题 一天&#xff0c; 你打算为游客们创建一款导游程序。 该程序的核心功能是提供美观的地图&#xff0c; 以…

STM32F103RCT6开发板M3单片机教程06--定时器中断

前言 除非特别说明&#xff0c;本章节描述的模块应用于整个STM32F103xx微控制器系列&#xff0c;因为我们使用是STM32F103RCT6开发板是mini最小系统板。本教程使用是&#xff08;光明谷SUN_STM32mini开发板&#xff09; STM32F10X定时器(Timer)基础 首先了解一下是STM32F10X…

如何开发一个prompt?prompt的使用有哪些原则?

提示词使用原则 如何开发一个跟自己预期结果接近的提示词&#xff1f;有哪些基本原则&#xff1f; 提示词迭代开发 写提示词时&#xff0c;第一次尝试是值得的&#xff0c;反复完善提示&#xff0c;获得越来越接近你想要的结果 原文来源于B站吴恩达提示工程教学公开课。…

Jenkins----基于 CentOS 或 Docker 安装部署Jenkins并完成基础配置

查看原文 文章目录 基于 CentOS7 系统部署 Jenkins 环境基于 Docker 安装部署 Jenkins环境配置 Jenkins 中文模式配置用户名密码形式的 Jenkins 凭据配置 ssh 私钥形式的 Jenkins 凭据配置 Jenkins 执行任务的节点 基于 CentOS7 系统部署 Jenkins 环境 &#xff08;1&#xff…

数据库交付运维高级工程师-腾讯云TDSQL

数据库交付运维高级工程师-腾讯云TDSQL上机指导&#xff0c;付费指导&#xff0c;暂定99

并发编程中常见的设计模式

文章目录 一、 终止线程的设计模式1. 简介2. Tow-phase Termination&#xff08;两阶段终止模式&#xff09;—优雅的停止线程 二、避免共享的设计模式1. 简介2. Immutability模式—想破坏也破坏不了3. Copy-on-Write模式4. Thread-Specific Storage模式—没有共享就没有伤害 三…