小さなツールやプログラムでも、作成しているうちに設計を見直す必要が出たりします。
そういった場合に全体を見渡すために JavaScriptやJavaで構成を考えたりしますが、
他の文献やウェブサイトを参照すると、有用なパターンをUMLで記述している事が多いことに気づきます。

そこで本当に遅ればせながら、UMLの基本について勉強していこうと思いました。

概要
・UMLとは
 Unified Modeling Language; 統一モデリング言語
 オブジェクト指向設計のために標準化された言語
 最初期は Rational Software のスリーアミーゴスが作成し、その後にOMGが策定

 ・スリーアミーゴス (括弧内は現在の所属)
 Grady Booch (IBM)
 Ivar Hjalmar Jacobson (Microsoft)
 Dr. James Rumbaugh (IBM退社、現在不明)

・UMLの中身

表記法
 ダイヤグラム
  ver 1.0系で9種類
  2.0では13種類

 ・1.0系の9種類:  大分類は3種

<構造図> 構造を記述する
クラス図クラスとそれらの関係
オブジェクト図クラスのインスタンスとその関係で、動作しているシステムのある一点での状態
<振る舞い図> 振る舞いを記述する
ユースケース図ユーザーから見たシステムの動作
シーケンス図オブジェクト間のメッセージのやりとりを、時系列順で表記する
コラボレーション図オブジェクトの相互作用やメッセージを、時系列ではなくい順序表現で、関係に注目して表記
ステートマシン図ある開始点から終了点までのオブジェクトの状態遷移を表記
アクティビティ図ある開始点から終了点までのオブジェクトの動作を表記 (フローチャートと類似)

<実装図> 具体的な関係やシステムの実装を記述
コンポーネント図ver 1.0系ではファイル、物理インターフェースなどの直接的な表記を行う
配置図現実のファイルやネットワーク、データベースなど物理システムの構成、配置を表記する


・2.0の13種類: 大分類は2+1種

<構造図> 静的な構造を記述する
クラス図クラスとそれらの関係
オブジェクト図動作システムのある一点でのオブジェクトとそれらの関係
コンポジット構造図クラス、コンポーネントの内部関係の表記
コンポーネント図マクロ的な視点から見たシステムの論理的な構造、インターフェースの接続、依存関係など
配置図ハードウェア、具象プログラム、ファイル群などの配置
パッケージ図クラスの集合であるパッケージの表現
ユースケース図クラスの集合であるパッケージの表現

<振る舞い図>
ステートマシン図ある開始点から終了点までのオブジェクトの状態遷移を表記
アクティビティ図ある開始点から終了点までのオブジェクトの動作を表記 (フローチャートと類似)
相互作用図相互作用に関する物、下記参照。

<振る舞い図 :: 相互作用図>
ユースケース図ユーザーから見たシステムの動作
シーケンス図オブジェクト間のメッセージのやりとりを、時系列順で表記する
コミュニケーション図オブジェクトの相互作用やメッセージを、時系列ではなくい順序表現で、関係に注目して表記、(1.0系におけるコラボレーション図?)
タイミング図詳細な時間単位、時間制約にて状態遷移、メッセージのやりとりなどを表記
相互作用概要図相互作用図の関係をアクティビティ図と似た表記で記述


今回はここまで。