同一类型的多个成员:如何在UML class图中表示

Multiple members of the same type: how to represent in UML class diagram

我似乎找不到这个现有问题,但请随时指出我的问题。

想象一个熟悉的童话故事的以下情况:

 ------------            -------------
|    Bear    |--------<>|  BearHouse  |
|------------|          |-------------|
|+name:string|          |+mama: Bear  |
 ------------           |+papa: Bear  |
                        |+baby: Bear  |
                         -------------

我只是想确保我的 class 图表准确无误,或者至少更有意义。

谢谢

我假设 BearHouse 不是 'composed of' Bears,而只是 Bears 的一个可能位置。我既不使用聚合也不使用组合。

顺便说一句,你的图表有些冗余。关系表示 BearHouse 由熊组成,妈妈、爸爸和宝宝的属性表示,除了这种关系之外,BearHouse 还与三只熊有关系。

而不是属性使用命名关联:

爸爸和妈妈的重数可能为 1,婴儿的重数为 0..* 就可以了(尽管在这些时候,爸爸或妈妈也可能为 0..2,摩门教徒的妈妈为 1。 .*)

关于构图:最好忘记这个讨厌的概念。它并没有带来真正的附加值,只会导致对其需求的毫无结果的讨论。只需使用具有多重性的关联。 Composition/aggregation 可用于某些数据库设计概念和内存管理概念(如今并不真正需要)。