SAシステムアーキテクト試験 午前Ⅱ

平成25年度秋期 システムアーキテクト 午前Ⅱ 問1

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

UMLを使って図のクラスPを定義した。このクラスの操作のうち,公開可視性(public)をもつものはどれか。
クラスPの操作として,公開を示す「+ 操作A」,非公開を示す「- 操作B」,保護を示す「# 操作C」が並ぶUMLクラス図。
クラスPの操作として,公開を示す「+ 操作A」,非公開を示す「- 操作B」,保護を示す「# 操作C」が並ぶUMLクラス図。

選択肢

  1. ア
    全ての操作
  2. イ
    操作A
  3. ウ
    操作B
  4. エ
    操作C
解き方のヒントを見る

判断の前提をそろえて考える

この分野を学ぶときは、判断の前提として与えられている条件を整理することから始めましょう。普段の経験や印象で条件を補わず、示された内容と自分が仮定した内容を分けて捉えると、考え方を整えやすくなります。

この問題で問われていること

取り組む際は、自分の判断がどの条件を前提としているかに注目しましょう。判断の根拠を短く言葉にし、その根拠が与えられた条件に基づくものか、自分で追加した仮定に基づくものかを確かめてください。

視点

与えられた条件と、理解のために自分で置いた仮定は区別して扱います。前提を整理することは、知識を当てはめる前に、判断の土台を確かめるための手順です。

確認ポイント

  • 判断の前提となる条件を整理したか
  • 示された条件と自分の仮定を区別したか
  • 根拠に、示されていない条件を加えていないか
正解と解説を見る

正解

イ

解説

正解はイの操作Aです。UMLでは「+」が公開可視性(public)を表します。図の操作Aには「+」、操作Bには「-」、操作Cには「#」が付いているため、公開可視性をもつのは操作Aです。

公開可視性の判断

UMLのクラス図では、操作名の前の「+」が公開可視性(public)を示します。添付図では操作Aに「+」が付いているので、設問の条件に該当するのは操作Aです。

ほかの可視性との比較

操作Bの「-」は非公開可視性(private)、操作Cの「#」は保護可視性(protected)を表します。privateは定義したクラスの内部での利用、protectedは定義したクラスやその派生クラスからの利用に関わる可視性です。いずれもpublicとは異なります。

選択肢ア

これは不正解だよ。図では、操作Aに「+」、操作Bに「-」、操作Cに「#」が付いています。UMLではそれぞれpublic、private、protectedを表すため、三つの操作が全て公開可視性をもつわけではありません。

選択肢イ(正解)

これは正解だよ。操作Aの前には「+」が付いています。UMLのクラス図では「+」が公開可視性(public)を表します。したがって、公開可視性をもつ操作を選ぶこの設問では、操作Aが該当します。操作Bと操作Cには別の可視性記号が付いています。

選択肢ウ

これは不正解だよ。操作Bの前に付いている記号は「-」です。UMLでは「-」は非公開可視性(private)を表し、定義したクラスの内部から利用する操作であることを示します。設問が求める公開可視性(public)とは異なるので、操作Bは該当しません。

選択肢エ

これは不正解だよ。操作Cには「#」が付いており、UMLでは保護可視性(protected)を表します。保護可視性は、定義したクラスやその派生クラスからの利用に関わる可視性です。公開可視性(public)を表す記号とは異なるため、操作Cは該当しません。

学習のポイント

UMLのクラス図で使う可視性記号と、public・private・protectedの対応を覚えましょう。

出典:独立行政法人 情報処理推進機構(IPA)平成25年度秋期 システムアーキテクト試験 午前Ⅱ 問1(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針