連載

Visioで始めるUMLモデリング

第2回 Visioを使ったUMLクラス図の拡張

デジタルアドバンテージ
2004/07/29
Page1 Page2 Page3 Page4

クラス間の関係の種類

 オブジェクト指向では、クラス間の関係として「継承」がよく使われる。継承とは、あるクラスの機能内容を、そのままほかのクラスが引き継いでいる関係のことである(詳しくは「改訂版 C#入門:継承とインターフェイス」や「改訂版 プロフェッショナルVB.NETプログラミング:継承とポリモーフィズム」をご一読いただきたい)。この継承は、UMLでは「汎化」と呼ばれ、継承元の関連端を小さな△(三角形)にして表現する。

クラス間の関係に対する汎化の設定
継承元の関連端を小さな△(三角形)にして汎化(=継承関係)を表現する。
  [汎化]図形を図面ページへドラッグ&ドロップする。後は前回の「クラス図における関連の設定」と同じ操作だ。

 クラス間で全体と部分を構成する関係は、UMLでは「集約(=共有集約)」の関係と呼ばれる。似たような関係に「コンポジション(=合成集約)」というものがあるが、こちらはその全体と部分の結び付きが強く、全体が消えてしまえば部分も消滅してしまうような関係(=ライフサイクルが一致する関係)のことである(集約とコンポジションについて詳しくは「【改訂版】初歩のUML:関連クラスと集約、コンポジション」を参照されたい)。

 UMLでは、集約は◇(白ひし形)で表現され、コンポジションは◆(黒ひし形)で表現される。次の画面は集約とコンポジションの関係を設定しているところだ。

クラス間の関係に対する集約とコンポジションの設定
クラス間の関係に対する集約(共有集約)とコンポジション(合成集約)を設定しているところ。
  [2項関連]図形を図面ページへドラッグ&ドロップする。後は前回の「クラス図における関連の設定」と同じ手順を実行すればよい。なおコンポジション(合成集約)の場合は、[2項関連]図形ではなく[合成]図形を使ってもよい。
  「線」図形をダブルクリックして、[UML 関連プロパティ]を表示する。
  集約(共有集約)を設定するために、[関連端]の[集約]項目から「共有」を選択する。プロパティを確定して閉じると、設定した関連端が◇(白ひし形)に変わる。
  コンポジション(合成集約)を設定するために、[関連端]の[集約]項目から「合成」を選択する。プロパティを確定して閉じると、設定した関連端が◆(黒ひし形)に変わる。

 UMLでは、そのほか、関連や集約ほど強くない関係を表す「依存」関係など、さまざまなクラス間の関係が定義されているが、それらの関係は基本的に図形ステンシルの[UML 静的構造]の中からドラッグ&ドロップで利用できる。

図形ステンシルの[UML 静的構造]の内容
UMLクラス図の作成に必要な図形が、図形ステンシルの[UML 静的構造]の中にそろっている。

 本稿で解説したUMLクラス図は基本的なものだけで、UMLクラス図にはもっと多くの図形や関係、要素などが定義されている。UMLをより深く理解するには、この連載からステップアップして、UML関連の本などで学習する必要がある。参考までにUML関連のWeb記事や本などを紹介しておく。

  • @IT:IT Architectの「【改訂版】初歩のUML」「ここから始めるオブジェクト指向」
  • 書籍:『UML辞典』(翔泳社)
  • 書籍:『実践UMLによるシステム開発』(共立出版)

 今回は、クラス図を拡張する方法について紹介した。本連載の最終回である次回は、クラス図以外のUMLモデル図や、Visio for Enterprise Architectの機能、データベース・モデリングについて簡単に紹介したい。End of Article


 INDEX
  Visioで始めるUMLモデリング
  第2回 Visioを使ったUMLクラス図の拡張
    1.クラス図に属性要素を追加するには?
    2.クラス図に操作要素を追加するには?
    3.クラス図の抽象度レベルと表現可能なクラス間の関連
  4.Visioで表現可能なクラス間の関係の種類
 
インデックス・ページヘ  「Visioで始めるUMLモデリング」

TechTargetジャパン

Insider.NET フォーラム 新着記事
  • Kinectが切り開く“夢の近未来” (2012/2/2)
     日本を含めた世界中でKinect for Windowsセンサー商用版とSDK正式版がリリース。未来のコンピューティングはどう変化するのか?
  • 3つの視点でネイティブと.NETの適材適所を考察 (2012/1/31)
     アプリ開発は「ネイティブ」と「.NET」、どちらが最良? その問いには「適材適所」と答えるしかない。では、“適所”は一体どこかを考察する
  • SQL Azure Data Sync入門 (2012/1/30)
     SQL Azure/SQL Serverデータベース間のデータ同期を簡単に実現するサービスとは? その仕組みや使用手順を解説
  • Windows Phoneアプリ市場の現状を分析する (2012/1/27)
     Windows Phone のアプリ・ストアに日々登録されている多種多様なアプリ。カテゴリ別のアプリ数は? 市場の現状を明らかにする

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH