UTI UML教育研究所
トップページ> 読み物> コラム> 使えるUML 第3回
はじめるUML(全12回)
  はじめてみよう!
  モデル要素の整理整頓
  システム全体の構造(1)
  システム全体の構造(2)
  システム全体の構造(3)
  システム化対象の業務(1)
  システム化対象の業務(2)
  システムの動き(1)
  システムの動き(2)
  状態の移り変わり
  OCUPにチャレンジ!
  UML2.0総括(最終回)
続はじめるUML(全10回)
  使ってみよう!
  UMLによる業務分析
  営業職のOCUP受験体験記
  UMLによる要求分析
  インターメディエイト受験体験記
  UMLによるシステム分析
  アドバンスト受験体験記
  UMLによるシステム設計
  情報システム管理者が利用するUML
  続はじめるUML総括
使えるUML(全10回)
  使いこなしてみよう!
  物事を分けてとらえる
  コンポーネント図のいくつかの表現方法
  枠組みを使用してとらえる
  内容とその表現方法をわける
  パターンの表現
  続・パターンの表現
  モデルのモデル
  あいまいさを排除する
  「どのように(How)」から「何を(What)」へ
  大人のオブジェクト指向(最終回)
資格取得までのステップ
FAQ
教育コンテンツ
キャンペーン
ブックプラス
パートナープログラム
認定ユーザープログラム
メールマガジン登録
お問合わせ
使えるUML 第3回

パターンウィーバー(PatternWeaver) ver2.2
さらに使いやすく、新機能満載!
  • 多言語によるモデル開発をサポート
  • モデル駆動型のSOA(サービス指向アークテクチャ)をサポート
  • MS-Word形式へのドキュメント出力をサポート
  • RCP(Rich Client Platform)版の提供を開始
  • 洗練された各種ダイアグラム
  • 操作性の強化
  • リポジトリ(UML要素管理機能)の強化
  • ソースコード連携の強化

評価版がダウンロードできますので、ぜひお試しください。
http://pw.tech-arts.co.jp/download/community_edition.html

●商品に関するお問い合わせ
株式会社テクノロジックアート
e-mail : pw@tech-arts.co.jp
http://pw.tech-arts.co.jp/

2007.4.3 掲載
コンポーネント図のいくつかの表現方法
「物事を分けてとらえる」をテーマにお送りしております。今回は、UML2.xが特に得意としている「仕様と実現方法を分ける」と「論理と物理を分ける」のうち、「仕様と実現方法を分ける」の後編です。複雑なビジネス領域や、高度な要求を実現するシステムの問題を解決するためには、問題をいくつかの視点から分解することが必要になります。

◇仕様と実現方法を分ける(後編)
前回、「仕様と実現方法を分ける」として、インターフェースとそれを実現するコンポーネントを分け、システム内部の部品化や共通化を行うことと、コンポーネント図により視覚的に把握することを説明しました。ここでは、このコンポーネント図についてもう少し詳しく見ていきましょう。

【ポイント】
・コンポーネント図には、コンポーネントを表現する際、いくつかの表現方法があります。

ひとことでコンポーネント図と言っても、UML2.xのコンポーネント図は、コンポーネントをいくつかの表し方で記述することができます。何を表現したいか、誰に見せたいかなどの目的に応じて選択し、使い分けましょう。コンポーネント図の表現方法は大きく以下のように分類されます。

  ブラックボックスビュー ホワイトボックスビュー
型レベル (1) 区画にリスト
(2) インターフェースを図示
(3) 概略図
(5) 区画にリスト
(6) 実現分類子と依存関係
(7) 分類子の入れ子
インスタンスレベル (4) コンポジット構造 (8) 内部コンポーネント
(9) 委譲パート
表1 コンポーネント図の表現方法の分類

表で示されている表現の分類観点は次のようなものです。

  • ブラックボックスビュー
    コンポーネントの振る舞いを実現する分類子や内部コンポーネントを隠蔽します。
  • ホワイトボックスビュー
    コンポーネントの振る舞いを実現する分類子や内部コンポーネントを明記します。
  • 型レベル
    型(分類子)レベルでのコンポーネントを表します。
  • インスタンスレベル
    コンポーネントにいくつかの役割が存在することや、実行時にコンポーネントがどのように合成されるかを示します。

表の中で分類された表現方法をひとつひとつ見ていきます。

  1. 区画にリスト
    コンポーネント内の区画で、《provided interfaces》、《required interfaces》に続けて、提供インターフェースと要求インターフェースをリストします。
  2. インターフェースを図示
    型として示されたコンポーネントが提供または要求するインターフェースを、ボール型とソケット型の記号で記述します。

    図1 インターフェースを図示
    図1 インターフェースを図示

また、前回の図2のように、インターフェースの操作(イベント)を記述することもできます。
  1. 概略図
    コンポーネントのインターフェースやポートを記述せずに、コンポーネント間の依存関係のみに焦点を当てます。
  2. コンポジット構造
    前回の図1のように、コンポーネント間の結合をボール・アンド・ソケットで表されるアセンブリコネクタによって記述します。
  3. 区画にリスト
    コンポーネント内の区画で、《realizations》に続けて、コンポーネントの振る舞いを実現する分類子を記述します。
  4. 実現分類子と依存関係
    コンポーネントとそのコンポーネントの振る舞いを実現する分類子を依存関係で記述します。
  5. 分類子の入れ子
    コンポーネントの内部に、そのコンポーネントの振る舞いを実現する分類子を図示します。

    図2 分類子の入れ子
    図2 分類子の入れ子

  6. 内部コンポーネント
    コンポーネントが実行時に包含する、より粒度の細かいコンポーネントをインスタンスレベルで記述します。
  7. 委譲パート
    コンポーネントの振る舞いを実現するインスタンスへの処理の委譲を、委譲コネクタにて記述します。

◇まとめ
コンポーネント図は、記述する視点によって表現方法が異なります。ここでは、すべての表現方法についての例を示すことはできませんでしたが、UML2.xの仕様書にはすべての例が記載されているので、参考にしてください。
また、コンポーネントベース開発(CBD)に関する詳細につきましては、弊社テクノロジックアートで提供しておりますトレーニングコースや、コンサルティングサービスをご活用いただけます。


■筆者紹介
照井 康真/Koma Terui
株式会社テクノロジックアート テクニカルデプト UMLモデリングチーム リーダー