クラス図とは、システムを構成するクラスとそれらの関係を表現する図で、各クラスが保持する属性(プロパティ)や操作(メソッド)も記載することができる。システム全体の静的な構造を明らかにするために作成される。
今回は、PlantUMLで、getter/setterメソッドをもつクラスのクラス図を作成してみたので、作成したクラス図と元になるPlantUMLのソースコードを共有する。
なお、クラス図については、以下のサイトを参照のこと。
http://www.itsenka.com/contents/development/uml/class.html
また、PlantUMLのクラス図についてのマニュアルは、以下のサイトを参照のこと。
https://plantuml.com/ja/class-diagram
前提条件
下記記事の、VSCode上でPlantUMLを利用するための環境構築が完了していること。
PlantUMLをVSCode上で利用してみたPlantUMLは、VSCode(Visual Studio Code)上で編集するようにすると、ソースコードを色つきで分かりやすく表示...
クラス図作成対象のソースコード
今回の、クラス図作成対象となるソースコードの内容は、以下の通り。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | package com.example.demo; import lombok.Data; @Data public class UserData { /** ID */ private long id; /** 名前 */ private String name; /** 生年月日_年 */ private int birthY; /** 生年月日_月 */ private int birthM; /** 生年月日_日 */ private int birthD; /** 性別 */ private String sex; /** メモ */ private String memo; /** 性別(文字列) */ private String sex_value; } |
作成したクラス図(1)
また、上記クラス図のPlantUMLソースコードの内容は、以下の通り。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | @startuml class UserData { - long id - String name - int birthY - int birthM - int birthD - String sex - String memo - String sex_value + getId(): long + setId(id:long): void + getName(): String + setName(name:String): void + getBirthY(): int + setBirthY(birthY:int): void + getBirthM(): int + setBirthM(birthM:int): void + getBirthD(): int + setBirthD(birthD:int): void + getSex(): String + setSex(sex:String): void + getMemo(): String + setMemo(memo:String): void + getSex_value(): String + setSex_value(sex_value:String): void + toString(): String } @enduml |
フリーランスエンジニアのエージェントは就業中でも無料で登録できるITエンジニアには、フリーランスという働き方がある。 フリーランスとは、会社や団体などに所属せず、仕事に応じて自由に契約する人のこ...
作成したクラス図(2)
getter/setterメソッドには、«get/set»という独自のステレオタイプを使うこともできる。このステレオタイプを利用した場合のクラス図の内容は、以下の通り。
また、上記クラス図のPlantUMLソースコードの内容は、以下の通り。
1 2 3 4 5 6 7 8 9 10 11 12 13 | @startuml class UserData { - «get/set» long id - «get/set» String name - «get/set» int birthY - «get/set» int birthM - «get/set» int birthD - «get/set» String sex - «get/set» String memo - «get/set» String sex_value + toString(): String } @enduml |
要点まとめ
- クラス図とは、システムを構成するクラスとそれらの関係を表現する図で、各クラスが保持する属性(プロパティ)や操作(メソッド)も記載することができる。
- PlantUMLを利用すれば、コードベースでクラス図を作成できる。
- getter/setterメソッドは、«get/set»という独自のステレオタイプを利用すると、クラス図のメソッドの記述を省略できる。