SAシステムアーキテクト試験 午前Ⅱ
平成25年度秋期 システムアーキテクト 午前Ⅱ 問5
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア幾つかのクラスに共通する性質を抽出して,一般化したクラスを定義したものである。
- イ同じ性質をもつオブジェクト群を,更にクラスとして抽象化したものである。
- ウオブジェクトの内部にデータを隠蔽し,オブジェクトの仕様と実装を分離したものである。
- エシステムの構造や機能について,典型的な設計上の問題とその解決策を示し,再利用できるようにしたものである。
解き方のヒントを見る
デザインパターンの位置付けの見極め方
デザインパターンが設計の中でどの抽象度や適用範囲の概念として扱われるのかを、まず自分の言葉で整理します。そのうえで、問題で示された内容がその整理と同じ観点で語られているかを、一つの軸で照合していく検討手順です。
この問題で問われていること
この問題を考える際は、デザインパターンという考え方が設計活動全体の中でどのような抽象度に置かれ、何を対象として扱う概念なのかを、関連する他の概念と混同せずに捉えられているかを軸に据えると検討しやすくなります。
視点
設計に関する用語には、特定の言語や製品に依存する具体的なものから、考え方や方針といった抽象的なものまで幅があります。ある概念の位置付けを考えるときは、それが何を対象としているのか、どの工程やどの粒度で使われるのかを自分なりに言語化します。さらに、似た語感の用語と並べて違いを説明できるか試してみると、概念の境界が整理しやすくなります。
確認ポイント
- デザインパターンを『何を対象とする概念か』という観点で、自分の言葉で一文にまとめられるか
- その概念が扱う抽象度や適用範囲が、関連する他の設計用語とどう異なるかを説明できるか
- 問題で示された内容が自分の整理と同じ抽象度の話をしているか、別の層の話にずれていないかを確認したか
正解と解説を見る
正解
エ
解説
デザインパターンとは、オブジェクト指向システムで繰り返し現れる設計上の問題に対し、典型的な構造や解決方法を整理し、再利用できる形で示したものです。クラスの一般化やデータ隠蔽そのものを指す概念ではありません。
理由
デザインパターンは、特定のプログラムや単一のクラスを定義するものではなく、設計上よく現れる問題に対する構造や解決策を、他の設計でも活用できる知識としてまとめたものです。
比較
クラスの共通性を抽出して一般化する説明は継承や汎化、オブジェクト内部のデータを隠蔽する説明はカプセル化に関係する。オブジェクト群をクラスとして抽象化する説明も、デザインパターンの定義ではありません。
選択肢ア
これは不正解だよ。複数のクラスに共通する性質を抽出して一般化したクラスを定義するのは、継承や汎化に関する説明である。デザインパターンは、クラス間の共通性を単に抽出して新しいクラスを定義する概念ではなく、設計上の問題に対する典型的な解決方法を整理したものである。
選択肢イ
これは不正解だよ。同じ性質をもつオブジェクト群をクラスとして抽象化することは、クラスによる分類や抽象化の説明である。デザインパターンは、オブジェクトをクラスにまとめる仕組みそのものではなく、システム設計で繰り返し使える構造や解決策を示すものである。
選択肢ウ
これは不正解だよ。オブジェクト内部のデータを隠蔽し、仕様と実装を分離する説明は、カプセル化や情報隠蔽に関するものである。これらはオブジェクト指向の基本的な設計原則であり、典型的な設計問題とその解決策を再利用可能な形で整理するデザインパターンの定義とは異なる。
選択肢エ(正解)
これは正解だよ。デザインパターンは、システムの構造や機能に関して繰り返し現れる典型的な設計上の問題と、その問題を解決するための設計を整理したものである。特定の実装をそのまま再利用するのではなく、状況に応じて設計知識として再利用できる点が特徴である。
学習のポイント
デザインパターンと、継承・抽象化・カプセル化などの基本概念を区別して理解する。
出典:独立行政法人 情報処理推進機構(IPA)平成25年度秋期 システムアーキテクト試験 午前Ⅱ 問5(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針