Updated – 8/10/09 to reference additional tools.

I like open source. I would say that over 90% of the tools and applications I use with my websites are open source, and the variety and features available are outstanding.

This post is to bring attention to some open source data (and general UML) modeling tools I think are worth a look. Each has some nice features, and a fair share of limitations when compared with some of the more refined and full-featured commercial products.

I’ll admit up-front that  I don’t do a great deal of data modeling in my current role, and when I do, I mostly use the commercial Sparx Systems Enterprise Architect. That said,  I have downloaded and poked around in each of the applications listed below.

I’d recommend the tools  on the list below to those that are:

  1. Learning or experimenting with data modeling and don’t want to spend the money on a commercial application. You’ll find that you can do most of the basic modeling functions with these tools.
  2. Individuals or small business owners that need to do some modeling, but that want to avoid the cost of licensing commercial software.
  3. Interested in open source software and like to evaluate the capabilities offered by open source alternatives, or are interested in providing feedback on promising open source projects.

Now for the list:

ArgoUML is the leading open source UML modeling tool and includes support for all standard UML 1.4 diagrams. It runs on any Java platform and is available in ten languages. See the feature list for more details.

ArgoUML 0.26 and 0.26.2 were downloaded over 80,000 times and are in use all over the world.

Dia is roughly inspired by the commercial Windows program ‘Visio’, though more geared towards informal diagrams for casual use. It can be used to draw many different kinds of diagrams. It currently has special objects to help draw entity relationship diagrams, UML diagrams, flowcharts, network diagrams, and many other diagrams. It is also possible to add support for new shapes by writing simple XML files, using a subset of SVG to draw the shape.

It can load and save diagrams to a custom XML format (gzipped by default, to save space), can export diagrams to a number of formats, including EPS, SVG, XFIG, WMF and PNG, and can print diagrams (including ones that span multiple pages).

Open System Architect (OSA) is an application used for modelling a system. OSA currently supports data modelling (physical and logical) with UML in the works. The unique thing about OSA is that it is an Open Source product licensed under the General Public License (GPL). The free factor makes OSA particularly interesting for students but OSA is powerful enough to compare favourably with products costing thousands of dollars.

The Power*Architect is a user-friendly data modeling tool created by data warehouse designers, and has many unique features geared specifically for the data warehouse architect. It allows users to reverse-engineer existing databases, perform data profiling on source databases, and auto-generate ETL metadata.

StarUML is an open source project to develop fast, flexible, extensible, featureful, and freely-available UML/MDA platform running on Win32 platform. The goal of the StarUML project is to build a software modeling tool and also platform that is a compelling replacement of commercial UML tools such as Rational Rose, Together and so on.

Are there any others that you’re aware of? How about some reasonably priced commercial alternatives? I and many others will be interested to hear about them!