応用情報技術者試験ナビ ロゴ 応用情報技術者試験ナビ
合格発表日:2025年7月3日(あと66日)

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

問題

商品の注文を記録するクラス(顧客、商品、注文、注文明細)の構造を概念データモデルで表現する。 a~dに入れるべきクラス名の組合せはどれか。 ここで、顧客は何度も注文を行い、一度に一つ以上の商品を注文でき、注文明細はそれぞれ1種類の商品に対応している。 また、モデルの表記にはUMLを用いる。

正解

解説

この問題は、ビジネスにおける「顧客」「注文」「商品」「注文明細」という実体の関係を、UMLによる概念データモデルで適切に表現できるかを問うものです。問題文には各エンティティの関係性が明示されており、それらを正しく読み取る力が求められます。

  1. UMLによる概念データモデルの特徴
    概念データモデルでは、業務上重要な実体(エンティティ)をクラスとして表現し、それらの間の関連(リレーション)を線で接続します。クラス間の多重度(1対1、1対多、多対1など)は、UMLの関連ラベルで明示されます。

  2. 問題文に示された条件の分析
    問題文では、以下のような関係が示されています。
    ・顧客は何度も注文を行う → 顧客:注文=1対多
    ・1回の注文で1つ以上の商品を注文できる → 注文:注文明細=1対多
    ・各注文明細は1種類の商品に対応している → 注文明細:商品=多対1
    これらの関係を正しくモデル化する必要があります。

  3. 正しいクラス配置の判断
    以上の条件に基づいてモデルを確認すると、
    ・顧客 → 注文(1対多)
    ・注文 → 注文明細(1対多)
    ・注文明細 → 商品(多対1)
    という構造が、適切なUMLクラス図として成立します。

したがって、a~dに入るクラス名の組合せとして正しいのは、顧客 → 注文 → 注文明細 → 商品の順で接続されたモデルです。この関係性を表す選択肢が正解となります。