こんにちは。マニュアル作成・ナレッジ共有ツール「NotePM」ブログ編集局です。
パッケージ図のテンプレートと例文をご紹介します。

パッケージ図とは?
パッケージ図はパッケージ同士の依存関係を図示化し、論理的なグルーピングを行います。それによって、パッケージ同士の関連性が明確になります。パッケージ図はクラス図の一部として考えます。
Javaなどではネームスペースをパッケージに対応させることで、よりコードとの関連性を明確にするのが一般的です。
WEB上で簡単にパッケージ図の作成・管理を行えるツール「NotePM」
パッケージ図の目的
最近のシステムは大規模化が進んでおり、一つ一つのクラスを描画すると膨大な数のクラスを記述します。そして全体が込み入ってしまうことで、概要が分かりづらくなります。そこでネームスペースなどでシステムをパッケージ化することで、システム全体図を単純化します。
パッケージはクラス群はもちろん、図や文書なども対象になります。
パッケージ図の書き方
パッケージ図で使われる構成要素は次の通りです。
パッケージ
フォルダの形状で示されます。データや文書、ユーザーの操作などに基づいて共通化できる要素をパッケージとして表現します。
package "パッケージ名"
パッケージは入れ子構造も可能です。この場合、クラスを中に記述することが多いです。
package "パッケージ名" {class "クラス名"}
ネームスペースを利用する
PlantUMLではプログラミング側のネームスペースを利用した記述もできます。
namespace jp.notepm #DDDDDD {.BaseClass <|-- PersonMeeting o-- Person.BaseClass <|- Meeting}
関連線
パッケージ同士の関連性を表現する場合には矢印を使います。
記述 | 種類 |
---|---|
o- / -o | 白い菱形 + 直線 |
*– / –* | 黒い菱形 + 直線 |
<– / –> | 黒い矢印 |
< | — / — |
線種
線種を変更する場合には --
の間に [bold]
のように線種を指定する記述をします。例えば太字の場合は -[bold]->
になります。
記述 | 線種 |
---|---|
[bold] | 太字 |
[dashed] | 広い破線 |
[dotted] | 細かい破線 |
[hidden] | 描画なし |
[plain] | 通常の線 |
線に説明を付ける場合には :
の後ろに説明を記述します。例は下記の通りです。
foo -[bold]-> bar : 太字になります
WEB上で簡単にパッケージ図の作成・管理を行えるツール「NotePM」
パッケージ図のサンプル例
以下はWikipediaに記載されているパッケージ図の例をPlantUMLで記述した例です。
package ゼミ登録package スケジュールpackage 学生package 教授package 問い合わせ先package Javaインフラストラクチャーゼミ登録 -[dashed]-> スケジュールゼミ登録 -[dashed]-> 学生ゼミ登録 -[dashed]-> Javaインフラストラクチャー : <<import>>ゼミ登録 -[dashed]-> 教授教授 -[dashed]-> スケジュール学生 -[dashed]-> 問い合わせ先学生 -[dashed]-> Javaインフラストラクチャー : <<import>>スケジュール -[dashed]-> Javaインフラストラクチャー : <<import>>問い合わせ先 -[dashed]-> Javaインフラストラクチャー : <<import>>教授 -[dashed]-> Javaインフラストラクチャー : <<import>>
実際の描画は次のようになります。