"A picture says a thousand words"
I have always been a big fan of modelling / diagramming a business' domain model and processes when desiging an application. Not always wanting to jump straight onto a computer - I was a big fan of the old school pencil and paper for drawing out \ diagramming these as I found it helped me a) Get a better understanding of what I had to develop, the objects I had to create and their relationships and b) Helped identify any ambiguities or issues that may occur before and during development.
In the earlier days I would have jumped straight into my database management tool and started designing and developing my database tables. Then Hal Helms taught me that the database should only exist to persist the data in your objects, and I agreed and therefore started taking a different approach to how I started out with an applications design.
I started getting into UML (Unified Modelling Language) and BPMN (Business Process Model Notation) which standardised what I was doing with regards to designing my application and helping convey what we were \ are trying to acomplish to others.
In doing so I came across a couple of useful tools that helped out along the way and one in particular I felt was worth mentioning.
That's where yUML comes in...