【问题标题】:class diagram clarification for hospital management医院管理类图说明
【发布时间】:2012-12-05 02:51:32
【问题描述】:

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

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) 他将参考诊断表并创建具有相关详细信息的处方。假设处方类构造函数采用 new Prescription(diagnosisId,doctorId,patientID)。

识别它们之间的关系是否正确。 在创建处方时链接医生和诊断类是否正确。如果不存在医生也可以创建新的诊断类型。

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

如果多个医生可以诊断一个病人会怎样。如何扩展它以支持该要求?

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

【问题讨论】:

  • 虽然很多病人在等医生的时候需要耐心,但他们可能不喜欢被这样称呼。考虑将“耐心”改为“耐心”。
  • 我知道。我只是在开玩笑。

标签: java uml


【解决方案1】:

考虑:

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

【讨论】:

    【解决方案2】:

    识别它们之间的关系是否正确

    这是一种方式,而且似乎足够准确。

    开处方时把医生和诊断类联系起来是否正确

    考虑不变性;如果诊断不能随着时间而改变(这可能是真的),那么在构造函数中要求所有三个似乎是最简单的,然后使类不可变。

    如果多个医生可以诊断一个病人会怎样。如何扩展它以支持该要求?

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-09
      • 1970-01-01
      相关资源
      最近更新 更多