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

令和4年度春期 システムアーキテクト 午前Ⅱ 問2

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

問題

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

選択肢

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

パターンの対象範囲を見極める視点

ソフトウェアパターンは名前が似ていても、扱う問題の大きさや関わる工程が異なります。用語の印象で判断せず、そのパターンがどの範囲の課題を解決するために使われるのかを軸に、提示された内容を一つずつ照らし合わせて考えましょう。

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

この問題で問われているのは、各パターンの細かな手法を覚えているかよりも、それぞれがソフトウェア開発全体の中でどこに位置付けられるかを区別できるかどうかです。扱う対象の範囲に注目して整理してください。

視点

ソフトウェアパターンとは、繰り返し現れる問題とその解決策を、再利用しやすい形にまとめたものです。同じ「パターン」という言葉が付いていても、対象とする範囲や関わる開発工程はパターンごとに異なります。まず、そのパターンが何を単位として考えているのかを自分の言葉で言い直してみると、位置付けを区別しやすくなります。

確認ポイント

  • そのパターンが解決しようとしている問題は、どの程度の大きさ・範囲を対象としたものか
  • パターン名の語感ではなく、対象となる範囲についての記述を根拠に判断できているか
  • 複数のパターンを比べるとき、対象範囲という同じ観点に揃えて比較できているか
正解と解説を見る

正解

イ

解説

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

理由

GoFのデザインパターンは、オブジェクト指向開発における設計上の問題と解決策を扱う。分類は、オブジェクトの生成に関する生成、クラスやオブジェクトの組み合わせに関する構造、処理の分担や協調に関する振る舞いの三つです。

比較

選択肢の中には、Java固有のパターンや、ソフトウェアアーキテクチャを扱うパターン体系の説明も含まれている。したがって、用語が有名かどうかではなく、GoFが対象とする開発領域と分類方法に一致するかを確認する。

選択肢ア

これは不正解だよ。この説明はJavaのパターンとして、引数オブジェクトやオブジェクトの可変性などを挙げている。しかし、GoFのデザインパターンはJava固有のパターンとして定義されたものではなく、オブジェクト指向設計のパターンを三つの分類で整理した体系である。

選択肢イ(正解)

これは正解だよ。GoFのデザインパターンは、オブジェクト指向開発で生じる設計上の問題を扱うパターンであり、生成、構造、振る舞いの三カテゴリに分類される。この対象領域と分類方法が、GoFの説明と一致している。

選択肢ウ

これは不正解だよ。構造、分散システム、対話型システム、適合型システムという四分類は、GoFのデザインパターンが用いる分類ではない。GoFはオブジェクト指向設計を対象に、生成、構造、振る舞いの三カテゴリで整理される。

選択肢エ

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

学習のポイント

GoFの対象領域と三分類を、他のパターン体系と区別して覚える。

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

関連する過去問一覧

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