PlantUML - コンポーネント図

PlantUML でのコンポーネント図の記法についての解説です。

コンポーネント図は、コンポーネント間の依存関係を把握するための図であり、 クラス図を特化したもの です。
PlantUML でも クラス図ユースケース図 とほとんど同じように書けます。 解説もクラス図やユースケース図など他のダイアグラムの記法と同じところは省略しています。
  1. コンポーネント
  2. インターフェース
  3. 関係
  4. 配置図
  5. 参考
Comporent diagram sample
@startuml{plantuml_compo_sample.png}
title <size:18>コンポーネント図のサンプル</size>

component 発注管理システム as sys
sys .> [在庫管理システム]
sys ..> [顧客管理システム]
component [発注管理 DB] as db <<Database>>
sys ...> db

@enduml

コンポーネント

コンポーネントは [ ] または component キーワードで記述します。
[コンポーネント名]
component コンポーネント名
@startuml{plantuml_compo_define.png}

[First component]
[コンポーネント] as Comp2  
component Comp3
component [Last\ncomponent] <<Foo>>

@enduml
Define sample
PlantUML では [ ] や component などの定義でコンポーネント図と判断します。

なお、 コンポーネントを UML 2.0 のスタイルで書きたい場合は skinparam のページを見てください。

インターフェース

インターフェースの場合は次の形式となります。
() インターフェース名
interface インターフェース名
@startuml{plantuml_compo_interface.png}

() "First Interface"
() "インターフェース" as Interf2
interface Interf3
interface "Last\ninterface" <<Foo>>

@enduml
Interface sample

関係

コンポーネント間の関係を記述は次の形式で記述します。
コンポーネント名 -- コンポーネント名 [: ラベル]
コンポーネント間を結ぶ線には --(実線) 以外にも ..(破線)、 ..>(破線矢印) などが使えます。

関係の記述で書いたコンポーネント、 インターフェースは前述の定義がなくても自動的に作成されます。
また、 [ ], () を省略した場合、 関係の場合はインターフェース、 独立している場合はコンポーネントとなります。
@startuml{plantuml_compo_relation.png}

DataAccess - [First Component] 
[First Component] ..> HTTP : use

コンポーネント <<Test>>
' [] を省略した場合、ステレオタイプを
' つけていないと解析エラー

@enduml
Relation sample

配置図

配置図はシステムのハードウェア構成などを図式化したものです。
PlantUML では配置図のとしては用意されていませんが、 コンポーネント図でパッケージも使えるので、近いものは作成できます。
@startuml{plantuml_compo_deployment.png}

package "クライアント PC" <<Node>> {
    [勤怠入力]
}
 
package "サーバー" <<Node>> {
    [勤怠入力] - [CGI] : <<HTTP>>
} 

package "データベース" <<Database>> {
    [CGI] ..> [DB]
}
@enduml
Deployment sample
なお、パッケージスタイルは skinparam を使って指定することもできます。

参考

このページの記述には以下のサイトを参考にさせていただきました。

関連記事
スポンサーサイト
Prev.    Category    Next 

Facebook コメント


コメント

コメントの投稿

Font & Icon
非公開コメント

このページをシェア
アクセスカウンター
アクセスランキング
[ジャンルランキング]
コンピュータ
48位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
6位
アクセスランキングを見る>>
カレンダー(アーカイブ)
プルダウン 降順 昇順 年別

05月 | 2017年06月 | 07月
- - - - 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 -


はてな新着記事
はてな人気記事
ブロとも申請フォーム
プロフィール

yohshiy

Author:yohshiy
職業プログラマー。
仕事は主に C++ ですが、軽い言語マニアなので、色々使っています。

はてブ:yohshiy のブックマーク
Twitter:@yohshiy

サイト紹介
プログラミング好きのブログです。プログラミング関連の話題や公開ソフトの開発記などを雑多に書いてます。ただ、たまに英語やネット系の話になることも。