令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問21
ヒューマンインタフェースをもつシステムにおいて,機能とヒューマンインタフェースの相互依存を弱めることによって,修正性や再利用性を向上させることを目的としたアーキテクチャパターンはどれか。
解答・解説
正解: ア. MVC
MVC (Model-View-Controller)パターンは、アプリケーションを処理の主体となるモデル(機能・データ)、ユーザーへの表示を担当するビュー(ヒューマンインタフェース)、ユーザーの入力を受け取りモデルやビューを制御するコントローラ(制御)の3つの要素に分割して設計するアーキテクチャパターンです。
それぞれの役割を明確に分離し、機能とヒューマンインタフェースの相互依存を弱めることによって、システムの一部の変更が他の部分に影響を与えにくくなり、修正性や再利用性が向上します。
各選択肢の解説
- ア (MVC): 正解です。モデル(機能)とビュー(ヒューマンインタフェース)を分離し、相互依存を弱めることを目的としています。
- イ (イベントシステム): イベント(状態の変化やユーザーの操作など)の発生をトリガーとして、対応する処理を実行するアーキテクチャパターンです。
- ウ (マイクロカーネル): オペレーティングシステムなどの中核機能(カーネル)を最小限にとどめ、その他の機能(ファイルシステムなど)はカーネル外のサービスとして実装するアーキテクチャパターンです。機能の拡張性や柔軟性を高める目的で使用されます。
- エ (レイヤ): システム全体の構成要素を階層(レイヤ)状に分割し、各階層に特定の役割を持たせるアーキテクチャパターンです。上位の層は下位の層が提供するサービスを利用して機能を実現しますが、機能とヒューマンインタフェースの分離に特化したパターンではありません。