SAシステムアーキテクト試験 午前Ⅱ

平成24年度秋期 システムアーキテクト 午前Ⅱ 問4

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

問題

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

選択肢

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

パターンの適用範囲で整理する

ソフトウェアパターンは種類ごとに、どの範囲の問題を対象にしているかが異なります。用語の響きや知名度で判断せず、そのパターンが何を単位として解決策を示しているのかという一つの観点に絞って、提示された内容を照らし合わせてみましょう。

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

問われているのは、各種パターンが開発のどの規模の設計判断に関わるかという位置付けの区別です。個々の名称を暗記しているかよりも、対象範囲の大きさと記述の抽象度が対応しているかを自分の言葉で説明できるかを確認しましょう。

視点

パターンとは、繰り返し現れる問題とその解決策の組を名前付きで再利用できるようにしたものです。種類の違いを区別するときは、個別の名称や例を覚えるより先に、そのパターンが扱う対象の粒度(どれくらいの広さの構造について語っているか)を一本の軸として用意すると整理しやすくなります。軸の上で各種類がどこに位置するかを自分で並べ、提示された記述がその位置と矛盾しないかを検討してください。

確認ポイント

  • それぞれのパターンの種類が、どれくらいの広さの構造を対象にしているかを自分の言葉で説明できるか
  • 対象範囲の広さと、記述されている内容の抽象度の高さが食い違っていないか
  • 名称の印象ではなく、対象範囲という同じ一つの軸で各記述を比べているか
正解と解説を見る

正解

イ

解説

GoFのデザインパターンは、オブジェクト指向開発で利用する設計上の解決策を、生成、構造、振舞いの三つの観点で整理したものです。

理由

GoFのデザインパターンは、オブジェクトの生成方法、クラスやオブジェクトの構造、オブジェクト間の振舞いを扱うパターン群として整理される。このため、生成・構造・振舞いの三カテゴリから構成されるという説明が適切です。

比較

他の選択肢は、Java固有のパターン要素を挙げた説明、別の分類体系を示す説明、またはLayersやBrokerなど特定のアーキテクチャパターンを挙げた説明であり、GoFの分類そのものを表していない。

選択肢ア

これは不正解だよ。引数オブジェクトやオブジェクトの可変性は、Javaに関係する設計上の話題として扱われる要素であり、GoFのデザインパターン全体を分類する名称ではない。GoFの説明として必要な分類軸を示していないため、この記述は該当しない。

選択肢イ(正解)

これは正解だよ。GoFのデザインパターンは、オブジェクト指向開発で利用する設計上の解決策を対象とし、生成、構造、振舞いの3カテゴリに整理される。この分類は、オブジェクトの生成、構成、相互作用という設計上の関心事に対応している。

選択肢ウ

これは不正解だよ。構造、分散システム、対話型システム及び適合型システムという4カテゴリは、GoFのデザインパターンを整理する分類として示されていない。GoFはこの4分類ではなく、別の三つの観点でパターンを分類している。

選択肢エ

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

学習のポイント

GoFの三分類と、それぞれが扱う設計上の関心事を結び付けて覚える。

出典:独立行政法人 情報処理推進機構(IPA)平成24年度秋期 システムアーキテクト試験 午前Ⅱ 問4(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

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