I was talking about UML and remembered something about how i use it and thought it relevent here as well.
I follow a very lightweight process, almost like XP. I use a high level UML conceptual model (one that just describes interfaces). I find this works better than XP's metaphor. It's still lightweight because the model doesn't take a lot of work. It's mostly just the interfaces involved and who uses them. However, it is much more meaningful than metaphor and can always work (unlike metaphor, which even by Ron Jeffries admission, only works some of the time).
I don't like using the UML to describe any implementation issues (like members of a class). I will show that in the code. Objects are supposed to be responsible for themselves so when looking from the outside of an object, the uml shouldn't show anything inside.
------------------
Alan Shalloway,
Look for Jim Trott and my book:
Design Patterns Explained Visit our site
Net Objectives.
Visit our
on-line companion to the book
Alan Shalloway.<BR>Look for Jim Trott and my book: <A HREF="http://www.amazon.com/exec/obidos/ASIN/0201715945/ref=ase_electricporkchop/103-0514572-3811868" TARGET=_blank rel="nofollow">Design Patterns Explained</A><BR>Visit our site <A HREF="http://www.netobjectives.com" TARGET=_blank rel="nofollow">Net Objectives</A>.<BR>Visit our <A HREF="http://www.netobjectives.com/dpexplained/index.html" TARGET=_blank rel="nofollow">Design Patterns Explained Community of Practice</A><BR>Check out our <A HREF="http://www.netobjectives.com/xml/xml_cdrom_info.htm" TARGET=_blank rel="nofollow">CDROM based audio training in XML</A>