修了試験 2020-06-14実施分 基本情報技術者試験 問27
UMLを用いて表した図のデータモデルのa,bに入れる多重度はどれか。 〔条件〕 (1) 部門には1人以上の社員が所属する。 (2) 社員はいずれか一つの部門に所属する。 (3) 社員が部門に所属した履歴を所属履歴として記録する。

正答4
解説
正解は4です。 UML(Unified Modeling Language)のクラス図で、関連の多重度を求める問題です。 図では、左から「部門」「所属履歴」「社員」の3つのクラスが横に並んでいます。 部門と所属履歴の間の部門側に1、所属履歴側に空欄aがあります。 所属履歴と社員の間の社員側に1、所属履歴側に空欄bがあります。 多重度は「相手側の1つに対して、こちら側が幾つ対応するか」を表し、「1..*」は1以上、「0..*」は0以上を意味します。 【選択肢別解説】 1:× aを0..*とすると、所属履歴を1件ももたない部門を認めることになります。 条件(1)より部門には必ず1人以上の社員が所属するので、所属履歴は1件以上必要です。 bも同様に0..*では条件(2)に反します。 2:× bの1..*は正しいものの、aの0..*が誤りです。 条件(1)より部門には1人以上が所属するので、aは1..*です。 3:× aの1..*は正しいものの、bの0..*が誤りです。 条件(2)より社員は必ずいずれかの部門に所属するので、社員1人に対して所属履歴は1件以上あります。 4:○ 部門には1人以上の社員が所属するので、部門1つに対する所属履歴は1件以上で、aは1..*です。 社員は必ずいずれかの部門に所属し、条件(3)で履歴を記録するので、社員1人に対する所属履歴も1件以上で、bは1..*です。 【ポイント】 多重度は、相手側のインスタンス1つを固定したときに、こちら側が最小幾つ、最大幾つ対応するかを考えます。 「必ず存在する」なら下限は1、「存在しないこともある」なら下限は0です。まとめて解く
修了試験 2020-06-14実施分を通しで解く(80問)→