先说结论:我们最后没选“最像Visio”的那个
2019年我带一个5人后端小组做订单系统,前后试了StarUML 5、Visual Paradigm 16和PlantUML 1.2023.12。说实话我一开始也迷信拖拽工具,觉得文本画图太极客,后来被Git冲突打脸。我的独立观点是:UML工具的第一指标不是图好不好看,而是模型能不能diff、能不能跟代码一起进仓库。我们那个订单系统光领域类就200多个,StarUML导出PNG宽3000px,字段名在群里糊成一片;换PlantUML导出SVG 1.2MB,浏览器缩放后还能看清。5个人每周大概2次因为.uml文件冲突互相覆盖,这就是我后来转文本建模的直接原因。
三个工具的具体参数和真实坑
- PlantUML:免费,跑在Java 17上,VSCode装jebbs.plantuml插件就能预览;支持UML 2.5常见图,源文件是.puml文本。坑是布局不由你控制,复杂时序图得调skinparam,200类图渲染约3秒,内存512MB够用。
- StarUML:6.x版本,Win/mac/Linux都有,个人license我2023年买是$99,商业版$199左右,以官网为准;导出PNG/SVG/PDF,拖拽排版快。坑是.mdj协作冲突难解,5人商业license成本约$495,小团队得掂量。
- Visual Paradigm:17.2,社区版免费但非商业用途有限制,标准版价格接近$99;支持UML、BPMN、ArchiMate,出Word报告方便评审。坑是启动占1.2GB内存,老笔记本直接劝退。 我的做法是:只保留类图、时序图、状态图三种;.puml进Git,CI跑plantuml -tsvg;客户评审时用StarUML临时改布局导PDF;合规文档才开Visual Paradigm。别一次上全UML 14种图,先画3种,学习成本能砍一半。
我踩过的两个坑:导出模糊和“图库式建模”
第一个坑是导出。用StarUML画完200类图导出PNG发群里,没人看得清,后来改SVG才解决。第二个坑更隐蔽:新人把UML当画图任务,类图里塞数据库字段、HTTP路径、甚至前端按钮,结果图三个月没人更新。我后来在.puml头部写维护人、最后更新日期、对应需求单号,类图只放领域对象和关系,接口时序图只放调用顺序,状态图只写订单和支付两个核心状态机。每周五花20分钟跑脚本查孤儿类。插一句,这个习惯比换工具管用,工具只是容器。
如果你现在要选:按场景给步骤
小团队3到8人、模型要跟代码走:选PlantUML加Git加CI,成本0,学习2天;需要给非技术客户演示:StarUML个人$99,排版快;要出合规文档或多notation:先试Visual Paradigm社区版。具体参数给你参考:我们仓库docs/uml下12个.puml,CI用plantuml 1.2023.12 jar,生成SVG总大小4.8MB,构建时间11秒。步骤就四步:1定图类型只留3种;2.puml进Git并写头部注释;3CI生成SVG到docs/uml/out;4每两周评审一次删孤儿类。最后一句个人感受:UML不是拿来炫技的,是让三个月后的自己少问一句这字段为啥这么设计。