UML2の新しい記号とダイアグラム

from オブジェクト倶楽部 No.36 2004/03/03(平鍋健児さん)
また、新しい記号を作ったな。。。

UML2 では、丸いインターフェイスの記号をちょうど受けるような形で、「必要とする」インターフェイスを書きます。

━○ 提供するインターフェイス(provided interface)
━C 必要とするインターフェイス(required interface) 
┏━━━┓      ┏━━━━┓
┃テレビ┣━━C○━━┫アンテナ┃
┗━━━┛ RG58 ┗━━━━┛
(本来Cが○の左半分を覆うように噛み合って書かれます。) 

この2つが、蝶番(ちょうつがい)のように組み合わされば、そのインターフェイスを通じて、2つのクラスを結合することができます。

from 同32号 2004/01/28
ううむ。UML本の改訂時にはかなり注意しないといけない。。

なお、この連載は、書籍紹介記事でも取り上げた、Martin Fowler 著の"UML Distilled"の第3版が出版されたことが動機です。連載では、この書籍をもとに、正確な仕様記述でなく、実際に図を書くときの注意点としての変更をわかりやすく解説していこうと考えています。

◆図の種類
まず始めに、UML2の全図(13個)の名前を、分類とともに示します。

(構造図)
 ┣クラス図          (Class Diagram)
 ┣コンポーネント図      (Component Diagram)
 ┣コンポジットストラクチャ図 (Composite Structure Diagram)
 ┣配置図           (Deployment Diagram)
 ┣オブジェクト図       (Object Diagram)
 ┗パッケージ図

(振る舞い図)
 ┣アクティビティ図      (Activity Diagram)
 ┣ユースケース図       (Use case Diagram)
 ┣ステートマシン図      (State machine Diagram)
 ┗(相互作用図)
  ┣シーケンス図       (Sequence Diagram)
  ┣コミュニケーション図   (Communication Diagram)
  ┣相互作用概観図       (Interaction overview Diagram)
  ┗タイミング図       (Timing Diagram)

括弧内の図は、「分類」であり、具体的な図ではありません。具体的な図は13個です。
「コンポジットストラクチャ図」、「相互作用概観図」、「タイミング図」が新しく追加されています。

  • コンポジットストラクチャ図  実行時の、クラスの内部構造を表現する図。クラスの内部を階層的に表現できます。コンポーネントの表現に適しています。
  • 相互作用概観図  アクティビティ図の各アクティビティの中に、シーケンス図を描いた図。複数のシーケンス図をアクティビティ図を使ってつないだ、と捉えることもできます。
  • タイミング図  複数のオブジェクトの状態変化を、横軸を実時間として描いた図。特に、リアルタイム制御系などで、実時間の制約を表現したいときに使えます。

コラボレーション図が見当たりませんが、どうしたのでしょう。実は、「コミュニケーション図」と名前を変えてしまったのです。理由は、「コラボレーション」という概念と名前が衝突したためです。コラボレーションは、UML1でも、パターンなどの表記に使われていましたね。また、「ステートチャート」も「ステートマシン」と名称変更されています。