1 plantuml
plantuml除了能绘制9种标准的UML图,还支持多种非UML图。
1.1 UML图
绘制UML图时,使用如下标记:
c
@startuml
' UML描述写在这里
@enduml
支持的UML图如下表所示:
| 名称 | 含义 |
|---|---|
| 序列图(Sequence Diagram) | 展示对象间消息传递的时间顺序,常用于接口交互设计。 |
| 对象图(Object Diagram) | 类图的实例化,展示某一时刻对象的状态与链接。 |
| 活动图(Activity Diagram) | 类似流程图,描述业务流程或操作的控制流。 |
| 组件图(Component Diagram) | 显示系统中组件及其依赖关系,有助于理解模块化结构。 |
| 部署图(Deployment Diagram) | 描述硬件节点与软件部署情况,适用于架构规划。 |
| 状态图(State Diagram) | 表示对象在其生命周期内的状态转换。 |
| 时序图(Timing Diagram) | 强调时间约束下对象状态的变化过程。 |
| 用例图(Use Case Diagram) | 描述系统功能与外部参与者的关系,帮助梳理业务需求。 |
| 类图(Class Diagram) | 表示类、接口及其关系(如继承、依赖),是面向对象设计的核心工具。 |
1.2 非UML图
对于不同的非UML图,plantuml使用不同的标记区分
| 图表类型 | 标记开始 | 标记结束 | 说明 |
|---|---|---|---|
| 思维导图 | @startmindmap | @endmindmap | 信息组织与头脑风暴 |
| 甘特图 | @startgantt | @endgantt | 项目进度管理 |
| 实体关系图(ER) | @startuml | @enduml | 数据库建模(支持 Chen 风格) |
| JSON 数据图 | @startyaml | @endyaml | 可视化 JSON/YAML 结构 |
| YAML 数据图 | @startyaml | @endyaml | 同上 |
| 数学公式图 | @startmath | @endmath 或 @startlatex | 支持 AsciiMath 与 LaTeX |
| 图表图(Chart) | @startchart | @endchart | 支持柱状图、折线图等 |
| 网络图(nwdiag) | @startuml | @enduml | 绘制网络拓扑结构 |
| 线框图(Salt) | @startuml | @enduml | 快速绘制 UI 原型 |
| 工作分解结构(WBS) | @startuml | @enduml | 任务层级拆解 |
| EBNF 图 | @startebnf | @endebnf | 正则表达式语法可视化 |
| Archimate 图 | @startuml | @enduml | 企业架构建模 |
| Ditaa 图 | @startditaa | @endditaa | ASCII 艺术图转图形 |
| Chronology 图 | @startuml | @enduml | 时间线展示 |
| 流程图 | @startuml | @enduml | 通用流程描述 |
2 划掉(各类图案例)
其实,这部分不需要具体记住,可以直接上网搜索。在当下技术革新飞速的时代,我们需要了解的是每个工具可以实现的功能,而不需要过多了解其具体如何实现 。其余的交给AI。我们只需要学会在合适的场景下使用何种图即可。