UML图
UML图是软件设计的重要工具,本文对UML2.5中的图做一个整体介绍,并给出几种常用图的官方示例。
UML图的种类
最新版UML标准为2.5,发布于2015年6月,官网地址:https://www.uml-diagrams.org/。
注意:上图中蓝色标识的图不属于UML官方分类!
UML2.5图分为两大类(7+7),共计14种:
-
结构图(Structure Diagram):描述系统的静态结构。
- 类图(Class Diagram):表示类、接口以及其间的协作关系。
- 对象图(Object Diagram):表示某一时刻一组对象及其间的关系。
- 包图(Package Diagram):展现由模型分解而成的组织单元及其间的依赖关系。
- 组合结构图(Composite Structure Diagram):描述一个分类器的内部结构,分类器与其他部分之间的交互端口,展示一组相互协作的实例如何完成特定任务。
- 组件图(Component Diagram):展示一组构件之间的组织和依赖。
- 部署图(Deployment Diagram):描述了系统内部的软件如何分布在不同的节点上。
- 轮廓图(Profile Diagram):轮廓图提供了一种通用的扩展机制,用于为特定域和平台定制UML模型。
-
行为图(Behavior Diagram):描述系统的动态行为。
- 用例图(UseCase Diagram):展示参与者、用例及其间关系。
- 活动图(Activity Diagram):展示了在系统内从一个活动到另一个活动的流程。
- 状态机图(State Machine Diagram):对一个单独对象的行为建模,指明对象在它的整个生命周期里,响应不同事件时,执行相关事件的顺序。
- 交互图(Interaction Diagram):对一个系统的动态方面进行建模。
- 序列图(Sequence Diagram):是场景的图形化表示,描述了以时间顺序组织的对象之间的交互活动。
- 通信图(Communication Diagram):描述收发消息的对象之间的结构组织。
- 时序图(Timing Diagram):适合实时和嵌入式系统建模的交互图,描述对象状态随着时间改变的情况。
- 交互概览图(Interaction Overview Diagram):是活动图的变体,描述业务过程中的控制流概览。
类图
-
常见类型
- 领域模型图
- 实现类图
-
元素
- 类
- 接口
- 抽象类
- …
-
六大关系
- 泛化(Generalization)
- 实现(Realization)
- 依赖(Dependency)
- 关联(Association)
- 聚合(Aggregation)
- 组合(Composition)
-
示例
组件图
- 组成部分
- 组件
- 供接口/需接口
- 端口
- 关系
用例图
-
两类
- 业务用例图(Business Use Case Diagram)
- 系统用例图(System Use Case Diagram)
-
四个要素
- 参与者
- 用例
- 关系
- 参与者 & 参与者:泛化
- 参与者 & 用例:关联
- 用例 & 用例:包含、扩展、泛化
- 边界
-
示例
状态机图
-
要素
- 开始、结束
- 状态(简单状态、组合状态)
- 转换(事件和动作)
-
示例
活动图
-
两种使用方式
- 对工作流建模:常采用泳道将活动图中的活动状态分组
- 对操作建模
-
要素
- 开始点
- 结束点
- 活动状态
- 流程控制
- 分支:条件分支
- 合并:重新合并,不需要监护条件
- 分岔:一个控制流分成多个并发控制流
- 汇合:多条并发控制流合并
序列图
- 要素
- 角色
- 对象和生命线
- 活动条
- 消息:消息、异步消息、返回消息
- 交互框
- alt:选择片段,if-else
- opt:可能发生或不发生
- par:并行
- loop:重复一定次数
- …
- 示例