DITAA使ってみました
MOONGIFTさんで紹介されていて、面白そうだったので使ってみました。ダイアグラムなどのAAをPNGフォーマットの画像に変換してくれるツールです。サイトはこちらです。http://ditaa.sourceforge.net/
使い方
とりあえず使ってみるだけの説明です。
Downloadのリンクから、下のjarファイルをダウンロードします。
The executable-only (no code) jar file can be found here: ditaa0_6b.jar (178 kb)
ditaa0_6b.jarというファイル名は扱いが面倒なのでditaa.jar辺りにリネームします。
java -jar ditaa.jar [オプション] 入力ファイル [出力ファイル]
こんな感じで変換できます。
例えば、アスキーアートをtest.txtファイルにコピペして、
java -jar ditaa.jar -E -o test.txt
これでtest.pngが生成されます。
とりあえず使ってみました
実行にはJava1.5を要求していますが、手元のJava1.4.1で動かしてみました。そのため問題が出ている所があるかもしれません。
状態遷移図
b b /-\ /------------------------------------+ | | | | v | v | /-----\ /-----\ /-----\ /-----\ Start | | a | | b | | b |/---\| *------>| 0 |----->| 1 |----->| 2 |----->|| 3 || | | | |<-----| | |\---/| \-----/ \-----/ a \-----/ \-----/ ^ | ^ | | | | | \-/ \-----------------------+ a a "(a|b)*abb" DFA
それなりです。"(a|b)*"のバーチカルバーが図形に変換されているのと、アスタリスクが消えてしまっています。
クラス図
+----------+ +----------+ | symbol | | alpha | +----------+0..* 1+----------+ | +------<>| | +----------+ +----------+
アスタリスクが消えてしまうので、多重度の表現に難ありです。集約と合成については、矢じりを使って表現するしかなさそうなので、現状、合成しか表現できません。
シーケンス図
+-----------+ +-----------+ +-----------+ | :Invoker | | :Client | | :Receiver | +-----+-----+ +-----+-----+ +-----+-----+ : : : | | | +++ | | | | +++ New +-----------+ | | | | +----->| :Command | | | | | | +-----+-----+ | | | | | : | | | | | | | | | Execute | | +++ | | +-----------+-+---------->| | Action +++ | | | | | +---------->| | | | | | | | | | | | | | | |<-=--------+ | | |<-=--------+-+--=--------+ | +++ | | | | +++ : +++ +++ : | : : | | | | | |
プログラム例示
Iterator class +-------------------------------------------+ | package Iterator; | | use strict; | | use warnings; | | | | sub new | | { | | my ($class, %data) = @_; | | my $subref = sub{ each %data; }; | | +-----------------------------+ +--+------+ | |return bless $subref, $class;|<-+ "bless" | | +-----------------------------+ +--+------+ | } | | | +-------------------------------------------+
イコールが消えて後ろのコードがセンタリング、箱の中もセンタリングされてしまってます。惜しいですが、様々な場面で使える可能性を示してくれています。
アスキーアート
/------------------------------\ |++----+\+------+/-----\/-----\| ||+----\|+--\/--+|/---\||/---\|| ||| ||/\ || || |||| ||| ||| ||\/ || |++ |||++ ||| ||| ||++ || |\+--+||\+--+|| ||+----/||| || |/---\||/---\|| |++-----/++ ++ ++ ++++ ++| \------------------------------> <------------------------- DIagrams Through Ascii Art ------------------------->
使い方次第で、面白い事ができそうです。AAを作るのは面倒ですが、余分な知識も要らず扱えるのがいいですね。正式リリースが楽しみなツールです。