[Tutor] software modeling tools used with Python

Alan Gauld alan.gauld at btinternet.com
Mon Jun 4 20:00:19 CEST 2007


"Alexander Kapshuk" <akap at isd.dp.ua> wrote 

> What I'm looking for is a way to design my programs, 
> big or small, other than just pseudo-coding them on 
> a piece of paper.

IMHO One solution does not fit all here.

The other day I had to do a lot of file maintenance - bulk 
renames and moves etc. I did it with Python and I developed 
the 3 functions I needed interactively in pyCrust then copied 
them to a module which I then ran.

Slightly bigger programs I will use pseudo code. In fact I 
use pseudo code for almost anything for which I'm not 
using OOP regardless of size. Occasionally I supplement 
that with DFDs if there are multiple processes involved 
and ERDs if the data is complex.

For larger OOP projects (more than 6 classes say) I will 
draw a basic class diagram and sequence diagram using 
a simple drawing tool like Visio/Dia (or even pencil and paper!). 
This scales up to about 20 or so classes.

For big projects at work involving more than 30 classes 
and more than one process I'll use a full blown modelling 
tool - usually Borland Together now (used to be Rational Rose)
But its definitely overkill unless there are several 
designers/developers and a complex project. (My current 
project involves over 20 systems, each of which has multiple 
components each of which has many classes - and some 
have several processes running over multiple networks. Maybe 
3000 or so classes in total. With around 200 designers 
on the project, working across 8 different companies, 
in 3 different continents and time-zones, trying to design 
that without a formal modelling tool would be extremely 
difficult!)

I don't know if that answered the question, but its 
how I do things! :-)

Alan G.





More information about the Tutor mailing list