1

それらのクラス間の関係を正しく識別できたかどうかを検証する必要があります。たとえば、以下のエンティティがあるとします。

Doctor 1---------m Diagnosis m----------m Prescriptions m ----------1 Patient
  1                                                                      m
  -                                                                      -
  -                                                                      -
  ------------------------------------------------------------------------

したがって、その基本的な診断は、管理者の医師がすべての診断の詳細を入力した参照テーブルです。例えば、

Diag_ID, Category, Name,       Desc
1        Skin      Red Skin    Red spots in skin

つまり、私のビジネス フローは、医師が患者の処方箋を作成するというものです。したがって、彼は患者IDを提供します(患者登録も行われますが、それらのエンティティは表示しませんでした)。次に、Doctor.createPrescription(patientId) から診断テーブルを参照し、関連する詳細を含む処方箋を作成します。処方箋クラスのコンストラクターが新しい処方箋(diagnosisId,doctorId,patientID)を取るとします。

それらの間の関係を識別する正しい方法ですか。 処方箋を作成する際に医師と診断クラスをリンクするのは正しいですか?Doctor は、存在しない場合、新しい診断タイプを作成することもできます。

そのため、1 人の医師が複数の症状を持つ患者を診断できます。たとえば、皮膚のあるものと胸のあるものです。その場合、1 人の医師が多くの診断を行うことができます。しかし、これらはすべて 1 人の医師が行うべきものです。そのため、診断ごとに医師が個別の処方箋を発行することも、すべての診断に対して 1 つの処方箋を発行することもできます。したがって、多対多の関係です。最後に、これらの処方箋は 1 人の患者に属する必要があります。患者間で共有することはできません。私のモデルは正しいと思いますか?

複数の医師が患者を診断できるとしたらどうでしょう。その要件をサポートするためにこれを拡張する方法は?

提案と、このモデルが最初から間違っているかどうか。新しいモデルを提案してください

4

2 に答える 2

1

考慮する:

  • 患者は診断リストを持っているため、診断リストは患者クラスによって保持される必要があります。
  • 医師は、このリストを変更して、特定の診断の処方箋を作成することができます。
  • 複数の医師が患者の診断リストを変更できます
  • しかし、ある医師がこのリストを変更するときは、このリストをロックし、完了するまで解放しないでください。
  • ロックがアクティブな場合、他の医師はリストを表示できますが、ロックが解除されるまでリストを変更することはできません。
于 2012-12-05T03:02:22.353 に答える
0

それらの間の関係を特定する正しい方法ですか

それは一方向であり、十分に正確に見えます。

処方箋の作成時に医師と診断クラスをリンクするのは正しいですか

不変性について考えてみてください。診断が時間の経過とともに変化しない場合 (これはおそらく本当です)、コンストラクターで 3 つすべてを要求し、クラスを不変にするのが最も簡単なようです。

複数の医師が患者を診断できるとしたらどうでしょう。その要件をサポートするためにこれを拡張する方法は?

Doctor m---------m Diagnosis
   m
于 2012-12-05T03:05:20.237 に答える