考试分值:3~4分
一、UML概述
统一建模语言(Unified Modeling Language,UML)是面向对象软件的标准化建模语言。
UML由3个要素构成:
- UML的基本构造块(事物、关系和图)
- 支配这些构造块如何放置在一起的规则(公共机制)
- 运用与整个语言的一些公共机制
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)、泛化
评论