令和7年度 III-25

科目: 専門科目 / 分野: 情報工学部門 / 年度: 令和7年度

III-25 問題画像

出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」

カテゴリ要素を抽象的な親クラス、商品とカテゴリをその子クラスとし、カテゴリが子(0..*)としてカテゴリ要素を集約する(Compositeパターン)クラス図に適合するオブジェクト図を選ぶ問題。

解説

この問題で問われていること

自己集約を持つクラス図(Compositeパターン)に適合するオブジェクト図を選ぶ問題。

解き方

① オブジェクト図の各オブジェクトは、実際に作られる具体的なクラスのもの。子を持てる(親になれる)のは集約のひし形が付いた「カテゴリ」だけ
② 上の親オブジェクトは:カテゴリ → ②③。②は下の:カテゴリが上の:カテゴリの「親」になる逆向きのリンクがあり、親子が循環する
③ ③

正解が正しい理由

クラス図では、「カテゴリ要素」が汎化の親クラスで、「商品」と「カテゴリ」がその子クラスである。「カテゴリ」は、集約(白ひし形)で、複数(0..*)の「カテゴリ要素」を子として持ち、各「カテゴリ要素」の親は1つの「カテゴリ」である。「カテゴリ要素」は抽象的な上位クラスであり、そのインスタンスそのものは作られず、実際のオブジェクトは「商品」か「カテゴリ」のインスタンスとなる。したがって、親となる「:カテゴリ」オブジェクトが、子として「:商品」と「:カテゴリ」オブジェクトを持つ③が適合する。

各選択肢について

覚えるべきポイント

Compositeパターンでは、共通の親クラス(カテゴリ要素)から、葉(商品)と合成物(カテゴリ)を派生させ、合成物が子(0..*)を持つ再帰的な木構造を作る。オブジェクト図の親は、子を持てる合成物(カテゴリ)のインスタンスである。

キーワード: UML、クラス図、オブジェクト図、Compositeパターン、集約、抽象クラス、情報工学部門