Models help us
understand and shape both the problem and the solution.
A model is a simplification of
reality, used to describe complex systems in a way that facilitates their
comprehension by a broad range of stakeholders.
Modern system architectures, being
n-tiered and distributed, are complex to develop and complex
Managing this level of complexity
requires a well-thought-out and articulated architecture and design. The
strongest way to accomplish this is through software modeling. Software
modeling notation provides the mechanisms for expressing system architecture
For example, using the standard
UML modeling language, members of the development team can
unambiguously communicate their decisions to one another.