ホーム > システムアーキテクト試験 > 2023年
システムアーキテクト試験 2023年 午前2 問04
ヒューマンインタフェースをもつシステムにおいて、機能とヒューマンインタフェースとの相互依存を弱めることによって、修正性や再利用性を向上させることを目的としたアーキテクチャパターンはどれか。
ア:MVC(正解)
イ:イベントシステム
ウ:マイクロカーネル
エ:レイヤー
解説
ヒューマンインタフェースをもつシステムにおいて、機能とヒューマンインタフェースとの相互依存を弱めることによって、修正性や再利用性を向上させることを目的としたアーキテクチャパターンはどれか【午前2 解説】
要点まとめ
- 結論:MVCパターンは機能(モデル)とヒューマンインタフェース(ビュー)を分離し、相互依存を弱める設計手法です。
- 根拠:MVCはモデル・ビュー・コントローラの3つの役割を明確に分け、修正や再利用を容易にします。
- 差がつくポイント:単なるレイヤー分割やイベント処理ではなく、UIとビジネスロジックの明確な分離がMVCの特徴です。
正解の理由
MVC(Model-View-Controller)は、ユーザーインタフェース(View)と業務ロジック(Model)をコントローラを介して分離することで、相互依存を弱めます。これにより、UIの変更がモデルに影響を与えにくく、逆もまた然りで、修正性や再利用性が大幅に向上します。問題文の「機能とヒューマンインタフェースとの相互依存を弱める」という目的に最も合致するのがMVCパターンです。
よくある誤解
イベントシステムはイベント駆動の仕組みであり、UIと機能の分離を直接目的とはしていません。レイヤーは階層的な分割ですが、MVCほどUIと機能の独立性を強調しません。
解法ステップ
- 問題文の「機能とヒューマンインタフェースの相互依存を弱める」点に注目する。
- 各選択肢の特徴を整理する。
- MVCはモデル(機能)とビュー(UI)を分離するパターンであることを思い出す。
- 他の選択肢はUIと機能の分離を主目的としていないことを確認する。
- よって、MVCが最適解と判断する。
選択肢別の誤答解説
- ア: MVCはUIと機能を分離し、修正性・再利用性を高める代表的なパターンです。
- イ: イベントシステムはイベント駆動の仕組みであり、UIと機能の分離を直接目的としません。
- ウ: マイクロカーネルはプラグイン型の拡張性を持つアーキテクチャで、UI分離とは異なります。
- エ: レイヤーは階層的分割ですが、UIと機能の密結合を必ずしも解消しません。
補足コラム
MVCは1970年代にSmalltalkの開発で提唱され、現在のWebアプリケーションやデスクトップアプリケーション設計に広く使われています。モデルはデータやビジネスロジックを担当し、ビューは画面表示、コントローラはユーザー操作の制御を担います。この分離により、UIの刷新や機能追加が容易になります。
FAQ
Q: MVCとレイヤーアーキテクチャの違いは何ですか?
A: レイヤーは機能を階層的に分割しますが、MVCは特にUI(ビュー)と機能(モデル)を明確に分離し、相互依存を弱めることに特化しています。
A: レイヤーは機能を階層的に分割しますが、MVCは特にUI(ビュー)と機能(モデル)を明確に分離し、相互依存を弱めることに特化しています。
Q: イベントシステムはなぜ正解にならないのですか?
A: イベントシステムはイベントの発生と処理を管理する仕組みであり、UIと機能の分離を直接目的としていません。
A: イベントシステムはイベントの発生と処理を管理する仕組みであり、UIと機能の分離を直接目的としていません。
関連キーワード: MVCパターン, ヒューマンインタフェース, アーキテクチャパターン, 修正性, 再利用性