前言
在日常的开发设计中,不可避免的要对系统进行一些UML相关的设计。UML通过一种可视化的方式,对系统进行建模、设计,它是一种统一建模语言。
工具介绍
Visio
在Windows操作系统下,Visio是一种常用的建模工具。Visio通过拖拽的方式进行建模设计,使用简单。但是不具有跨平台性。
PlantUML
PlantUML 是一个开源项目,支持快速绘制时序图、用例图、类图、活动图、组件图、状态图、对象图、部署图等。同时还支持非 UML 图的甘特图、架构图等。
安装
PlantUML可以很方便的集成在其他的IDE工具中,在这里,我们使用VS Code来集成PlantUML。
安装VS Code
默认已经安装VS Code。
安装扩展应用

在VS Code扩展中搜索plantuml,并安装。

在PlantUML扩展的说明中,可以看到,扩展应用支持多种类型的文件。
安装Graphviz
Graphviz 是一款由 AT&T Research 和 Lucent Bell 实验室开源的可视化图形工具,可以很方便的用来绘制结构化的图形网络,支持多种格式输出
下载地址:http://www.graphviz.org/download/

这里选则安装 Stable Windows install packages

按图片路径选择到指定文件,下载即可。
将下载的graphviz-2.44.1-win32.zip文件解压,并将路径配置到环境变量中即可.

使用
创建test.plantuml文件。文件内容如下:
- @startuml
- class Car
- Driver - Car : drives >
- Car *- Wheel : have 4 >
- Car -- Person : < owns
- @enduml
通过快捷键 Alt+D,查看效果:

在PlantUML官网 可以看到,PlantUML支持多种UML以及非UML格式:

通过使用PlantUML,我们就可以方便的实现系统设计了。
总结
PlantUML为我们提供过方便快捷、跨平台的UML设计方案。同时它还是通过代码语法进行渲染的,这样就为协作提供了方便。我们知道Visio文件是以二进制的方式存储的,无法实现同一设计文件的协作。PlantUML使用文本的方式,可以通过Git等版本工具进行管理,方便的实现协作合并。