1

私は基本的なUMLモデリングを学習しており、実際の例として、病院をモデリングするUMLクラス図を作成しています。病院には複数のケアセンター(マタニティセンター、緊急センターなど)があります。ケアセンターには、ケアセンターを支援するボランティアがいます。ボランティアは一度に複数のケアセンターに参加することもできます。UMLクラスデザイン:クラス間の関連付けについてわからない

私はボランティアとケアセンターという2つのクラスを作成しました。 私の質問は、この2つのクラスの間で、関連とカーディナリティはどうなるでしょうか?これは多対多か一対多の関係ですか?私の最初の考えは、ボランティアクラスは0の多重度を持っているということです。*ケアセンターは1の多重度を持っています*。しかし、私はこの関連性が不明であり、この関係を明確にすることを望んでいます。

答えて

3

これは多対多の関係です。

ボランティアクラスの側の基数は0です。*、ケアセンターには常にボランティアがあるとは限りません。この基数は、ケアセンターごとのボランティアの数を表します。

ボランティアはボランティアの対象となるケアセンターが1つ以上ない場合、ボランティアはボランティアではないため、CareCenterクラスの側の基数は1になります。この基数はボランティア1人あたりのケアセンター数を表します。

クラスボランティアではなく、クラスPersonをモデル化し、 "ボランティアのためのボランティア"と呼ぶことができます。その場合、すべての人がボランティアであるわけではないので、CareCenter側の基数は0です。*。

1

私はそれが1..*から1..*の関係であると言います。合理的

  1. Aケアセンターはボランティアケア・センターを支援しています。

    つまり、ケアセンターには少なくとも1人のボランティアがいます。

  2. ボランティアも一度に複数のケアセンターの一部であることが許可されています。

    ボランティアは、少なくとも1つのケアセンターを支援しています。もしそうでなければ、ボランティアではありません。

図:

enter image description here

+2

私はケアセンターがうまくボランティアなしで存在することができることと思います。 –

関連する問題