sdedit使用方法介紹(混沌向)

最近在尋找繪制時(shí)序圖的過程中遇到了sdedit,感覺非常適合自己使用,故寫這么篇文章向自己也向有同樣需求的其它開發(fā)人員介紹一些這款軟件

sdedit在macOS上安裝還是非常容易的,只需要使用homebrew就可以輕松安裝,命令如下

brew install sdedit

之后sdedit就會(huì)被安裝到/usr/local/bin 這個(gè)目錄下,在命令中輸入sdedit就可以啟動(dòng)了。

輸入sdedit后會(huì)啟動(dòng)一個(gè)Java Swing寫的GUI程序,具體的外觀和布局就不介紹了,這里主要講解一下sdedit所支持的語法

sdedit中繪圖的常用語法

PS:我對(duì)UML中的一些術(shù)語并不了解,下面的介紹是可能有錯(cuò)誤的,具體請(qǐng)以sdedit的官方文檔(http://sdedit.sourceforge.net/enter_text/)為準(zhǔn)。同時(shí),既然有官方文檔了,我就不在此翻譯一遍了,只記錄一些常用的用法

如果需要輸入整個(gè)時(shí)序圖的標(biāo)題(姑且叫做標(biāo)題),那么可以使用下面的語法

#![一鍵獲取手機(jī)號(hào)并登錄的交互流程]

即以UNIX中的shebang開頭,后面通過一對(duì)方括號(hào)包住標(biāo)題內(nèi)容即可

如果需要繪制一個(gè)參與時(shí)序圖的節(jié)點(diǎn),那么使用下面的語法(摘抄自官方文檔)

<name>:<Type>[<flags>] "<label>"

其中,<name>就是節(jié)點(diǎn)的唯一名字,之后當(dāng)描述節(jié)點(diǎn)間的交互時(shí)需要這個(gè)字段,請(qǐng)給每一個(gè)節(jié)點(diǎn)都取一個(gè)獨(dú)一無二的名字(就像取變量名那樣);<Type>部分顧名思義就是類型,雖然我在使用的時(shí)候這個(gè)字段的值也是隨心所欲地寫的,但這個(gè)字段對(duì)sdedit而言似乎有特殊含義——例如,如果這個(gè)字段填入的是Actor,那么繪制出來的就會(huì)是一個(gè)人形的節(jié)點(diǎn),在用來表示用戶的時(shí)候特別有用;(flags我還沒有用過就不介紹了);label可以理解為節(jié)點(diǎn)的文案,如果不填<label>,那么節(jié)點(diǎn)在最終繪制的圖中展示的時(shí)候用的就是<name>作為名字

定義好節(jié)點(diǎn)之后,就需要把各個(gè)節(jié)點(diǎn)在不同的時(shí)間用不同的消息聯(lián)系起來了。描述節(jié)點(diǎn)間聯(lián)系用的語法是(摘自官網(wǎng))

<caller>[<s>]:<answer>=<callee>[m].<message>

其中的caller和callee都是寫的節(jié)點(diǎn)的<name>(所以name需要時(shí)獨(dú)一無二的),這樣就會(huì)繪制出兩條線——一條實(shí)線從caller指向callee,以及一條虛線從callee指向caller,以及在callee的生命周期下繪制出一個(gè)縱向的矩形,表示callee的處理過程;<message>是從caller發(fā)往callee的消息,例如參數(shù)的描述;如果需要同時(shí)描述從callee返回的結(jié)果,那么就需要填寫在上述語法的的<answer>的位置——個(gè)人覺得這個(gè)語法是有點(diǎn)奇怪的

生成圖片

上面的這些文本描述都需要輸入到sdedit的文本框中(唯一UI上的右下角),之后點(diǎn)擊保存就可以得到一個(gè)XXX.sdx的文件了。由于在我的電腦上,sdedit的GUI上的導(dǎo)出功能用起來非常有問題,所以我摸索出來的是在命令行導(dǎo)出圖片文件的做法(并且可以導(dǎo)出的格式似乎更豐富)。總體的用法是

sdedit -t <類型> -o <輸出文件名> <原始的.sdx文件>

輸出文件名隨性地取即可,其中類型對(duì)常用的都有支持(svg、png、jpg,和bmp),我一般常用的是png,然后就可以得到一張PNG圖片了(便可以美美地用到設(shè)計(jì)文檔里了)

配圖什么的等我哪天特別閑了再補(bǔ)充上來吧

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容