専門的な設計の UML 図を使えば、ソフトウェアシステムを全体的に把握するのもスムーズになります。このガイドでは、図の作成方法を始め、UML 複合構造図について知っておきたいことすべてをご紹介しています。
この記事を読むのに必要な時間 : 2 分
UML図の作成には、ぜひ Lucidchart を試してみましょう。素早く、簡単に使えて、完全に無料です。
複合構造図とは?
複合構造図とは、ソフトウェアシステムの全体または一部を論理的に表す UML 構造図です。所定の構造化された分類子の内部を示し、その構造クラス、インターフェイスやパッケージとその間の関連を詳細に定義する図です。
複合構造図の利点
複合構造図を使用することで、オブジェクト内に含まれる内容を正確に把握し、さまざまなプロパティが一体となって特定の動作を行う方法を表すことができます。複雑なソフトウェアシステム内の多様な関連を理解するのは難しいものですが、システムの機能を分解することで、構造の相互接続のあり方や情報の伝達方法などに関する貴重な洞察を得ることができます。
複合構造図には以下のような利点もあります。
- ユーザーがシステムの現状を把握するのに役立つ
- 複数のクラス、インターフェイスやコンポーネントの内部構造と相互作用を分解できる
- 静的な図にはないランタイムアーキテクチャと使用パターンを詳細に示せる
- システムの最適化とトラブルシューティングのための情報をユーザーに提供できる
複合構造図の基本的な構成要素
複合構造図は、システムの個々の部分を表す多数の UML 記号と、それらの記号間の関連から構成されます。Lucidchart の UML 図形ライブラリの以下のアイコンを使用して複合構造図を作成します。
記号 |
名称 |
説明 |
端子 |
始点と終点を示します。 | |
ノード (円形) |
イベントやマイルストーンを表すために使用され、数字を含みます。 | |
ノード (長方形) |
イベントやマイルストーンを表すために使用 され、数字を含みます。 | |
アクター |
システムの外部 (人や機器など) からシステムとやり取りします。 | |
クラス |
共通のプロパティや動作 (共通の操作、パラメーターや属性など) を持つオブジェクトをグループ化します。 | |
パーツ |
クラスやインターフェイスの実行時インスタンスとして機能します。 | |
ポート |
分類子インスタンス (またはその動作) とその環境との間の相互作用ポイントとして機能します。 | |
インターフェイス |
実装者が遵守に同意する動作を指定します。 | |
結合子 |
パーツ間の通信を図示します。 |
UML図の作成には、ぜひ Lucidchart を試してみましょう。素早く、簡単に使えて、完全に無料です。
UML図 を作成複合構造図とクラス図の比較
複合構造図とクラス図はどちらも UML 図で、システム内のアクター、相互作用と成果物を視覚化して整理するために使用されます。そうした文脈上、これらの図の意味するところは似ていますが、最終的にそうした意味を表現する方法に違いがあります。簡単に言えば、複合構造図は、クラス図よりも具体的で、抽象度が低い図です。
複合構造図を使用することで、実行時の成果物 のアクティビティの実装をより明確にモデル化できます。複数のクラスの内部構造とこれらの間のセット関係を示し、コンテキストを分解して表す上でも適しています。したがって、システム内の動作と関連を具体的かつ明確に伝えたい場合には、複合構造図が最適です。
複合構造図の作成方法
Lucidchart を使えば、ゼロから複合構造図を作成するのも簡単です。以下の手順に従って UML 複合構造図を作成してみましょう。
- 空白の文書を開くか、テンプレートギャラリーのテンプレートを使って作成を開始します。
- ワークスペース左側の [図形] をクリックして UML 図形ライブラリを有効にし、ワークスペースマネージャーで [UML] にチェックを入れ、[保存] をクリックして変更を有効にします。
- 最初の図形をクリックし、キャンバスへドラッグして最初のコンポーネントを作成します。システムのパーツがすべて揃うまで、コンポーネントの追加を続けます。
- 必要に応じて、コンポーネントを大きな図形内にネストしたり、ロリポップやソケット図形を使ってクラスやインターフェイスにグル ープ化します。図形に適宜ラベルを付けます。
- コンポーネント、クラスやインターフェイスにポートを追加して、相互作用ポイントを描画します。各ポートにラベルを付けます。
- システム内の追加のタイプとインスタンスを示すノードを追加します。
- ポートとコンポーネントの間に適宜線を描画し、システムのプロセスフローをモデル化します。
複合構造図の例
以下のテンプレートは、汎用サーバー分類子の内部構造をモデル化したものです。テンプレートをクリックしてニーズに合わせて変更し、分類子に含まれる内部構造、相互作用、協働の動作を視覚化することができます。