🐷

PlantUMLでiOSアプリのクラス図を作成する

2021/09/20に公開

はじめに

PlantUMLを使用してiOSアプリのクラス図を作成します。
PlantUMLはiOSアプリ開発以外でも暗鈴などの作成全般に使用できるツールですが、今回はiOSのプロジェクトベースで説明します。

ツールについて

PlantUML

https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml

VSCodeで使用することができ、プレビューしながらコードベースでクラス図を作成することができます。
esaに直接書き込むこともできます。

ほかにdraw.ioなどの作図ツールもあります。
https://app.diagrams.net/

PlantUMLの環境構築

Javaのインストール

$ brew install java
$ sudo ln -sfn $(brew --prefix)/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
$ $ brew install graphviz

VSCodeの拡張にPlantUMLを追加

一番上のものをインストールします。

クラス図を書く

今回はRepositoryとUserという2つのstructを例にクラス図を作成します。

Model
@startuml Models

namespace Model #ECEFF4 {

    class Repository <<S, #ffeecc)>> {
        let id: Int64
        let name: String
        let description: String
        let owner: User
    }
    
    class User <<S, #ffeecc)>> {
        let id: Int64
        let login: String
    }
    note left : User.swift

}


@startuml Models
この中にクラスなどを記述していきます。
@enduml

namespace Model #ECEFF4
namespaceに名前と背景色を指定することでModelのようなパッケージを作成することができます。

class Repository <<S, #ffeecc)>>
定義したパッケージの中にclassを作成します。
Repositoryはstructで作成しているのでSと背景色を記述します。

プロパティやメソッドなどはこのclassの中に書きます。

note left : User.swift
classの下に記述することで上下左右に吹き出しを表示させることができます。

依存関係を記述する

クラス同士の依存関係は

User <|-- Repository

Repository --|> User

などでclas同士の依存関係を線で表すことができます。

Discussion