文章目录
前言一、结构图(静态建模)1.类图(Class Diagram)2.对象图(Object Diagram)3.组件图(Component Diagram)4.部署图(Deployment Diagram)5.复合结构图(Composite Structure Diagram)6.包图(Package Diagram)7.配置文件图(Profile Diagram)
二、行为图(动态建模)8.用例图(Use Case Diagram)9.活动图(Activity Diagram)10.状态机图(State Machine Diagram)11.时序图(Sequence Diagram)12.通信图(Communication Diagram)13.交互概览图(Interaction Overview Diagram)14.时序图(Timing Diagram)
总结
前言
UML(统一建模语言)总共包含 14 种图,主要分为两大类:
结构图(Structural Diagrams) - 用于描述系统的静态结构行为图(Behavioral Diagrams) - 用于描述系统的动态行为
一、结构图(静态建模)
结构图用于描述系统中对象、类、组件以及它们之间的关系,常见于架构设计和数据库建模。
1.类图(Class Diagram)
作用: 描述系统中的类、接口及其属性、方法,以及类之间的关系(继承、实现、关联、聚合、组合、依赖等)。 场景:
详细设计系统的类结构展示面向对象设计的关键概念数据库设计的概念模型
2.对象图(Object Diagram)
作用: 是类图的实例化,显示特定时刻的对象及其关系。 场景:
展示运行时对象的状态进行调试或设计时的快照分析
3.组件图(Component Diagram)
作用: 描述系统的物理组件及其依赖关系,通常用于展示模块化设计。 场景:
软件架构设计展示系统中的不同模块及其接口
4.部署图(Deployment Diagram)
作用: 展示系统的物理部署结构,描述硬件节点及其软件组件的分布情况。 场景:
展示系统的硬件架构设计分布式系统的部署方式
5.复合结构图(Composite Structure Diagram)
作用: 描述一个类的内部结构,显示其组成部分及交互方式。 场景:
详细设计复杂类的内部结构表现系统内部的协作关系
6.包图(Package Diagram)
作用: 用于组织 UML 模型中的元素,展示包与包之间的依赖关系。 场景:
组织大型系统的不同模块展示类之间的逻辑分组
7.配置文件图(Profile Diagram)
作用: 用于扩展 UML 语言,以支持特定的领域建模。 场景:
定义 UML 的自定义扩展适用于特定行业(如嵌入式系统)
二、行为图(动态建模)
行为图用于描述系统的动态行为,如流程、交互、状态变化等。
8.用例图(Use Case Diagram)
作用: 描述系统的功能需求,展示参与者(Actor)和用例(Use Case)之间的交互关系。 场景:
需求分析阶段,收集用户需求展示系统功能的外部视角
9.活动图(Activity Diagram)
作用: 描述业务流程或操作流程,类似于流程图。 场景:
展示业务流程或工作流详细描述系统内部的处理逻辑
10.状态机图(State Machine Diagram)
作用: 描述对象的状态变化及状态之间的转换条件。 场景:
设计状态驱动的系统,如协议处理、游戏逻辑复杂对象的生命周期管理
11.时序图(Sequence Diagram)
作用: 描述对象之间的交互过程,关注消息的时间顺序。 场景:
设计系统中对象的交互流程分析系统调用链
12.通信图(Communication Diagram)
作用: 与时序图类似,但更关注对象之间的静态关系,而非时间顺序。 场景:
设计对象的交互结构分析系统组件之间的通信关系
13.交互概览图(Interaction Overview Diagram)
作用: 结合活动图和时序图,用于描述复杂的交互流程。 场景:
展示复杂交互的整体流程适用于业务流程建模
14.时序图(Timing Diagram)
作用: 关注对象或组件的时间变化,通常用于实时系统建模。 场景:
设计嵌入式系统或硬件系统分析时间敏感的交互
总结
类型UML 图作用使用场景结构图类图描述类及其关系系统设计、数据库设计对象图类图的实例化运行时快照、调试组件图模块化设计软件架构、模块依赖部署图物理部署分布式系统部署复合结构图类的内部结构复杂类的细节设计包图组织 UML 模型大型系统的模块化配置文件图UML 扩展行业定制化建模行为图用例图功能需求需求分析活动图业务流程业务建模状态机图状态变化状态驱动系统时序图对象交互(时间)系统调用分析通信图对象交互(结构)组件通信交互概览图复杂交互流程业务流程分析时序图时间变化实时系统、嵌入式