令和5年度 春期 ITストラテジスト試験 システムアーキテクト試験 ネットワークスペシャリスト試験 ITサービスマネージャ試験 情報処理安全確保支援士試験 午前Ⅰ 問題【共通】 問9

テクノロジシステム開発技術データベース

この問題は2023(R5)春 高度試験共通 午前Iに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

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

〔条件〕

  1. 部門には1人以上の社員が所属する。
  2. 社員はいずれか一つの部門に所属する。
  3. 社員が部門に所属した履歴を所属履歴として記録する。
UMLのデータモデル図
図の説明テキスト

図中空欄: a, b

  • クラス「部門」: 属性として「部門コード」「部門名」などを持つ。
  • クラス「所属履歴」: 属性として「開始日」「終了日」などを持つ。
  • クラス「社員」: 属性として「社員コード」「氏名」などを持つ。
  • 「部門」と「所属履歴」の間に直線の関係があり、部門側の多重度は「1」、所属履歴側の多重度は空欄「a」となっている。
  • 「所属履歴」と「社員」の間に直線の関係があり、所属履歴側の多重度は空欄「b」、社員側の多重度は「1」となっている。

解答・解説を読む

正解: 選択肢

UMLのクラス図における多重度の表記に関する問題です。

与えられた条件から、各クラス間の関連における多重度を読み解きます。

  • 条件1「部門には1人以上の社員が所属する」
    「部門」クラスから見た「社員」クラスの多重度(a)は、「1人以上」を表すため 1..* となります。
  • 条件2「社員はいずれか一つの部門に所属する」
    「社員」クラスから見た「部門」クラスの多重度は、「1つ」を意味する 1 となります(今回は問われていません)。
  • 条件3「社員が部門に所属した履歴を所属履歴として記録する」
    社員は入社と同時にいずれか一つの部門に所属する(条件2)ため、最低でも1つの所属履歴が記録されます。したがって、「社員」クラスから見た「所属履歴」クラスの多重度(b)は、1つ以上を表す 1..* となります。

以上より、a には 1..*b には 1..* が入るのが適切です。

各選択肢の解説

  • ア(a: 0..*, b: 0..*: 「部門に社員が誰も所属していない(0人)」ことや、「社員に所属履歴が全くない」ことを許容する多重度であるため誤りです。
  • イ(a: 0..*, b: 1..*: a について、社員が所属しない部門の存在を許容してしまっているため誤りです。
  • ウ(a: 1..*, b: 0..*: b について、社員の所属履歴が存在しないことを許容してしまっているため誤りです。
  • エ(a: 1..*, b: 1..*: 正解です。どちらも「1以上」の条件を満たしています。