UML:オブジェクト指向分析・設計において用いられる統一モデリング言語
UMLのダイアグラム
- 構造図:システム構造を示す図
- クラス図:クラスの定義や、関連付けなど、クラス構造をあらわす
- オブジェクト図:クラスを実体化させるインスタンスの具体的な関係を表す
- パッケージ図:クラスなどがどのようにグループ化されているかをあらわす
- コンポーネント図:処理を構成する複数のクラスを1つのコンポーネントとみなし、その内部構造と相互の関係を表す
- 複合構造図:複数クラスを内包するクラスやコンポーネントの内部構造を表す
- 配置図:システムを構成する物理的な構造を表す
- 振る舞い図:システムの振る舞いを示す図
- ユースケース図:利用者や外部システムからの要求に対してシステムがどのような振る舞いをするかを表す
- アクティビティ図:システム実行時における、一連の処理の流れや状態遷移を表す。フローチャート的なモノ。
- 状態マシン図:イベントによって起こる、オブジェクトの状態遷移を表す
- シーケンス図:オブジェクト間のやり取りを時系列に沿ってあらわす
- コミュニケーション図:オブジェクト間の関連と、そこで行われるメッセージのやり取りを表す
- 相互作用概要図:ユースケース図やシーケンス図などを構成要素として、より大枠の処理の流れを表す。アクティビティ図の変形。
- タイミング図:オブジェクトの状態遷移を時系列で表す
クラス図
クラスの定義や関連付けを示す図。クラス内の属性と操作を記述し、クラス同士を線でつないで互いの関係をあらわす。
関連 | A━B | 基本的なつながりをあらわす |
集約 | A◇━B | クラスBはクラスAの一部である。ただし両社のライフサイクルに依存関係はない |
コンポジション | A🔶━B | クラブBはクラスAの一部である。クラスAが削除されるとクラスBも併せて削除される |
依存 | A<…B | クラスAが変更された時にクラスBも変更が生じる依存関係にある |
汎化 | A◁━B | クラスBはクラスAの性質を継承している。クラスAがスーパークラスであり、クラスBはサブクラスの関係にある |
実現 | A◁…B | 抽象的な定義にとどまるクラスAの振る舞いを具体的に実装したものがクラスB |
ユースケース図
利用者視点でシステムが要求に対してどのようにふるまうかを示す図。
- 人型の図:アクター … 誰かを示す
- 楕円形:ユースケース … 何を行うかを示す
アクティビティ図
業務や処理のフローを表す図。処理の開始と終了までの一連の流れを実行される順番通りに図示する
シーケンス図
オブジェクト間のやり取りを時系列に沿ってあらわす図。