[Tutor] Does anyone use UML?

Alan Gauld alan.gauld at btinternet.com
Thu Sep 13 23:57:12 CEST 2012

On 13/09/12 18:23, Modulok wrote:

> Does anyone use UML (Unified Modeling Language) with python? If so, what tools
> do you use? Is it worth the added effort?

I use UML with most things and even in situations where I'm not writing 
code or developing software. It is a good general purpose modelling 
notation for understanding co0mplex problems.

And the last phrase is key. If the problem isn't complex you don't 
really need UML. If you can hold the concept in your head or explain it 
with text/pseudo code you don;t need UML.

If you have a dozen or more classes all interacting and multi-level 
state machines and dozens of different user roles interacting or a 6 or 
7 level deep inheritance lattice or a multi site distributed system then 
UML is invaluable. If you have less than 4 classes and only one level of 
inheritance then you probably don't need it.

In between its a matter of taste and situation.

As for tools I've used everything from Visio/Dia through to IBM RSA and 
Borland Together, and of course whiteboards!

The fact its Python makes no difference at all, what matters is how 
complex is the problem? How many people need to share the understanding? 
Do you even understand it? If you don't understand what you are being 
asked to solve(*) then UML is possibly essential since it gives you the 
analytical tools needed to break the complexity into something you can 
get your head around and the notation to record the result.

(*)The vast majority of the projects I work on start out with
something I don't even begin to comprehend....It often takes 3-6 months 
of analysis before I'm even at the stage of starting a design.

Alan G
Author of the Learn to Program web site

More information about the Tutor mailing list