cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Working with UML interfaces is clumsy

0 Kudos

Working with UML interfaces is clumsy

Baseline for this requested improvement is Modeler v8.3.

 

A UML composite structure diagram provides a toolbar to allow the creation of ports, provided and required interfaces. However, a port is added with a default name prefix of "attribute" and has the attribute icon in the model tree browsers. Moreover, the model browser tree new menu for a class does not explicitly list "port" and the modeller is supposed to know that it is a kind of attribute (as set from the attribute options). It would be nicer to have port as an explicit kind of model element with its own browse tree icon; the fact that it is a type of attribute under the hood is something to exploit with a model refactoring tools. (Yes this is easy today in the attribute options by simply checking/unchecking the "port" option, but my point is that Port is explicit in the UML standard and therefore should be explicit in a modelling tool's UML language to avoid confusion.)

 

Furthermore, the provide and require interface composite structure diagram tools create new interface model elements without the option to pick an existing interface model element. To add existing interfaces to a port seems to require the explicit use of the <<interfaceRealization>> and <<use>> dependency relations, which whilst true to the UML language model, is less than intuitive when working with a graphic model. Please enhance the provide and require diagram tools to bring up the type picker dialog window.

NOTE: The tool help article (for IMv8.3) "Adding an existing interface to a diagram" does not describe the way IMv8.3 actually works!

 

Finally, the non-standard way that the provide and require tools work is a trap for the new and occasional user with their double clicking to drop the tool and single clicking to create way points! This seems to arise from the idea that provide and require interfaces can be connected by double clicking on an existing interface depiction. Actually this is not very nice and it would be better to use a connector. Reasons for this are: the connections between interfaces can be easily changed*; the provide and require interface depictions can be left close to their owning (using and realising) port; AND the provide and require tools will work like all the other tools with a single click to drop them on the diagram. (NB* As far as I can tell with the current implementation of connected provide and require interfaces there is no way to disconnect them.)