免费且好用的UML工具推荐

                                  免费且好用的UML工具推荐

1、引言

统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML使用面向对象设计的的建模工具,但独立于任何具体程序设计语言。

 

作为一名程序员,画UML图几乎是必须掌握的一项技能,除非你不写文档。工欲善其事必先利其器,用什么画UML图就成为了一个问题,市面上的工具有很多,VISO、StarUML等等,但要么收费要么不好用,本着免费且好用的原则推荐一款工具:PlantUML。

 

2、安装

PlantUML是一款开源工具,使用方式有很多种,比如在vscode, webstorm都有相关的插件可以使用。本文基于vscode安装使用,vscode怎么安装本文就不再赘述了,所以假设你已经安装了vscode。打开vscode在扩展中输入PlantUML,点击install即可,如下图所示,安装就这么简单。

 

3、使用

为什么说它好用呢,因为PlantUML是用代码编译UML图的,这与VISO的可视化工具不同,不用妥妥拽拽反而效率更高,更适合程序员使用,不夸张的说是会让你画UML图画上瘾的工具。

 

首先,新建文件。PlantUML支持*.wsd, *.pu, *.puml, *.plantuml, *.iuml几种文件格式,以.iuml为例,建立一个Demo.iuml文件用vscode打开,为了方便管理可以把uml文件放在相关代码工程文件夹里。

 

然后,编写uml代码。作为程序员我们向来不喜欢看说明,所以直接上代码。

示例1:

@startuml

Alice -> Bob: Authentication Request

Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request

Alice <-- Bob: another authentication Response

@enduml

那示例1是什么意思,PlantUML有预览功能,alt+d,直接看图,如下,

 

所以看几个示例,就会用了,继续。

 

示例2:进入和发出消息

如果只想关注部分图示,你可以使用进入和发出箭头。

使用方括号[和]表示图示的左、右两侧。

@startuml
[-> A: DoWork

activate A

A -> A: Internal call
activate A

A ->] : << createRequest >>

A<--] : RequestCreated
deactivate A
[<- A: Done
deactivate A
@enduml

 

示例3:组合消息

我们可以通过以下关键词将组合消息:

  • alt/else
  • opt
  • loop
  • par
  • break
  • critical
  • group, 后面紧跟着消息内容

可以在标头(header)添加需要显示的文字(group除外)。

关键词 end 用来结束分组。

注意,分组可以嵌套使用。

 

@startuml
Alice -> Bob: Authentication Request

alt successful case

	Bob -> Alice: Authentication Accepted
	
else some kind of failure

	Bob -> Alice: Authentication Failure
	group My own label
		Alice -> Log : Log attack start
	    loop 1000 times
	        Alice -> Bob: DNS Attack
	    end
		Alice -> Log : Log attack end
	end
	
else Another type of failure

   Bob -> Alice: Please repeat
   
end
@enduml

 

最后,最关键的一步,画完图要生成图片,总不能预览截图吧,使用vscode输入PlanUML命令,

 

可以选择导出当前文件图表,选择格式,比如png矢量图,放大不失真这就不同于截图。

 

会在out文件夹下生成png图片,

 

另外,有一条代码命令较为重要,设置图片分辨率:scale,

可以设置scale值来设置生成图片的分辨率,效果,试试就知道了~

 

4、更多

更多请查看官网https://plantuml.com/

更多内容,欢迎关注公众号“嵌入式大玩家”,任何技术问题欢迎留言

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值