There are as many modeling languages as there are
stars in the sky. However, UML is pretty much
standard as a modeling LANGUAGE. It can model databases
(E/R diagrams) and Class and Object relational
diagrams and can be used to describe the Use Cases (part
of the requirements gathering process) It has
Sequence, Collaboration, State and Process diagrams....
which have to do with modeling the flow. A good
book to get is Wrox Press Instant UML.. This is for
starters. Tools are out there from "free" tools like ArgoUML to
HUMONGOUS tools like Rational Rose. You get the features
you pay for. ArgoUML provides Class Diagrams
and several others, but does not provide Sequence
Diagrams and several others for heavy duty development. It
also doesn't provide code generation (at least last
time I looked) or reverse engineering (the ability to
take Java code and generate UML diagrams). Both
Together J and Rational Rose are high end tools that
"cost" and provide everything you would ever want in a
UML tool. Together Control Center 5.5 can
even be used as a complete development
package. I've used both Rational Rose and Together Control
Center and feel that Together Control Center is by far
the superior product. It's easier to use, more
intuitive, has a smoother interface. But that's personal
preference. But to make a long story short UML is the stuff to
use. Stephen McConnell http://www.crosslogic.com