UML - 基数和菱形关系图说明

时间:2013-12-13 16:55:29

标签: java oop uml relationship class-diagram

我有这种关系:

电子邮件将发送到多个联系人,因此:

Email ♢---(has)------------- Contacts

鉴于联系人可以包含在许多电子邮件中,而电子邮件可以包含许多联系人,那么:

Email ♢ (0..*)--------(1..*) Contacts

这是对的吗?我现在可以阅读包含多个联系人和联系人的电子邮件包含在0个或更多个电子邮件中吗?

2 个答案:

答案 0 :(得分:2)

基数是对的。我失去了钻石,但没有必要。你拥有的是一个直接的很多:很多二元关联。聚合不是特别有用的装饰,请参阅here以获得解释。

第h

答案 1 :(得分:0)

如果使用双方的箭头,则关联意味着在两个不同类别的两个不同实例中的两个不同属性。每个属性都会查看相反的类。所以,你是对的。

使用“共享聚合”=空钻石,你也是对的。根据UML标准,它们没有严格定义,它取决于我们如何使用它们。联系人中有很多电子邮件?放一颗钻石。电子邮件中有很多联系人?放另一颗钻石。只有你应该明确地决定,它们对你意味着什么。例如,有一个参考列表。