一、UML 简介
UML(统一建模语言)是一种标准化的可视化建模语言,广泛用于软件工程中。它就像是软件设计的"蓝图",帮助开发团队更好地理解、设计和文档化软件系统。
UML 的主要⽤途
- 系统结构描述
- 类图:展⽰类之间的关系
- 组件图:描述系统的组件构成
- ⾏为建模
- 序列图:展⽰对象间的交互
- 活动图:描述业务流程
- 需求分析
- ⽤例图:描述系统功能
- 状态图:展⽰对象状态变化
学习资源推荐
- 在线教程
- 推荐书籍
- 《UML⽤⼾指南》- Grady Booch
- 《UML精粹》- Martin Fowler
- PlantUML 专项资源
- PlantUML官方文档
- PlantUML语言参考指南
- Real World PlantUML - 真实项⽬中的 PlantUML ⽰例
- PlantUML Examples - GitHub 上的⽰例库
- 在线练习:
二、UML 常⽤图表类型详解
1. 类图(Class Diagram)
类图用于描述系统中的类、接口以及它们之间的关系。
关系表示:
- 继承:空⼼三⻆形实线
- 实现:空⼼三⻆形虚线
- 关联:实线箭头
- 聚合:空⼼菱形实线
- 组合:实⼼菱形实线
1 | @startuml |
(此处为 PlantUML 渲染效果,实际使用需插件支持)
- Animal (父类)
- Dog (继承 Animal)
- Cat (继承 Animal)
2. 用例图(Use Case Diagram)
用例图描述系统功能及其与外部参与者的关系。
1 | @startuml |
(此处为 PlantUML 渲染效果,实际使用需插件支持)
- 用户 -> 浏览/购买/查看
- 管理员 -> 管理/处理/用户管理
3. 时序图(Sequence Diagram)
时序图展示对象之间的交互过程。
1 | @startuml |
(此处为 PlantUML 渲染效果,实际使用需插件支持)
展示用户到数据库的完整调用链路。
三、Mermaid 介绍
Mermaid 是一种基于 JavaScript 的图表绘制工具,语法简单,广泛集成于 Markdown 编辑器中(如 Typora、Obsidian、GitHub)。
学习资源推荐
- 官⽅资源
- 中⽂教程
- ⽰例库
1. 流程图(Flowchart)进阶
1 | graph TD |
graph TD
Start(开始) --> IsLogin{是否登录?}
IsLogin -->|是| CheckAuth{检查权限}
IsLogin -->|否| Login[跳转登录]
Login --> LoginProcess[登录流程]
LoginProcess --> IsLogin
CheckAuth -->|有权限| Access[访问数据]
CheckAuth -->|无权限| Error[提示错误]
Access --> End(结束)
Error --> End2. ⽢特图(Gantt Chart)
1 | gantt |
gantt
title 项目开发计划
dateFormat YYYY-MM-DD
section 需求阶段
需求分析 :a1, 2024-01-01, 10d
系统设计 :after a1, 5d
section 开发阶段
编码实现 :2024-01-16, 15d
section 测试阶段
系统测试 :2024-01-31, 5d3. ER 图(Entity Relationship Diagram)
1 | erDiagram |
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ ORDER_ITEM : contains
CUSTOMER {
string name
string email
string address
}
ORDER {
int order_id
date created_at
decimal total_amount
}
ORDER_ITEM {
int item_id
int quantity
decimal price
}4. 状态图(State Diagram)
1 | stateDiagram-v2 |
stateDiagram-v2
[*] --> 待处理
待处理 --> 处理中 : 开始处理
处理中 --> 已完成 : 处理完成
处理中 --> 失败 : 处理异常
失败 --> 待处理 : 重试
已完成 --> [*]
失败 --> [*]四、实际应⽤场景
1. 系统架构设计
使用 UML 组件图描述系统架构:
1 | @startuml |
2. 业务流程建模
使用 Mermaid 流程图描述业务流程:
graph TD
User[用户下单] --> CheckStock{库存检查}
CheckStock -->|库存充足| CreateOrder[创建订单]
CheckStock -->|库存不足| OutOfStock[提示缺货]
CreateOrder --> Payment{支付方式}
Payment -->|微信支付| WeChat[调用微信接口]
Payment -->|支付宝| AliPay[调用支付宝接口]
WeChat --> UpdateStatus[更新订单状态]
AliPay --> UpdateStatus
UpdateStatus --> SendNotify[发送通知]
SendNotify --> End(结束)
五、⼯具使⽤建议与环境部署
1. ⼯具推荐
| 类型 | 推荐工具 | 适用场景 |
|---|---|---|
| UML | PlantUML + VS Code 插件 | 本地开发,需安装 Java 和 Graphviz,功能最强。 |
| UML | PlantText | 在线使用,无需安装,适合临时绘图。 |
| Mermaid | VS Code + Mermaid 插件 | 配合 Markdown 文档编写,实时预览。 |
| Mermaid | Mermaid Live Editor | 在线调试代码,分享图表。 |
2. UML 环境部署(VS Code)
- 安装必要的软件
- 安装 Java 运⾏环境 (JRE)。
- 安装 Graphviz:
- Windows: 访问 Graphviz官网 下载安装包,或使用
choco install graphviz/winget install graphviz。 - Mac:
brew install graphviz - Linux:
sudo apt install graphviz
- Windows: 访问 Graphviz官网 下载安装包,或使用
- VS Code 插件配置
- 必装插件:
PlantUML。 - 可选插件:
PlantUML Preview。
- 必装插件:
- 配置 PlantUML
- 打开 VS Code 设置,搜索
plantuml,设置 Graphviz 路径(如有需要)。
- 打开 VS Code 设置,搜索
- 验证安装
- 创建一个
.puml文件,输入代码,使用Alt+D预览。
- 创建一个
3. Mermaid 环境部署(VS Code)
- VS Code 插件安装
- 安装
Markdown Preview Mermaid Support插件。 - 安装
Mermaid Markdown Syntax Highlighting插件(推荐)。
- 安装
- 使用方法
- 在 Markdown 文件中使用
```mermaid代码块。 - 使用
Ctrl/Cmd + Shift + V预览 Markdown,图表会自动渲染。
- 在 Markdown 文件中使用