IPA過去問ドリル

平成29年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問22

テクノロジ/開発技術

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

出典:平成29年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問22

正解:ア

解説

MVC(Model-View-Controller)は,システムをデータとビジネスロジックを扱うModel(モデル),画面表示を扱うView(ビュー),利用者からの入力を受けてModelとViewを制御するController(コントローラ)の三つの役割に分離するアーキテクチャパターンです。機能(Model)と画面表示・操作(View)を,ControllerによってModel/Viewから独立させて疎結合にすることによって,ヒューマンインタフェース(画面デザインや操作方法)を変更しても機能(ビジネスロジック)への影響を抑えられ,またその逆も容易になるため,システムの修正性や再利用性が向上します。

選択肢ごとの解説

  • 正しい。MVCは,機能(Model)とヒューマンインタフェース(View)との間にController(コントローラ)を介在させることによって,両者の相互依存を弱め,修正性や再利用性を向上させることを目的としたアーキテクチャパターンです。
  • 誤り。イベントシステムは,イベントの発生とその処理(ハンドラの呼出し)を疎結合にする仕組みであり,機能とヒューマンインタフェースの相互依存を弱めることを直接の目的としたパターンではありません。
  • 誤り。マイクロカーネルは,OSなどの中核機能を最小限にし,追加機能をプラグイン的な外部モジュールとして分離するアーキテクチャパターンであり,ヒューマンインタフェースと機能の分離を目的としたものではありません。
  • 誤り。レイヤ(層別)パターンは,システムをプレゼンテーション層,ビジネスロジック層,データアクセス層のように階層構造に分割する一般的な設計パターンであり,本問が問うヒューマンインタフェースと機能の相互依存を弱める専用のパターンとしてはMVCがより適切です。
エンベデッドシステムスペシャリストの過去問を演習モードで解く