©️ OverlookArt

UML

UML (Unified Modeling Language) 是面向对象软件的标准化建模语言。包含事务、关系、图 3种构造块。事务是 UML 中最基本的构成元素;关系把事务结合在一体;图聚集了相关的事务。

事务

UML 中有4种事务:结构事务、行为事务、分组事务、注释事务

  • 结构事务:是模型的静态部分。描述 UML 模型的概念或物理元素,包括类(Class)、接口(Interface)、协作(Collaboration)、用例(Use Case)、主动类(Active Class)、组件(Component)、制品(Artifact)和节点(Node)。
  • 行为事务:是模型的动态部分。描述一种跨越时间和空间的行为。包括交互、状态机(State Machine)、和活动(Activity)
  • 分组事务:是 UML 模型的组织部分。在所有的分组事务中最主要的分组事务是包(Package),包是把元素组织成组的机制,结构事务和行为事务甚至其他分组事务都可以放进包内。
  • 注释事务:是 UML 模型的解释部分,一般用来描述、说明和标注模型的任何元素。

关系

UML 中有4种关系:依赖、关联、泛化和实现

名称 子集 解释 举例 图形
0 关联 关联 两个类之间存在某种语义上的联系,执行者与用例的关系(描述了一组链,链是对象之间的连接) 人和公司有某种关联 直线
1 关联 聚合 整体与部分的关系(部分离开整体可独立存在) 狼与狼群的关系 带空棱形箭头的直线
2 关联 组合 整体与部分的关系(部分离开整体不可独立存在) 车轮与车的关系 带实棱形箭头的直线
3 泛化 是一种特殊/一般关系,父类和子类之间的关系。一般事务与该事务中特殊类之间的关系 人与老师的继承关系 带空箭头的直线
4 实现 规定接口和实现接口的类或组件之间的关系 带空箭头的虚线
5 依赖 有包含、扩展等关系 人依赖食物 虚线箭头

图(Diagram)是事务和关系的可视化表示。在 UML 2.0 中共定义了 13 种图

classDiagram UML图 <|-- 结构图 UML图 <|-- 行为图 结构图 <|-- 类图 结构图 <|-- 对象图 结构图 <|-- 组件图 结构图 <|-- 部署图 结构图 <|-- 组合结构图 行为图 <|-- 交互图 行为图 <|-- 用例图 行为图 <|-- 活动图 行为图 <|-- 状态图 交互图 <|-- 顺序图 交互图 <|-- 通信图 交互图 <|-- 交互概览图 交互图 <|-- 时序图 class UML图 class 结构图 class 类图 class 对象图 class 组件图 class 部署图 class 组合结构图 class 行为图 class 交互图 class 用例图 class 活动图 class 状态图 class 顺序图 class 通信图 class 交互概览图 class 时序图

类图

用例图

描述一组用例、参与者以及它们之间的关系,用例图之间有 3 种关系:

  1. 包含关系:当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系«include»表示
  2. 扩展关系:如果一个用例明显的混合了两种以上的不同场景,即根据情况可能发生多种分支,则可以用这个用例分为一个基本用例和一个或多个扩展用例,用«extend»表示
  3. 泛化关系:当多个用例共同拥有一种类似的结构和行为,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例

顺序图

顺序图又称为序列图,描述对象之间的交互(消息的发送与接受),重点在于强调顺序,反映对象间消息的发送与接收

活动图

描述过程行为和并行行为,它是一种特殊的状态图,展现了在系统内从一个活动到另一个活动的流程,对于系统的功能建模特别重要,并强调对象间的控制流程

状态图

描述对象状态及其转换,状态图就是一个状态机,由状态、转换、事件和活动组成,状态是指对象的生命周期中某个条件或状态,状态图关注系统的动态视图,强调对象行为的事件顺序。