【发布时间】:2019-10-09 01:10:05
【问题描述】:
您好,我最近开始学习系统分析和设计,但在理解领域模型类图 (DMCD) 关联类时遇到了一些麻烦。
根据图像,在绘制 DMCD 时,我想了解是否允许关联类包含其派生类的属性。发票需要包含属性 apptNo 和 svcName。
关联类查询图片:
我是否包含图片中显示的属性? 或者我是否假设 Invoice 已经具有这些属性,因为它是从 Appointment 和 Service 派生的,并且没有必要包含它们,因为它们可以引用回键 apptNo 和 svcID?
我对这个概念感到困惑。我应该如何呈现关联类? 有人可以提供一些指导吗?
谢谢。
【问题讨论】:
-
不,不需要复制关联类中的id字段。您正在制作 UML 类图,而不是数据库图。
-
谢谢先生的解释。这是否也适用于与生成关联类相关的类中的任何非键属性 (svcName)?它们也不应该在关联类中吗?
-
也许你应该考虑一下。你会把发票号码之类的东西放在哪里?
-
嗯...我会将发票编号保留在发票类中,但它不再是关联类。相反,我会从 Appointment 和 Service 创建一个名为ointmentService 的关联类,并将其链接到 Invoice,假设一张发票可以有多个约会服务,但一个约会服务必须属于一张发票。我不确定是否应该这样做,请指教。谢谢。
-
似乎您可能希望将 invoice 设为普通类,并在 invoice 和 Appointment 之间创建链接。从预约开始,您可以进一步导航到服务,因此无需直接链接。如果每次约会只有一张发票,那可能是一个很好的模型。
标签: class uml associations diagram system-analysis