UML图例介绍
1.泛化(Generalization)
【泛化关系】是一种继承关系,表示子类继承父类的所有特征和行为。
【箭头指向】带三角箭头的实线,箭头指向父类。
2.实现(Realization)
【实现关系】是一种类与接口的关系,表示类是接口所有特征和行为的实现。
【箭头指向】带三角箭头的虚线,箭头指向接口。
3.关联(Association)
【关联关系】是一种拥有关系,它使得一个类知道另一个类的属性和方法。
【代码体现】成员变量
【箭头指向】带普通箭头的实线,指向被拥有者。双向的关联可以有两个箭头,或者没有箭头。单向的关联有一个箭头。
聚合(Aggregation)
【聚合关系】是一种整体与部分的关系。且部分可以离开整体而单独存在。聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
【代码体现】成员变量
【箭头指向】带空心菱形的实线,空心菱形指向整体。
组合(Composition)
【组合关系】是一种整体与部分的关系。但部分不能离开整体而单独存在,组合关系是关联关系的一种,是比聚合关系还要强的关系。
【代码体现】成员变量
【箭头指向】带实心菱形的实线,实心菱形指向整体。
依赖(Dependency)
【依赖关系】是一种使用关系,即一个类的实现需要另一个类的协助。
【箭头指向】带普通箭头的虚线,普通箭头指向被使用者。
组件图
【概念】描绘了系统中组件提供的、需要的接口、端口等,以及它们之间的关系。
【目的】用来展示各个组件之间的依赖关系。
部署图
【概念】描述了系统内部的软件如何分布在不同的节点上。
【目的】用来表示软件和硬件的映射关系。
包图
【概念】描绘了系统在包层面上的结构设计。
【目的】用来表示包和包之间的依赖关系。
对象图
【概念】对象图是类图的一个实例,是系统在某个时间点的详细状态的快照。
【目的】用来表示两个或者多个对象之间在某一时刻之间的关系。
组合结构图
【概念】描述了一个"组合结构"的内部结构,以及他们之间的关系。这个"组合结构"可以是系统的一部分,或者一个整体。
【目的】用来表示系统中逻辑上的"组合结构"。
轮廓图
【概念】轮廓图提供了一种通用的扩展机制,用于为特定域和平台定制UML模型。
【目的】用于在特定领域中构建UML模型。
用例图
【概念】用例图是指由参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的视图。
【目的】用来描述整个系统的功能。
活动图
【概念】描述了具体业务用例的实现流程。
【目的】用来表示用例实现的工作流程。
状态机图
【概念】状态机图对一个单独对象的行为建模,指明对象在它的整个生命周期里,响应不同事件时,执行相关事件的顺序。
【目的】用来表示指定对象,在整个生命周期,响应不同事件的不同状态。
序列图
【概念】序列图根据时间序列展示对象如何进行协作。它展示了在用例的特定场景中,对象如何与其他对象交互。
【目的】通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。
通讯图
【概念】描述了收发消息的对象的组织关系,强调对象之间的合作关系而不是时间顺序。
【目的】用来显示不同对象的关系。
交互概览图
【概念】交互概览图与活动图类似,但是它的节点是交互图。
【目的】提供了控制流的概述。
时序图
【概念】时序图被用来显示随时间变化,一个或多个元素的值或状态的更改。也显示时控事件之间的交互和管理它们的时间和期限约束。
【目的】用来表示元素状态或者值随时间的变化而变化的视图。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通