Diagram

コンポーネント図は、ソフトウェアシステムの構築に欠かせないものです。オンラインUML作成ツールでこの図を作成することで、既存のシステムの構造の理解や新たなシステムの構築がスムーズになります。以下では、コンポーネント図について詳しく説明しています。

このページは3分で読めます

UML 図の作成には、ぜひ Lucidchart を試してみましょう。素早く、簡単に使えて、完全に無料です。

または
Google MarkGoogle 登録

登録により、Lucid Software のサービス利用規約プライバシーポリシーに同意します。

UML コンポーネント図とは?

コンポーネント図の目的は、システム内のさまざまなコンポーネント間の関係を示すことにあります。UML 2.0 において、「コンポーネント」という用語は、システムの他の部分とインターフェイスを介した接続が可能な独立したシステムやサブシステムを示すクラスのモジュールを指します。

コンポーネント周辺に展開する包括的な開発アプローチに、コンポーネントベース開発 (CBD) があります。このアプローチでは、システム全体が想定する機能を果たすよう、開発者がさまざまなコンポーネントを識別できるようにコンポーネント図を利用します。

より一般的なオブジェクト指向のプログラミングアプローチでは、ソフトウェア開発をより高次的に概観できるよう、上級開発者が、共通の目的に基づいてクラスをグループ化するためにコンポーネント図を利用します。

コンポーネント図の利点

一見するとコンポーネント図は複雑なものに見えますが、システム構築にはとても有用な図です。以下の方法でコンポーネント図を役立てることができます。

  • システムの物理的な構造を想像する。

  • システムの構成要素と要素間の関連に注意を向ける。

  • インターフェイスに関連するサービスの動作を強調する。

コンポーネント図の使用方法

UML コンポーネント図は、ソフトウェアシステムを俯瞰する上で役立ちます。ソフトウェアの各部が提供するサービスの動作を正確に理解することで、開発者としてのスキルアップにつなげることができます。コンポーネント図は、あらゆるプログラミング言語や様式で実行されるソフトウェアシステムの記述に利用することができます。

UML とは、オブジェクト指向の図のための一連の規則であり、多彩な用途を持ちます。コンポーネント図においては、アセンブリコネクタと移譲コネクタを示す線でコンポーネントとパッケージが接続される様を統一モデリング言語 (UML) が記述します。UML とその用途ついての詳細は、チュートリアル「UML とは?」をチェックしてみましょう。

 

Lucidchart を使えば、素早く、簡単に図を作成することができます。今すぐ無料のトライアルを開始して、作図と共同編集を始めましょう。

または
Google MarkGoogle 登録

登録により、Lucid Software のサービス利用規約プライバシーポリシーに同意します。

コンポーネント図の図形と記号

単純で高次的なものから詳細で複雑なものまで、コンポーネント図の内容は多岐にわたります。どちらの図を作成する場合でも、まずは作図に用いられる UML 記号について知っておくことが大切です。以下では、コンポーネント図の作成や閲覧時に登場する一般的な図形を紹介しています。

記号名称説明
コンポーネント記号

ステレオタイプの機能を実行するために必要な実体を指します。コンポーネントはインターフェイスや他のコンポーネントを通じて動作を提供し、消費します。コンポーネントはクラスの型として捉えることができます。UML 1.0 において、コンポーネントは側面から2つの小さな長方形が突き出た長方形のブロックとして示されます。UML 2.0 では、コンポーネントは、旧型のコンポーネント図の図形の小さな画像を含む長方形のブロックとして示されます。

ノード記号

コンポーネントよりも高次のハードウェアやソフトウェアを示します。

インターフェイス記号

コンポーネントが受領または提供する入力データや材料を示します。テキストメモやロリポップ、ソケット、ボール/ソケット記号によりインターフェイスを表すこともできます。

ポート記号

コンポーネントと環境間の別の相互作用ポイントを指定します。ポートは小さな正方形で示されます。

パッケージ記号

システムの複数の要素をグループ化するもので、Lucidchart ではファイルフォルダーで示されます。ファイルフォルダーが複数のシートをまとめるのと同様に、いくつかのコンポーネントの周囲にパッケージを描画することができます。

メモ

開発者がコンポーネント図にメタ分析を付与することができます。

依存関係記号

システムの一部が他の部分に依存することを示します。依存関係は、1つのコンポーネントや要素を他のコンポーネントや要素にリンクする破線で示されます。

コンポーネント図形と記号の使用方法

コンポーネントの名称区画を作成する方法でよく使われるものには3つあります。コンポーネントのテキストは、常に二重山括弧かコンポーネントのロゴで囲みます。内部に名称のみが含まれる長方形は分類子 (クラスの要素) にしか使えないため、必ずこのように区別します。

クラスの表記と同様に、コンポーネントにもオプションでインターフェイスを記載できるスペースがあります。記載方法はクラスの表記に属性やメソッドを追加するのと同じです。インターフェイスは、コンポーネント内のクラスのグループが他のシステムコンポーネントと交信する場所を示します。また、インターフェイスは、コンポーネントボックスから記号を伸ばす形でも表現することができます。以下では最も一般的に使用される記号を簡単にまとめています。

 

 

提供インターフェイス: コンポーネントボックスから伸びる直線に円を付けたもので、他のコンポーネントの要求インターフェイスに使用される情報を生成するコンポーネントを持つインターフェイスを示す記号です。

 

要求インターフェイス: コンポーネントボックスから伸びる直線に半円を付けたものです。開いた矢印に破線で表す場合もあります。あるコンポーネントがその適切な機能を果たすために情報を要求するインターフェイスを示す記号です。

 

UML において、コンポーネント図はあるソフトウェアシステムと他のシステムとの関連を視覚的に示します。コンポーネント図の作成には、Lucidchart のカスタムコンポーネント図の図形ライブラリを使用してみましょう。コンポーネント図は以下の内容を表します。

  • システムのスコープ

  • ソフトウェアシステムの全体的な構造

  • システムが支援する、人間または人間以外の実体 (アクター) の達成目標

コンポーネント図の例

UML コンポーネント図を利用することで、高度で複雑なプロセスでもシンプルに理解することができるようになります。以下の例では、UML コンポーネント図で特定のプロセスの動作をマッピングする方法を紹介しています。

図書館管理システムのためのコンポーネント図

世界で最初に包括的にコンピューター管理されるようになったシステムの1つに、図書館システムがあります。現在では、これらのシステムの多くが、内部ではなくサードパーティ製サービスによりクラウド上で管理されています。一般的に、「図書館システム」という名から思い浮かぶのは書籍管理のためのシステムですが、今日の図書館システムが整理する対象にはユーザーが貸出・返却を行うあらゆるデータが含まれます。

こうしたやり取りにより、図書館システムのコンポーネントに関連のネットワークが形成されます。これらの連携の仕組みやシステム全体の機能を理解するには、以下の UML 図を見てみましょう。この図はテンプレートとしても利用できます。

ここをクリックしてこのテンプレートを使用

ATM システムのためのコンポーネント図

任意のシステム内の項目の相互関係を示すという点でコンポーネント図とクラス図は似ていますが、コンポーネント図は、クラス図の大半に比較してより複雑で多様な接続を表すものです。

以下の図では、コンポーネントがそれぞれ小さなボックスに収められています。矢印付きの点線は、コンポーネントの一部の他のコンポーネントへの依存関係を示しています。例えば、カードリーダー、ウェブページ、クライアントデスクトップや ATM システムはすべて、銀行のデータベースに依存しています。終端に円の付いた点線、別名「ロリポップ」記号は、実現関係を示します。

ここをクリックしてこのテンプレートを使用

コンポーネント図を作成する方法

Lucidchart では、UML でゼロから複雑なコンポーネント図を作成することも容易です。作成は以下の手順で行います。

  1. 空白の文書を開くか、またはテンプレートを使って作成を開始します。

  2. ERD 図形ライブラリを有効化します。エディターの左側の [図形] をクリックし、図形ライブラリマネージャーの [UML] にチェックを入れ、[保存] をクリックします。

  3. 追加したライブラリから希望の図形を選択し、ツールボックスからキャンバスへドラッグします。

  4. 図形の間に線を描画し、プロセスフローをモデル化します。

ステップ別のより詳細な説明が必要な場合には、 UML でのコンポーネント図作成方法 ガイドを参照してみましょう。


UML 図の作成には、ぜひ Lucidchart を試してみましょう。素早く、簡単に使えて、完全に無料です。