Menu

Most Frustrating problems bouml has.

Nikolai
2011-04-17
2013-02-08
  • Nikolai

    Nikolai - 2011-04-17

    Lets share experience on how to actually work around bouml's (not so) informative error messages.

    1. During roundtrip sequence "lost" functions might come from
        A) Inherited function signature changed from base class.
             The main sign of this problem - "add inherited function" on a class allows to add a function that is already there.
             Solution: "Look for messed up inheritance"
        B) Pointer madness. First of all - bouml actually allows variabes to be passed by pointers. Why isn't the option in default in/inout/out combobox I will probably never understand, but even if you change & to * MANUALLY  you will soon find out that these functions are marked as LOST during roundtrip process… It took me quite some time to figure out the problem but I think I did: even if bouml never says that it checks parameters to conform to IN specification, it seems that IT DOES INDEED so "in" parameter passed by *  triggers error not being recognized as IN …
            Solution: remember to add const to variables marked as IN.

     
  • Leonardo Guilherme de Freitas

    Thats a great topic, indeed. I have some functions marked as lost but never stopped to think about it, just ignore. I ended up totally ignoring rountrip, it always mess with my comments on the code. I used then bouml to design the class interfaces and marked the "preserve operation body".

    Acquiring more knowledge on its data structures, I plan on redesigning reverse and roundtrip but there's a long road till that.

     
  • Leonardo Guilherme de Freitas

    As for B), that can be solved hitting the "edit parameters" on the language tab of the method properties, that mostly works for me…

     
  • Jan

    Jan - 2011-05-03

    Most annoying for me is a missing anticollision logic when drawing the connectors. Right now they just point to the centerpoint of an object but end at the border. It would be great if the end points of connectors try to avoid overlapping by moving a littlebit away from the center. this especially is necessary if you use rectangular routing optins (CTRL+L)

     
  • Jan

    Jan - 2011-05-03

    The same goes for the labels. A simple anticllision algorithm would be great.

    Everything fancy is quite difficult to get right, but a first simple shot should do the most tricks

     

Log in to post a comment.

MongoDB Logo MongoDB