Die UML besteht aus neun Notationen, die in unterschiedlichen Kontexten angewendet werden können.
Für die anwendungsgetriebene Spezialisierung und Erweiterung dieser Diagrammformen können Stereotypen und Tagged values verwendet werden. Beispielsweise können Klassendiagramme in verschiedenen Phasen der Entwicklung unterschiedliche Bedeutungen erhalten.
In der Analyse stehen Klassen oft nicht für Softwarekomponenten, sondern modellieren Konzepte der realen Welt. Diese finden sich dann in stark veränderter Form in der Implementierung wieder. Klassen können deswegen z. B. mit Stereotypen wie «implementation class» oder «type» ausgezeichnet werden. Die Definition eigener, applikationsspezifischer Stereotypen, wie «technical-class», wird von der UML zwar erlaubt, aber kein Definitions-Mechanismus vorgeschlagen.
Dennoch wird ihre Einführung von vielen Werkzeugen unterstützt. Mit Tagged values können den Modellelementen zusätzlich anwendungsspezifische Informationen, z.B. Echtzeitbedingungen in technischen Anwendungen, Versionsnummern oder ein Reviewstatus mitgegeben werden.