本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成30年度 秋期 基本情報技術者試験問題と解説

問26

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

〔条件〕

(1) 部門には1人以上の社員が所属する。

(2) 社員はいずれか一つの部門に所属する。

(3) 社員が部門に所属した履歴を所属履歴として記録する。

 ┌─────┐     ┌─────┐     ┌─────┐
 │  部門  │     │ 所属履歴 │     │  社員  │
 ├─────┤1  a ├─────┤ b  1├─────┤
 │部門コード├─────┤開始日  ├─────┤社員コード│
 │部門名  │     │終了日  │     │氏名   │
 │:    │     │:    │     │:    │
 └─────┘     └─────┘     └─────┘
   ┌──────┬──────┐
   │   a   │   b   │
 ┌─┼──────┼──────┤
 │ア│ 0..* │ 0..* │
 ├─┼──────┼──────┤
 │イ│ 0..* │ 1..* │
 ├─┼──────┼──────┤
 │ウ│ 1..* │ 0..* │
 ├─┼──────┼──────┤
 │エ│ 1..* │ 1..* │
 └─┴──────┴──────┘


正解


解説

UMLで「部門 1 − 1..* 社員」と表記すると
部門から見ると、社員は1名以上複数名が所属する。
社員からみると、所属部門は必ず1つある。
という意味になる。

  a   について、
部門からみると、所属履歴は1以上あり、所属履歴から見ると、部門は必ず1つある。
従って、部門 1 − 1..* 所属履歴 となる。

  b   について、
所属履歴からみると、社員は必ず1名であり、社員から見ると、所属履歴は1以上ある。
従って、所属履歴 1..* − 1 社員 となる。

問25 目次 問27