首页 > 其他分享 >UML类图总结

UML类图总结

时间:2022-12-12 15:13:25浏览次数:64  
标签:总结 关系 依赖 实线 类图 关联 箭头 UML

有几年没有画类图了,去年画过时序图和泳道图,但找不到材料了。留在了老东家而没有备份!今天做个类图的笔记。

1. 工具

类图一般用StartUML

 和N年前变化很大!百度一下很多文档,请自行搜索和参考。

2. 类图中的关系总结

 

类图的关系可以分为四种,泛化和实现,依赖和关联

其中关联是一个大类当中又细分包括(单向,双向,自关联,聚合,组合),所有的关联关系在代码层面的体现都是将一个类的对象作为另一类的属性

关联是一种强依赖关联关系 > 依赖关系

另外关联大类中的单向,双向,自关联与关联大类中的聚合,组合的区别是,前者关联对象之间是对等的,后者关联对象之间是整体与部分的差别。举例说明: 老师和学生间是对等的(关联表示); 大雁是雁群的一部分,大雁可以离开雁群(聚合表示);电池是电动自行车的一部分,电动自行车不能没有电池(组合表示)。

 

关系 英文名称  描述 形状 举例说明
泛化 Generalization 继承。“is-a”的关系。

实线空心箭头

 鸟是一种动物,而雁、鸭、鹅都是鸟类。
实现 Realization

多态。“is-a”的关系;接口的实现,实现了实现了接口类中所声明的操作。

虚线空心箭头

List接口的几个常见实现类:ArrayList、LinkedList、Vector。
关联

Association

DirectedAssociation

 

单向。一般作为类的属性。

实线箭头

 顾客的地址。
双向。双方各自持有对方类型的成员变量 ,都可以调用对方的公共属性和方法。

实线双箭头或无箭头

 学生和老师可以互相指向。顾客与商品。
自关联。类的属性对象类型为该类本身。

实线箭头指向自身

 在链表中非常常见,前向和后向的指针或引用都是指向自身的类。
组合 Composition 强的‘拥有’关系,是一种contains-a的关系,体现了严格的部分和整体关系,部分和整体的生命周期一样。一般是成员类。

实线实心菱形

电池是电动自行车的一部分,电动自行车不能没有电池。
聚合 Aggregation 弱的‘拥有’关系,即has-a的关系,体现的是整体对象包含成员对象,但成员对象不是整体对象必不可少的一部分,可以脱离整体而存在。

实线空心菱形

白天鹅是鹅群的一部分,白天鹅可以离开鹅群;班级与学生之间。
依赖 Dependency 使用关系或者需要关系;作为参数,返回值或者局部变量。

虚线箭头

 例子1:以常见的Controller、Servie、DAO为例,请求转发到Controller时,依赖与具体的Servie实现,而Servie则是依赖DAO层实现数据库交互。

例子2:Maven的pom.xml依赖配置,就是常见的Dependency

 而这六种关系的强弱依次是:

泛化 = 实现,组合 > 聚合 > 关联 > 依赖。

 

 

参考:

uml类图(组合,聚集,关联,依赖)

StarUML类图相关——关联、聚合、组合、泛化、依赖、实现

 

标签:总结,关系,依赖,实线,类图,关联,箭头,UML
From: https://www.cnblogs.com/orange-CC/p/16975936.html

相关文章

  • 第一章算法概述总结
    代码规范类及其排版格式声明属性依次序是public:、protected:、private:。关键字public,protected,private不要缩进,声明的函数和变量缩进一个制表符。类声明前应加上注释,注......
  • ReactNative 升级总结
    ReactNative升级总结ReactNative从0.53升级到0.63iOS项目总结1.ERRORInvariantViolation:ARThasbeenremovedfromReactNative.Itcannowbeinstalled......
  • 2022-2023-1 20221319《计算机基础与程序设计》课程总结
    班级:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK15作业目标:课程总结作业正文:https://www.cnb......
  • NeurIPS 2022-10大主题、50篇论文总结
    2672篇主要论文,63场研讨会,7场受邀演讲,包括语言模型、脑启发研究、扩散模型、图神经网络……NeurIPS包含了世界级的AI研究见解,本文将对NeurIPS2022做一个全面的总结。第3......
  • 9 年小厂老前端的年终总结
    前言时光飞逝,岁月如梭,转眼来到2021年底,这一年少了些理性,多了点感性,少了些自由,多了一份责任,这一年视乎没做什么事情,但又过得非常充实,最欣慰的是回家有个人等待着我的拥抱,最......
  • 2022年终总结|打脸了
    还记得我在春哥的文章​​2022,前端的天......
  • 2022-2023-1 20221319《计算机基础与程序设计》第十四周学习总结
    作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK14......
  • 杭漂5年前端感受-白驹过隙,人生如梦 | 2022 年中总结
    高中物理老师每次开年级大会的时候,开场白总是喜欢说一句:”人生如梦!“,当时没有什么感受,直到工作了几年以后,这种感受尤为强烈。算上读大学的时间,来杭州已经9年了,4年读大学+5年......
  • 四月日更挑战的第 30 天总结
    今天是我参加四月份日更的第​​30​​天,也就是四月份的最后一天。先祝读者五一快乐,事事顺利。我们今天来聊聊这一个月以来的经历和感受。事情的缘由都是因为我在更文总结......
  • 2022 年中总结|迷失中成长的半年
    距离上次总结过去半年了,这半年经历了很多的事情,经历了外企、自由职业,经历了上海全套的疫情,经历了比较emo的时刻,所幸技术还是在稳步成长中,也写了第二本小册,关于ts类型体......