原文地址:martyice.github.io/uml-in-post…
原文作者:martyice.github.io/
发布时间:2018年9月4日
问题所在
你脑子里有一个架构的想法,但却很难将它传达出去。团队成员对事物的名称、它们的位置以及它们如何联系在一起有不同的想法。有人把白板擦掉了(反正几天后也看不清了)。你在其他地方看到过图表的使用,但你不想安装一些蹩脚的工具,而这些工具的用户界面又是不可能的(而且这些符号到底是什么意思呢!)。
如果你处于这种情况,我鼓励你看一下UML(统一建模语言)。它最近成为我腰带上的一个有用的工具,结合了以下的使能器。
- Plant UML - 一个免费的REST API,可以从UML文档中生成漂亮的图片
- Postman - 一个不可缺少的生态系统,用于调用和测试http APIs
- Paint.Net - 一个免费的Windows应用程序,比MSFT的Paint好很多。
有了这三样东西的组合,我可以快速生成UML图,用一张图片描述费力的对话(语音和文字)所不能描述的内容。
UML
与任何新的语言一样,UML一开始可能看起来有点混乱。不要沮丧,它非常简单,特别是对于 "快速和肮脏 "的用例(这通常是我使用它的方式)。一般来说,你将会添加以下内容。
开始标签。
@start uml
定义你的小组和参与者。
box "Picture" #LightGreen
participant OnePicture
end box
box "Word" #LightBlue
participant ThousandWords
end box
定义参与者之间的相互作用。
OnePicture -> ThousandWords : "Are we equal?"
ThousandWords -> OnePicture : "Yes."
还有,不要忘记你的末端uml标签。
@enduml
上面这个简单的例子产生了上面的 "Picture is Worth a Thousand Words "图!
Plant UML
Plant UML是一个方便的服务,可以从UML图中生成SVG图片。此外,他们有很好的文档,既提供了UML功能的高级概述,也提供了当你准备进入细枝末节的细节。这是扩展UML学习曲线的一个宝贵资源。下面是我们用来生成图表的URL。
POST http://plantuml-service.herokuapp.com/svg
Postman
如果你开发过基于网络的API(REST,SOAP等),Postman应该不需要介绍。如果你没有使用过它,我强烈建议你去看看,它是我开发工具箱中不可替代的一部分。除了可下载的工具,他们的订阅服务还增加了团队共享、文档、测试组件,我们在EarthClassMail广泛使用。
为了生成UML,我们需要做两件事。
- 在Postman输入中填写POST URL (plantuml-service.herokuapp.com/svg)
- 将我们的UML粘贴在正文中。
上面的UML产生了以下易于阅读的图表。
获得输出
最后一步是把你的UML图从Postman中取出来,放到一个图像文件中,我承认,这有点奇怪。有几种不同的方法来完成这个任务。两者都涉及到使用奇妙的Paint.Net来实际保存输出。
可怜人的方法
如果你的图足够小(即完全适合于Postman的输出窗口),那么一个简单的方法就是截图(Ctrl-Alt-PrtScn),粘贴到Paint.Net,进行相应的裁剪,然后保存。很简单。
更多内容
如果你的UML图超过了Postman的输出窗格尺寸,不用担心,下面的步骤(有点复杂)将允许你保存完整的输出。
- 在Postman中,"发送 "按钮上有一个向下的箭头。点击它,并选择 "发送和下载"。这将使Postman将结果保存为SVG文件(这就是PlantUML返回的格式)。
- 现在是奇怪的部分--将SVG转换为Paint.Net可以识别的东西(在这种情况下,是PNG文件)。我使用方便的SVGtoPNG网站来完成这个任务。也许有更好的方法--这对我来说很有效 :)
- 一旦你有了PNG,你就可以在Paint.Net中打开,裁剪/修剪/加亮/注解,然后就可以了
UML-ing the Night Away
希望这个简短的教程能够激发你的信心,开始一段奇妙的UML之旅。你将不再被人类语言的缺点所束缚!让机器带领你进行技术交流。让机器带领你走向技术交流的涅槃!