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

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

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

問題

Pattern-Oriented Software Architecture(POSA)のアーキテクチャパターンのうち,ソフトウェアをメタレベルとベースレベルの二つのレベルに分割し,ソフトウェアの構造と振る舞いとを動的に変更できる仕組みを提供しているものはどれか。

選択肢

  1. ア
    Broker
  2. イ
    Microkernel
  3. ウ
    Model-View-Controller
  4. エ
    Reflection
解き方のヒントを見る

構成要素の関係から名称を考える

アーキテクチャの名称を対応付けるときは、名前の印象や語感に頼らず、構成要素どうしがどのような関係で結び付いているかという一つの観点に絞って、記述内容を自分の言葉で整理し直してから判断することが大切です。

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

問われているのは用語の暗記そのものではなく、構造の記述から要素間の関係性を読み取る力です。どの要素がどの要素に働きかけ、情報や制御がどちら向きに流れるのかを意識しながら、与えられた内容を丁寧に読み解きましょう。

視点

アーキテクチャパターンの名称は、システムを構成する要素の分け方と、それらの結び付け方に着目して付けられていることが多くあります。個々の名称を覚えるだけでなく、要素どうしの依存関係や相互作用のしかたを簡単な図や自分の言葉で描き直してみると、名称と構造の対応を自分で確かめやすくなります。

確認ポイント

  • 記述の中に登場する構成要素を洗い出し、それぞれの役割を短い言葉で言い表せるか確認する
  • 要素どうしの依存や働きかけがどちら向きか、一方向か相互かを自分で整理してみる
  • 整理した関係のイメージと各名称の意味を、語感ではなく構造の観点から照らし合わせる
正解と解説を見る

正解

エ

解説

Reflectionは、ソフトウェアをメタレベルとベースレベルに分け、メタレベルから構造や振る舞いを扱えるようにすることで、実行時の動的な変更を可能にするアーキテクチャパターンです。

理由

設問は、ソフトウェアをメタレベルとベースレベルに分割し、ソフトウェアの構造と振る舞いを動的に変更できる仕組みを問うています。この特徴に該当するのはReflectionです。

比較

Brokerは構成要素間の通信仲介、Microkernelは最小限の中核と周辺機能の分離、Model-View-Controllerはデータ・表示・制御の分離を主眼とします。いずれも設問の動的変更機構とは異なります。

選択肢ア

これは不正解だよ。Brokerは、分散した構成要素の間で要求や応答を仲介する通信構成を扱うパターンです。設問が問う、メタレベルとベースレベルへの分割によってソフトウェアの構造や振る舞いを動的に変更する仕組みを表していないため、該当しません。

選択肢イ

これは不正解だよ。Microkernelは、最小限の中核機能を置き、追加の機能を周辺側へ分離して構成する考え方です。設問の中心である、メタレベルからベースレベルを扱って実行時に構造や振る舞いを変える仕組みとは目的が異なります。

選択肢ウ

これは不正解だよ。Model-View-Controllerは、データや業務処理、画面表示、入力制御などの役割を分離して保守性を高めるパターンです。メタレベルとベースレベルに分け、ソフトウェア自身を動的に変更する仕組みを示すものではありません。

選択肢エ(正解)

これは正解だよ。Reflectionは、ソフトウェアをメタレベルとベースレベルに分割し、メタレベルからベースレベルの構造や振る舞いを扱えるようにするパターンです。そのため、実行中にソフトウェアの構造や振る舞いを動的に変更するという設問の説明に一致します。

学習のポイント

パターン名ではなく、レベル分割と変更機構の目的を対応付けて覚えます。

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

関連する過去問一覧

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