令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問4
テクノロジシステム開発技術インタフェース・メディアソフトウェア設計・保守・再利用
ヒューマンインタフェースをもつシステムにおいて,機能とヒューマンインタフェースとの相互依存を弱めることによって,修正性や再利用性を向上させることを目的としたアーキテクチャパターンはどれか。
解答・解説
正解: ア. MVC
MVC (Model-View-Controller) は、ソフトウェアの設計モデルの一つで、システムを以下の3つの要素に分割して実装するアーキテクチャパターンです。
- Model(モデル): システムのビジネスロジックやデータを扱う部分(機能)
- View(ビュー): ユーザーへの表示を行う部分(ヒューマンインタフェース)
- Controller(コントローラ): ユーザーからの入力を受け取り、ModelとViewを制御する部分
このように機能(Model)とヒューマンインタフェース(View)を分離することで、相互依存が弱まり、修正性や再利用性の向上を図ることができます。したがって、正解は「ア」のMVCとなります。
各選択肢の解説
- ア(MVC): 正解です。機能とヒューマンインタフェースの相互依存を弱めるアーキテクチャパターンです。
- イ(イベントシステム): マウスのクリックやキーボードの入力などの「イベント」が発生した際に、それに対応する処理を呼び出して実行するアーキテクチャパターンです。
- ウ(マイクロカーネル): オペレーティングシステム(OS)の設計などにおいて、中核となる最小限の機能(メモリ管理やプロセス間通信など)だけをカーネル空間に置き、その他の機能をユーザー空間のプロセスとして実装するアーキテクチャパターンです。
- エ(レイヤー): システムを役割ごとの階層(レイヤー)に分割し、各層がすぐ下の層の機能を利用してすぐ上の層にサービスを提供するアーキテクチャパターンです。通信プロトコル(OSI基本参照モデルなど)でよく用いられます。