Book a Demo

Author Topic: Aggregates connector is shown the wrong way around  (Read 6194 times)

mmo

  • EA User
  • **
  • Posts: 85
  • Karma: +0/-0
    • View Profile
Aggregates connector is shown the wrong way around
« on: August 14, 2018, 06:45:29 pm »
It is a long-standing peculiarity that the "Aggregates"-connectors in EA's class diagram were by default shown/drawn the wrong way around, i.e. the diamond was drawn at the target side, not on the source side. Fortunately there used to be a flag in the preferences (Pref's -> Links -> Association default - source --> target) that allowed to swap (i.e. correct) that behavior.
That flag is still there but in the v13.0 and also 13.5 this flag has apparently no effect, i.e. that connector is shown the wrong way round, regardless of whether that flag is checked or not.

To see, which way these connectors ought to be drawn correctly just have a look at https://en.wikipedia.org/wiki/Class_diagram or at https://www.uml-diagrams.org/composition.html?context=class-diagrams.

Is there some secret sauce to tweak EA to create correct UML class diagrams or does one now have to live with that bug?


qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Aggregates connector is shown the wrong way around
« Reply #1 on: August 15, 2018, 05:14:44 am »
I'd guess you'll have to report a bug. Maybe it's fixed in V14 (probably not). Also this might introduce more bugs from the other side...

q.

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +55/-3
    • View Profile
Re: Aggregates connector is shown the wrong way around
« Reply #2 on: August 15, 2018, 08:47:31 am »
As explained many times in the past...

In UML 1, it was explicitly stated that aggregations and compositions had the diamonds at the target end. In UML 2, there is no separate metaclass for aggregations and composition; they are associations. Associations are undirected, so the diamond can go on either end.
The Sparx Team
[email protected]

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Aggregates connector is shown the wrong way around
« Reply #3 on: August 15, 2018, 09:21:41 am »
Fortunately there used to be a flag in the preferences (Pref's -> Links -> Association default - source --> target) that allowed to swap (i.e. correct) that behavior.
That flag is still there but in the v13.0 and also 13.5 this flag has apparently no effect, i.e. that connector is shown the wrong way round, regardless of whether that flag is checked or not.
The option changed the drawing direction, but EA still placed the aggregation at the same end. It has less effect these days because the quicklinker provides options to be explicit about the drawing direction. If you drag an aggregation from the toolbox it still uses that option.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Aggregates connector is shown the wrong way around
« Reply #4 on: August 16, 2018, 05:03:26 pm »
I think it would be a good idea if the old Aggregation connectors would not be available anymore by default.
I mean, who still uses UML 1.1?

As an alternative you could provide toolbox items to draw Associations with AggregationKind = shared and AggregationKind = composite.

I try to teach all of my users to avoid the Aggregation connectors and use Associations instead already.

Geert

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Aggregates connector is shown the wrong way around
« Reply #5 on: August 17, 2018, 10:00:44 am »
As explained many times in the past...

In UML 1, it was explicitly stated that aggregations and compositions had the diamonds at the target end. In UML 2, there is no separate metaclass for aggregations and composition; they are associations. Associations are undirected, so the diamond can go on either end.
Indeed so, Neil.  However, just because they can doesn't mean they should! (not a criticism of your post - just extending it)

It is (hopefully obvious) clear that being consistent within the repository (modelling environment) is better than being inconsistent.  Later modelling technologies figured out that it is best to have directional relationships based on client-supplier relationships. For our specific modelling environment, we have standardised on the aggregation kind being specified at the supplier (target, destination) end.  As Simon mentioned, we have adjusted our QuickLinker to facilitate that.

Consistency makes like a WHOLE lot easier!

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Aggregates connector is shown the wrong way around
« Reply #6 on: August 17, 2018, 05:10:38 pm »
Like or life?

q.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Aggregates connector is shown the wrong way around
« Reply #7 on: August 20, 2018, 09:54:03 am »
Like or life?

q.
It should have been, like, life. But maybe I was channelling a millennial  ;) (as here).

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

mmo

  • EA User
  • **
  • Posts: 85
  • Karma: +0/-0
    • View Profile
Re: Aggregates connector is shown the wrong way around
« Reply #8 on: October 09, 2018, 07:32:09 pm »
I haven't checked back on this question for a while and only now just did.

Reading through the appends so far I come to the conclusion that the intention seems to be to leave this unchanged and thus IMHO incorrect (with respect to common and official documentations of UML 2.x) and rather to avoid using this association at all. I couldn't agree less!

Unhappy customer :-(