But why do we model? Rather, what are the purposes behind
UML modeling? Well, UML is a modeling language and a universally accepted
standard used to provide a structure to the entire system, manage complexities
of the system and cut down on the development costs. However, most of the
software projects developed around the globe do not follow any specific
modeling technique to avoid the perceived risk and complexity in Object
Oriented modeling of large systems. The semantics defined in the language are
based on the software systems; they do not have complete support for systems of
other domains. Moreover, the UML is still incomplete in its support for components.
"While modeling software is useful, it will not solve all design issues.
Smart people and a good methodology are a must. But if used correctly, UML and
the modeling process can help improve quality, completeness, and scalability
and reduce production time in many software projects."