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

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

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

問題

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

選択肢

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

可視性記号とアクセス元の関係を確かめる

クラス図の操作に付く可視性の表記は、その操作をどこから呼び出せるかを表す情報です。記号をそのまま暗記で当てはめるより、先にクラス同士の関係と呼び出し元の位置を整理してから判断すると、取り違えを防げます。

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

この種の問題では、操作に付された記号が示すアクセス範囲と、問われている場面での呼び出し元の位置づけが整合するかを確かめることが中心になります。一つずつ照らし合わせて確認してください。

視点

可視性は、操作を呼び出す側がどこにいるかに応じて、その操作を使えるかどうかを定める考え方です。呼び出し元の立場には、定義したクラス自身、継承関係にあるクラス、同じまとまりに属するクラス、無関係な外部などの区分があります。表記を読むときは、記号だけを見ずに、呼び出し元がこれらの区分のどれに当たるかと組み合わせて考えます。各記号がどの範囲を表すかは、教材で自分で確認してから当てはめてください。

確認ポイント

  • 各記号が表す公開範囲を、教材の定義で自分で確認できているか
  • 問われている場面で、操作を呼び出す側が定義元のクラスとどんな関係にあるか整理したか
  • 記号が示す範囲と呼び出し元の立場が矛盾していないかを、一つずつ照合したか
正解と解説を見る

正解

イ

解説

UMLでは、クラス図の操作名の前に付く記号によって可視性を表します。公開可視性は「+」で示されるため、図中で「+」が付いた操作Aが該当する。

理由

図では操作Aの前に「+」が付いている。UMLにおいて「+」はpublicを表し、クラスの外部から利用できる公開可視性です。したがって、公開可視性をもつ操作は操作Aです。

比較

「-」はprivateを表し、クラス内部からの利用に限定される。「#」はprotectedを表し、クラス自身や継承関係にあるクラスからの利用を示します。このため、記号の違いを読み分ける必要がある。

選択肢ア

これは不正解だよ。図の操作には「+」「-」「#」という異なる可視性記号が付いており、すべてが同じ公開可視性ではない。「-」や「#」はpublicとは異なるアクセス範囲を表すため、全ての操作という説明は図の記号と一致しない。

選択肢イ(正解)

これは正解だよ。UMLのクラス図では、操作名の前にある「+」がpublic、つまり公開可視性を表す。図では操作Aに「+」が付いているため、公開可視性をもつ操作として操作Aが該当する。

選択肢ウ

これは不正解だよ。操作Bの前に付いている「-」は、UMLではprivateを表す記号である。privateはクラス内部に限定された可視性であり、外部から利用できるpublicを示すものではないため、操作Bは該当しない。

選択肢エ

これは不正解だよ。操作Cの前にある「#」は、UMLではprotectedを表す記号である。protectedは継承関係などを含む特定の範囲で利用できる可視性であり、publicを表す「+」とは異なるため、操作Cは該当しない。

学習のポイント

UMLクラス図における可視性記号の意味を整理する。

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

関連する過去問一覧

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