Python Notes

Friday, September 03, 2004

Python + UML design tools

Now that I'm trying to get to speed with business app development in Python, I decided that I needed to take the full course. Up to now, I used to make a quick database prototype using MS Access to jumpstart the process. It's fine for small stuff, but not so for something that is going to be used professionally. So I'll be using UML from the start, and I'm going to select good Python-aware tools to help me with it. I'm trying to find tools that go beyond the drawing aspects. Writing class definitions in Python would be the best for me. Many of the tools available support only Java, though, so I maybe need to make a compromise.

I found some good references to share. Bruce Eckel's wrote a UML Tool Survey (2003). A good guide on evaluating modeling tools is available at Objects by Design website. From these starting points, I found a few free tools that I'm going to evaluate.
  • Dia is a generic diagramming tool written in Python. It supports UML diagram editing. I don't have information about the quality of the UML design tools, or if its possible to extend it to work together with some of the tools that I'm working with. Being written in Python, I expect to be able to to some of the stuff that I want.


    <sigh> It seems that Dia on Win32 is dead, or sort of. I'm not in the mood to download and setup the entire mingw development environment just to check it out. What is most amazing is the reason given for the removal of Win32 binaries. It seems that someone decided that it was a good idea to threaten the contributor that was voluntarily compiling it on the basis that he wasn't distributing its source changes. It's just amazing.


  • Poseidon is a commercial UML design tool written in Java that has a free community version. For the description, it seems to be powerful enough for actual use. It's Java centered.

  • ArgoUML is an open source UML design tool that shares a common root with Poseidon, although the two projects have diverged since the split. It's also Java-based

  • UMLStudio is a Windows-based tool that supports more languages than usual, but it's no Python. I've included it in this list because it was recommended elsewhere, and I want to check out its features and compare to the others.

  • Judeis another Java-based UML design tool. (It seems that Java guys are the only ones that really use this stuff nowadays). But it does have a free version to try out.

57 Comments:

Post a Comment

<< Home