文章目录
- 00 | 基础知识
- 01 | 静态建模
- 类图
- 对象图
- 用例图
- 02 | 动态建模
- 时序图
- 通信图
- 状态图
- 活动图
- 03 | 物理建模
- 构件图
- 部署图
UML(Unified Model Language),统一建模语言,是一种可以用来表现设计模式的直观的,有效的框图语言。类似于流程图,通过采用一系列的线条和图形来描述出面向对象软件的整体架构。
UML图总分为三大类
静态建模:类图、对象图、用例图
动态建模:时序图、通信图、状态图、活动图
物理建模:构件图、部署图
00 | 基础知识
-
UML图形
UML图形包括四大类:结构、行为、分组和注释
- 结构:结构图形是UML中的静态部分(类比中英文中的名词部分),用以描述其中的概念部分。结构图形中包括类、接口、协作、用例、主动类、构建、制品和结点等;
- 行为:行为图形是UML中的动态部分(类比中英文中的动词部分),用以描述其中的动作行为。行为图形中包括了交互、状态机和活动等;
- 分组:分组图像是UML中的组织部分(类比一个完整的中英文短句),用以描述由模型分解出来的一部分区域。其中最主要的分组图形就是包,包是把结构、行为打包的机制,仅在开发时存在,是一种纯粹的概念;
- 注释:注释图形是UML中的解释部分(类比中英文中的注释、注解),用以描述、说明和标注模型中的任意元素;
-
UML关系
UML关系包括四种:依赖、关联、泛化和实现
-
-
依赖:一个独立元素发生变化会影响另一个独立元素。在UML图形中,通常把依赖化成一条可能由方向的虚线;
-
关联:描述一组对象之间的结构关系连接。聚集是一种特殊的关联,描述了整体和部分之间的结构关系;
-
泛化:一种描述特殊-一般关系的语义,指特殊元素(子类的对象)可替代一般元素(父类的对象)的关系,特殊元素共享一般元素的结构和行为。在UML图形中,通常把一个泛化关系画成一条带有空间三角箭头的实线;
-
实现:指的是一个类指定了由另一个类保证执行的约定关系。在UML图形中常把一个实现关系画成一条带有空心三角箭头的虚线。实现关系通常用在两个情况上:
- 接口和实现他们的类之间;
- 用例和实现他们的协作之间;
-
01 | 静态建模
类图
类图展现了一组对象、接口、协作和它们之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。类图给出系统的静态设计视图,也包括主动类的类图给出的关系系统静态进程视图。
类图中主要包括:类、接口、协作和关系(依赖、泛化、关联)、注释
类图用于堆系统的静态设计建模,这种建模主要描述出系统的功能需求。根据建模的对象,通常用以下三种方式进行建模
-
面向系统的词汇建模:描述这些抽象词汇和他们的职责关系;
-
面向简单的协作建模:协作是一些共同工作的类、接口和其他元素的群体,对系统中合同的类之间的关系进行可视化的描述;
-
面向逻辑数据库模式建模:将模式看作为数据库的概念进行设计,描述系统中对数据操作的关系;
对象图
对象图展现了某一时刻一组对象以及它们之间的关系,描述了在类图中所建立的事物的实例静态快照,一般包括对象和它们之间的连接
用例图
用例图展现了一组用例、参与者以及他们之间的关系
用例图通常包括:用例、参与者、关系(用例间的扩展、包含关系,参与者与用例间的关联关系,用例与用例以及参与者与参与者之间的泛化关系
02 | 动态建模
时序图
时序图是应用场景的可视化、图形化表示形式,描述了以时间顺序组织的对象之间的交互活动。在嵌入式中,对平台芯片启动流程时常需使用时序图描述出系统启动的各级顺序。
时序图中把参加交互的对象放在图的上方水平排列(发起方居左,接收方居右),把对象发送和接收的消息沿垂直方向按时间顺序从上到下排列,形成一种随时间推移的控制流可视化痕迹。
时序图有两个特点:有对象生命线,有控制焦点
通信图
通信图强调收发消息的对象的结构组织
类比有向图,通信图中将参加交互的对象作为图的顶点,连接这些对象的的链作为图的弧,最后用对象发送和接收的消息来描述这些链。
通信图有两个特点:路径,顺序号
状态图
状态图展现了一个状态机,它由状态、转换、事件和活动组成,关注系统的动态视图,对于接口、类和协作的行为建模及其重要,主要强调对象行为的事件顺序。
状态图对系统的动态方面建模,主要包括出现在系统结构的任意视图中的对象按照顺序发生的行为
状态图通常包括简单状态和组合状态、转换
- 状态:指对象的生命周期中某个条件或者状态,在此期间对象将满足某些条件或者执行某些动作,即对象执行了活动的结果
活动图
活动图是一种特殊的状态图,它展现了在系统内从一个活动到另一个活动的流程,专注于对象间的控制流程
活动图一般包括活动状态和动作状态、转换和对象,可以表示分支、合并、分岔和汇合
-
分支:描述基于布尔表达式的可选择路径
-
合并:描述两条控制流重新合并为一个控制流
-
分岔:描述一个控制流分程两个或多个并发控制流
-
汇合:两个或多个并发控制流的同步
03 | 物理建模
构件图
构件图展示了一组构建之间的组织和依赖,专注于系统的静态实现,通常把一个构建表示为类、接口、协作,与类图相关。
部署图
部署图展现了系统运行时处理结点以及其中构建的配置。
通常一个结点是一个在运行阶段存在并代表一个计算资源,即具备处理事件的能力,通常包含多个构件