UMLのクラス図とは【基本情報技術者試験】【書き方も解説】

今回は情報処理技術者試験によく出題されるUMLのクラス図について解説していこうと思います。

この記事では、基本情報技術者試験対策として、過去問を用いてクラス図の基礎を解説していきます。

UMLのクラス図とは

そもそもUMLとは

そもそもUMLとは、Unified Modeling Languageの略で、オブジェクト指向のソフトウェア開発においてソフトウェアの設計を図示するための表記法です。

オブジェクト指向とは、データ(属性)とその振る舞い(メソッド)をオブジェクトとしてまとめ、処理対象として扱う考え方です。

UMLという表記法は、以前までバラバラで統一されていなかったオブジェクト指向のソフトウェア開発の表記法を標準化するために考え出されました。

UMLで定義されている図には主に以下のものがあり、クラス図はその一つです。

  • クラス図
  • オブジェクト図
  • アクティビティ図
  • シーケンス図

今回はこの中で最も重要なクラス図についてのみ説明していこうと思います。

UML2.0
UMLは2005年にUML2.0にバージョンアップされ、基本情報技術者試験では最新バージョンであるUML2.0についての問題が出題されます。

クラス図とは、クラス図の書き方

クラス図とは、クラス同士の関係を表す図のことです。

システムの構造を記述する静的な構造図です。

クラスとは、オブジェクトを抽象化して定義したもので、ひな形(テンプレート)のような存在です。
また、ひな形であるクラスの定義に基づいて生成される具体的な値をもった実体がオブジェクトです。
車で例えると、クラスは「設計図」でオブジェクトが「設計図から製造された車」です。
クラスはひな形なので、それをもとにして複数のインスタンスが生成できます。(クラスをもとに生成したオブジェクトの実体をインスタンスといいます。)

クラス図は以下のように長方形の枠の中にクラス名データ(属性)、メソッド(手続)の3つを記入します。

クラス同士の関係には

  • 汎化(継承)
  • 関連
  • 集約
  • コンポジション
  • 依存
  • 実現

の6つがあります。

それぞれ以下のように表記します。(少し図が下手なのは許してください笑)

基本情報技術者試験対策としては、汎化のみ覚えておけば問題ありません。

また、クラス図には1や*などの多重度を表す記号が添えられることがあります。多重度とはクラス間の量の関係を表す度合いのことです。

多重度を表す記号には以下のものがあります。

…1(そのまま)

…任意の整数

0..1…0から1の範囲

1..*…1以上(1~任意の整数)

「..」は範囲を表します。

例えば下図のように表します。

車一つに対してタイヤが複数あるという意味になります。

クラス図では、データとメソッドを省略したりクラス名のみを書いたりする場合もあります。

基本情報技術者試験過去問

まず以下の2つの問題を解いてみましょう。

問1.

UMLのクラス図において、集約の関係にあるクラス図はどれか。

基本情報技術者試験ドットコムより

ア.クラスA と クラスB
イ.クラスA と クラスC
ウ.クラスB と クラスD
エ.クラスC と クラスD
                               平成18年春期 午前問39

問2.

UMLのクラス図に記述するものはどれか。

基本情報技術者試験ドットコムより

ア.アクティベーション, オブジェクト, ライフライン
イ.オブジェクト, メッセージフロー, リンク
ウ.初期状態, 終了状態, 遷移
エ.操作, 属性, ロール名
                               平成19年秋期 午前問45


問1.解答

UMLのクラス図におけるクラス間の関係は以下のようになるので、答えは「イとなります。


問2.解答

ア.シーケンス図に記述するものなので誤り。

イ.コミュニケーション図に記述するものなので誤り。

ウ.状態遷移図に記述するものなので誤り。

エ.正しい。ロール名とは、関連におけるそれぞれのクラスの役割を示すものです。

まとめ

今回はUMLのクラス図について解説してきました。

UMLの中でもクラス図は特に重要で、基本情報技術者試験にもよく出題されるのでしっかりと抑えておきましょう!

ここまでご精読いただきありがとうございました。

コメント

タイトルとURLをコピーしました