平成21年度 春期 午前 問32
データベース
UMLに関する問題
次の概念データモデルの解釈として,適切なものはどれか。ここで,モデルの記法として UML を用いる。
〔クラス図の逐語〕
[部署] ←──── ◀ 所属する ────── [従業員] 1..* 0..*
- 「部署」側の多重度が 1..\* 、「従業員」側の多重度が 0..\* 。
- 関連名は「所属する」で、黒い三角(▶の向き)が「部署」の側を指している=読む向きの印。
- ア従業員が所属していない部署の存在は許されない。
- イ従業員が所属している部署を削除しても,参照整合性は保証される。
- ウ従業員は,同時に複数の部署に所属してもよい。
- エどの部署にも所属しない従業員が存在してもよい。
答えと解説を見る
✓ これが正解ウ従業員は,同時に複数の部署に所属してもよい。
解説
部署側の多重度が 1 以上なので複数所属もあり得ます。
この設問は、部署と従業員のクラスをつなぐ関連の多重度を、UML の記法どおりに読み取れるかを問うています。ですから、部署側と従業員側それぞれに書かれた多重度が、その関連の相手をいくつまで結べるかをどう規定しているか、という一点で見分けます。図では、部署側に 1..* すなわち 1 以上、従業員側に 0..* すなわち 0 以上と書かれています。従業員側から見た部署の側は 1 以上ですから、1 人の従業員は少なくとも 1 つの部署に結ばれ、複数の部署に結ばれる余地も残ります。つまり、同じ従業員が同時に複数の部署に所属してもよい、と読み取れます。一方、部署の側から見た従業員の側は 0 以上なので、従業員がまったくぶら下がらない部署も許されます。したがって、従業員が複数の部署に所属してもよい、と述べているものが正しい読み取り方です。
ほかの選択肢はなぜ違うのか
- ア従業員が所属していない部署の存在は許され…:従業員が所属していない部署の存在は許されない、と述べています。部署から見た従業員側の多重度が 0 以上と書かれており、ぶら下がる従業員が 0 の部署も認めているので、その規定と噛み合いません。
- イ従業員が所属している部署を削除しても,参…:従業員が所属している部署を削除しても参照整合性が保証される、と述べています。参照整合性の保証は関連の実装や制約設計の話で、クラス図の多重度そのものだけからはそのように読み取れません。
- エどの部署にも所属しない従業員が存在しても…:どの部署にも所属しない従業員が存在してもよい、と述べています。従業員から見た部署側の多重度が 1 以上と書かれており、少なくとも 1 つの部署に結ばれることを求めているので、その規定と食い違います。
出典:平成21年度 春期 応用情報技術者試験 午前 問32
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)