応用情報技術者試験ナビ ロゴ 応用情報技術者試験ナビ
本日は試験日

応用情報技術者試験 令和5年春 午前問29 解説付き過去問

問題

UMLを用いて表した図のデータモデルのa、bに入れる多重度はどれか。

〔条件〕
  • 部門には1人以上の社員が所属する。
  • 社員はいずれか一つの部門に所属する。
  • 社員が部門に所属した履歴を所属履歴として記録する。

正解

解説

この問題は、UML(Unified Modeling Language)のクラス図における「多重度(multiplicity)」の理解を問うものです。多重度は、あるクラスのインスタンスが他のクラスのインスタンスとどのような関係で関連付けられるかを示します。

  1. 条件から読み取れる関係性
    設問に記載された条件を整理すると、次のようになります。
    ・部門には1人以上の社員が所属する → 社員は最低1人存在しうる(aは1以上)
    ・社員はいずれか一つの部門に所属する → 所属は1つに限定される
    ・社員が部門に所属した履歴を記録する → 所属履歴は1人の社員が複数もつことがある(bは1以上)

  2. クラス図の読み取り
    「所属履歴」という中間クラスが、社員と部門の多対多の関係を解消し、それぞれと1対多の関係になっていることに注目します。
    ・1つの部門には、1件以上の所属履歴が存在する → aの多重度は1..*
    ・1人の社員は、1件以上の所属履歴をもつ → bの多重度は1..*

  3. 正しい多重度
    以上を踏まえて、UMLの関連に設定する多重度は以下のようになります。
    ・a(部門から所属履歴への多重度):1..*
    ・b(社員から所属履歴への多重度):1..*

したがって、aとbの多重度がともに1..*である選択肢が正解です。