クラス図を設計する際に、カーディナリティ/多重度について混乱します。 私の主な混乱は、1 --- *の関係を表すときです。乗客と座席のクラスの場合には、乗客は1つの座席に割り当てられ、1つの座席に同時に座席を割り当てることができるが、その存在期間中に多くの乗客に割り当てることができる。OOAD多重度またはカーディナリティの明確化
座席--->乗客は1-1または1- *になるはずですか?
クラス図を設計する際に、カーディナリティ/多重度について混乱します。 私の主な混乱は、1 --- *の関係を表すときです。乗客と座席のクラスの場合には、乗客は1つの座席に割り当てられ、1つの座席に同時に座席を割り当てることができるが、その存在期間中に多くの乗客に割り当てることができる。OOAD多重度またはカーディナリティの明確化
座席--->乗客は1-1または1- *になるはずですか?
はのは、まとめてみましょう:
Passenger
は正確に一つのSeat
(1)に割り当てられます。未解決の質問:Passenger
は既に割り当て前に存在しますか(つまり1か0..1)?Seat
一つはPassenger
が割り当てられていることができますが、それを空のまま可能性があります
Passenger
は(多くの議席への飛行ごとに1つずつ割り当てられていることができます)Seat
には、多くの場合、Passenger
が割り当てられている可能性があります。結論:Seat
とPassenger
との関係が*-*
である(多くの多くの)
それはすべて何あなたのモデルを依存しています。私たちは片道予約をモデル化している場合
私は他の可能性の多くを想像することができます。
あなたは特定のシステムをモデル化し、特定のビジネスニーズを表す必要があります。多重度はそれに依存します。経験則として、ある時点の状況に興味があります(最後の2つの例では、ある時点での座席割り当ての履歴を扱っています)。
私の結論は次のとおりです。単純な答えはありません。
ありがとうCHristopher。私たちはいつそれをある期間または一度に検討する必要がありますか?それは私が彼らにあなたがある期間またはある時点で探していることを尋ねる必要があるように顧客に質問ですか?または、常に一定の期間にわたりすべてのデザインを検討する必要があるのでしょうか? – avatar
お客様のニーズに応じて異なります。だからあなたは明確にするのに役立つ質問をする必要があります。さまざまな角度で質問をするために暴力を振りかざしてはいけません。たとえば、座席割り当ての履歴を検索したいのですか?その座席は事前に割り当てられることを期待しています(旅客はいくつかの旅行のために座席を予約することができます)か?法的要件がありますか(法執行捜査の場合に席を取り戻す)?など...実生活は多種多様な関係でいっぱいです – Christophe
ありがとうChristopher – avatar