平成29年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問22
テクノロジ/開発技術ヒューマンインタフェースをもつシステムにおいて,機能とヒューマンインタフェースの相互依存を弱めることによって,修正性や再利用性を向上させることを目的としたアーキテクチャパターンはどれか。
出典:平成29年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問22
- アMVC
- イイベントシステム
- ウマイクロカーネル
- エレイヤ
正解:ア
解説
MVC(Model-View-Controller)は,システムをデータとビジネスロジックを扱うModel(モデル),画面表示を扱うView(ビュー),利用者からの入力を受けてModelとViewを制御するController(コントローラ)の三つの役割に分離するアーキテクチャパターンです。機能(Model)と画面表示・操作(View)を,ControllerによってModel/Viewから独立させて疎結合にすることによって,ヒューマンインタフェース(画面デザインや操作方法)を変更しても機能(ビジネスロジック)への影響を抑えられ,またその逆も容易になるため,システムの修正性や再利用性が向上します。
選択肢ごとの解説
- ア正しい。MVCは,機能(Model)とヒューマンインタフェース(View)との間にController(コントローラ)を介在させることによって,両者の相互依存を弱め,修正性や再利用性を向上させることを目的としたアーキテクチャパターンです。
- イ誤り。イベントシステムは,イベントの発生とその処理(ハンドラの呼出し)を疎結合にする仕組みであり,機能とヒューマンインタフェースの相互依存を弱めることを直接の目的としたパターンではありません。
- ウ誤り。マイクロカーネルは,OSなどの中核機能を最小限にし,追加機能をプラグイン的な外部モジュールとして分離するアーキテクチャパターンであり,ヒューマンインタフェースと機能の分離を目的としたものではありません。
- エ誤り。レイヤ(層別)パターンは,システムをプレゼンテーション層,ビジネスロジック層,データアクセス層のように階層構造に分割する一般的な設計パターンであり,本問が問うヒューマンインタフェースと機能の相互依存を弱める専用のパターンとしてはMVCがより適切です。