UML总结
统一建模语言,一整套图表组成的标准化建模语言。方便开发人员之间的交流



类图
面向对象方法的核心建模工具,用来表示类、接口以及它们之间的静态结构和关系。
面向对象设计中对象之间的关系。(低耦合)



泛化|纵向(继承)
Generalization:继承之后自己增加一些功能,就是泛化
- 代码实现
- 接口之间的继承
- 类之间的继承

实现|纵向(实现)
Realization:对于抽象的实现
- 代码实现
- 实现(多)接口

依赖|横向(最弱)
Dependency:一个类依赖于另一个类的定义,不存在整体和局部的关系
- 代码实现
- 变量(成员变量、局部变量、方法的形参和返回值)
- 静态方法的调用
- 应用
- service里面对 mapper,entity,Result 的引用
- 人和计算机
- 动物和水氧气

关联|横向(弱)
Association:**一个类知道另一个类的属性和方法,**不存在整体和局部的关系
关联可以用单向箭头表示单向关联,使用双箭头表示双向关联(不建议)。
关联是类与类,类与接口之间的一种比较强烈的关系,它不是临时性的,而是长期性的。
- 代码实现
- 成员变量
- 应用
- 老师和学生和课程
- 丈夫和妻子
- 企鹅和气候

聚合|横向(次强)
Aggregation:关联关系的特例,“弱拥有”的关系,即has-a的关系。聚合是整体和个体之间的关系。
- 代码实现
- 成员变量
- 应用
- 汽车和轮胎
- 汽车和引擎

组合|横向(最强)
Composition:整体和个体必须同时存在
- 代码实现
- 成员变量
- 应用
- 公司和部门
- 菜单和菜单项

关联和依赖的区别
关联可以看做是类A在类B中的成员变量,has a的关系。
依赖可以理解为类A的某个方法里面使用了类B,
明显二者的关联强度是不一样的。
关联表示has-a关系,如学生拥有一个课程,往往表现为B作为A的属性存在(A关联B)
依赖表示要做一件事情,离不开某个对象。往往表现为B作为A的方法参数存在(A依赖B)
组件图
描绘了系统中组件提供的、需要的接口、端口等,以及它们之间的关系。用来展示各个组件之间的依赖关系。
订单系统组件依赖于客户资源库和库存系统组件。
中间的虚线箭头表示依赖关系。
另外两个符号,表示组件连接器,一个提供接口,一个需要接口。

部署图
系统内部的软件如何分布在不同的节点上。表示软件和硬件的映射关系。

对象图
对象图是类图的一个实例,是系统在某个时间点的详细状态的快照。用来表示两个或者多个对象之间在某一时刻之间的关系。

某时间点bat这个公司有一个研发部,一个销售部,两个部门只有一个人iisheng。
包图
描绘了系统在包层面上的结构设计。包之间依赖关系

- 《Use》关系表示使用依赖,Web Shopping依赖Payment
- 《Merge》关系表示合并,Web Shopping合并了Shopping Cart就拥有了Shopping Cart的功能
- 《Access》关系表示私有引入,比如代码中的指定包名类名
- 《Import》关系表示公共引入,比如Java中的import之后,就可以直接使用import包中的类了。
组合结构图
描述了一个"组合结构"的内部结构,以及他们之间的关系。这个"组合结构"可以是系统的一部分,或者一个整体。系统中逻辑上的"组合结构"。

图中描述了Car是由车轴连接着的两个前面轮子、两个后面轮子,和引擎组合的。
轮廓图
轮廓图提供了一种通用的扩展机制,用于为特定域和平台定制UML模型。

图中我们定义了一个简易的EJB的概要图。Bean是从Component扩展来的。Entity Bean和Session Bean继承了Bean。EJB拥有Remote和Home接口,和JAR包
用例图
指由参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的视图。描述整个系统的功能。

用例图中包含以下三种关系:
- 包含关系使用符号《include》,想要查看订单列表,前提是需要先登录。
- 扩展关系使用符号《extend》,基于查询订单列表的功能,可以增加一个导出数据的功能
- 泛化关系,子用例继承父用例所有结构、行为和关系。
活动图Business Process Diagram
具体业务用例的实现流程。用例实现的工作流程。

从开始到登录到查看订单列表,或者登录失败直接结束。
状态机图
对一个单独对象的行为建模,指明对象在它的整个生命周期里,响应不同事件时,执行相关事件的顺序。在整个生命周期,响应不同事件的不同状态。

门在其生命周期内所经历的状态。
序列图
根据时间序列展示对象如何进行协作。它展示了在用例的特定场景中,对象如何与其他对象交互。
描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。

图中展示的是支付宝条码支付场景的序列图。其中,loop是循环,alt是选择,
通讯图
描述了收发消息的对象的组织关系,强调对象之间的合作关系而不是时间顺序。

线上书店的通讯图,方框和小人表示生命线,不同生命线之间可以传递消息,消息前面的数字可以表达序列顺序。
交互概览图
交互概览图与活动图类似,但是它的节点是交互图。
提供了控制流的概述。

图中表示一个调度系统的交互概览图,跟活动图很像。其中sd的框代表具体的交互流程,ref框代表使用交互。
时序图
元素状态或者值随时间的变化而变化的视图。

老年痴呆病人随着时间的变化病情的变化。
参考链接
https://www.yinxiang.com/everhub/note/d2f91fe6-22bc-4d73-a15a-9b0d28e19326
posted on 2025-10-14 22:44 chuchengzhi 阅读(17) 评论(0) 收藏 举报
浙公网安备 33010602011771号