Vs Code で PlantUMLを作成する

● Mac へ Javaをインストールする

https://www.oracle.com/java/technologies/downloads/ からダウンロードを選択してインストールします

Javaがインストールできたかどうかを確認する

java --version
java 20.0.1 2023-04-18
Java(TM) SE Runtime Environment (build 20.0.1+9-29)
Java HotSpot(TM) 64-Bit Server VM (build 20.0.1+9-29, mixed mode, sharing)

● 必要なライブラリーのインストール

brew install graphviz
brew install plantuml

● vs code の plantuml 拡張機能のインストール

こちらをインストールします https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml

vscode から 左メニューの拡張機能を選択して検索欄にplantumlを入力すると出てきます

● plantumlの使い方

VsCodeで拡張子.puの新規ファイルを開き以下のコードをコピーペーストして保存します

' クラス図
@startuml クラス図
class Car {
    -brand: string
    -model: string
    -year: int
    -price: double
    +start(): void
    +stop(): void
}

class Customer {
    -name: string
    -email: string
    -phoneNumber: string
    +placeOrder(): void
    +cancelOrder(): void
}

class Order {
    -orderNumber: int
    -totalPrice: double
    -status: string
    +changeStatus(): void
}

Car *-- Order
Order *-- Customer
@enduml

' シーケンス図
@startuml シーケンス図
actor User
participant Controller
participant Service
participant Repository

User -> Controller: request
Controller -> Service: processRequest()
Service -> Repository: getData()
Repository -> Service: returnData()
Service -> Controller: returnResponse()
Controller -> User: response
@enduml

' アクティビティ図
@startuml アクティビティ図
|Swim|
start
: wear swimsuit;
: wear goggles;
if (water temperature < 20 degrees) then (yes)
  : shiver;
else (no)
  : swim;
endif
while (swimming) is (true)
  : keep swimming;
endwhile
: take off goggles;
: take off swimsuit;
stop
@enduml

' ステートマシン図
@startuml ステートマシン図
[*] --> Off : power off
Off --> On : power on
On --> Off : power off
On --> Running : start process
Running --> On : stop process
@enduml

' 関連線
@startuml Generalization(汎化)関連線
class Animal {
    #age: int
    +makeSound(): void
}

class Dog extends Animal {
    +bark(): void
}
@enduml

@startuml Composition(合成)関連線
class Car {
    -engine: Engine
}

class Engine {
    -cylinders: Cylinder[*]
}

class Cylinder {
    -type: string
}

Car *-- Engine
Engine *-- Cylinder
@enduml

@startuml Association(関連)関連線
class Customer {
    -name: string
    -email: string
}

class Order {
    -orderNumber: int
    -totalPrice: double
}

Customer -- Order
@enduml

@startuml Aggregation(集約)関連線
class Library {
    -books: Book[*]
}

class Book {
    -title: string
    -author: string
}

Library o-- Book
@enduml

@startuml Dependency(依存)関連線
interface EmailSender {
    +sendEmail(): void
}

class User {
    +sendEmail(EmailSender sender): void
}

User ..> EmailSender
@enduml

次に
Command + Shift + P を押して次のメニューを選択します。

「カーソル位置のダイヤグラムをプレビュー」


No.233
05/10 10:14

edit