Unified Modeling Language (UML)
Particularly in the software arena, there are many different methods of
describing processes, from the original flowcharts to object oriented
approaches. The Unified Modeling Language (UML) is an attempt to bring
together, in an open way, a number of such different approaches in the
object-oriented arena, in particular bringing together the ideas of Booch,
OMT and OOSE. The goals were stated to include:
- Provide users with a ready-to-use, expressive visual modeling
language so they can develop and exchange meaningful models.
- Provide extensibility and specialization mechanisms to extend the
- Be independent of particular programming languages and development
- Provide a formal basis for understanding the modeling language.
- Encourage the growth of the OO tools market.
- Support higher-level development concepts such as collaborations,
frameworks, patterns and components.
- Integrate best practices
It includes such things as:
Class models, so you can show object-style classes (eg. 'flower')
Use-case models, so you can show how things work in practice.
State diagram, so you can see the different static states.
Activity diagram, so you can see the dynamic aspects.
Although it has a software focus, UML can be of use in other