Umbrello UML Modeler

Special thanks to all the twitterites who recommended UML modeling tools. Umbrello UML Modeler appears to be the one I was looking for. Here are a couple of quick notes about what I had to do to get it running on my Mac, mainly for my own future reference, but I hope these also help someone else.

  1. First, make sure you have the Apple Xcode tools installed, along with X11.app.

  2. Since Umbrello requires KDE, you’ll have to install KDE. You can follow these instructions to install KDE with either Fink or MacPorts. I chose to go with MacPorts, and the command is simple:

     $ sudo port install kde
    

    The KDE installation can take quite a while, depending on your system. On my PowerBook G4, it took well over 7 hours. My Intel iMac was considerably shorter, but still took a couple of hours.

  3. Once KDE is installed, you should have all the necessary libraries to build Umbrello. Download the Umbrello source and get to work:

     $ wget http://prdownloads.sourceforge.net/uml/umbrello-1.5.8.tar.bz2?download
     $ tar jxf umbrello-1.5.8.tar.bz2
     $ cd umbrello-1.5.8
     $ ./configure --prefix=/opt/local --with-qt-includes=/opt/local/include/qt3/ \
     > --with-qt-libraries=/opt/local/lib/qt3/ --with-extra-libs=/opt/local/lib \
     > --with-extra-includes=/opt/local/include --without-arts
     $ make
     $ sudo make install
    

Umbrello is now ready to run. To run it, just open X11.app and enter the command:

/opt/local/bin/umbrello

That’s all there is to it!

Umbrello seems to be just the tool I needed. It appears to be a much more intuitive and easier-to-use UML modeling program than any others I have tried, and it will generate PHP 5 code. It doesn’t generate everything quite as well as I had hoped, but it gets the class stubs in place, and I can go back in and correct things for my coding standards and update the comment blocks as needed.

Also, another observation: applications built using the KDE libraries (i.e. Umbrello) do not appear to run as clunky on the Mac through X11 as those using GTK. They actually run quite smoothly.