一、简介
统一建模语言(UML,Unified Modeling Language)是面向对象软件的标准化建模语言。UML因其简单、统一的特点,而且能表达软件设计中的动态和静态信息,目前已成为可视化建模语言的工业标准。UML本身是一套符号的规定,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类、接口、实现、泛化、依赖、组合、聚合等。UML是一种用来建模的语言,跟传统的编程语言不一样。它用一些符号来描述设计思想,是用于软件系统分析和设计的语言工具,图形描述帮助我们进行思考和记录思考的结果,以及软件系统设计和分析理解。
常用的建模工具:https://www.processon.com
二、基本图示法
1.类
在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示:
类的作用域:
- + : 表示
public
- - : 表示
private
- # : 表示
protected
属性的完整性描述:
可见性 名称:类型 [=缺省值]
例如,
- num:int
方法的完整性描述:
可见性 名称(参数列表) [:返回类型]
例如,
+ fun(int a,int b) : int
注意: 中括号内的内容是可选的
2.接口
在UML中,接口有两种表示方式:
- 普通接口表示法(飞翔);
- 棒棒糖表示法(讲人话),使用一个带有名称的小圆圈来表示,在旁边写上相应接口名称,没有具体接口方法。
接口名称通常以大写字母 I
开头
普通接口表示法:
**注意:**要在接口名上方添加<<interface>>
,且一般接口名以大写的 I作为开头。
棒棒糖表示法:
3.关系
依赖关系
只要是在类中用到了对方,那么他们之间就存在依赖关系。
类中用到了对方的情况:
- 如果是类的成员属性
- 如果是方法的返回类型
- 是方法接收的参数类型
- 方法中使用到
如果A类用到了B类 ,则A依赖于B,即需要用虚线箭头从A指向B,例如
关联关系
关联关系实际上就是类与类之间的联系,是依赖关系的特例。使用实线箭头来描述。
关系具有多重性:
- “1”(表示有且仅有一个),
- “0…”(表示0个或者多个),
- “0,1”(表示0个或者1个),
- “n…m”(表示n到 m个都可以),
- “m…*”(表示至少m 个)。
关联具有导航性:
即双向关系或单向关系
例如,
单向
一个人一个身份证号 一对一单向的
双向
一个人对应一个身份证号 一对一
一个身份证号也对应一个人
继承关系
继承关系大家不会陌生,之前肯定在类中学习过。继承关系也称泛化关系,是依赖关系的特例。 A类继承了B类也相当于A类用到了B类。
使用空心三角形+实线,例如:
实现关系
实现关系实际上就是A类实现B接口,是依赖关系的特例,依赖关系更强。
使用空心三角形+虚线表示,例如:
聚合关系
聚合关系表示的是整体和部分的关系,整体与部分可以分开。聚合关系是关联关系的特例,所以他具有关联的导航性与多重性。使用带空心菱形的实线,菱形指向整体来表示。
导航性:
谁聚合谁? A聚合到B:
多重性:
B聚合一个A——单聚合
B里面可以聚合多个A——多重聚合
例如:
组合关系
组合关系也是整体与部分的关系,但是整体与部分不可以分开。使用实心菱形+实线来表示。
案例:
定义类:Person、IDCard与Head, 那么
Head 和Person 是 组合——人不能没有头。
IDCard 和 Person 是聚合——一个人可以没有身份证,去补办身份证就行。
4.注释
注释使用右上角的带三角折痕的矩形加虚线来表示注释。
如果篇文章对你有帮助,动动你的小手点个赞吧!