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

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

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

問題

階層構造をもつ組織と社員の所属を表すUMLのクラス図のうち,“社員は組織階層中のどの組織にも所属できるが,兼務はしない”とするものはどれか。
選択肢アの組織階層と社員所属を表すUMLクラス図。
選択肢アの組織階層と社員所属を表すUMLクラス図。
選択肢イの組織階層と社員所属を表すUMLクラス図。
選択肢イの組織階層と社員所属を表すUMLクラス図。
選択肢ウの組織階層と社員所属を表すUMLクラス図。
選択肢ウの組織階層と社員所属を表すUMLクラス図。
選択肢エの組織階層と社員所属を表すUMLクラス図。
選択肢エの組織階層と社員所属を表すUMLクラス図。

選択肢

  1. ア
    (問題の図表を参照)
  2. イ
    (問題の図表を参照)
  3. ウ
    (問題の図表を参照)
  4. エ
    (問題の図表を参照)
解き方のヒントを見る

関連の両端から多重度を読む視点

クラス図の関連に付いた多重度は、どちらの端から見た数なのかを意識して読むことが大切です。組織と所属の関係を、一方の立場から相手を見たときの文章に言い換え、問題の条件と照らし合わせて確認する姿勢で取り組みましょう。

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

問われているのは、クラス図で表された関係から、あるインスタンスが相手側のインスタンスといくつ結び付き得るかを読み取れるかどうかです。記号を暗記するより、読む向きを取り違えない手順が鍵になります。

視点

関連の端ごとの表記を『〇〇一つに対して△△はいくつか』という文型に当てはめ、両方向とも言葉にしてみると読み違いを防ぎやすくなります。階層構造を扱う場合も、起点となる側を決めてから同じ手順で読み進めます。

確認ポイント

  • 各関連について、どちらのクラスの一インスタンスを起点に読んでいるかを自分で明示したか
  • 両方向それぞれを『一つに対していくつか』の文に言い換え、問題の条件と対応付けたか
  • 言い換えた文が問題の条件と矛盾しないか、起点を逆にした読み方と比べて確かめたか
正解と解説を見る

正解

エ

解説

社員が組織階層中のどの組織にも所属でき、かつ兼務しないためには、社員一人に対する所属組織が一つであり、組織一つには複数の社員が所属できる必要がある。

理由

正しい図では、社員側の多重度が「*」であるため、一つの組織に複数の社員が所属できる。また、組織側の多重度が「1」であるため、一人の社員が所属できる組織は一つに限定される。関連先が一般の「組織」なので、上位組織や末端組織に限定されない。

比較

アは社員の所属先を末端組織に限定している。イとウは組織側が「*」、社員側が「1」であり、一人の社員が複数組織に所属できる。エだけが、任意の組織への所属と兼務しない条件を同時に表している。

選択肢ア

これは不正解だよ。社員と結び付いているのが「末端組織」であるため、社員は組織階層中の任意の組織ではなく、末端組織にだけ所属する図になっている。また、上位組織との階層関係を表していても、所属先の条件が設問と一致しない。

選択肢イ

これは不正解だよ。所属する関連の組織側が「*」、社員側が「1」となっている。多重度は記載されたクラスの個数を反対側から読むので、一人の社員に複数の組織が対応でき、兼務をしない条件に反する。

選択肢ウ

これは不正解だよ。組織と社員の所属関係は、イと同じく組織側が「*」、社員側が「1」である。そのため一人の社員が複数の組織に所属できる表現となり、兼務をしないという条件を満たさない。

選択肢エ(正解)

これは正解だよ。所属する関連で組織側が「1」、社員側が「*」なので、一人の社員は一つの組織に所属し、一つの組織には複数の社員が所属できる。関連先が一般の組織であるため、階層中のどの組織も所属先にできる。

学習のポイント

UML関連端の多重度を、記載位置と反対側のクラスを基準に正しく読む。

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

関連する過去問一覧

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