IPA過去問ドリル

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

テクノロジ/開発技術

階層構造をもつ組織と社員の所属を表す UML のクラス図のうち,“社員は組織階層中のどの組織にも所属できるが,兼務はしない”とするものはどれか。 (注:選択肢のクラス図は原問題のとおり図として掲載しています)

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

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

正解:エ

解説

“社員は組織階層中のどの組織にも所属できるが,兼務はしない”という条件を満たすには,組織の階層構造を上位・下位の自己再帰的な関連(どの階層の深さでも表現できるもの)として表し,かつ“所属する”関連を,特定の階層レベルのサブクラスではなく,上位クラスである“組織”に対して1対多(社員側が組織1個に対応)で定義する必要があります。

選択肢ごとの解説

  • 誤り。図アでは,“所属する”関連が“末端組織”サブクラスにだけ設定されているため,社員は末端(最下位)の組織にしか所属できず,上位の組織には所属できません。
  • 誤り。図イでは,“所属する”関連の多重度が組織側“*”,社員側“1”となっており,一人の社員が複数の組織に対応できてしまうため,兼務を許さないという条件に反します。また,組織を“上位組織”“末端組織”という二つのサブクラスに固定的に分類しており,3階層以上の中間的な組織を正しく表現できません。
  • 誤り。図ウでは,組織どうしを結ぶ上位・下位の自己再帰的な関連がなく,組織の階層構造(親子関係)そのものが表現されていません。
  • 正しい。図エは,上位・下位の自己再帰的な関連によって組織の階層構造を表現し,“所属する”関連を組織側の多重度1,社員側の多重度*で定義しているため,社員は階層中のどの組織にも所属でき,かつ一つの組織にしか対応しない(兼務しない)ことを正しく表せます。
システムアーキテクトの過去問を演習モードで解く