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

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

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

問題

デザインパターンの中のストラテジパターンを用いて,帳票出力のクラスを図のとおりに設計した。この帳票出力ストラテジクラスの説明のうち,適切なものはどれか。
コンテキストが帳票出力ストラテジを集約し,PDF帳票出力ストラテジとHTML帳票出力ストラテジがそれを継承するクラス図。
コンテキストが帳票出力ストラテジを集約し,PDF帳票出力ストラテジとHTML帳票出力ストラテジがそれを継承するクラス図。

選択肢

  1. ア
    クライアントは,どの帳票出力ストラテジクラスがどのフォーマットに対応するかを意識せずに利用できる。
  2. イ
    新規フォーマット用のアルゴリズムの追加が容易である。
  3. ウ
    帳票出力ストラテジクラスの中で,どのフォーマットで帳票を出力するかの振分けを行っている。
  4. エ
    帳票出力のアルゴリズムは,コンテキストクラスの中に記述する。
解き方のヒントを見る

判断の根拠と前提を整理する

まず、与えられた情報のうち、何が明示された前提で、何が自分の推測なのかを分けて整理しましょう。知っている用語から結論を急がず、判断の根拠がその前提に支えられているかを確かめることが大切です。

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

この分野の問題では、判断に使う前提を明確にする観点に絞って考えてみましょう。ある解釈が思い浮かんだら、それを支える記載を確認し、経験や慣れから補った条件が混ざっていないかを点検してください。

視点

判断の根拠を整理するときは、明示されている事実と、自分が補った仮定を区別します。用語から連想した内容も、与えられた情報に裏付けがあるかを確認する対象として扱いましょう。

確認ポイント

  • 判断に使う前提は明示されているか
  • 解釈を支える根拠はどこにあるか
  • 自分で補った仮定が混ざっていないか
正解と解説を見る

正解

イ

解説

正解はイです。ストラテジパターンは、形式ごとの帳票出力アルゴリズムを具体的なストラテジクラスに分離します。共通の操作を備えたクラスを追加することで、新しい出力形式に対応しやすくなります。

理由

図では、PDF帳票出力ストラテジとHTML帳票出力ストラテジが、帳票出力ストラテジを継承し、それぞれ帳票出力操作を持っています。ストラテジパターンでは、このように共通の操作の下でアルゴリズムを分離します。新規フォーマット用の具体的なストラテジを追加しやすいため、イが適切です。

比較

コンテキストはストラテジを利用し、具体的な帳票出力処理を委譲します。共通のストラテジクラス内で形式別の振分けを行うことや、コンテキスト内に形式別のアルゴリズムを記述することが、このパターンの役割分担ではありません。また、図にはクライアントやストラテジの選択処理は描かれていません。一般的なパターンの知識と、図から直接確認できる事実を区別する必要があります。

選択肢ア

これは不正解だよ。一般的なストラテジパターンでは、具体的なストラテジを設定する側が、出力形式とクラスの対応を把握します。共通の操作で呼び出せることと、対応を意識せず選べることは別です。図にはクライアントや選択処理は描かれていません。

選択肢イ(正解)

これは正解だよ。図では、PDF帳票出力ストラテジとHTML帳票出力ストラテジが、共通の帳票出力ストラテジを継承しています。新しい形式にも同じ操作を備えた具体的なストラテジを追加でき、形式ごとのアルゴリズムを分離して拡張しやすくなります。

選択肢ウ

これは不正解だよ。図では、PDF用とHTML用の各クラスが帳票出力操作を持ち、共通の帳票出力ストラテジを継承しています。ストラテジパターンは、具体的なストラテジに形式ごとの処理を分離する設計です。共通クラス内で形式を判定して振り分けるという説明は適切ではありません。

選択肢エ

これは不正解だよ。ストラテジパターンでは、帳票出力の具体的なアルゴリズムを、PDF用やHTML用のストラテジクラスに記述します。コンテキストは保持しているストラテジの操作を呼び出して処理を委譲します。アルゴリズムをコンテキスト内に記述するという説明は、この役割分担と異なります。

学習のポイント

共通の操作を定めるストラテジと、具体的な処理を実装するクラス、処理を委譲するコンテキストの役割を理解しましょう。

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

関連する過去問一覧

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