4.
UMLについてです。UMLの中のクラス図ですね。UMLは、標準化されたモデリング言語です。主にオブジェクト指向言語を用いた開発におけるモデリングに用いられることが多いです。
IT系を専門とする人にとっては、見慣れている人が多いと思いますが、全く知らない人にとっては、なかなか手を付けにくい分野ではないでしょうか。ここで、オブジェクト指向から説明を始めると、それだけで、本1冊分かかってしまいそうなので、それは避けます。
クラスは、単純にソフトウェアを構築する上での部品とお考え下さい。UMLにおいて、クラス図では、この部品の構成を視覚的に表すことができます。まず問題を見てみましょう。どうやら、「修理」という部品と、「従業員」という部品が登場人物としているようです。いや、修理とか従業員を部品と呼ぶのに違和感を感じるかもしれませんが、これはソフトウェアの世界ですので、そのまま単純な部品として考えてください。
部品と部品の間が実践で結ばれています。この間には何らかの「関係性」があるということになります。そして、線上に「担当」という言葉がありますね。これが線の関係性を表します。意味的に考えると、「修理」は「従業員」が「担当」する、という関係性があるわけですね。さて、線の両端を見ると、何やら数値が入っています。この数値を多重度と呼びます。多重度とは、自分から見た、関連する部品の個数を表します。
なお、* は不定を表し、X...Y は、「XからYまで」を表します。
そして、重要なのは、読み方ですが、以下のように読みます。
これを踏まえて、選択肢を見てみましょう。意外とここまで分かっても言葉に惑わされる場合があります。注意しましょう。
1.いずれの従業員も、少なくとも 1 つ以上の修理を担当する。
従業員が担当する修理は、0~不定ですので、0の場合もあり得ます。誤りです。
2.いずれの従業員も、複数の修理を担当することは許されない。
従業員が担当する修理は、0~不定ですので、複数の修理を担当する場合もあり得ます。誤りです。
3.各修理に対して、担当する従業員は 1 人以上である。
各修理に対して、従業員は必ず1人担当します。誤りです。
4.各修理に対して、担当する従業員は必ず 1 人である。
各修理に対して、従業員は必ず1人担当します。正しいです。
5.担当する従業員が存在しない修理もあり得る。
修理から見て必ず従業員は1人ですので、従業員が0の場合はありません。
正解は4です。