乐于分享
好东西不私藏

一文带你理解UML的14种建模工具

一文带你理解UML的14种建模工具

前言

    在软件工程的开发流程中UML(统一建模语言)是一种标准化的建模工具,通过可视化的图表将软件设计的逻辑、结构、行为清晰呈现,这样既能降低开发风险,也能让开发团队高效协作UML图整体分为结构图行为图两大类,各自包含不同细分图表,适配软件开发不同阶段的建模需求。

  今天为大家完整梳理所有UML图的核心概念、应用场景,并搭配极简直观图例,快速学会!总的来说UML图分为两大类14种类型的图。

第一类结构图:类图、组件图、对象图、轮廓图、组合结构图、部署图、包图

第二类行为图:活动图、用例图、状态机图和交互图,其中交互图中又可细分为序列图、时序图、通讯图、交互概览图

01 结构图:描述系统静态结构

结构图聚焦系统的静态组成,展现对象、组件、节点等元素的类型及相互关系,是软件架构设计的基础,包含 7 类核心图表,我们一起来看看,帮你快速理解核心逻辑。

1. 类图

核心概念:面向对象方法的核心建模工具,描述系统中对象的类型及各类静态关系。

核心目的:表示类、接口及其间的静态结构和关系(泛化、实现、关联、聚合、组合、依赖)。UML 版本UML 1.x

示例1

2. 组件图

核心概念:描绘系统中组件提供 / 需要的接口、端口,以及组件间的关系。

核心目的:展示各组件之间的依赖关系,呈现组件层级架构。

UML 版本UML 1.xUML2.0 重新定义)

极简图例

(注:组件旁带表示提供接口,带表示需要接口

3. 对象图

核心概念:类图的一个实例,是系统在某个时间点详细状态的快照。

核心目的:表示某一时刻多个对象的相互关系,反映系统瞬时状态。

UML 版本UML 1.x

极简图例

4. 轮廓图

核心概念:提供通用扩展机制,为特定域和平台定制 UML 模型。

核心目的:在特定领域构建定制化 UML 模型,适配行业 / 平台需求。

UML 版本UML 2.0

(注:<<stereotype>>为轮廓扩展标记,适配 EJB / 微服务等特定领域)

5. 组合结构图

核心概念:描述 “组合结构(系统整体 / 部分)的内部结构及元素间关系。

核心目的:展现系统逻辑上的整体与局部组成关系。

UML 版本UML 2.0

6. 部署图

核心概念:描述系统软件在不同硬件节点上的分布方式。

核心目的:表示软件和硬件的映射关系,明确软硬件部署架构。

UML 版本UML 1.x

极简图例

(注:矩形框代表硬件节点,中括号内为部署的软件组件

7. 包图

核心概念:描绘系统在包层面的结构设计。

核心目的:表示包之间的依赖 / 引用关系,梳理模块层级。

UML 版本UML 2.0

(注:常见关系:《Use》使用、《Merge》合并、《Import》公共引入)

02 行为图:描述系统动态行为

1、用例图

核心概念由参与者、用例、边界及相互关系构成,描述系统功能的视图。

核心目的梳理系统功能范围,明确系统与外部参与者的交互。

核心关系包含(include)、扩展(extend)、泛化

UML 版本UML 1.x

极简图例

(注:《include》是必选前置,《extend》是可选扩展)

2、活动图

核心概念描述具体业务用例的实现流程。

核心目的表示用例实现的工作流程,展现步骤执行顺序与分支。

UML 版本UML 1.x

极简图例

3、状态图

核心概念对单个对象的行为建模,指明对象生命周期中响应不同事件的执行顺序。

核心目的表示对象在生命周期中,响应不同事件的状态变化过程。

UML 版本UML 1.x

极简图例

(注:矩形框为状态,箭头为事件触发的状态转换

交互图:描述对象间动态交互,交互图聚焦对象之间的消息传递与协作,细分为序列图、时序图、通讯图、交互概览图,各有侧重适配不同交互建模场景,是日常开发中最常用的 UML 图之一。

4、 序列图

核心概念按时间序列展示对象协作过程,描绘用例特定场景中对象的交互方式。

核心目的通过消息发送的时间顺序,显示多个对象的动态协作。

UML 版本UML 1.x

|

(注:纵向为时间轴,横向为参与对象,数字为消息顺序

5. 时序图

核心概念显示随时间变化,一个 / 多个元素的值 / 状态的更改,支持时控事件的时间约束管理。

核心目的呈现元素状态 / 值的时间变化视图,适配时间维度的状态建模。

UML 版本UML 2.0

极简图例(商品库存变化):

plaintext

时间0h2h4h6h8h

库存值┼────┼────┼────┼────┼────

1008050300

(折线图:纵轴为元素值/状态,横轴为时间,折线为变化趋势)

(注:核心为时间 – 状态 / 二维映射,可展示单个 / 多个元素对比)

6. 通讯图

核心概念描述收发消息的对象的组织关系,强调合作关系而非时间顺序(原UML 1.x 名为协作图,UML2.0 更名)。

核心目的显示对象的关联关系及消息传递逻辑。UML 版本UML 1.x

极简图例(线上书店购书):

(注:矩形框为对象,数字为消息顺序,箭头为消息传递方向,突出对象间关联)

7. 交互概览图

核心概念与活动图类似,核心区别是其节点为各类交互图

核心目的为系统交互提供控制流的整体概述,整合多个交互图的执行逻辑。

UML 版本UML 2.0,图例

(注:sd = 具体交互图节点,ref = 引用外部交互图,{}= 判断分支,核心是交互图的组合编排

03 UML各类图的适用核心

UML 的各类图表并非孤立使用,在实际软件工程中,会根据开发阶段灵活组合:需求分析阶段用例图明确功能范围,架构设计阶段用类图、包图、组件图梳理静态结构,流程设计阶段用活动图、序列图梳理动态逻辑,部署阶段用部署图明确软硬件架构,状态设计阶段用状态机图定义对象生命周期。
    掌握 UML 各图的核心用法,能让软件设计更规范、更清晰,大幅降低沟通成本和开发风险,无论是团队协作还是个人设计,都是必备的软件工程基础技能。

– END –

01 方法实践

> 一文讲透数据治理难点与应对策略(建议收藏)

数据治理项目为什么会失败【深度剖析】

数据血缘分析~全网最全原创精华(建议收藏)

关于SAP-MDG的主数据治理理论概述

区块链技术对数据治理的一些思考及启发

主数据治理工作八大难点

浅谈数据分析中的数据清洗方法策略

数据资产入表难点解析(三)【数据质量提升】

数据资产入表难点解析(二)【数据确权】

数据资产入表难点解析(一)【数据定价】

全国一体化政务大数据体系建设指南(建议收藏)

02 观点分析

> 为什么我们都怕做数据治理

聊聊国产ERP和国际ERP的差异

> 国家数据局正式亮相,详解三个关键问题

怎样才算一个合格的【数据管理部门】?

03 概念解读

> 一文带你了解什么是数据科学?

大数据是什么 | What’s the Big Data?

大数据处理能力:数据算力到底是什么

DCMM《数据管理能力成熟度评估模型》完整解读

什么是数据供应链管理

Web3.0 到底是什么?

04 职业成长

> 一文教会如何拥有数据思维

> 数据治理工程师【考试秘籍】

数据治理CDGA考试重点70条(吐血整理!建议收藏!)

更多优质内容,持续输出中~

新书发售👇

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 一文带你理解UML的14种建模工具

猜你喜欢

  • 暂无文章