In software development, the diagram is the equivalent of a blueprint. To meet varying user requirements, we often need several different "blueprints" of the same system. Every system is described by many different aspects, such as:
- Functional (static structure and dynamic interactions)
- Nonfunctional (timing requirements, reliability, and deployment)
- Organizational (work organization and mapping to code modules)
MagicDraw supports the following diagrams defined in UML 2: