PMプロジェクトマネージャ試験 午前Ⅱ

令和6年度秋期 プロジェクトマネージャ 午前Ⅱ 問13

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

ソフトウェアパターンのうち、GoF のデザインパターンの説明はどれか。

選択肢

  1. ア
    Java のパターンとして、引数オブジェクト、オブジェクトの可変性などで構成される。
  2. イ
    オブジェクト指向開発のためのパターンであって、生成、構造、振る舞いの三つのカテゴリに分類される。
  3. ウ
    構造、分散システム、対話型システム及び適合型システムの四つのカテゴリに分類される。
  4. エ
    抽象度が異なる要素を分割して階層化するための Layers,コンポーネント分割のための Broker などで構成される。
解き方のヒントを見る

パターン分類を適用範囲で整理する

ソフトウェアパターンは、種類ごとに扱う対象や使われる場面が異なります。各用語が何を対象にした知見の集まりなのかを自分の言葉で説明できるか確かめながら、問われている内容と用語の対応を一つずつ照らし合わせましょう。

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

確認すべき観点は一つで、各パターンがどの範囲・粒度の問題を対象にしているかです。名称の印象や一部の語句だけで判断せず、そのパターンが解決しようとする問題の大きさと位置付けを基準に考える姿勢が求められます。

視点

パターンとは、繰り返し現れる問題とその解決策の組を、再利用できる形にまとめた知見です。種類の違いを理解するには、個々の具体例を暗記するよりも、それぞれがどの範囲の問題を扱う知見なのかという軸で自分なりに整理しておくと、似た用語どうしを混同しにくくなります。

確認ポイント

  • そのパターンが扱う問題の範囲は、全体に関わるものか、一部分に関わるものかを自分で説明できるか
  • 名称に含まれる語の印象だけで対象範囲を決めつけていないか
  • 問われている内容の対象範囲と、用語が本来扱う範囲の大きさが一致しているかを確かめたか
正解と解説を見る

正解

イ

解説

GoFのデザインパターンは、オブジェクト指向設計で利用される代表的なパターンを、生成、構造、振る舞いの三つに分類して整理したものです。

理由

GoFのデザインパターンは、オブジェクト指向開発における設計上の典型的な問題を扱う。分類は、オブジェクトの生成に関するもの、クラスやオブジェクトの構造に関するもの、相互作用や責務などの振る舞いに関するものの三つです。

比較

Java固有のパターンや、分散システム・対話型システムなどを分類軸とするパターン集の説明は、GoFのデザインパターンの整理とは異なる。また、LayersやBrokerはアーキテクチャパターンの例であり、GoFの三分類を示すものではありません。

選択肢ア

これは不正解だよ。記述されている引数オブジェクトやオブジェクトの可変性などは、Javaのパターンとして示された特徴である。しかし、GoFのデザインパターンはJava固有のパターンとして構成されるものではなく、オブジェクト指向設計に広く適用されるパターンを扱うため、この説明は一致しない。

選択肢イ(正解)

これは正解だよ。GoFのデザインパターンは、オブジェクト指向開発で繰り返し現れる設計上の問題を解決するためのパターンである。パターンは、オブジェクト生成、構成要素の構造、オブジェクト間の相互作用や責務に関する振る舞いの三つのカテゴリに分類される。

選択肢ウ

これは不正解だよ。構造、分散システム、対話型システム及び適合型システムという四分類は、GoFのデザインパターンにおける分類ではない。GoFはオブジェクト指向設計のパターンを対象とし、分類も三つの設計目的に基づいて整理されている。

選択肢エ

これは不正解だよ。Layersは抽象度の異なる要素を階層化するパターン、Brokerは分散したコンポーネント間の連携を扱うパターンとして説明される。これらはアーキテクチャパターンの例であり、GoFのデザインパターンの三分類を説明したものではない。

学習のポイント

GoFの三分類と、他のパターン集やアーキテクチャパターンとの違いを覚える。

出典:独立行政法人 情報処理推進機構(IPA)令和6年度秋期 プロジェクトマネージャ試験 午前Ⅱ 問13(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針