Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
PlantUMLとAtomで バージョン管理可能な UMLを書いてみよう
Search
th1209
August 27, 2017
Programming
750
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PlantUMLとAtomで バージョン管理可能な UMLを書いてみよう
th1209
August 27, 2017
More Decks by th1209
See All by th1209
Experimentalでも使いたい!GraphView実践導入Tips
th1209
0
700
Other Decks in Programming
See All in Programming
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
710
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
430
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1k
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
7.3k
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
120
wkhtmltopdfの次どうするか問題2026
willnet
2
1.2k
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
140
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
280
SREの越境 / SRE Collaboration
y0hgi
2
220
AIエージェント時代のコードレビューを設計する
nogu66
6
2.7k
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
4.7k
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
810
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
エンジニアに許された特別な時間の終わり
watany
109
250k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
520
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Utilizing Notion as your number one productivity tool
mfonobong
4
590
Building Applications with DynamoDB
mza
96
7.2k
Balancing Empowerment & Direction
lara
6
1.3k
For a Future-Friendly Web
brad_frost
183
10k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Transcript
PlantUMLとAtomで バージョン管理可能な UMLを書いてみよう 2017/08/27 Symfony Meetup #17 th1209
None
ちゃんと設計やっていますか?
ちゃんと設計やっていますか? 普段からUML書いてますか?
今日のテーマ ☓ PlantUML Atom
環境構築 Java plantuml.jar Atom plantuml-viewer Graphviz
None
None
@startuml{class_example.png} … title クラス図(Mediatorパターン) ... @enduml
None
@startuml{class_example.png} ... class Chatroom { - colleagues: ArrayList + void
addColleague(colleague:Colleague) } ... @enduml
None
@startuml{class_example.png} ... Mediator <|.. Chatroom Colleague <|.. User Chatroom *--
User User *-- Chatroom ... @enduml
None
None
@startuml{class_example.png} ... actor client participant "chatroom:Chatroom" as chatroom participant "alice:User"
as alice participant "bob:User" as bob ... @enduml
None
@startuml{class_example.png} ... client -> chatroom : construct() activate chatroom ...
@enduml
None
@startuml{class_example.png} ... loop Userインスタンスの数だけ繰り返す ... end group メッセージの通知 ... end
... @enduml
プルリク上での共有 1. 以下コマンドで画像化して... 2. プルリクページ上に貼り付け! java -jar (jar_file_path)/plantuml.jar (plant_uml_file)
参考 [Qiita AtomとPlantUMLで爆速UMLモデリング](http://qiita.com/nakahashi/items/3d88655f055ca6a2617c) ・ Windows環境での導入記事。 [Qiita テキスト入力でUMLをライブプレビューしてくれるツール( plantuml-viewer:Atomプラグイ ン)](http://qiita.com/mas821/items/7932c983783ffc4f9c83) ・
Mac環境での導入記事。 [Qiita PlantUML Cheat Sheet](http://qiita.com/ogomr/items/0b5c4de7f38fd1482a48) ・ 各UMLでの基本的な書き方について説明されています。 [PlantUML Language specification](http://plantuml.com/sitemap-language-specification) ・ 公式ドキュメント。詳細な書き方はここを参照されると良いかと思います。 [IT専科 UML入門](http://www.itsenka.com/contents/development/uml/) ・UML自体の書き方は、こちらのページの解説が丁寧です。
まとめ GOOD ・簡単に使える(環境構築・DSL記述の敷居が低い) ・github etc でバージョン管理できる! BAD ・可視化・共同編集に一手間(修正毎に画像化する必要があるため)。