0

ビジネス ユーザーから要件を収集するとき、ビジネス ユーザーのドメイン内の 2 つの概念間のカーディナリティを理解する必要があるポイントに遭遇します。

これは、後で変更するのが難しいデータベース設計に影響するため、通常、プロセスの早い段階で知りたいことです。

たとえば、ビジネス ユーザーは、「リード」と「リファレンス」というドメイン固有の概念を持っている場合があります。見込み客の参照数を教えてもらうのは必ずしも簡単ではありません。逆もまた同様です。

DB プログラマーに質問する場合、「リードとリファレンスの間のカーディナリティは何ですか?」と単純に尋ねるかもしれません。ただし、これはビジネス ユーザーにとって常に意味があるとは限りません。

4

3 に答える 3

3

私はここであなたの問題を見ることができません。ビジネスマンに対してカーディナリティなどの用語を使用するべきではありません。ただ、ぼんやりした目で見られたり、大げさな &%^$#$@ だと思われたりするだけです。:-)

2 つの質問:

  • 参照は何人のリードを持つことができますか?
  • リードは何件の参照を持つことができますか?

簡単な英語で、その言語を話す人なら誰でも理解できます。

しかし、いつものように、要件の収集はからかうプロセスです。これらの簡単な質問に対する明確な答えが得られない場合は、次のことを行う必要があります。

  • 相手に、知る必要があることを明確に伝えてください (そして、知らないと配達が遅れることになります)。
  • 彼らをホワイトボードの前に座らせ、可能性について説明します (関係があると仮定すると、1 対 1、1 対多、多対 1、多対多の 4 つしかありません)。

彼らと一緒に座るのは、あなたの両方にとって良い考えです. なぜあなたが知る必要があるのか​​ を彼らに理解させ、必要な情報より多くのドメイン知識を提供します.

于 2009-08-25T02:00:49.347 に答える
3

それを行う唯一の方法は、ユースケースを調べて、何が起こるべきかを説明しながらカーディナリティを決定することです。

あなた: 誰が「リード」を必要としていますか? 何に使うの?

彼ら: リードとは、リファレンスから得られるものです。

あなた: それはどのように機能しますか?

彼ら: まあ、何かの一環として、参照を取得します。それらをある種のリストに入れたいので、それらをセグメント化して優先順位を付けてから、参照に対してコールドコールを行うことができます. 関心のあるコールドコールは「リード」になります。

あなた: では、1 つのリファレンスが 1 つのリードになるということですか?

彼ら: いいえ。参照がリードを生成しない場合があります[オプション]

あなた: では、1 つの参照がリードになるか、どこにも行かない可能性がありますか?

彼ら:もちろんです。

あなた: 参照で他に何が起こりますか? 潜在的なリードを作成する以外に何かありますか?

彼ら:何もありません。

あなた:何も?

それら: クレジット スコアリングのために送信し、すべての参照を再ランク付けする場合を除きます。

あなた: では、2 つのユースケースがあるということですか? 最初の参照とクレジットスコアリング?

彼ら:そうですね。

あなた: そして、参照のクレジット スコアリングはリードを作成できますか?

彼ら:はい。いつもそうです。

あなた: では、参照はゼロ、1、または多数のリードを生み出すことができますか? 【カーディナリティ】

彼ら:いいえ。ゼロまたは 1 つ。

あなた: 得点されない限り、2 番目のリードを生み出す可能性があります。

彼ら:そうですね。ゼロ、1 つまたは 2 つ。4 つのうち 3 つを超えることはありません。絶対上限で6と呼んでください。参考文献ごとに 6 つの手がかりを提供してください。それ以上は必要ありません。

あなた: 外部キー参照の魔法による無限の数はどうですか?

彼ら:決して。ゼロか1だけです。二人の時を除いて。 [否認未遂]


ユーザーを有意義にエンゲージできる唯一の方法は、ユースケースについて話し合うことだと思います。データモデルではありません。

ユースケースからデータモデルを導き出します。

于 2009-08-25T02:05:34.083 に答える
0

そして、他のユーザーに尋ねることを忘れないでください。他の部門は異なる見解を持っている可能性があります。

于 2009-08-25T04:25:05.610 に答える