Generalization are drawn in backward direction!

Hi,

I’am evaluating VP-UML, a very attractive product.

There is one thing that I found very awkward: The generalization (inheritance) connector is drawn in the reverse from what UML practitioners are accustomed.

Normally to show that a class B inherits from a class A, I should draw a generalization/inheritance connector starting from class B and ending at class A and he expected displayed relation should have an arrow pointing to class A.

With VP-UML I have to go the other way around: starting from class A end ending at class B! javascript:emoticon(’:shock:’)
Shocked!

Is that new with UML 2.0 ??
If not, then can you provide a switch in the option dialog to reverse to normal UML behavior ?

ZartC

Hi zart,

Thank you for your post.

Did you try any other tools that does not follow this behavior? I think it is quite common to create the generalization from superclass to the subclass… Do you find any situation that can work better for creating the generalization from the subclass to the superclass?

Best regards,
Jick

Hi Jick,

Yes, in fact all UML tools that I have used or tryed (RationalRose, MagicDraw UML, Poseidon for UML, Objecteering, PowerDesigner) draws generalization paths starting from the derived class up to the base class.

This is just the natural way to draw generalization paths in UML.

Extract from “OMG Unified Modeling Language Specification version 1.5”, chapter 3 “UML Notation Guide”, page 3-86:

Generalization is shown as a solid-line path from the child (the more specific element, such as a subclass) to the parent (the more general element, such as a superclass), with a large hollow triangle at the end of the path where it meets the more general element.

Again from the “The Unified Modeling Language - Reference Manual” by James Rumbaugh, page 51:
A generalization is drawn as an arrow from the child to the parent, with a large hollow triangle on the end connected to the parent (Figure 4-7). Several generalization relationships can be drawn as a tree with one arrowhead branching into several lines to the children.

Zart

Hi zart,

Thank you for your reply. I forwarded your message to our developers. They will decide what to do next. I will post again if there are any news about this issue.

Best Regards,
Jick

Hi zart,

In response to your need, we added an option that allows you to select the way the generalization will be created (derived <-> base). For the location of this option, please see the image below.

I suggest you run the product update to advance to the latest release in order to have this option ready.

Best regards,
Jick

PS. To show the option dialog, select Tools > Options from the main menu.