問題
UMLのダイアグラムに関する記述として、最も適切なものはどれか。
UMLとは、オブジェクト指向のソフトウェア開発において、データ構造や処理の流れなどソフトウェアに関連する様々な設計や仕様を図示するための記法を定めたものです。
オブジェクト指向とは、データと処理手順を一塊のオブジェクトととらえ、そのオブジェクトを組み合わせてソフトウェア等を開発していく手法です。
よってUMLとは、プログラムを作っていくための図の書き方のルールと考えていただければいいかと思います。そして、UMLにはいくつかの図の書き方(手法)があります。今回の問題はその知識が問われています。
大きく2つに分類されます。
一つは構造図。全体の構造をまとめる図のルールです。クラス図、オブジェクト図、コンポーネント図、配置図、パッケージ図があります。
もう一つは振る舞い図。これはオブジェクト間の相互作用やビジネスプロセスの振る舞い(動き)を表すものです。 ユーズケース図、相互作用図(シーケンス図、コラボレーション図)、ステートマシン図、アクティビティ図があります。
1のアクティビティ図はシステム動作の流れを表す図になり、この説明はユースケース図の説明になります。ユースケース図はシステムが提供する機能、及び利用者や他システムなどの外部との関係を表しています。
2のオブジェクト図はクラス図と関係があります。クラス図が概念等を表す設計図なのに対して、オブジェクト図はそのクラス図でできる実態のものの関係等を表します。例えばバスのクラス図は、タイヤや車体などのつながりを表すものですが、それに基づき出来た実際のバスはインスタンスと呼ばれます。そのインスタンス同士の関係を記述するのがオブジェクト図になります。2は実態ではなく、概念等を表すものとありますので、これはクラス図の記載になります。
3のシーケンス図はプログラムの処理の流れや全体の概要を設計する際に使われるものです。クラスやオブジェクト間のやり取りを時間軸に沿って表現します。よって3は正しい記載です。
4のステートマシン図は状態遷移図とも呼ばれ、状態がどのように変わるかを図に示したものです。例えばスイッチオンとオフで状態が変わるといったことを表します。よって5の記載がステートマシン図ですので、4は誤りです。これはアクティビティ図の説明です。アクティビティ図はフローチャート図とも呼ばれ、状態が変わって最終的にどのような状態になっていくのかを矢印で表していきます。
5のユースケース図はユーザー視点でシステムの利用例を表現する図の表し方です。
よって、正解は3です。
これらは文字では理解しにくい部分もありますので、図等を参照しながら確認していくのが理解の早道です。
1.誤り。ユースケース図の説明です。
2.誤り。クラス図の説明です。
3.正しい。シーケンス図は、オブジェクト間で発生するメッセージのやりとりを時系列に並べた図です。
4.誤り。アクティビティ図の説明です。
5.誤り。ステートマシン図の説明です。
また、オブジェクト図とは、システムのある時点におけるオブジェクト間の関係を記述する図である。