コードでUMLを作成する方法を、PlantUMLをご紹介します

PlantUMLはUMLの作成を支援するオープンソースのツールです。 StarUML、EclipseのAmaterasUMLなどの無料UMLもいますよ。 PlantUMLは、GUIでUMLを作成せずに、簡単な言語でオブジェクト間の関係を定義してくれればPlantUMLがUMLを生成します。

普段UMLを作成しませんが、簡単に構造をPTに発表したときにUMLが必要になることがあります。 PlantUMLは、WebでUMLを作成できるように支援し、ローカルのプログラムも非常に小さく設置が簡単高速です。 そのため、簡単な作成方法だけ熟知する高速UMLを作成することができます。 また、マウスよりもキーボードのみUMLを作成することが編であればPlantUMLを一度使ってみてお勧めします。

インストール方法

まず、PlantUMLはPlantUML Online Serverを提供し、 Web上でUMLを作成することができます。

ローカルにインストールするには、Ubuntuのでは下記のようなコマンドで簡単にインストールすることができます。

$ sudo apt-get install plantuml

Windowsなどではjarファイルを直接受けて使用することができます。 PlantUML Downloadページで plantuml.jarをダウンロードして、以下のようなコマンドで使用することができます。

$ java -jar plantuml.jar sequenceDiagram.txt

また、Eclipseのプラグインのようにインストールすることもできます。詳細については、サイトを参照してください。

サポートしている図の種類

サポートしているUML図は以下の通りです。

  • シーケンスダイアグラム
  • ユースケース図の
  • クラスダイアグラム
  • アクティビティダイアグラム
  • コンポーネントダイアグラム
  • 状態ダイアグラム
  • オブジェクトダイアグラム
  • Deployment diagram
  • Timing diagram

UML作成例

簡単なUMLを作成ましょう。

シーケンス図

uml.txtというファイルを作成し、以下のようなコードを入力します。 すべてのUMLのコードは @startumlで開始し、@endumlで終わります。

@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
@enduml

Web上で入力した場合 submitボタンをヌルルばUMLが生成されます。ローカルにインストールした場合は、シェルから以下のようなコマンドを入力すると、テキストファイルと同じ名前のpng画像が生成されます。

$ plantuml uml.txt

# jarをダウンロードしてたら、次のように入力してくださいされ
$ java -jar plantuml.jar uml.txt

生成された画像を開いてみると、以下のように見えます。上記のコードと下UMLを比較してみると、コードがUMLでどのように表現されるか簡単に知ることができます。

seqeunce diagram

より多くの例では、PlantUMLで確認することができます。

言語の詳細な説明は、PlanUMLで提供されるPlantUML韓国語ガイドを参照してください。

クラス図

次のコードは、クラス図の例です。

@startuml
Class11 <|.. Class12
Class13 --> Class14
Class15 ..> Class16
Class17 ..|> Class18
Class19 <--* Class20
@enduml

class diagram

クラス間の関係に加えて、クラス内のフィールドとメソッドもすべて定義してくれることができます。

@startuml
class Student {
  Name
}
Student "0..*" -- "1..*" Course
(Student, Course) . Enrollment

class Enrollment {
  drop()
  cancel()
}
@enduml

class diagram

より多くの例では、PlantUMLで確認することができます。

状態図

状態図の例です。

@startuml
hide empty description
[*] --> State1
State1 --> [*]
State1 : this is a string
State1 : this is another string

State1 -> State2
State2 --> [*]
@enduml

state diagram

より多くの例では、PlantUMLで確認することができます。

まとめ

コードでUMLの生成を助けるPlantUMLについて調べてみました。 例として使用したものよりも多くの図を表現することができます。 使用方法が簡単なため、迅速かつ容易にUMLを作成することができます。また、Eclipse、Notepad ++など、非常に多くのアプリケーションのプラグインがあります。 このようなプラグインを利用すると、自分が使用しているツールでも、簡単にPlantUMLを使用することができます。 Eclipseの場合、コードをクラス図に変更してくれる機能もあります。 プラグインタイプはPlantUML Runningで確認することができます。 言語の詳細な説明は、PlantUMLのガイドとサイトをご確認ください。

Visual Studio CodeでPlantUMLプラグインをインストールすると、コードの作成と同時に、UMLを確認することができます。詳細はVSCode - PlantUMLプラグインのインストールと使用方法を参照してください。

参考

codechachaCopyright ©2019 codechacha