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

ヒューマンインタフェースをもつシステムにおいて,機能とヒューマンインタフェースとの相互依存を弱めることによって,修正性や再利用性を向上させることを目的としたアーキテクチャパターンはどれか。

解答・解説

正解: ア. MVC

MVC (Model-View-Controller) は、ソフトウェアの設計モデルの一つで、システムを以下の3つの要素に分割して実装するアーキテクチャパターンです。

  • Model(モデル): システムのビジネスロジックやデータを扱う部分(機能)
  • View(ビュー): ユーザーへの表示を行う部分(ヒューマンインタフェース)
  • Controller(コントローラ): ユーザーからの入力を受け取り、ModelとViewを制御する部分

このように機能(Model)とヒューマンインタフェース(View)を分離することで、相互依存が弱まり、修正性や再利用性の向上を図ることができます。したがって、正解は「ア」のMVCとなります。

各選択肢の解説

  • ア(MVC): 正解です。機能とヒューマンインタフェースの相互依存を弱めるアーキテクチャパターンです。
  • イ(イベントシステム): マウスのクリックやキーボードの入力などの「イベント」が発生した際に、それに対応する処理を呼び出して実行するアーキテクチャパターンです。
  • ウ(マイクロカーネル): オペレーティングシステム(OS)の設計などにおいて、中核となる最小限の機能(メモリ管理やプロセス間通信など)だけをカーネル空間に置き、その他の機能をユーザー空間のプロセスとして実装するアーキテクチャパターンです。
  • エ(レイヤー): システムを役割ごとの階層(レイヤー)に分割し、各層がすぐ下の層の機能を利用してすぐ上の層にサービスを提供するアーキテクチャパターンです。通信プロトコル(OSI基本参照モデルなど)でよく用いられます。

Spineチーム