目录

定义
特点
分类
类图
时序图
记忆技巧

定义

统一建模语言(英语:unified modeling language,缩写UML)
是非专利的第三代建模和规约语言

特点

  • UML是一种开放的方法

  • 用于软件开发中的各种产物:如流程图、测试用例、源代码的说明、可视化、构建和编写一个正在开发的面向对象的、软件密集系统的制品的开放方法

  • UML展现了一系列最佳工程实践

—》这些最佳实践对大规模,复杂系统进行建模方面,特别是软件架构层次已经被验证有效

记忆技巧

  • UML箭头方向:从子类指向父类

定义子类时需要通过extends关键字指定父类
子类一定是知道父类定义的,但父类并不知道子类的定义
只有知道对方信息时才能指向对方
所以箭头方向是从子类指向父类

  • 实线和虚线

空心三角形箭头:继承或实现
实线-继承(关联):is a 关系,扩展的目的,实在的关系很结实
表示一个类的对象和另一个类有联系
通常一个类中有另一个类的对象作为属性
虚线-实现(依赖):无实体,实现一个接口,需要自己去实现里面的方法

  • 空心菱形(弱关系):

菱形就是一个盛东西的器皿(例如盘子、小碗)
聚合:代表空器皿里可以放很多相同的东西,聚合在一起(箭头方向所指的类)
整体和局部的关系,两者都有各自独立的生命周期,是has a 的关系
体操方队和个人的关系

常见数字表达及含义,假设有A类和B类,数字标记在A类侧

0..1 0或1个实例
0.* 0或多个实例
1.1 1个实例
1 只能有一个实例
1..* 至少有ー个实例
  • 实心菱形(强关系):

组合:代表器皿里已经有的实体结构的存在,共生共死
整体和局部的关系,和聚合相比,关系更加强烈,两者有相同的生命周期,contains-a的关系
汽车和方向盘的关系

UML时序图

通过时序图可以了解需求的调用关系以及时间关系

UML概述 - 图1
Test类调用Client(调用Server(调用Device))

调用线条含义
UML概述 - 图2

UML2.2分类

UML2.2中一共定义了14中图示,分类如下:

1 结构式图形 强调的是系统的建模
2 行为式图形 强调的是系统模型中触发的事件
3 交互式图形 属于行为式图形子集合,强调系统中资料流程
4
5
6
7
8
9
10
11
12
13
14

结构式图形

  • 静态图(类图、对象图、包图) Static diagram (class diagram, object diagram, package diagram)

  • 实现图(组件图、部署图) Implementation diagram (component diagram, deployment diagram)

  • 剖面图 profileComposite

  • 结构图 structure drawing

UML类图

用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。
   各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

  • Class Diagram: 描述类、接口、实例等之间的静态关系

  • 虽然它被称为类图,但类不是类图中唯一的类

Class Diagram: describes the static relationships between classes, interfaces, instances,
and so onAlthough it is called a class diagram, classes are not the only ones in the class diagram

行为式图形 Behavior pattern

  • 活动图 Activity diagrams

  • 状态图 State diagramUse

  • 用例图 case diagram


【概念】描述用户需求,从用户的角度描述系统的功能

【描述方式】椭圆表示某个用例;人形符号表示角色

【目的】帮组开发团队以一种可视化的方式理解系统的功能需求
【用例图】
UML概述 - 图3

交互式图形

  • 通讯图

  • 交互概述图(UML2.0)

  • 时序图(UML2.0)

  • 时间图(UML2.0)

可参考教程

mermaid的gitHub

plantUML

PDF下载

PlantUML_Language_Reference_Guide_zh.pdf