過去問解きまくり研究所 ホーム

令和7年度 秋期 午前Ⅱ 問21

システム開発技術

UMLに関する問題

データモデルを解釈してオブジェクト図を作成した。解釈の誤りを適切に指摘した記述はどれか。ここで,モデルの表記にはUMLを用い,オブジェクト図の一部の属性の表示は省略した。

データモデル(原典は図。UMLのクラス図。クラス名・属性と関連の多重度を書き写した):

[顧客]          [注文]          [商品]
顧客番号          注文番号          商品番号
顧客名            注文日            商品名
住所              注文数            価格

顧客 1 ――――― * 注文 * ――――― 1 商品

オブジェクト図(オブジェクト名は原典では下線付き):

オブジェクト
  A商店:顧客
  B産業:顧客
  123456:注文(注文日=2025-03-18,注文数=2)
  123457:注文(注文日=2025-03-18,注文数=1)
  123459:注文(注文日=2025-03-20,注文数=3)
  47型テレビ:商品
  2ドア冷蔵庫:商品
  ドラム式洗濯機:商品

リンク
  A商店:顧客 ――― 123456:注文
  A商店:顧客 ――― 123457:注文
  B産業:顧客 ――― 123459:注文
  123456:注文 ――― 47型テレビ:商品
  123456:注文 ――― 2ドア冷蔵庫:商品
  123457:注文 ――― 2ドア冷蔵庫:商品
  123459:注文 ――― 2ドア冷蔵庫:商品
  ドラム式洗濯機:商品 にはリンクなし
答えと解説を見る

✓ これが正解ア“123456:注文”が複数の商品にリンクしているのは,誤りである。

解説

注文1件が結べる商品は1個なので、複数商品へのリンクは誤りです。

UMLのクラス図では、関連の両端に書く多重度が、相手側のオブジェクトにいくつ結び付くかを表します。見分ける軸は、どちらの端の数を読むかです。このデータモデルでは、注文と商品の関連のうち商品の側の端に1が書かれているので、注文1件が結び付く商品はちょうど1個です。ところがオブジェクト図では、123456の注文が47型テレビと2ドア冷蔵庫の二つの商品にリンクしており、この多重度に反します。一方、顧客と注文の関連でも注文と商品の関連でも、注文の側の端は*なので、一つの顧客が複数の注文を持つことも、一つの商品が複数の注文や0件の注文と結ばれることも許されます。相手の端に書かれた数を読む、と覚えると多重度の向きを取り違えません。

ほかの選択肢はなぜ違うのか

出典:令和7年度 秋期 システム監査技術者試験 午前Ⅱ 問21

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)