astahのシーケンス図をPlantUMLへ変換する方法
astahのシーケンス図をPlantUMLへ変換する方法が公開されていたのでメモ。
これは興味をくすぐる。
【参考】
astah*で描いた図をPlantUMLやmermaid用に変換 | astah in 5 min
UML図を描画するための単純なテキスト記述を使用したオープンソースのツール。
【1】手順はこんな感じ。
astahのシーケンス図を開く
↓
astahのスクリプトエディタ起動
↓
Jude_sequence_to_plantuml.jsを貼り付ける
↓
スクリプトエディタからRunで実行
↓
実行結果に、PlantUMLのソース(シーケンス図)が出力される
たとえば、PlantUML Web Serverに、PlantUMLのソースを貼り付けると、シーケンス図が表示される。
これは便利だ。
Jude_sequence_to_plantuml.jsを読むと、astahのシーケンス図の要素をAPIで取得して、PlantUMLの記法にセットしているだけでシンプル。
このやり方を真似れば、PlantUMLのクラス図、ユースケース図、アクティビティ図、コンポーネント図などにも適用できるだろう。
【2】PlantUMLを使いたい場面は、UMLの各種ダイアグラムで基本設計や詳細設計の成果物を作りたい時。
以前は、RationalRose、EnterpriseArchitect、Astahなどの設計ツールか、ExcelやVisioなどのOfficeソフトでお絵描きするのが普通だったが、こういうお絵かきツールはちょっとした仕様変更にすごく弱い。
メソッドが1個増えただけで、レイアウトが大きく変わり、お絵かきの修正にかなりの時間が取られたりする。
お絵かきがしたいのではなく、クラス設計に注力したいのに、実際は、線1本のレイアウトに時間を取られる時の方が多くないだろうか?
また、お絵かきソフトは、バージョン管理が弱いので、修正履歴がない場合が多い。
すると、ちょっとした変更で間違えたので元に戻したい、という作業ができなくなる。
そんな場面では、PlantUMLのように、UMLの各種ダイアグラムもテキストで書いた方が楽。
テキストであれば、Gitでバージョン管理できるので、Undo・Redoがいつでもできるので、試行錯誤しながら、設計することもできる。
バージョン管理の環境がない作業は、UndoやRedoができないので、今何をやっているのか、常にログを残して覚えておく、というプレッシャーが残り、本来の創造的な作業がやりにくいように思う。
但し、ラフなスケッチでお絵描きしたい時もある。
だから、astahで書いてPlantUMLに出力し、その後はPlantUMLのソースを修正していく方が楽かもしれない。
【3】上記のやり方を発展させると、以下のような機能へ発展できないか、と思う。
・astahから、PlantUMLの各種ダイアグラム(クラス図、ユースケース図、シーケンス図等)のソースを出力する
・PlantUMLのソースから、astahへリバースしてダイアグラムを復元する
つまり、astahとPlantUMLで相互にエクスポート・インポートできるようになれば、色んな可能性が出てくると思う。
たとえば、astahでラフなスケッチをしてからPlantUMLに出力して、ソース管理する。
本番稼働中の既存ソースをastahへリバースしてクラス図を作り、PlantUMLへ出力してバージョン管理しておく、とか。
あるいは、PlantUMLからastahへインポートして、さらにastahからJavaやC#のスケルトンクラスを出力する、とか。
プラグイン化できたら面白そう。
【追記】
RedmineにPlantUMLを表示するプラグインは、既に公開されている。
海外の開発者のコメントを見ると、好評らしい。
dkd/plantuml: PlantUML Plugin for Redmine
| 固定リンク
「astahによるUMLモデリング」カテゴリの記事
- 概念モデリングや設計原則は進化しているのか(2023.10.21)
- パッケージ原則とクラス原則の違いは何なのか(2023.10.14)
- テストアーキテクチャ設計モデルとJSTQB概念モデルの比較(2023.07.02)
- 統計学の考え方をastahでまとめた(2023.05.28)
- JSTQBのテストプロセスの概念モデルを描いてみた(2023.05.26)
コメント