UML类图
# 什么是统一建模语言(UML)?
UML 是统一建模语言的简称,是一种由一整套图表组成的标准化建模语言。UML用于帮助系统开发人员阐明,展示,构建和记录软件系统的产出。UML代表了一系列在大型而复杂系统建模中被证明是成功的做法,是开发面向对象软件和软件开发过程中非常重要的一部分。UML主要使用图形符号来表示软件项目的设计,使用UML可以帮助项目团队沟通、探索潜在的设计和验证软件的架构设计。
UML图有很多种,但是并非必须掌握所有的UML图。一般说来,在UML图中,只要掌握类图、用例图、时序图的使用,就能完成大部分的工作。 13 个 UML 图表。UML 图表可大致分为结构性图表和行为性图表两种。
结构性图表显示了系统在不同抽象层次和实现层次上的静态结构以及它们之间的相互关系。结构性图表中的元素表示系统中具意义的概念,可能包括抽象的、现实的和實作的概念。结构性图表有七种类型:
- 类图 (Class Diagram)
- 组件图 (Component Diagram)
- 部署图 (Deployment Diagram)
- 对象图 (Object Diagram)
- 包图 (Package Diagram)
- 复合结构图 (Composite Structure Diagram)
- 轮廓图 (Profile Diagram)
行为性图表显示了系统中对象的动态行为 ,可用以表达系统随时间的变化。行为性图表有七种类型:
- 用例图 (Use Case Diagram)
- 活动图 (Activity Diagram)
- 状态机图 (State Machine Diagram)
- 序列图 (Sequence Diagram)
- 通讯图 (Communication Diagram)
- 交互概述图 (Interaction Overview Diagram)
- 时序图 (Timing Diagram)
# 类图 (Class Diagram)
类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。类图中最基本的元素是类、接口。
# 类图中具体类、抽象、接口和包的表示法
UML类图中具体类、抽象类、接口和包有不同的表示方法。
# 1)在UML类图中表示具体类
具体类在类图中用矩形框表示,矩形框分为三层:第一层是类名字。第二层是类的成员变量;第三层是类的方法。成员变量以及方法前的访问修饰符用符号来表示:
+
表示public
;-
表示private
;#
表示protected
;- 不带符号表示
default
。
# 2)在UML类图中表示抽象类
抽象类 在UML类图中同样用矩形框表示,但是抽象类的类名以及抽象方法的名字都用 斜体 字表示,如图2所示。
# 3)在UML类图中表示接口
接口在类图中也是用矩形框表示,但是与类的表示法不同的是,接口在类图中的第一层顶端用构造型 <
# 4)在UML类图中表示包
类和接口一般都出现在包中,UML类图中包的表示形式如图4所示。
# 5) 注释(comment)
注释就是对类图 (opens new window)的补充说明,可以附加在任何元素上,用右上角有折角的矩形来表示,其内放置说明文字,通过虚线连接被注释的元素。
# 在类图中表示关系
类和类、类和接口、接口和接口之间存在一定关系,UML类图中一般会有连线指明它们之间的关系。关系共有六种类型,分别是实现关系、泛化关系、关联关系、依赖关系、聚合关系、组合关系,如图6所示。
下面我们详细讲述这些关系,以及在UML类图中如何表示这些关系。
# 继承关系/接口实现
继承:绘制方法为实线+空三角箭头
接口实现:绘制方法为虚线+空三角箭头
# 依赖关系
- 依赖:是一种使用的关系,即一个类的实现需要另一个类的协助,例如动物类必须要生存,而生存的必需品是空气和水。绘制方法为虚线+虚线箭头
# 关联关系
- 关联:表示一种拥有的关系,它使一个类知道另一个类的属性和方法,例如企鹅的迁移习性与气候变化是息息相关的。绘制方法为实线+实线箭头
# 聚合/组合关系
聚合、组合关系都隶属于关联关系,是整体与部分的关系。
- 聚合:表示
弱
的拥有关系,部分可以离开整体而单独存在,例如大雁群包含数只大雁,每一只大雁都可以独立于群体生存。绘制方法为空菱形+实线+实线箭头 - 组合:表示
强
的拥有关系,但部分不可离开整体单独存在,例如鸟必须有一双翅膀。绘制方法是实心菱形+实线+实线箭头
# 示例
(opens new window)
(opens new window)
提示
- UML类图入门,看完基本懂了怎么画图了_harderczw的博客-CSDN博客_uml类图怎么画 (opens new window)
- 30分钟学会UML类图 - 知乎 (zhihu.com) (opens new window)
- 设计模式(二)——UML类图怎么画_西 里的博客-CSDN博客_uml类图继承关系怎么画 (opens new window)
- UML类图绘制 - SouthBegonia - 博客园 (cnblogs.com) (opens new window)
- 类于类图标准总结1(UML类图到底怎么画?)_柏拉图的双斜杠的博客-CSDN博客_类图根据什么画 (opens new window)
- visual paradigm_useCase用例图、class类图、分析需求生成类_哔哩哔哩_bilibili (opens new window)
画图网站: