平成25年度春期 応用情報技術者試験 午前 問45

分野:システム開発技術(要件定義・設計・実装・テスト・レビュー・UML・オブジェクト指向・モジュール分割)|実際に出題されたIPA過去問題

図は“顧客が商品を注文する”を表現したUMLのクラス図である。“顧客が複数の商品をまとめて注文する”を表現したクラス図はどれか。ここで,“注文明細”は一つの注文に含まれる1種類の商品に対応し,“注文”は複数の“注文明細”を束ねた一つの注文に対応する。

問題の図表(IPA公式問題冊子より引用)
図表:IPA公式問題冊子より

※選択肢ア〜エは上の図表内に記載されています。

解答・解説を見る

正解:ア

AI解説

正解はア。「1つの注文が複数の注文明細を束ね、各注文明細は1種類の商品に対応する」という構造をクラス図の多重度で表す。注文と注文明細は1対多(注文明細は注文全体の一部なので強い集約=コンポジションが適切)、注文明細と商品は多対1の関連となる。多対多の「顧客-商品」関係を、注文・注文明細という中間クラスで1対多の連鎖に分解している点が判断基準である。 ア: 正しい。顧客-注文が1対多、注文-注文明細が1対多(コンポジション)、注文明細-商品が多対1という多重度で、複数商品の一括注文を正しく表現している。 イ: 誤り。多重度や集約の向きが問題文の「注文が複数の注文明細を束ねる」「明細は1種類の商品に対応」という条件に合致しない。 ウ: 誤り。注文と注文明細、注文明細と商品の間の多重度の設定が条件を満たしていない。 エ: 誤り。クラス間の関連の構造が、注文を介さず直接関連付けるなど、問題文の構造と一致しない。 💡 受注系のデータモデルは「顧客1-多注文、注文1-多注文明細、注文明細多-1商品」がお決まりのパターン。ひし形(集約・コンポジション)は「全体」側に付くことも覚えておく。

出典:平成25年度 春期 応用情報技術者試験 午前 問45 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「システム開発技術」分野の攻略ポイント

要件定義・設計・実装・テスト・レビュー・UML・オブジェクト指向・モジュール分割を扱います。テスト技法とモジュール結合度・凝集度は、定義を正確に押さえていれば計算も暗記も不要で確実に得点できます。

システム開発技術の攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(システム開発技術(要件定義・設計・実装・テスト・レビュー・UML・オブジェクト指向・モジュール分割))の過去問