解密UML九中关系

2024-05-25 11:18
文章标签 解密 关系 uml 九中

本文主要是介绍解密UML九中关系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  将UML中常用的九种关系分为了四组进行解释。




一、组合和聚合讲解:

相同:均是指有部分组成整体。

不同:聚合是指可以独立存在的个体组成整体。(弱的拥有关系)

      组合存在时间上的关系。整体和部分具有相同的生命周期。且部分本就是整体的       一部分。(强拥有关系)

比如:书架和书及书页之间关系。

      书是书架的一部分,但是书可以离开书架单独存在。这种关系是组合

      很多的书页可以组成一本书,但是书是不能离开书页单独存在的,且书和书页是       同时存在的。这就是组合关系。


二、包含和扩展讲解:

  两者存在于用例图中,指的是用例之间的关系。

包含:是用来描述将一个基用例中过于复杂的功能用例。来分解成多个新的用例。

      且这些新的用例不可缺少。

扩展:是将基用例中的相对独立且可选的用例与基用例之间的描述。

如:机房收费系统中的:用户上机记录查看,包含了查询、查看、退出、导出  Excel表等功能。若将上机记录查看作为一个用例那么这些功能均要在此用例中描    述。过于复杂。那么可以将这些功能分解成子用例。


    因为查询、查看、退出,是被包含在上机记录查看不可缺少的功能,这三个功能是无条件存在的,将上机记录查看描述的更完整。

    而导出为Excel表是在查询出现结果之后,对于上机记录查看这个功能,能不能导出Excel表都是一样的。

 

三、继承和泛化:

泛化其实也是一种继承关系。

不同的是泛化关联箭头从子类指向父类的 与继承相反。



             是泛化关系

四、关联和依赖的认识:

依赖是比关联弱的关系,关联其实是一种较强的依赖关系。

     依赖是指两个独立的系统之间的关系,一个系统负责构造另一个系统实例,或依赖于另一个系统服务时存在的。比如:但机器负责生产零件时,机器构造的零件实体;打气筒为自行车提供打气服务也是一种依赖关系。


关联是只特定的对象实例之间存在较长期的固定关系。

依赖是指两个对象之间存在短时间的关系。


如用人、自行车、打气筒三者之间的关系来描述。

人和自行车是特定的配对,且在很长的时间中人均可以骑自行车。

但是,自行车和打气筒之间不存在配对关系,你可能在路上用这个打气筒一次,有用另外各一次,且每次使用时间较短。



五、实现关系;

两个实体与接口之间的关系。


总的来说这几种关系的强弱是:泛华=实现>组合>聚合>关联>依赖
在使用关系时一定要使用最准确的关系进行描述。

这篇关于解密UML九中关系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1001348

相关文章

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

java中新生代和老生代的关系说明

《java中新生代和老生代的关系说明》:本文主要介绍java中新生代和老生代的关系说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、内存区域划分新生代老年代二、对象生命周期与晋升流程三、新生代与老年代的协作机制1. 跨代引用处理2. 动态年龄判定3. 空间分

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

使用Java实现Navicat密码的加密与解密的代码解析

《使用Java实现Navicat密码的加密与解密的代码解析》:本文主要介绍使用Java实现Navicat密码的加密与解密,通过本文,我们了解了如何利用Java语言实现对Navicat保存的数据库密... 目录一、背景介绍二、环境准备三、代码解析四、核心代码展示五、总结在日常开发过程中,我们有时需要处理各种软

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

python安装whl包并解决依赖关系的实现

《python安装whl包并解决依赖关系的实现》本文主要介绍了python安装whl包并解决依赖关系的实现,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、什么是whl文件?二、我们为什么需要使用whl文件来安装python库?三、我们应该去哪儿下

MYSQL关联关系查询方式

《MYSQL关联关系查询方式》文章详细介绍了MySQL中如何使用内连接和左外连接进行表的关联查询,并展示了如何选择列和使用别名,文章还提供了一些关于查询优化的建议,并鼓励读者参考和支持脚本之家... 目录mysql关联关系查询关联关系查询这个查询做了以下几件事MySQL自关联查询总结MYSQL关联关系查询