Not so bad. You should not worry too much about aggregation unless you need to deal with memory management or foreign key constraints in database design. Just leave them.
One important change you must make is the role names for associations. For instance. instead shippingAddress:Address, declared as an attribute, a role is used shippingAddressthat appears next to the association on Address, which comes from User(etc. for others).
Since it Addressis an ordinary place and is used everywhere, you can leave the class from this diagram and create a separate diagram where it Addressis in the middle, and all the others surrounding it
source
share