Submit Search
PlantUML Plugin 紹介スライド
0 likes
867 views
ChangeVision
2021年5月28日に開催された「プラグイン開発者交流会」の発表スライド。astahのプラグインに関する情報交換の機会となりました。
Software
Read more
1 of 11
1
2
3
4
Most read
5
Most read
6
7
Most read
8
9
10
11
More Related Content
PDF
ドキュメントシステムはこれを使え2015年版
Keiichiro Shikano
PPTX
Selenium×PostgreSQL15×Grafanaで思い出を保存&分析するプロジェクト(第35回PostgreSQLアンカンファレンス@オンライン...
NTT DATA Technology & Innovation
PPTX
PCIDSSで学ぶNeuVectorの基礎(Kubernetes Novice Tokyo #21 発表資料)
NTT DATA Technology & Innovation
PPTX
エッジコンピューティングで実現できる活用シナリオ3選
Jun Ichikawa
PPTX
Telemetry事始め
npsg
PPTX
LiBRA 09.2021 / 営業向け講演
Masanori Saito
PDF
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
NTT DATA Technology & Innovation
PPTX
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
NTT DATA Technology & Innovation
ドキュメントシステムはこれを使え2015年版
Keiichiro Shikano
Selenium×PostgreSQL15×Grafanaで思い出を保存&分析するプロジェクト(第35回PostgreSQLアンカンファレンス@オンライン...
NTT DATA Technology & Innovation
PCIDSSで学ぶNeuVectorの基礎(Kubernetes Novice Tokyo #21 発表資料)
NTT DATA Technology & Innovation
エッジコンピューティングで実現できる活用シナリオ3選
Jun Ichikawa
Telemetry事始め
npsg
LiBRA 09.2021 / 営業向け講演
Masanori Saito
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
NTT DATA Technology & Innovation
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
NTT DATA Technology & Innovation
What's hot
(20)
PDF
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Hironobu Isoda
PPTX
Java8勉強会
賢太郎 前多
PDF
Redmineの情報を自分好みに見える化した話
ToshiharuSakai
PDF
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
techlog (Internet Initiative Japan Inc.)
PDF
とあるメーカーのRedmine活用事例
agileware_jp
PDF
2023年はTiDBの時代!
Tomotaka6
PDF
NETCONFとYANGの話
Masakazu Asama
PDF
【Spring fest 2019】徹底解剖Spring MVCアーキテクチャー
ssuser070fa9
PDF
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
Kohei Nakamura
PPTX
スキトラ Spring + mybatis
小川 昌吾
PDF
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
PPTX
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
Daiyu Hatakeyama
PPTX
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
marsee101
PDF
kube-system落としてみました
Shuntaro Saiba
PDF
Kubernetes雑にまとめてみた 2019年12月版
VirtualTech Japan Inc.
PDF
Cassandraとh baseの比較して入門するno sql
Yutuki r
PDF
[GKE & Spanner 勉強会] GKE 入門
Google Cloud Platform - Japan
PDF
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PDF
Monitoring and observability
Theo Schlossnagle
PDF
超簡単! Bitnami RedmineをWindowsにインストール
Shin Tanigawa
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Hironobu Isoda
Java8勉強会
賢太郎 前多
Redmineの情報を自分好みに見える化した話
ToshiharuSakai
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
techlog (Internet Initiative Japan Inc.)
とあるメーカーのRedmine活用事例
agileware_jp
2023年はTiDBの時代!
Tomotaka6
NETCONFとYANGの話
Masakazu Asama
【Spring fest 2019】徹底解剖Spring MVCアーキテクチャー
ssuser070fa9
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
Kohei Nakamura
スキトラ Spring + mybatis
小川 昌吾
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
Daiyu Hatakeyama
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
marsee101
kube-system落としてみました
Shuntaro Saiba
Kubernetes雑にまとめてみた 2019年12月版
VirtualTech Japan Inc.
Cassandraとh baseの比較して入門するno sql
Yutuki r
[GKE & Spanner 勉強会] GKE 入門
Google Cloud Platform - Japan
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Monitoring and observability
Theo Schlossnagle
超簡単! Bitnami RedmineをWindowsにインストール
Shin Tanigawa
Ad
Similar to PlantUML Plugin 紹介スライド
(19)
PDF
How should designers approach MCP? Findy Akihiro Mukai
akihiromukai2
PDF
子供達と プログラミングをはじめよう
Masao Niizuma
PPTX
Basic explanation of Generative adversarial networks on MNIST
Naoki Watanabe
PDF
ChatGPTの仕組みの解説と実務でのLLMの適用の紹介_latest.pdf
Ginpei Kobayashi
PDF
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Yoichi KIKUCHI
PDF
3 d printer_ivent
HarumaAkimoto1
PDF
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
NTT DATA Technology & Innovation
PDF
Project 15 - Algyan May 2022.pdf
YasuhiroHanda2
PPTX
M5Stackでプロトタイプしてデモ製品を試作した話
Dan Imagineer
PDF
データドリブン経営のメトリクス分析 AARRR!モデルの紹介
pLucky
PDF
分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司
schoowebcampus
PPTX
モデリングを使って.pptx
ssuser502958
PDF
【連続講座1】デザインパターンを学び、ソフトウェア設計に生かそう(Adapter・Factory Method・Singleton).pdf
耕二 阿部
PPTX
フルリモート2ヶ月 やって編み出した コミュニケーションのコツ
Tomoyuki Sugita
PPTX
LT.22 機械学習におけるPDCAを回せる環境構築の話
GIG inc.
PDF
M5Stack Osaka 2025 UIFlow!! UIFlow!! UIFlow!! UIFlow!!
ShigekiInatama
PDF
初心者向けSpigot開発
Masafumi Terazono
PPTX
WinFormsからWPFへ
Yamamoto Reki
PDF
第15回ピク活IT勉強会 ピクト図解入門(01 ピクト図解入門 20140328_公開用)
Hidehiko Akasaka
How should designers approach MCP? Findy Akihiro Mukai
akihiromukai2
子供達と プログラミングをはじめよう
Masao Niizuma
Basic explanation of Generative adversarial networks on MNIST
Naoki Watanabe
ChatGPTの仕組みの解説と実務でのLLMの適用の紹介_latest.pdf
Ginpei Kobayashi
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Yoichi KIKUCHI
3 d printer_ivent
HarumaAkimoto1
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
NTT DATA Technology & Innovation
Project 15 - Algyan May 2022.pdf
YasuhiroHanda2
M5Stackでプロトタイプしてデモ製品を試作した話
Dan Imagineer
データドリブン経営のメトリクス分析 AARRR!モデルの紹介
pLucky
分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司
schoowebcampus
モデリングを使って.pptx
ssuser502958
【連続講座1】デザインパターンを学び、ソフトウェア設計に生かそう(Adapter・Factory Method・Singleton).pdf
耕二 阿部
フルリモート2ヶ月 やって編み出した コミュニケーションのコツ
Tomoyuki Sugita
LT.22 機械学習におけるPDCAを回せる環境構築の話
GIG inc.
M5Stack Osaka 2025 UIFlow!! UIFlow!! UIFlow!! UIFlow!!
ShigekiInatama
初心者向けSpigot開発
Masafumi Terazono
WinFormsからWPFへ
Yamamoto Reki
第15回ピク活IT勉強会 ピクト図解入門(01 ピクト図解入門 20140328_公開用)
Hidehiko Akasaka
Ad
More from ChangeVision
(11)
PPTX
コミュニケーション図をシーケンス図に変換するスクリプトを3時間で書いた話
ChangeVision
PDF
テレワーク下の要件定義(RDRA:ラドラ
ChangeVision
PPTX
astah*関西勉強会7/14
ChangeVision
PDF
koredake modeling accelerates agile
ChangeVision
PDF
koredake modeling
ChangeVision
PDF
Modeling by Verb
ChangeVision
PPTX
modeling-by-verb
ChangeVision
PDF
Astah professional スタートガイド
ChangeVision
PDF
Astah UML スタートガイド
ChangeVision
PPTX
Astah Plug-ins 作ろう!試そう!プラグイン!
ChangeVision
PDF
Astah Community スタートガイド
ChangeVision
コミュニケーション図をシーケンス図に変換するスクリプトを3時間で書いた話
ChangeVision
テレワーク下の要件定義(RDRA:ラドラ
ChangeVision
astah*関西勉強会7/14
ChangeVision
koredake modeling accelerates agile
ChangeVision
koredake modeling
ChangeVision
Modeling by Verb
ChangeVision
modeling-by-verb
ChangeVision
Astah professional スタートガイド
ChangeVision
Astah UML スタートガイド
ChangeVision
Astah Plug-ins 作ろう!試そう!プラグイン!
ChangeVision
Astah Community スタートガイド
ChangeVision
PlantUML Plugin 紹介スライド
1.
PlantUML Plugin 01* project
team
2.
自己紹介 ほそあい しんたろう 細合 晋太郎 2018年
Change Vision入社、4年目。今年で40。趣味はもの作り、読書、ダイビング、キャンプ 以前は大学で特任教員したり博士課程で漂いながら、主に組込み向けのモデリングの研究や教育に従事 作ったプラグイン ・m2tプラグイン:コード生成プラグイン(LED-CampのMDD教材) ・Cリバース(非公開):数十万LoCのCからクラス図、コールフロー生成(インターン) ・PlantUML Plugin:今回のこれ。 ・Pair Modeling Plugin(監修):実質バイトさん任せ。 ・箱庭Config:組込み・IoTシミュレータ“箱庭”用の設定ファイル生成 ・その他、自分の作業効率化や、頼まれ系で細々と
3.
vs 3 pros cons PlantUML pros cons トップダウンで統合されたモデル ボトムアップでコードに密着したモデル 直観的にモデルが描ける ガイドやサジェストで綺麗に早く書ける モデルの整合性が保たれる UML2.4 準拠 バージョン管理も行いやすい レイアウトを考えなくてもいい UMLに縛られず何でも描ける 無償 バージョン管理と相性が良くない 複数人での編集が行いづらい 有償 思った通りの図にならない モデルの整合性が保たれない UML仕様に準拠していない ❤ 常時同期ではないので、互いのモ デルを上書きしてしまうことがある
4.
Textual Modeling /
Graphical modeling 4 Graphical : 位置を扱える。ノードの繋ぎ変えが容易。全 体俯瞰が行いやすい Textual : リネームや並び替えなどの編集が容易。テ キスト関連のツール(エディタ, awk, sed, grep, gitなど)の恩恵を受けられる 一方が優れている訳ではなく、 使い分けが重要。 行き来できると両方のメリットが得られる。 XText + Sirius連携の例 textual model graphical model
5.
use case 5 Release PlantUML Code 要件出し、ユースケース アーキテクチャ設計等、 モデル上で練る工程はastahで 要求分析/外部設計 PlantUMLモデルが ゴチャついてきたら、 astahに戻って再整理 リリース毎に成形して、 ドキュメント化 次期バージョン向けて 設計見直し 再設計 Diff取ってコードに反映 コードとPlantUMLは常に同期
6.
6 astah* PlantUML Plugin plantUML editor plantUML preview validation status plantUML
→ astahへの変換 astahで現在開いている図から plantUMLへの変換 DEMO
7.
PlantUML – astah*
対応表 7 Plant UML astah シーケンス図 シーケンス図 クラス図 クラス図 アクティビティ図 アクティビティ図 ステートマシン図 ステートマシン図 ユースケース図 ユースケース図 ER図 ER図 オブジェクト図 クラス図 マインドマップ マインドマップ コンポーネント図 コンポーネント図 配置図 配置図 アーキテクチャ図 クラス図? Plant UML astah 仕様及び記述言語 (SDL) アクティビティ図? WBS図(作業分解図) マインドマップ? JSON data クラス図? YAML data クラス図? Network diagram (nwdiag) ― ワイヤーフレーム ― Ditaa ― ガントチャート ― AsciiMath、JLaTeXMath ― タイミング図 ― 対応済み※ 対応予定 対応不可 対応可 凡例 ※試験実装のためすべての表記には対応していません。
8.
利用事例 ● Excel仕様書からインポート ●
astahでAPIのデータ構造の設計・ 分析、plantuml → protocol buffer テキスト加工 protoc text加工でprotobuf形式に変換 モデルーテキストの双方向変換ができると、テキスト芸で大幅に省力化できる
9.
しくみ 9 map UMLBlock when XXDiagramC onverter XXDiagramC onverter XXDiagramC onverter astah model plant diagram ※一部省略しています。実際のクラス階層は もっと深く、数も多いです。 Astah model forEach Diagram when XXDiagramC onverter XXDiagramC onverter ToPlantConv erter StringBuffer Plant
UML Plant UML
10.
KotlinでPlugin 10 • Javaの痒い所を全部掻いてくれるような言語仕様。Javaとの親和性も高い。 • 型Switch(when式)がモデルのような型階層が 深いものを扱う時にとても便利 •
強力な型推論、非Null、Immutableを半強制される安心感。エルビス式 • Streamがとても簡潔に書け、ラムダも扱いやすい。itも楽。 Stream.of()しなくても、Collection系はそのままfilterとかmapとか書ける。 • 便利関数がめっちゃ追加されている。レシーバ関数も便利。 • 拡張関数で自分でもめっちゃ追加できる。追加しすぎると訳分らなくなる。 val reader = SourceStringReader(text) reader.blocks.map { it.diagram }.forEachIndexed { index: Int, diagram -> when (diagram) { is SequenceDiagram -> ToAstahSequenceDiagramConverter.convert(diagram, index) is ClassDiagram -> ToAstahClassDiagramConverter.convert(diagram, reader, index) else -> {} private fun IClass.connectedStereotypedClass(stereoType: String) = this.attributes.map { it.type }.filter { it.stereotypes.contains(stereoType) } • Collection.filterIsInstance<T>:(特定の型だけ通す)、String.isNullOrBlank / Empty() null, 空文字、空白の判別, let{}:単体map, also{}:ついでになんかする, ?:
11.
11 astah pair- modeling Plugin DEMO projectEditUnit projectEditUnit projectEditUnit ProjectEditUnit ProjectEventListener Pub-Sub Broker (MQTT) map @Serializable ModifyData publish
subscribe create modify delete sync 複数のastah間で作業を同期するプラグイン • API.projectAccessor.addProjectEventListenerで全ての変更を監視 • 変更毎にデータクラスを用意しておきシリアライズして、MQTTで送信 • 受信側はデータクラスを復元し、その情報を元に操作を復元