基本情報技術者試験など情報処理技術者試験を受験する方にとっては必須の,UMLについてシンプルにまとめています。UML(Unified Modeling Language:統一モデリング言語)の概要,構造図(クラス図,オブジェクト図,コンポーネント図,配置図,コンポジット構造図,パッケージ図),振る舞い図(アクティビティ図,ステートマシン図(状態遷移図),ユースケース図,コミュニケーション図,シーケンス図,相互作用概要図,タイミング図)について説明します。各図の特徴を,しっかり覚えましょう。
UML(Unified Modeling Language:統一モデリング言語)
UMLは,オブジェクト指向設計で用いられる表記法です。分析・設計からテストまで,各工程における図の表現方法として普及しています。
構造図
構造図は,システムの静的な振る舞いを表現します。
クラス図
クラス図は,属性(データ)と操作(メソッド)をカプセル化して定義した各クラスの相互関係(関連,汎化,集約,多重度など)を表現する図です。
※ オブジェクト指向開発の各フェーズに合わせた詳細度で記述する
※ クラスについては,「オブジェクト指向設計-クラス -情報処理シンプルまとめ」を参照
オブジェクト図
オブジェクト図は,クラスから生成される各インスタンスの関係を表現する図です。
※ ある時点における各オブジェクトの状況を把握できる
コンポーネント図
コンポーネント図は,各コンポーネントの依存関係を表現する図です。
※ コンポーネント…インタフェースを持つクラス
配置図
配置図は,コンポーネントの配置などを表現する図です。
コンポジット構造図
コンポジット構造図は,システムの内部構造を詳細に表現する図です。
パッケージ図
パッケージ図は,各パッケージの汎化・依存関係を表現する図です。
※ パッケージ…関連するクラスやコンポーネント
振る舞い図
振る舞い図は,システムの動的な振る舞いを表現します。
アクティビティ図
アクティビティ図は,業務や処理の実行順序を表現する図です。
※ フローチャートと違い,並行処理を表現できる
※ 上流工程で業務の流れを分析する際にも使用できる
ステートマシン図(状態遷移図)
ステートマシン図は,1つのオブジェクトの状態が,イベントによりどのように変化するかを表現する図です。
※ 状態遷移図の例は,「ソフトウェア要件定義・ソフトウェア方式設計・ソフトウェア詳細設計-ソフトウェア要件定義(外部設計)-ソフトウェア要件の確立-業務モデルの作成-状態遷移図 -情報処理シンプルまとめ」を参照
ユースケース図
ユースケース図は,システムが提供する機能とサービスの範囲を表現する図です。
※ システム化の範囲や機能,外部との関係を明らかにできる
コミュニケーション図
コミュニケーション図は,各オブジェクトの相互作用(メッセージの送受信)を関連に着目して表現する図です。
※ オブジェクト図に動的な表現を加えたような図
※ シーケンス図は時系列に表現するが,コミュニケーション図は各オブジェクトの関連に着目して表現する
シーケンス図
シーケンス図は,各オブジェクトの相互作用(メッセージの送受信)を時系列に表現する図です。
※ シーケンス図は時系列に表現するが,コミュニケーション図は各オブジェクトの関連に着目して表現する
相互作用概要図
相互作用概要図は,シーケンス図やアクティビティ図に記述した各オブジェクトのメッセージのやり取りを,その関係に着目して表現する図です。
タイミング図
タイミング図は,オブジェクトの状態の変化を,時間の流れに沿って表現する図です。
まとめ
今回は,UMLついて,シンプルにまとめてみました。実際の試験でも問われる内容ですので,しっかり覚えるようにしましょう。