[Tutor] Does anyone use UML?
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.
Author of the Learn to Program web site
More information about the Tutor