(FE)H30年秋 問26

UMLを用いて表した図のデータモデルのa、bに入れる多重度はどれか。

〔条件〕
(1) 部門には1人以上の社員が所属する。
(2) 社員はいずれか一つの部門に所属する。
(3) 社員が部門に所属した履歴を所属履歴として記録する。

a b
0..* 0..*
0..* 1..*
1..* 0..*
1..* 1..*

 

解説を読む


正解:エ

解説:

UML(Unified Modeling Language:統一モデリング言語)はオブジェクト指向の設計などに利用するための統一書式です。過去にはこのうちクラス図、ユースケース図、アクティビティ図(フローチャート)などが出題されています。本問はクラス図に関する問題となります。

クラス図はクラス間の属性や関連を表すUMLのひとつです。それぞれの関連付けを行い、その際に参照されるオブジェクトの数を多重度と呼びます。

0..1 0または1つ
1 1つ
0..* 0以上
1..* 1以上

部門と所属履歴の関係では「(1)部門には1人以上の社員が所属する」から部門が存在すれば必ず社員が1人以上いることが分かります。(無人の部門はない)すなわち部門があるということは所属社員がいて、さらに社員は所属履歴を持ちますので必ず1個以上の所属履歴が記載されることになります。したがってaには1以上を示す「1..*」が入ります。

社員と所属履歴の関係では「(2) 社員はいずれか一つの部門に所属する。」から社員は必ず部門に所属していることが分かります。(部門に属さない社員はいない)さらに社員は所属履歴を持ちます。すなわち必ず1個以上の所属履歴が記載されることになります。したがってbには1以上を示す「1..*」が入ります。

上記よりaに「1..*」、bに「1..*」が該当するエが正解です。

解説を閉じる

コメント