考试分值:3~4分

一、UML概述

统一建模语言(Unified Modeling Language,UML)是面向对象软件的标准化建模语言

UML由3个要素构成:

  1. UML的基本构造块(事物、关系和图)
  2. 支配这些构造块如何放置在一起的规则(公共机制)
  3. 运用与整个语言的一些公共机制

UML的词汇表包含3种构造块

构造块 说明
事物 对模型中最具有代表性的成分的抽象
关系 把事物结合在一起
聚集了相关的事物

UML中的4种事物

事物类型 说明
结构事物 类、接口、协作、用例、构件、节点等
行为事物 交互、状态机
分组事物
注释事物 注解

二、UML图分类

UML提供了13种图,可分为三大类:

1. 静态建模(结构图)

图名 说明
类图 展现了一组对象、接口、协作和它们之间的关系
对象图 展现了某一时刻一组对象以及它们之间的关系(类图的实例)
用例图 展现了用例、参与者(Actor)以及它们之间的关系
包图 展现了由模型本身分解而成的组织单元及其依赖关系
组合结构图 展现了类的内部结构

2. 动态建模(行为图)

图名 说明
序列图(顺序图/时序图) 描述了以时间顺序组织的对象之间的交互活动
通信图(协作图) 强调收发消息的对象的结构组织
状态图 展现了一个状态机,描述对象的状态及状态之间的转换
活动图 展现了在系统内从一个活动到另一个活动的流程
交互概览图 描述业务过程中的控制流概览(了解即可)
计时图 描述对象状态随着时间改变的情况(了解即可)

3. 物理建模(实现图)

图名 说明
构件图(组件图) 展现了一组构件之间的组织和依赖
部署图 展现了运行时处理结点以及其中构件(制品)的配置

三、各类UML图详解

3.1 类图

  • 展现一组对象、接口、协作和它们之间的关系
  • 是面向对象建模中最常用的图

3.2 对象图

  • 展现某一时刻一组对象以及它们之间的关系
  • 是类图的实例

3.3 用例图

  • 展现了**用例、参与者(Actor)**以及它们之间的关系
  • 三个用例之间的关系:
    • 包含关系(《include》):一个用例包含另一个用例
    • 扩展关系(《extend》):一个用例执行时可能发生的特殊情况或可选情况
    • 泛化关系:父类与子类的关系

3.4 序列图(顺序图/时序图)

  • 描述以时间顺序组织的对象之间的交互活动
  • 属于交互图的一种

3.5 通信图(协作图)

  • 强调收发消息的对象的结构组织
  • 属于交互图的一种
  • 交互图一般包含:对象、链和消息

交互图包括:序列图、通信图、交互概览图和计时图

3.6 状态图

  • 展现了一个状态机
  • 状态:任何可以被观察到的系统行为模式,代表系统的一种行为模式
  • 事件:在某个特定时刻发生的事情,引起系统做动作或从一个状态转换到另一个状态
  • 状态的3种标准事件:entry(进入该状态的动作)、exit(退出该状态的动作)、do(在该状态下的动作)

3.7 活动图

  • 展现在系统内从一个活动到另一个活动的流程
  • 一般包括:活动状态动作状态转换对象

3.8 构件图(组件图)

  • 展现一组构件之间的组织和依赖

3.9 部署图

  • 展现运行时处理结点以及其中构件(制品)的配置

四、状态与活动的区别

概念 说明
状态 任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式
活动 系统内从一个活动到另一个活动的流程
状态标准事件 说明
entry 进入该状态时执行的动作
exit 退出该状态时执行的动作
do 在该状态下持续执行的动作

五、重点记忆

  • 静态建模:类图、对象图、用例图
  • 动态建模:序列图、通信图、状态图、活动图
  • 物理建模:构件图、部署图
  • 交互图包括:序列图、通信图、交互概览图、计时图
  • 用例图三种关系:包含(include)、扩展(extend)、泛化