Slide 1

Slide 1 text

PlantUMLとAtomで バージョン管理可能な UMLを書いてみよう 2017/08/27 Symfony Meetup #17 th1209

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

ちゃんと設計やっていますか?

Slide 4

Slide 4 text

ちゃんと設計やっていますか? 普段からUML書いてますか?

Slide 5

Slide 5 text

今日のテーマ ☓ PlantUML Atom

Slide 6

Slide 6 text

環境構築 Java plantuml.jar Atom plantuml-viewer Graphviz   

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

@startuml{class_example.png} … title クラス図(Mediatorパターン) ... @enduml

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

@startuml{class_example.png} ... class Chatroom { - colleagues: ArrayList + void addColleague(colleague:Colleague) } ... @enduml

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

@startuml{class_example.png} ... Mediator <|.. Chatroom Colleague <|.. User Chatroom *-- User User *-- Chatroom ... @enduml

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

@startuml{class_example.png} ... actor client participant "chatroom:Chatroom" as chatroom participant "alice:User" as alice participant "bob:User" as bob ... @enduml

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

@startuml{class_example.png} ... client -> chatroom : construct() activate chatroom ... @enduml

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

@startuml{class_example.png} ... loop Userインスタンスの数だけ繰り返す ... end group メッセージの通知 ... end ... @enduml

Slide 21

Slide 21 text

プルリク上での共有 1. 以下コマンドで画像化して... 2. プルリクページ上に貼り付け! java -jar (jar_file_path)/plantuml.jar (plant_uml_file)

Slide 22

Slide 22 text

参考 [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自体の書き方は、こちらのページの解説が丁寧です。

Slide 23

Slide 23 text

まとめ GOOD ・簡単に使える(環境構築・DSL記述の敷居が低い) ・github etc でバージョン管理できる! BAD ・可視化・共同編集に一手間(修正毎に画像化する必要があるため)。