医院管理的类图澄清

时间:2012-12-05 02:51:32

标签: java uml

我需要验证我是否正确识别这些类之间的关系。 例如,假设我有以下实体,

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

因此,我的业务流程是Doctor将为患者制定处方。因此,他将给予患者身份证(患者登记也会发生,但我没有显示这些实体)。 然后从Doctor.createPrescription(patientId),他将参考诊断表并创建具有相关细节的处方。假设处方类构造函数采用新的处方(diagnonsisId,doctorId,patientID)。

识别它们之间的关系是否正确? 在创建处方时将医生和诊断课联系起来是否正确。如果不存在,医生也可以创建新的诊断类型。

因此,一位医生可以诊断患有多种症状的患者。例如一个有皮肤,另一个有胸部。所以在这种情况下,1名医生可以进行多次诊断。但所有这些都应由一位医生完成。因此,对于每个诊断,医生可以发出单独的处方或一个处方可以发出所有诊断。所以它有很多很多关系。最后,那些处方应该属于一个病人。患者之间无法分享。我猜我的模型是对的吗?

如果多位医生可以诊断患者怎么办?如何扩展它以支持该要求?

任何建议,如果这个模型从错误开始。请推荐一个新模型

2 个答案:

答案 0 :(得分:1)

考虑:

  • 患者是具有诊断列表的患者,因此诊断列表应由患者类
  • 保存
  • 医生将被允许修改此列表并为给定的诊断创建处方。
  • 多位医生可以修改患者的诊断清单
  • 但当一个医生正在修改此列表时,他应该锁定此列表,并且在完成之前不要释放它。
  • 其他医生可以在锁定处于活动状态时查看该列表,但在释放锁定之前,他们无法对其进行修改。

答案 1 :(得分:0)

这是识别他们之间关系的正确方法

这是一种方式,看起来很准确。

在创建处方时将医生和诊断课联系起来是否正确

想想不可动摇;如果诊断不能随着时间的推移而改变(这可能是真的),那么在构造函数中要求所有三个似乎最容易,然后使该类不可变。

如果多位医生可以诊断患者怎么办?如何扩展它以支持该要求?

Doctor m---------m Diagnosis
   m