応用情報技術者試験 平成30年秋 午前問47 解説付き過去問
問題
ソフトウェアアーキテクチャパターンのうち、仕様の追加や変更による影響が及ぶ範囲を限定できるようにするために、機能を業務ロジック、画面出力、それらの制御という、三つのコンポーネントに分けるものはどれか。
正解
解説
この問題は、ソフトウェアアーキテクチャパターンのうち、特定のパターンを識別することを求めています。問題文からは、機能を業務ロジック、画面出力、その制御の三つのコンポーネントに分けるパターンを特定する必要があります。
- ソフトウェアアーキテクチャパターンの目的とは
ソフトウェアアーキテクチャパターンは、複数のコンポーネントに機能を分割し、それぞれの役割を明確にすることにより、ソフトウェアの設計、開発、メンテナンスを効率化するために使用されます。
これにより、仕様の追加や変更があった時に、その影響を限定的な範囲に留めることができるため、全体の安定性や拡張性が向上します。 - MVC(Model-View-Controller)パターンの説明
MVCパターンは、アプリケーションをモデル(Model)、ビュー(View)、コントローラ(Controller)の三つのコンポーネントに分ける設計パターンです。
モデルはデータとビジネスロジックを管理し、ビューはユーザーインターフェースを担当し、コントローラはモデルとビューの間の入力とデータの流れを制御します。
この分割により、各コンポーネントの独立性が保たれ、一部の変更が他の部分に影響を与えにくくなります。 - 他のアーキテクチャパターンとの比較
「Broker」はシステムコンポーネント間の通信を仲介するパターン、「Layers」はソフトウェアを階層的に構成するパターン、「Pipes and Filters」はデータストリームを処理する要素を連結するパターンです。
これらは問題文で求められているような、業務ロジック、画面出力、その制御の明確な分離を目的としたものではありません。
したがって、業務ロジック、画面出力、そしてその制御を三つのコンポーネントに分けるアーキテクチャパターンとして、MVC(Model-View-Controller)が正解となります。