SAシステムアーキテクト試験 午前Ⅱ
平成27年度秋期 システムアーキテクト 午前Ⅱ 問7
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア幾つかのクラスに共通する性質を抽出して,一般化したクラスを定義したものである。
- イ同じ性質をもつオブジェクト群を,更にクラスとして抽象化したものである。
- ウオブジェクトの内部にデータを隠蔽し,オブジェクトの仕様と実装を分離したものである。
- エシステムの構造や機能について,典型的な設計上の問題とその解決策を示し,再利用できるようにしたものである。
解き方のヒントを見る
デザインパターンの位置付けを自分の言葉で整理する
この問題では、デザインパターンという用語が設計のどの段階・どの抽象度に関わる概念なのかを、自分の理解で説明できるかが問われます。提示された記述が用語の定義と整合するかを一つずつ照らし合わせましょう。
この問題で問われていること
ある記述が妥当かを判断するときは、それが用語そのものの性質を述べているのか、関連する別の概念や手法の性質を述べているのかを区別することが重要です。用語の範囲を意識して検討を進めてください。
視点
ソフトウェア設計の分野には、似た目的を持つ用語が多くあります。どれも「再利用」や「品質向上」に関わるため、表面上は似た説明に見えがちです。学習の際は、まず対象の用語を自分の言葉で一文で定義してください。そのうえで、その定義から自然に導ける性質かどうかを基準に判断すると、周辺概念との混同を避けやすくなります。
確認ポイント
- 対象の用語を、教科書の言い回しに頼らず自分の言葉で一文にまとめられるか確認する
- 検討している記述が、対象の用語そのものではなく近い分野の別概念を説明していないか確認する
- 自分でまとめた定義と記述の内容が矛盾していないか、根拠を持って説明できるか確認する
正解と解説を見る
正解
エ
解説
デザインパターンは、オブジェクト指向システムで繰り返し現れる典型的な設計上の問題と、その解決策を整理して再利用できるようにしたものです。したがって、正答はエです。
理由
デザインパターンは、特定のクラスやオブジェクトを定義するものではなく、システムの構造や機能に関する典型的な設計問題と、その解決のための構成を示すものです。
比較
アとイはクラスやオブジェクトの抽象化に関する説明であり、ウはカプセル化に関する説明です。これらに対し、エは設計上の問題と解決策を再利用可能な形で示しており、デザインパターンの説明に合致する。
選択肢ア
これは不正解だよ。複数のクラスに共通する性質を抽出して一般化したクラスを定義する説明は、クラスの抽象化や継承に関するものである。デザインパターンは、共通性から新しいクラスを定義する概念そのものではない。
選択肢イ
これは不正解だよ。同じ性質をもつオブジェクト群をクラスとして抽象化する説明は、オブジェクトとクラスの関係や分類を示している。デザインパターンは、オブジェクト群をクラスへまとめる操作を定義したものではない。
選択肢ウ
これは不正解だよ。オブジェクト内部のデータを隠蔽し、仕様と実装を分離する説明は、カプセル化の考え方を表している。これはオブジェクトの設計原則であり、典型的な設計問題と解決策を再利用するデザインパターンの定義ではない。
選択肢エ(正解)
これは正解だよ。システムの構造や機能に関する典型的な設計上の問題と、その解決策を示し、再利用できるようにしたものがデザインパターンである。個別のプログラムそのものではなく、設計知識を再利用する点が適切である。
学習のポイント
クラスやカプセル化の定義と、設計知識を再利用するデザインパターンの違いを整理する。
出典:独立行政法人 情報処理推進機構(IPA)平成27年度秋期 システムアーキテクト試験 午前Ⅱ 問7(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針