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

UML之四种事物

目录

结构事物

行为事物

分组事物:

注释事物


结构事物

1.类(Class)
   -类是对一组具有相同属性、方法、关系和语义的对象的描述。一个类实现一个或多个接口

2.接口(interface)
 -接口描述 了一个类或构件的一个服务的操作集。接口仅仅是定义了一组操作的规范,它并没有给出这组操作的具体实现

3.协作(collboration)
   -协作定义了一个交互,它是由一组共同工作以提供某协作的角色和其它元素构成的群体,这些协作行为大于所有元素的各自行为的总和。因此,协作有结构、行为和维度。一个给定的类可以参与几个协作。

4.用例(Use Case)
-用例对一组动作序列的描述,系统执行这些动作将产生一个对特定的参与者(actor)有价值可观察的结果。

5.主动类(active class)
   -是这样的类,其对象至少拥有一个进程或线程,因此它能启动控制活动

6.构件(component)
   -构件是系统中物理的、可替代的部件、它遵循且提供一组接口的实现

7.节点(node)
   -节点是在运行时存在的物理因素,它表示了一种可计算的资源,它通常至少有一些记忆能力处理能力。一个构建集可以驻留在一个节点内,也可以从一个节点迁移到另一个节点。

行为事物

  -行为事物是UML模型的动态部分。它们是模型中的动词,描述了跨越时间和空间的行为。共有两类主要的行为事物。
1.交互(interaction)
-交互这样一种行为,他由在特定语境中共同完成一定特定任务的一组对象之间交换的消息组成。一个对象群体的行为或单个操作的行为可用一个交互来描述。
-Interaction涉及一些其他元素,包括消息、动作序列(由一种消息所引起的行为)、Links(对象间的连接)

2.状态机(State machine):
-状态机是这样一种行为,描述了一个对象或一个交互在生命期内响应事件事件所经历的状态序列。单个类或一组类之间协作的的行为可以用状态机来描述。一个状态机涉及到一些其他元素,包括状态转换(从一个状态到另一个状态的流)事件(发转换的事物)和活动(对一个转换的响应)

分组事物:

-分组事物是UML模型的组织部分,最主要的分组事物是包(Package)
-包是把元素组织成组的机制

1.包是UML中唯一的组织机制
2.包可以拥有其他元素,这些元素可以是类、接口、构建、节点、协作、用例和图,甚至可以是其他包。
3.一个包形成了一个命名空间。在一个包同一种元素的名称必须是唯一的。不同种类的元素可以有相同的名称

注释事物

1.注释事物是UML模型的解释部分。这些注释事物用来描述、说明和标注模型的任何元素。有一种主要的注释事物,称为注解(note)
·注解(note)是一个依附于一个元素或一组元素之上,对它进行约束或解释的简单符号

相关文章:

UML之四种事物

目录 结构事物 行为事物 分组事物: 注释事物 结构事物 1.类(Class) -类是对一组具有相同属性、方法、关系和语义的对象的描述。一个类实现一个或多个接口 2.接口(interface) -接口描述 了一个类或构件的一个服务的操作集。接口仅仅是定义了一组操作的规范&…...

盒子模型和新盒子模型及区别

盒子模型是用于描述 HTML 元素在页面中占据的空间的概念。它将每个元素视为一个矩形框,由内容区域、内边距、边框和外边距组成。这个传统的盒子模型也被称为 "标准盒子模型"。 新盒子模型是指使用 CSS3 中的 box-sizing 属性设置为 border-box 后的一种盒…...

移动端Vue组件库-vant

Vant 是有赞前端团队开源的移动端vue组件库,适用于手机端h5页面。 鉴于百度搜索不到vant官方网址,分享一下vant组件库官网地址,方便新手使用 vant官网地址Vant 4 - A lightweight, customizable Vue UI library for mobile web apps. 通过 …...

Java课题笔记~ JSP内置对象

(1)九个内置对象 jsp的内置对象:JSP内置对象是不需要声明和创建就可以在JSP页面脚本中使用的成员变量。 九个内置对象: 1.out对象 在JSP页面中,经常需要向客户端发送文本内容,这时,可以使用out对象来实现。out对象…...

数据结构笔记--链表经典高频题

目录 前言 1--反转单向链表 2--反转单向链表-II 3--反转双向链表 4--打印两个有序链表的公共部分 5--回文链表 6--链表调整 7--复制含有随机指针结点的链表 8--两个单链表相交问题 前言 面经: 针对链表的题目,对于笔试可以不太在乎空间复杂度&a…...

Android Ble蓝牙App(三)特性和属性

Ble蓝牙App(三)特性使用 前言正文一、获取属性列表二、属性适配器三、获取特性名称四、特性适配器五、加载特性六、显示特性和属性七、源码 前言 在上一篇中我们完成了连接和发现服务两个动作,那么再发现服务之后要做什么呢?发现服…...

日常BUG——使用Long类型作id,后端返回给前段后精度丢失问题

😜作 者:是江迪呀✒️本文关键词:日常BUG、BUG、问题分析☀️每日 一言 :存在错误说明你在进步! 一、问题描述 数据库long类型Id: 前端返回的Id实体类: Data ApiModel("xxx") public class …...

【C++初阶】string类的常见基本使用

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:C航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x1…...

【ArcGIS Pro二次开发】(60):按图层导出布局

在使用布局导图时,会遇到如下问题: 为了切换图层和导图方便,一般情况下,会把相关图层做成图层组。 在导图的时候,如果想要按照图层组进行分开导图,如上图,想导出【现状图、规划图、管控边界】3…...

docker-desktop数据目录迁移

1.退出docker-desktop后执行 wsl --list -v 如下 NAME STATE VERSION * docker-desktop Stopped 2docker-desktop-data Stopped 22.执行以下命令进行数据导出:(需要等待命令执行完成&#xff09…...

03.利用Redis实现缓存功能---解决缓存穿透版

学习目标&#xff1a; 提示&#xff1a;学习如何利用Redis实现添加缓存功能解决缓存穿透版 学习产出&#xff1a; 缓存穿透讲解图&#xff1a; 解决方案&#xff1a; 采用缓存空对象采用布隆过滤器 解决方案流程图&#xff1a; 1. 准备pom环境 <dependency><gro…...

全景图!最近20年,自然语言处理领域的发展

夕小瑶科技说 原创 作者 | 小戏、Python 最近这几年&#xff0c;大家一起共同经历了 NLP&#xff08;写一下全称&#xff0c;Natural Language Processing&#xff09; 这一领域井喷式的发展&#xff0c;从 Word2Vec 到大量使用 RNN、LSTM&#xff0c;从 seq2seq 再到 Attenti…...

Mybatis参数传递

Map传参, #{}里的key要一一对应不能乱写&#xff0c;如果不存在则会填充NULL&#xff0c;不会报错 Map<String, Object> map new HashMap<>(); // 让key的可读性增强 map.put("carNum", "103"); map.put("brand", "奔驰E300L&…...

手动实现 Spring 底层机制 实现任务阶段一编写自己 Spring 容器-准备篇【2】

&#x1f600;前言 手动实现 Spring 底层机制的第2篇 实现了任务阶段一编写自己 Spring 容器-准备篇【2】 &#x1f3e0;个人主页&#xff1a;尘觉主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是尘觉&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的…...

部署模型并与 TVM 集成

本篇文章译自英文文档 Deploy Models and Integrate TVM tvm 0.14.dev0 documentation 更多 TVM 中文文档可访问 →Apache TVM 是一个端到端的深度学习编译框架&#xff0c;适用于 CPU、GPU 和各种机器学习加速芯片。 | Apache TVM 中文站 本节介绍如何将 TVM 部署到各种平台&…...

Android Navigation 导航切换fragment用法

对于Android Navigation组件的导航到Fragment&#xff0c;您可以按照以下步骤操作&#xff1a; 首先&#xff0c;在您的项目的build.gradle文件中添加Navigation依赖&#xff1a; dependencies {def nav_version "2.3.4"implementation "androidx.navigation…...

Anaconda Prompt使用pip安装PyQt5-tools后无法打开Spyder或闪退

艹&#xff01;MLGBZD! 真TMD折腾人&#xff01; 出现原因&#xff1a; 首次安装完Anaconda3-2023.07-1-Windows-x86_64.exe后首次打开Spyder&#xff0c;此时是没有问题的&#xff0c;然后打开Anaconda Prompt&#xff0c;查看有哪些包&#xff0c;pip list 这时候开始首次安…...

【jvm】jvm整体结构(hotspot)

目录 一、说明二、java代码的执行流程三、jvm的架构模型3.1 基于栈式架构的特点3.2 基于寄存器架构的特点 一、说明 1.hotspot vm是目前市场上高性能虚拟机的代表作之一 2.hotspot采用解释器与即时编译器并存的架构 3.java虚拟机是用来解释运行字节码文件的&#xff0c;入口是字…...

通达信波段选股公式,使用钱德动量摆动指标(CMO)

钱德动量摆动指标(CMO)是由图莎尔钱德发明的&#xff0c;取值范围在-100到100之间&#xff0c;是捕捉价格动量的技术指标。该指标计算近期涨幅之和与近期跌幅之和的差值&#xff0c;然后将计算结果除以同期所有价格波动的总和。本文的波段选股公式使用均线识别趋势&#xff0c;…...

家电维修小程序开发指南:从零搭建到上线

随着科技的发展和人们生活水平的提高&#xff0c;家电已经成为人们生活中不可或缺的一部分。然而&#xff0c;随之而来的是家电维修门店业务的繁忙和效率的考验。为了提高家电维修门店的效率和服务质量&#xff0c;建立一个便捷高效的小程序已成为必要的选择。 本文将介绍一个简…...

C++基础(九)——类与对象(超详细)

家人们好呀!!! 前面,我们带着计算机一路闯关,你的编程工具箱已经塞得满满当当,但不知你有没有察觉到一丝烦恼:当程序越写越大,变量和函数散落一地,像极了一个堆满杂物的车库——什么都有,但找起来费劲,改起来更费劲。 有没有办法把相关的数据和操作“打包”在一起…...

Linux USB驱动架构与性能优化实战

1. Linux USB驱动架构深度解析在嵌入式系统开发中&#xff0c;USB驱动作为连接主机与外围设备的关键桥梁&#xff0c;其性能直接影响整个系统的I/O效率。以TI的DaVinci平台为例&#xff0c;其USB驱动实现展现了Linux内核中USB子系统的典型架构与优化技巧。1.1 核心架构分层Linu…...

62、【Agent】【OpenCode】用户对话提示词(交互风格)(二)

【声明】本博客所有内容均为个人业余时间创作&#xff0c;所述技术案例均来自公开开源项目&#xff08;如Github&#xff0c;Apache基金会&#xff09;&#xff0c;不涉及任何企业机密或未公开技术&#xff0c;如有侵权请联系删除 背景 上篇 blog 【Agent】【OpenCode】用户对…...

3步解锁Switch Joy-Con手柄在Windows的完整潜力:JoyCon-Driver实战指南

3步解锁Switch Joy-Con手柄在Windows的完整潜力&#xff1a;JoyCon-Driver实战指南 【免费下载链接】JoyCon-Driver A vJoy feeder for the Nintendo Switch JoyCons and Pro Controller 项目地址: https://gitcode.com/gh_mirrors/jo/JoyCon-Driver 想要让闲置的Switch…...

动态分类器选择(DCS)在机器学习中的原理与实践

1. 动态分类器选择集成概述在机器学习领域&#xff0c;动态分类器选择(Dynamic Classifier Selection, DCS)是一种特殊的集成学习方法&#xff0c;它不同于传统的静态集成方式。传统集成方法如Bagging或Boosting会对所有测试样本采用相同的分类器组合策略&#xff0c;而DCS则根…...

Revornix:基于LLM的AI代码助手架构解析与实战指南

1. 项目概述&#xff1a;一个面向开发者的AI代码助手最近在GitHub上闲逛&#xff0c;发现了一个挺有意思的项目&#xff0c;叫“Revornix”。乍一看这个名字&#xff0c;可能有点摸不着头脑&#xff0c;但点进去之后&#xff0c;发现这其实是一个基于大型语言模型&#xff08;L…...

ARM RealView Debugger多项目管理与调试实战

1. ARM RealView Debugger多项目管理实战解析在嵌入式开发领域&#xff0c;高效管理多个关联项目是提升开发效率的关键。ARM RealView Debugger&#xff08;以下简称RVD&#xff09;通过容器项目&#xff08;Container Project&#xff09;机制&#xff0c;为开发者提供了强大的…...

VS Code 远程容器开发效率跃迁指南(2024企业级调优白皮书)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;VS Code 远程容器开发效率跃迁的核心价值与演进脉络 VS Code 的 Remote-Containers 扩展彻底重构了现代云原生开发的工作流范式&#xff0c;将开发环境从本地机器解耦至标准化的 Docker 容器中&#xf…...

免费开源桌面分区神器:5分钟打造你的高效Windows工作空间

免费开源桌面分区神器&#xff1a;5分钟打造你的高效Windows工作空间 【免费下载链接】NoFences &#x1f6a7; Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 还在为杂乱无章的Windows桌面而烦恼吗&#xff1f;NoFen…...

《C盘/D盘满了?别再手动一个个翻文件夹了!用AI自动分析 + 精准清理,释放50G空间》

《C盘/D盘满了&#xff1f;别再手动一个个翻文件夹了&#xff01;用AI自动分析 精准清理&#xff0c;释放50G空间》 文章目录《C盘/D盘满了&#xff1f;别再手动一个个翻文件夹了&#xff01;用AI自动分析 精准清理&#xff0c;释放50G空间》先问自己一个问题一、解决问题的思…...