令和3年度春期 応用情報技術者試験 午前 問29
商品の注文を記録するクラス(顧客,商品,注文,注文明細)の構造を概念データモデルで表現する。a~dに入れるべきクラス名の組合せはどれか。ここで,顧客は何度も注文を行い,一度に一つ以上の商品を注文でき,注文明細はそれぞれ1種類の商品に対応している。また,モデルの表記にはUMLを用いる。

- ア a:顧客, b:注文, c:注文明細, d:商品
- イ a:商品, b:注文, c:注文明細, d:顧客
- ウ a:注文, b:注文明細, c:顧客, d:商品
- エ a:注文明細, b:商品, c:注文, d:顧客
解答・解説を見る
正解:ア
AI解説
業務ルール(顧客は何度も注文でき、1回の注文で複数の商品を注文でき、注文明細はそれぞれ1種類の商品に対応する)をUMLの多重度で表現すると、「顧客」と「注文」、「注文」と「注文明細」、「注文明細」と「商品」という関連の連なりになる。この対応関係に整合するクラス名の組合せは、a:顧客, b:注文, c:注文明細, d:商品である。 ア: 正しい。顧客が複数回注文を行い、一つの注文が複数の注文明細を持ち、各注文明細が1種類の商品に対応するという業務ルールに整合するクラス名の並びである。 イ: 商品を起点にするクラス名の並びは、顧客が複数回注文するという業務ルールにおける関連の向き・多重度と整合しない組合せである。 ウ: 注文を起点にするクラス名の並びは、顧客・注文・注文明細・商品の関連構造(多重度)と整合しない組合せである。 エ: 注文明細を起点にするクラス名の並びは、業務ルールが示す関連の連なりと整合しない組合せである。 💡 概念データモデルの問題では、まず業務文章から「誰が」「何を」「何回」行うかという多重度(1対多など)を読み取り、それに沿ってクラス間の関連の向きを確認するのが解法の基本である。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。