PDA

View Full Version : UML + Qt + C++



onamatic
6th February 2009, 00:49
I'm looking for some open source package to help me get a grip on my project which I've implemented with Linux/Qt4.5/Eclipse Integration/Doxygen.

I have the normal problem: tiny initial project - grew like topsy - now getting progressively difficult to remember what happens where. What I need is some kind of visual modelling package with reverse engineering capabilities and hopefully some understanding of Qt's slots & signals.

The best I've found so far is BoUML (http://bouml.free.fr/) but it has problems importing uis and some bits of mocs (it is pretty good nonetheless!).

Eclipse has some modelling plugins but the ones I've looked at are Java oriented or they don't allow reversing of existing C++.

Any thoughts, please?

mcosta
6th February 2009, 08:23
I'm using Bouml with success for Application Analisys and Design.

Reverse Engineering is a very difficult functionality to implement especially for C++ where you can use syntax like "#define", "extern" and others not included in UML.

So, after you reverse code, you have to modify imported classes by hand.

To import uis you can create an artifact, choose the "text" stereotype and then copy the ui text into the "C++ source text".

onamatic
7th February 2009, 13:54
That's a useful tip, thank you.

I have discovered that if you point bouml at a specially created folder containing just the preprocessed output from a project it manages some quite good stuff (ie: ui's with their widgets get reversed well enough to start putting diagrams together for documentation purposes). Further, if you do the same kind of thing in Qt's distro source directories it's possible to reverse the widgets so that you can create communication diagrams with, say, QPushButtons that give you the correct(ish) choice of messages (signals & slots). Very clunky at the moment but shows promise!