03 表达关系的术语

news2024/11/26 15:49:54

文章目录

  • 表达关系的术语
    • 关联
      • 关联的语义表达(6点)
    • 泛化
    • 细化(也称为实现)
    • 依赖
    • 例题
  • UML 基本关系的一般用法
    • ① 模型化简单依赖
    • ②模型化单继承
    • ③模型化结构关系
    • 例题

表达关系的术语

关联

定义:关联是类目之间的结构关系,描述了一组具有相同结构、相同语义的链。
链是对象之间的连接
在这里插入图片描述

关联的语义表达(6点)

  1. 关联名(name): 关联的标识,用于描述该关联的“涵义”。为了避 免该关联涵义上的歧义性,可给出其关联方向。
  2. 角色名 (role): 一个类参与一个关联的角色标识。在类的 一个关联中,可以显式地命名该角色
  3. 多重性(multiplicity):类中对象参与一个关联的数目,称为该关联角色的多重性。
    在这里插入图片描述
    在这里插入图片描述
  4. 聚合
    一种特殊形式的关联,表达一种“整体/部分"关系。即一个类表示了一个大的事物,它是由一些小的事物(部分)组成的。
    在这里插入图片描述
    组合:
    如果整体类的实例和部分类的实例具有相同的生命周期 这样的聚合称为组合。

组合是聚合一种形式
组合的末端,其多重性显然不能超过1;
在一个组合中,由一个链所连接的对象而构成的任何
元组,必须都属于同一个整体类的对象
在一个组合中,其部分可以包含一些类和关联;根据需要,也可以把它们规约为关联类。
在这里插入图片描述

  1. 限定符
    一个限定符是一个关联的属性或属性表,这些属性的值将对该关联相关的对象集做了一个划分。
    在这里插入图片描述
  2. 关联类
    一种模型元素,它有关联和类的特性。 一个关联类,可以被看作是一个关联,但还有类的特性;或被看作是一个类,但有关联的特性。
    在这里插入图片描述

泛化

定义:
泛化是一般性事物(称为超类或父类)和它的较为特殊种类(称为子类)之间的一种关系,有时称为**"is-a-kind-of"关系。
①子类可
继承父类的属性和操作**,并可有更多的属性和操作
②子类可以替换父类的声明
③若子类的一个操作的实现覆盖了父类同一个操作的实现,这种情况被成为多态性,但两个操作必须具有相同的名字和参数
④一个类可以有0个、1个或多个父类
在这里插入图片描述
在这里插入图片描述

细化(也称为实现)

定义: 细化是类目之间的一种语义关系,其中一个类目规约了保证另一个类目执行的契约
在以下2个地方会使用细化关系:
●接口与实现它们的类和构件之间;
●用况与实现它们的协作之间。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

依赖

定义: 依赖是一种使用关系,用于描述一个事物使用另一事物的信息和服务
①在大多数情况里,使用依赖来描述一个类使用另一个的操作;
②如果被使用的类发生变化,那么另一个类的操作也会受到影响;
③依赖可用于其它事物之间,例如注解之间和包之间。
在这里插入图片描述

例题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

UML 基本关系的一般用法

① 模型化简单依赖

在这里插入图片描述

②模型化单继承

  1. 对于给定的一组类,发现2个或2个以上类的共同责任、属性和操作
  2. 把发现的共同责任、属性和操作放到一个一般类中(不要引入过多的层次)
  3. 画出从每个特殊类到一般类(父类)的泛化关系。
    在这里插入图片描述

③模型化结构关系

  1. 标识关联
  2. 对于标识的每一个关联,添加语义描述
  3. 标识“整体/部分”
    在这里插入图片描述

例题

在这里插入图片描述

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

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

相关文章

【MySQL数据库一】MySQL数据库初体验

MySQL数据库初体验 1.数据库基本概念1.1 数据Data1.2 表1.3 数据库1.4 数据库管理系统1.5 数据库系统 2.数据库的发展3.主流的数据库介绍3.1 SQL Server(微软公司产品)3.2 Oracle (甲骨文公司产品)3.3 DB2(IBM公司产品…

安卓高通机型的基带移植 修改 编译的相关 增加信号 支持5G等【二】

安卓高通机型的基带移植 修改 编译的相关 增加信号 支持5G等【一】 前面分享了这篇帖子,很多友友希望更新下新机型的基带替换方法。今天对其中做一些补充说明。由于安卓机型跨版本幅度较大。有的机型从出厂安卓8有可能官方目前已经更新到安卓12 13等等。所以任何的教…

每天五分钟机器学习:如何确定梯度下降中的学习率?

本文重点 学习率是梯度下降算法中的一个重要参数,它控制着每次迭代中参数的更新幅度,因此学习率的大小直接影响着算法的收敛速度和精度。在实际应用中,如何选择合适的学习率是一个非常重要的问题。 手动调整法 最简单的方法是手动调整学习率。我们可以根据经验或者试错的…

sealos 五年磨一剑——云操作系统正式发布

这是计划的一部分 这是一个宏伟的计划,漫长且有趣。。。 2018 年的一个晚上,我写下了 sealos 第一行代码,当时仓库命名 “kubeinit”,后一想格局太小,我不可能只做一个安装 kubernetes 的事,安装只是计划…

不知道测试什么?这些是你需要知道的软件测试类型和常识

有多少软件测试类型呢? 我们作为测试人员了解很多种不同的软件测试类型,例如功能测试(Functional Test)、非功能测试、自动测试、敏捷测试、以及它们的各种子类型. 尽管在我们的测试过程中会接触很多种测试类型, 或者听说过某些测试类型,但是很少人敢说…

小姐姐们,一起学数据分析

💖 亲爱的女生们,听我说!数据分析,给你的未来注入浪漫与激情!💖 嗨,小姐姐们👭, 我想和你们分享一个令人兴奋的话题——数据分析!或许你们会觉…

Liunx系统重修

Liunx中以“树”结构的形式来管理文件和文件夹的!

ISP下载原理分析

STM32的启动方式,系统存储器启动就是通过ISP下载 ISP简介 ISP下载是指可以通过串行外设,直接将程序下载Flash中,然后自动运行程序的启动方式。 ISP的时候需要用到bootloder(自举程序),bootloader存储在STM32内部的自举ROM存储器…

webpack踩坑

因为电脑重新装了系统 所以很多环境都需要配置 1.首先去node.js官网下载了node,node下载后对应的npm版本也会自动下载好 2.想要成功跑通项目,还需要下载webpack 全局安装webpack npm -i webpack -Dnpm install webpack-cli -g但一直在报错 查看webpac…

基于Java毕业生就业信息统计系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

2023互联网Java高级工程师1080道面试题(附答案)分享

Java 面试八股文有必要背吗? 我的回答是:很有必要。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。现如今,Java 面试的本质就是八股文,把八股文面试题背好,面试才有可能表现好。…

python字符串格式化控制数值经度

python字符串格式化通过占位符拼接演示了字符串格式化拼接的方法 但是大家应该有注意到 我们的 8.70 就变成了 8.700000 那么 我们就需要对浮点数 做一个经度控制 我们先编写如下代码 dom1 110; dom2 1234.1234567; print(dom1) print(dom2)运行结果如下 我们定义了一个整…

【RuoYi-Cloud-Plus】学习笔记 07 - Sentinel(二)Node ProcessorSlotChain 总览与知识整理

文章目录 前言参考目录版本说明学习笔记1、Sentinel 架构图2、Node2.1、入口节点 EntranceNode2.2、链路节点 DefaultNode2.3、簇点 ClusterNode2.4、统计节点 StatisticNode3、Slot Chain3.1、DefaultSlotChainBuilder3.1.1、Slot 排序的实现3.1.2、SPI 文件读取3.2、NodeSele…

Java并发工具之ThreadLocal

一、ThreadLocal 简介 1. ThreadLocal 是什么? ThreadLocal 字面意思是本地线程,其实更准确来说是线程局部变量,线程类 Thread 有个变量叫做 threadLocals,其类型就是ThreadLocal.ThreadLocalMap 类型,他其实不是一个…

回忆童年游戏,完美利用Python制作飞机大战(爷青回~)

名字:阿玥的小东东 学习:python、C/C 博客链接:阿玥的小东东的博客_CSDN博客-python&&c高级知识,过年必备,C/C知识讲解领域博主 目录 pygame包的安装 添加python环境变量 创建飞机大战窗口 飞机照片 将变量及函数抽取出来 添加多…

LeetCode:31. 下一个排列

31. 下一个排列 1)题目2)思路3)代码4)结果 1)题目 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如,arr [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1…

Nacos负载均衡策略

文章目录 按权重分配流量负载均衡自定义负载均衡策略 按权重分配流量负载均衡 SpringCloud新版本(2021.x.x)中负载均衡器用LoadBalancer替代了Ribbon,默认只提供了2种负载均衡策略:RandomLoadBalancer 和 RoundRobinLoadBalancer。…

[冷冻电镜]IMOD使用指南

参考教程: Etomo Tuturial for IMOD version 4.11 1. Initial Setup 本教程提供了一个小双轴示例数据集和Etomo的分布指南,更详细的内容参考Tomography Guide。该版本使用1k*1k的图像而不是压缩版本。imodhelp命令可以打开帮助界面,查看各种…

java并发之CAS(Compare and swap)

1. 简介 CAS的底层调用native方法,最终是利用CPU的一个特殊指令,该指令由CPU保证了原子性,而且包含多个操作,比如先比较再更新。 原理: (1)需要读写的内存值(V)、原值…

【Kafka】Docker安装kafkajava kafka api

内容目录 一、安装zookeeper1 拉取镜像2 创建network3 启动容器 二、安装kafka1 拉取kafka镜像2 启动kafka容器3 创建topic4 创建生产者5 创建消费者 三、kafka的java api1 producer2 消费者 docker依赖于zookeeper,首先安装zookeeper 一、安装zookeeper 1 拉取镜像…