UMLとは#
システムやソフトウェアの「設計図」を描くための記法
UMLには様々な種類があるが、大別すると「構造図」と「振る舞い図」に分けられる
- 構造図:システムの静的な構造、つまり、どのような要素で構成されているかを表す図
- (例: クラス図、コンポーネント図)
- 振る舞い図:システムの動的な振る舞い、つまり、時間と共にどのように動作し、変化するかを表す図
- (例: シーケンス図、ユースケース図、アクティビティ図)
UMLダイアグラムの解説#
コミュニケーション図#
オブジェクト群がどのようにコラボレーションを行うか記述できる図
- シーケンス図と同様にオブジェクト間の相互作用を表現できるが、時間軸がない。
- オブジェクト間の**連携関係(コネクション)**に焦点を当てている。
クラス図#
クラスの仕様と,クラスの間の静的な関係(汎化,集約,関連など)が記述できる図
- クラスが持つ属性(データ)と操作(メソッド)、およびクラス間の関係性を表現
シーケンス図#
オブジェクト間で送受信するメッセージによる相互作用が表せる図
- オブジェクト間のメッセージのやり取りを、時間軸に沿って表現するのが最大の特徴
オブジェクト図#
ある時点でのオブジェクト(インスタンス)の状態や関係性を記述できる図
- クラス図を具体化したもの
- 特定の時点における、オブジェクト(クラスのインスタンス)の状態や関係性を表すスナップショットのようなイメージ
ユースケース図#
システムの振る舞いを表現する図で、システムに要求される機能を、ユーザーの視点から示した図
ステートマシン図#
一つのオブジェクトの状態が、イベントの発生などによってどのように変化(遷移)するかを記述できる図
- 例えば、「注文」オブジェクトが「受付済」→「発送準備中」→「発送済」と変化していく様子を表現できる
コンポーネント図#
システムのコンポーネント間の物理的な関係が記述できる図
- 物理的な要素(コンポーネント)と、それらの依存関係を表現する
- コンポーネントとは、ライブラリファイル(DLLなど)や実行ファイル(EXEなど)といった、物理的な部品を指す。
アクティビティ図#
多くの並行処理を含むシステムの,業務や処理の「流れ(フロー)」を表現する図
- 業務や処理の流れ(フロー)、特に分岐と並行処理を表現する