【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):用于描述对象在不同状态之间的转换和事件触发的动态行为。

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

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

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

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

相关文章

mybatis plus 公共字段自动填充createBy updateBy

一、公共字段自动填充 需求:好多表公共的字段,赋值逻辑也相同,不用每次为其赋值,‘拦截器’统一赋值。 1. 在新增数据时,需要设置创建时间、创建人、修改时间、修改人等字段,在编辑数据时需要设置修改时间…

FL Studio21.2.2963水果音乐软件安装

FL Studio是功能强大的音乐制作解决方案,使用旨在为用户提供一个友好完整的音乐创建环境,让您能够轻松创建、管理、编辑、混合具有专业品质的音乐,一切的一切都集中在一个软件中,只要您想,只要您需要,它总能…

深兰科技入选财联社“2023科创好公司”榜单

12月13日,“2023科创好公司”评选榜单正式公布,深兰科技成功入选,获得该榜单中“新能源汽车及自动驾驶”赛道的“科创好公司”称号。 “科创好公司”榜评选是由财联社及《科创板日报》联合打造的一级市场投后服务体系中的重要活动项目&#x…

Axure 9基本元件,表单及表格元件简介,表单案例

目录 一.基本元件 1.元件基本介绍 2.基本元件的使用 二.表单及表格元件 三.表单案例 四.简单简历绘制 一.基本元件 1.元件基本介绍 概述 - 在Axure RP中,元件是**构建原型图的基础模块**。 将元件从元件库里拖拽到画布中,即可添加元件到你的原型…

什么店生意好?C++采集美团商家信息做数据分析

最近遇到几个朋友,想要一起合伙投资一个实体店,不问类型,就看哪类产品相对比较受欢迎。抛除地址位置,租金的影响,我们之谈产品。因此,我熬了几个通宵,写了这么一段爬取美团商家商品信息的数据并…

如何在 Windows 10/11 上恢复永久删除的文件夹

如果您曾经错误地删除过某个文件夹,您就会知道随之而来的恐慌。您认为当您在某些内容上单击“删除”时,它就会永远消失。但情况并非总是如此。您可以使用几种不同的方法来恢复已删除的文件夹 。 本指南将向您展示如何在 Windows 10/11 上恢复永久删除的…

Axure RP - 交互设计的强大引擎

目录 前言 1. 交互设计:连接用户与产品的纽带 2. 情景设计:预测用户行为的未来 3. 演示和共享:让设计活起来 我的其他博客 前言 在数字化时代,用户体验的重要性日益突显,而交互设计成为塑造产品与用户互动的关键。…

colmap三维重建核心逻辑梳理

colmap三维重建核心逻辑梳理 1. 算法流程束流2. 初始化3. 重建主流程 1. 算法流程束流 重建核心逻辑见 incremental_mapper.cc 中 IncrementMapperController 中 Reconstruct 初始化变量和对象判断是否有初始重建模型,若有,则获取初始重建模型数量&am…

基于Python实现的一个书法字体风格识别器源码,通过输入图片,识别出图片中的书法字体风格,采用Tkinter实现GUI界面

项目描述 本项目是一个书法字体风格识别器,通过输入图片,识别出图片中的书法字体风格。项目包含以下文件: 0_setting.yaml:配置文件,包含书法字体风格列表、图片调整大小的目标尺寸等设置。1_Xy.py:预处理…

SourceTree 免登录跳过初始设置

用于Windows和Mac的免费Git客户端。 Sourcetree简化了如何与Git存储库进行交互,这样您就可以集中精力编写代码。通过Sourcetree的简单Git GUI可视化和管理存储库。 SourceTree 安装之后需要使用账号登陆以授权,以前是可以不登陆的,但是现在是…

neuq-acm预备队训练week 10 P1129 [ZJOI2007] 矩阵游戏

题目描述 小 Q 是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏。矩阵游戏在一个 nn 黑白方阵进行(如同国际象棋一般,只是颜色是随意的)。每次可以对该矩阵进行两种操作: 行…

为什么在Android中需要Context?

介绍 在Android开发中,Context是一个非常重要的概念,但是很多开发者可能并不清楚它的真正含义以及为什么需要使用它。本文将详细介绍Context的概念,并解释为什么在Android应用中需要使用它。 Context的来源 Context的概念来源于Android框架…

Win32程序与MFC程序构建顺序梳理

Windows程序的生成顺序 Windows窗口的生命周期 初始化操作 从WinMain函数开始,注册窗口;创建窗口; 调用CreateWindow,为程序建立了一个窗口,作为程序的屏幕 舞台。CreateWindow产生窗口之后会送出WM_CREATE消息给窗口函数&…

新手运行若依项目|若依项目各部分介绍|并修改自己需要的页面

新手运行若依项目|若依项目各部分介绍|并修改自己需要的页面 文章目录 新手运行若依项目|若依项目各部分介绍|并修改自己需要的页面前言IEDA如何运行若依项目若依项目目录简介ruo-yi common工具类ruoyi-framework 框架核心其他部分ruo一admin后台服务通用配置 application.yml数…

关于“Python”的核心知识点整理大全26

目录 10.3.9 决定报告哪些错误 10.4 存储数据 10.4.1 使用 json.dump()和 json.load() number_writer.py number_reader.py 10.4.2 保存和读取用户生成的数据 对于用户生成的数据,使用json保存它们大有裨益,因为如果不以某种方式进行存储&#xf…

小红书kop营销策略有哪些,达人投放总结!

从kol到koc,当今时代产品种草模式,层出不穷。品牌想要跟上市场更新迭代的洪流,就需要时刻了解新型的营销方式。那么对于新型的kop模式你了解多少呢?我们今天就将详细分享小红书kop营销策略有哪些,达人投放总结! 一、什…

低代码工作流,在业务场景下启动流程节点绑定的具体步骤与注意事项

在业务管理的场景下,存在先做了对应的数据管理,后续增加管理的规范度,“在业务数据变化时发起流程”的需求,那么这种情况下就需要在业务管理(列表页、表单)中发起流程,让业务模型使用流程配置&a…

运维开发实践 - 服务网关 - apisix部署

1. Apache Apisix Apache Apisix 是一个动态,实时,高性能的云原生API网关,提供负载均衡,动态上游,灰度发布,服务熔断,身份认证,可观测性等丰富的流量管理功能; 2. 如…

windows10-tdengine的安装及使用

win10-tdengine的安装及使用 一、下载及安装配置1.1 下载安装1.2 配置1.3 关闭防火墙和开放端口1.3.1 关闭防火墙1.3.2 开放6030端口 二、启动及关闭服务2.1 启动tdengine服务2.2 关闭tdengine服务2.2 开机自启动配置 四、可视化工具五、TDengine 命令行(CLI&#x…

VUE中的8种常规通信方式

文章目录 1.props传递数据(父向子)2.$emit触发自定义事件(子向父)3.ref(父子)4.EventBus(兄弟组件)5.parent或root(兄弟组件,有共同祖辈)6.attrs和listeners(…