SAシステムアーキテクト試験 午前Ⅱ
令和5年度春期 システムアーキテクト 午前Ⅱ 問4
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- アMVC
- イイベントシステム
- ウマイクロカーネル
- エレイヤー
解き方のヒントを見る
パターンは目的から読み解く
アーキテクチャパターンは構造の見た目よりも、どんな課題を解決するために生まれたかで区別すると整理しやすくなります。問われている目的を自分の言葉で言い直し、各パターンの狙いと照らし合わせる姿勢で検討しましょう。
この問題で問われていること
この問題で確認したいのは、名称の響きや部分的な用語に引きずられず、設計上のどの関心事に対処しようとしているのかという目的の軸で判断できるかどうかです。問われている目的を一つずつ丁寧に読み取ってください。
視点
アーキテクチャパターンは、繰り返し現れる設計上の課題に対する定石として名前が付けられたものです。そのため学習の際は、構成要素の名前や図の形を暗記するよりも「そのパターンがなければ何が困るのか」という動機から理解すると、似た名前のパターンどうしも混同しにくくなります。目的を軸にするときは、まず問われている内容を「何を守りたいのか」「何を変えやすくしたいのか」といった一文に要約し、その要約と自分が知っている各パターンの存在理由を突き合わせる、という順序で考えるのが基本です。
確認ポイント
- 問われている目的を、専門用語を使わずに自分の言葉で一文に言い換えられるか
- 言い換えた目的が、パターンの存在理由(それがないと何が困るか)と本当に対応しているか
- 名称や一部の用語の印象ではなく、目的の一致という一つの軸だけで判断できているか
正解と解説を見る
正解
ア
解説
正答はアのMVCです。MVCは、システムの機能に関わるモデル、画面表示を担うビュー、入力を受けて両者を調整するコントローラに役割を分け、機能とヒューマンインタフェースの相互依存を弱めます。
理由
MVCは、モデル、ビュー、コントローラに責務を分割するアーキテクチャパターンです。機能を表すモデルと、画面の表示を担当するビューを分離できるため、ヒューマンインタフェースの修正が機能部分へ及ぼす影響を抑え、機能の再利用性も高められます。
比較
イベントシステムはイベントの発生と処理を分離する考え方、マイクロカーネルは最小限の核と外部サービスに分ける構造、レイヤーは処理を階層化する構造です。いずれも本問の目的を直接表す選択肢ではありません。
選択肢ア(正解)
これは正解だよ。MVCは、機能を扱うモデル、画面表示を担うビュー、入力を受けて処理を調整するコントローラに分割する。これにより、ヒューマンインタフェースと機能の相互依存を弱め、画面変更時の影響を抑えたり、機能部分を再利用したりしやすくなる。
選択肢イ
これは不正解だよ。イベントシステムは、イベントの発生を検知し、それに応じた処理を呼び出す仕組みである。処理の分離や疎結合化に役立つ場合はあるが、本問が問う、機能とヒューマンインタフェースを役割分担によって分離する代表的なパターンそのものではない。
選択肢ウ
これは不正解だよ。マイクロカーネルは、OSなどの基本機能を小さな核に集約し、その他のサービスを外部のモジュールとして分離する構造である。拡張性や保守性に関係するが、画面の表示・入力とシステム機能の分離を主目的とするパターンではない。
選択肢エ
これは不正解だよ。レイヤーは、システムを役割ごとの階層に分け、上位層から下位層へ依存する形で構成するパターンである。責務の整理には有効だが、本問のようにヒューマンインタフェースと機能の相互依存を弱める構成を直接示す名称ではない。
学習のポイント
アーキテクチャパターンは、目的と責務分担を結び付けて整理しましょう。
出典:独立行政法人 情報処理推進機構(IPA)令和5年度春期 システムアーキテクト試験 午前Ⅱ 問4(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針