• UML(统一建模语言)

The Unified Modeling Language (opens new window)

UML Tutorial (opens new window)

What is Unified Modeling Language (UML)? (opens new window)

# 常用的 UML 图

# 用例图 Use Case Diagram (opens new window)

  • 用于描述系统提供的系列功能,每个用例代表系统的一个功能模块
  • 包含用例、角色两种图元

用例图

# 类图 Class Diagram (opens new window)

  • 表示系统中应该包含哪些实体,各实体之间如何关联

  • 类在类图上使用包含三个部分的矩形来描述:最上面的部分显示类的名称,中间部分包含类的属性,最下面的部分包含类的方法

  • 类之间的基本关系

    1. 关联(包括聚合、组合)
      • 表现形式:类里的某个属性引用了另外一个实体
      • 聚合:当某个实体聚合成另一个实体时,该实体还可以同时是另一个实体的部分
      • 组合:当某个实体组合成另一个实体时,该实体则不能同时是一个实体的部分
      • 关联使用一条实线来表示,带箭头的实线表示单向关联
    2. 泛化
      • 泛化与继承是同一个概念,都是指子类是一种特殊的父类
      • 类与类之间的继承关系使用带空心三角形的实线表示
      • 类实现接口可视为一种特殊的继承,这种实现用带空心三角形的虚线表示
    3. 依赖
      • 如果一个类的改动会导致另一个类的改动,则称两个类之间存在依赖
      • 表现形式:形参、局部变量、静态变量
      • 依赖关系使用带箭头的虚线表示,其中箭头指向被依赖的实体

    实线-继承(is a)、虚线-实现,空心三角形方向都是从子类/实现类指向父类/接口
    实线-关联、虚线-依赖
    空心菱形-聚合(has a)、实心菱形-组合(contains a)

    聚合和组合的区别

    聚合和组合是都是特殊的关联关系,二者都是整体和部分的关系,主要区别有 2 点:
    一是整体和部分的这种关联关系,组合更强一些,聚合要弱一些;
    二是生命周期,对于组合,部分的生命周期不能超越整体,也就说部分不能脱离整体而存在,部分随着整体的创建而被创建,消亡而被消亡。对于聚合,部分的生命周期可以超越整体,整体消亡了,部分还可以继续独立存在。

类之间的基本关系

类图

UML类图图示样例

# 顺序图/时序图 Sequence Diagram (opens new window)

  • 由活动者、对象、消息、生命线和控制焦点组成

用户登录顺序图

# 活动图 Activity Diagram (opens new window)

  • 用于描述用例内部的活动或方法的流程(如果除去活动图中的并行活动描述,就变成流程图)
  • 开始状态、结束状态、活动、活动流、分支、分叉和汇合、泳道

活动图

# 状态机图 State Machine Diagram (opens new window)

  • 表示某个对象所处的不同状态和该类的状态转换信息
  • 初始状态、状态之间的转换、状态、判断点、一个或者多个终止点

状态机图

# 组件图 Component Diagram (opens new window)

  • 包含组件、接口和 Port 等图元

组件图

# 部署图 Deployment Diagram (opens new window)

部署图

Updated at: 2022-11-09 19:52:32