【发布时间】:2022-01-02 04:33:50
【问题描述】:
【问题讨论】:
标签: uml associations diagram class-diagram
【问题讨论】:
标签: uml associations diagram class-diagram
在您的图表中,您声称 all Tutors 是 coordinating 恰好是一个 Course。这是1 being the same as 1..1 的结果。但这不是你的叙述所说的:
一些该类的实例可以是课程协调员。
因此,您应该将Course 一侧的多重性替换为0..1。它可以翻译一些Tutors 可以是coordinating 和Course(但不是全部)。
不便之处在于模型没有定义Course Coordinators。也许这只是措辞,并不重要。但可能还有更多关于 Course Coordinator 的内容可以证明具有额外属性和行为的单独类是合理的:
如果它是一种特殊的Tutor,只需将其专门化,并让这个附加类具有coordinating 关联。
如果这是Tutor 以及其他类(Professor、Assitant、...)可以承担的特殊角色,您最好选择composition over inheritance(OOP 中的object composition 对应于UML 关联)。 Tutor 和 Course Coordinator 之间的关联将显示为“具有角色”。
向您提出几个额外的问题(只是为了确保多重性说明您的意思):
Course 可以由多个Tutors 教授?Tutor可以教多个Course?Course 可能没有Tutor 进行教学(因为* 表示0..*)?Course可以由多个Tutors协调?【讨论】: