平成26年度秋期 応用情報技術者試験 午前 問27
その月に受注した商品を,顧客ごとにまとめて月末に出荷する場合,受注クラスと出荷クラスとの間の関連のa,b に入る多重度の組合せはどれか。ここで,出荷のデータは実績に基づいて登録される。また,モデルの表記には UML を用いる。

- ア a:1 b:1..*
- イ a:1 b:0..1
- ウ a:1..* b:0..1
- エ a:1..* b:1..*
解答・解説を見る
正解:ウ
AI解説
月内に受注した商品を顧客ごとにまとめて月末に一括出荷するので、1回の出荷は1件以上の受注に対応する(受注側a:1..*)。一方、受注した時点ではまだ出荷されておらず、出荷データは実績に基づいて登録されるため、1件の受注に対応する出荷は0または1件である(出荷側b:0..1)。 ア: b:1..*は1件の受注が複数の出荷に対応することになり、まとめて一括出荷する前提に反する。またa:1では「まとめる」ことを表せない。 イ: a:1では1回の出荷が1件の受注にしか対応せず、「顧客ごとにまとめて出荷」を表現できない。 ウ: 正しい。出荷は1件以上の受注をまとめ(1..*)、受注から見た出荷は出荷前が0、出荷後が1なので0..1である。 エ: b:1..*では受注が必ず出荷済みかつ複数出荷に分かれることになり、実績登録の前提と「まとめ出荷」に反する。 💡 UMLの多重度は「相手側から見た自分の数」を記す。「まだ発生していない実績データ」との関連は0..1や0..*になるのが定番パターンで、「実績に基づいて登録」という文言が0を含むヒントである。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。